@clevertask/scribe 0.1.3 → 0.1.4
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/dist/{BarMenu-DaKIz3zZ.js → BarMenu-BNk2I0zi.js} +1 -1
- package/dist/assets/index.css +1 -1
- package/dist/components/Menu/BarMenu.js +2 -2
- package/dist/components/Menu/BubbleMenu.js +378 -1445
- package/dist/components/Menu/Mobile/ListOptionBar.d.ts +1 -1
- package/dist/components/Menu/Mobile/ListOptionBar.d.ts.map +1 -1
- package/dist/components/Menu/Mobile/ListOptionBar.js +1 -1
- package/dist/components/Scribe/extension/emoji/suggest.js +1 -1
- package/dist/components/Scribe/extension/extension-link.js +1 -1
- package/dist/components/Scribe/extension/extension-markdown-paste.js +2 -2
- package/dist/components/Scribe/extension/extension-selectedText.js +1 -1
- package/dist/components/Scribe/extension/index.js +5735 -3383
- package/dist/components/Scribe/extension/slashCommand/index.js +2 -2
- package/dist/components/Scribe/extension/slashCommand/renderItems.js +1 -1
- package/dist/components/Scribe/extension/tableOfContents.js +1 -1
- package/dist/components/Scribe/index.js +5 -5
- package/dist/{extension-link-Ch_T7WWG.js → extension-link-P1rro4zO.js} +247 -218
- package/dist/floating-ui.dom-ZRy7FSVk.js +1246 -0
- package/dist/{index-DxF-1P4n.js → index-BMISMQrG.js} +168 -147
- package/dist/{index-CqzMmrnw.js → index-ByyiiYsp.js} +1 -1
- package/dist/{index-BiBV5TQx.js → index-CnKS-BY2.js} +2644 -2323
- package/dist/index-CnQHDObA.js +539 -0
- package/dist/main.js +1 -1
- package/dist/{markdown-to-html-pL7ckd-m.js → markdown-to-html-Bw9L43K6.js} +1 -1
- package/dist/purify.es-DC1iJOxX.js +864 -0
- package/dist/utils/create-scribe-editor.js +3 -3
- package/dist/utils/html-to-markdown.js +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/markdown-to-html.js +2 -2
- package/package.json +31 -31
- package/dist/index-V-gN11Y9.js +0 -249
- package/dist/purify.es-exIQuqhb.js +0 -595
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { M as
|
|
2
|
-
const
|
|
3
|
-
function
|
|
1
|
+
import { M as be, m as Se, h as le, b as qt, P as Jt, i as Pe, j as Ne, l as Ie, n as ve, o as we } from "./index-CnKS-BY2.js";
|
|
2
|
+
const He = "aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2odyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rck0msd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2oodside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2", xe = "ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2", zt = "numeric", Wt = "ascii", Ft = "alpha", K = "asciinumeric", F = "alphanumeric", Kt = "domain", me = "emoji", Ue = "scheme", De = "slashscheme", xt = "whitespace";
|
|
3
|
+
function Me(t, n) {
|
|
4
4
|
return t in n || (n[t] = []), n[t];
|
|
5
5
|
}
|
|
6
|
-
function
|
|
7
|
-
n[zt] && (n[K] = !0, n[F] = !0), n[Wt] && (n[K] = !0, n[Ft] = !0), n[K] && (n[F] = !0), n[Ft] && (n[F] = !0), n[F] && (n[Kt] = !0), n[
|
|
6
|
+
function U(t, n, e) {
|
|
7
|
+
n[zt] && (n[K] = !0, n[F] = !0), n[Wt] && (n[K] = !0, n[Ft] = !0), n[K] && (n[F] = !0), n[Ft] && (n[F] = !0), n[F] && (n[Kt] = !0), n[me] && (n[Kt] = !0);
|
|
8
8
|
for (const o in n) {
|
|
9
|
-
const s =
|
|
9
|
+
const s = Me(o, e);
|
|
10
10
|
s.indexOf(t) < 0 && s.push(t);
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
function
|
|
13
|
+
function je(t, n) {
|
|
14
14
|
const e = {};
|
|
15
15
|
for (const o in n)
|
|
16
16
|
n[o].indexOf(t) >= 0 && (e[o] = !0);
|
|
17
17
|
return e;
|
|
18
18
|
}
|
|
19
|
-
function
|
|
19
|
+
function C(t = null) {
|
|
20
20
|
this.j = {}, this.jr = [], this.jd = null, this.t = t;
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
C.groups = {};
|
|
23
|
+
C.prototype = {
|
|
24
24
|
accepts() {
|
|
25
25
|
return !!this.t;
|
|
26
26
|
},
|
|
@@ -73,9 +73,9 @@ R.prototype = {
|
|
|
73
73
|
* @returns {State<T>} taken after the given input
|
|
74
74
|
*/
|
|
75
75
|
tr(t, n, e, o) {
|
|
76
|
-
o = o ||
|
|
76
|
+
o = o || C.groups;
|
|
77
77
|
let s;
|
|
78
|
-
return n && n.j ? s = n : (s = new
|
|
78
|
+
return n && n.j ? s = n : (s = new C(n), e && o && U(n, e, o)), this.jr.push([t, s]), s;
|
|
79
79
|
},
|
|
80
80
|
/**
|
|
81
81
|
* Short for "take transitions", will take as many sequential transitions as
|
|
@@ -123,30 +123,30 @@ R.prototype = {
|
|
|
123
123
|
* @returns {State<T>} taken after the given input
|
|
124
124
|
*/
|
|
125
125
|
tt(t, n, e, o) {
|
|
126
|
-
o = o ||
|
|
126
|
+
o = o || C.groups;
|
|
127
127
|
const s = this;
|
|
128
128
|
if (n && n.j)
|
|
129
129
|
return s.j[t] = n, n;
|
|
130
130
|
const r = n;
|
|
131
131
|
let i, l = s.go(t);
|
|
132
|
-
if (l ? (i = new
|
|
132
|
+
if (l ? (i = new C(), Object.assign(i.j, l.j), i.jr.push.apply(i.jr, l.jr), i.jd = l.jd, i.t = l.t) : i = new C(), r) {
|
|
133
133
|
if (o)
|
|
134
134
|
if (i.t && typeof i.t == "string") {
|
|
135
|
-
const c = Object.assign(
|
|
136
|
-
|
|
137
|
-
} else e &&
|
|
135
|
+
const c = Object.assign(je(i.t, o), e);
|
|
136
|
+
U(r, c, o);
|
|
137
|
+
} else e && U(r, e, o);
|
|
138
138
|
i.t = r;
|
|
139
139
|
}
|
|
140
140
|
return s.j[t] = i, i;
|
|
141
141
|
}
|
|
142
142
|
};
|
|
143
|
-
const
|
|
144
|
-
var
|
|
143
|
+
const d = (t, n, e, o, s) => t.ta(n, e, o, s), k = (t, n, e, o, s) => t.tr(n, e, o, s), ce = (t, n, e, o, s) => t.ts(n, e, o, s), a = (t, n, e, o, s) => t.tt(n, e, o, s), v = "WORD", _t = "UWORD", ge = "ASCIINUMERICAL", Ee = "ALPHANUMERICAL", J = "LOCALHOST", $t = "TLD", Gt = "UTLD", et = "SCHEME", B = "SLASH_SCHEME", Vt = "NUM", Qt = "WS", Yt = "NL", _ = "OPENBRACE", $ = "CLOSEBRACE", nt = "OPENBRACKET", ot = "CLOSEBRACKET", st = "OPENPAREN", it = "CLOSEPAREN", rt = "OPENANGLEBRACKET", at = "CLOSEANGLEBRACKET", lt = "FULLWIDTHLEFTPAREN", ct = "FULLWIDTHRIGHTPAREN", ut = "LEFTCORNERBRACKET", dt = "RIGHTCORNERBRACKET", ht = "LEFTWHITECORNERBRACKET", ft = "RIGHTWHITECORNERBRACKET", pt = "FULLWIDTHLESSTHAN", mt = "FULLWIDTHGREATERTHAN", gt = "AMPERSAND", Et = "APOSTROPHE", At = "ASTERISK", H = "AT", kt = "BACKSLASH", Lt = "BACKTICK", Tt = "CARET", D = "COLON", Xt = "COMMA", Ct = "DOLLAR", b = "DOT", Rt = "EQUALS", Zt = "EXCLAMATION", O = "HYPHEN", G = "PERCENT", yt = "PIPE", Ot = "PLUS", bt = "POUND", Q = "QUERY", te = "QUOTE", Ae = "FULLWIDTHMIDDLEDOT", ee = "SEMI", S = "SLASH", q = "TILDE", St = "UNDERSCORE", ke = "EMOJI", Pt = "SYM";
|
|
144
|
+
var Le = /* @__PURE__ */ Object.freeze({
|
|
145
145
|
__proto__: null,
|
|
146
|
-
ALPHANUMERICAL:
|
|
146
|
+
ALPHANUMERICAL: Ee,
|
|
147
147
|
AMPERSAND: gt,
|
|
148
148
|
APOSTROPHE: Et,
|
|
149
|
-
ASCIINUMERICAL:
|
|
149
|
+
ASCIINUMERICAL: ge,
|
|
150
150
|
ASTERISK: At,
|
|
151
151
|
AT: H,
|
|
152
152
|
BACKSLASH: kt,
|
|
@@ -156,19 +156,19 @@ var Te = /* @__PURE__ */ Object.freeze({
|
|
|
156
156
|
CLOSEBRACE: $,
|
|
157
157
|
CLOSEBRACKET: ot,
|
|
158
158
|
CLOSEPAREN: it,
|
|
159
|
-
COLON:
|
|
159
|
+
COLON: D,
|
|
160
160
|
COMMA: Xt,
|
|
161
161
|
DOLLAR: Ct,
|
|
162
|
-
DOT:
|
|
163
|
-
EMOJI:
|
|
162
|
+
DOT: b,
|
|
163
|
+
EMOJI: ke,
|
|
164
164
|
EQUALS: Rt,
|
|
165
165
|
EXCLAMATION: Zt,
|
|
166
166
|
FULLWIDTHGREATERTHAN: mt,
|
|
167
167
|
FULLWIDTHLEFTPAREN: lt,
|
|
168
168
|
FULLWIDTHLESSTHAN: pt,
|
|
169
|
-
FULLWIDTHMIDDLEDOT:
|
|
169
|
+
FULLWIDTHMIDDLEDOT: Ae,
|
|
170
170
|
FULLWIDTHRIGHTPAREN: ct,
|
|
171
|
-
HYPHEN:
|
|
171
|
+
HYPHEN: O,
|
|
172
172
|
LEFTCORNERBRACKET: ut,
|
|
173
173
|
LEFTWHITECORNERBRACKET: ht,
|
|
174
174
|
LOCALHOST: J,
|
|
@@ -188,103 +188,103 @@ var Te = /* @__PURE__ */ Object.freeze({
|
|
|
188
188
|
RIGHTWHITECORNERBRACKET: ft,
|
|
189
189
|
SCHEME: et,
|
|
190
190
|
SEMI: ee,
|
|
191
|
-
SLASH:
|
|
192
|
-
SLASH_SCHEME:
|
|
191
|
+
SLASH: S,
|
|
192
|
+
SLASH_SCHEME: B,
|
|
193
193
|
SYM: Pt,
|
|
194
194
|
TILDE: q,
|
|
195
195
|
TLD: $t,
|
|
196
196
|
UNDERSCORE: St,
|
|
197
197
|
UTLD: Gt,
|
|
198
198
|
UWORD: _t,
|
|
199
|
-
WORD:
|
|
199
|
+
WORD: v,
|
|
200
200
|
WS: Qt
|
|
201
201
|
});
|
|
202
202
|
const N = /[a-z]/, W = new RegExp("\\p{L}", "u"), Ut = new RegExp("\\p{Emoji}", "u"), I = /\d/, Dt = /\s/, ue = "\r", Mt = `
|
|
203
|
-
`,
|
|
203
|
+
`, Be = "️", ze = "", jt = "";
|
|
204
204
|
let X = null, Z = null;
|
|
205
|
-
function
|
|
205
|
+
function We(t = []) {
|
|
206
206
|
const n = {};
|
|
207
|
-
|
|
208
|
-
const e = new
|
|
209
|
-
X == null && (X = de(
|
|
210
|
-
const o =
|
|
207
|
+
C.groups = n;
|
|
208
|
+
const e = new C();
|
|
209
|
+
X == null && (X = de(He)), Z == null && (Z = de(xe)), a(e, "'", Et), a(e, "{", _), a(e, "}", $), a(e, "[", nt), a(e, "]", ot), a(e, "(", st), a(e, ")", it), a(e, "<", rt), a(e, ">", at), a(e, "(", lt), a(e, ")", ct), a(e, "「", ut), a(e, "」", dt), a(e, "『", ht), a(e, "』", ft), a(e, "<", pt), a(e, ">", mt), a(e, "&", gt), a(e, "*", At), a(e, "@", H), a(e, "`", Lt), a(e, "^", Tt), a(e, ":", D), a(e, ",", Xt), a(e, "$", Ct), a(e, ".", b), a(e, "=", Rt), a(e, "!", Zt), a(e, "-", O), a(e, "%", G), a(e, "|", yt), a(e, "+", Ot), a(e, "#", bt), a(e, "?", Q), a(e, '"', te), a(e, "/", S), a(e, ";", ee), a(e, "~", q), a(e, "_", St), a(e, "\\", kt), a(e, "・", Ae);
|
|
210
|
+
const o = k(e, I, Vt, {
|
|
211
211
|
[zt]: !0
|
|
212
212
|
});
|
|
213
|
-
|
|
214
|
-
const s =
|
|
213
|
+
k(o, I, o);
|
|
214
|
+
const s = k(o, N, ge, {
|
|
215
215
|
[K]: !0
|
|
216
|
-
}), r =
|
|
216
|
+
}), r = k(o, W, Ee, {
|
|
217
217
|
[F]: !0
|
|
218
|
-
}), i =
|
|
218
|
+
}), i = k(e, N, v, {
|
|
219
219
|
[Wt]: !0
|
|
220
220
|
});
|
|
221
|
-
|
|
222
|
-
const l =
|
|
221
|
+
k(i, I, s), k(i, N, i), k(s, I, s), k(s, N, s);
|
|
222
|
+
const l = k(e, W, _t, {
|
|
223
223
|
[Ft]: !0
|
|
224
224
|
});
|
|
225
|
-
|
|
225
|
+
k(l, N), k(l, I, r), k(l, W, l), k(r, I, r), k(r, N), k(r, W, r);
|
|
226
226
|
const c = a(e, Mt, Yt, {
|
|
227
227
|
[xt]: !0
|
|
228
|
-
}),
|
|
228
|
+
}), u = a(e, ue, Qt, {
|
|
229
229
|
[xt]: !0
|
|
230
|
-
}), f =
|
|
230
|
+
}), f = k(e, Dt, Qt, {
|
|
231
231
|
[xt]: !0
|
|
232
232
|
});
|
|
233
|
-
a(e, jt, f), a(
|
|
234
|
-
const h =
|
|
235
|
-
[
|
|
233
|
+
a(e, jt, f), a(u, Mt, c), a(u, jt, f), k(u, Dt, f), a(f, ue), a(f, Mt), k(f, Dt, f), a(f, jt, f);
|
|
234
|
+
const h = k(e, Ut, ke, {
|
|
235
|
+
[me]: !0
|
|
236
236
|
});
|
|
237
|
-
a(h, "#"),
|
|
238
|
-
const
|
|
239
|
-
a(
|
|
240
|
-
const
|
|
241
|
-
for (let
|
|
242
|
-
|
|
243
|
-
for (let
|
|
244
|
-
|
|
245
|
-
|
|
237
|
+
a(h, "#"), k(h, Ut, h), a(h, Be, h);
|
|
238
|
+
const g = a(h, ze);
|
|
239
|
+
a(g, "#"), k(g, Ut, h);
|
|
240
|
+
const E = [[N, i], [I, s]], R = [[N, null], [W, l], [I, r]];
|
|
241
|
+
for (let A = 0; A < X.length; A++)
|
|
242
|
+
w(e, X[A], $t, v, E);
|
|
243
|
+
for (let A = 0; A < Z.length; A++)
|
|
244
|
+
w(e, Z[A], Gt, _t, R);
|
|
245
|
+
U($t, {
|
|
246
246
|
tld: !0,
|
|
247
247
|
ascii: !0
|
|
248
|
-
}, n),
|
|
248
|
+
}, n), U(Gt, {
|
|
249
249
|
utld: !0,
|
|
250
250
|
alpha: !0
|
|
251
|
-
}, n),
|
|
251
|
+
}, n), w(e, "file", et, v, E), w(e, "mailto", et, v, E), w(e, "http", B, v, E), w(e, "https", B, v, E), w(e, "ftp", B, v, E), w(e, "ftps", B, v, E), U(et, {
|
|
252
252
|
scheme: !0,
|
|
253
253
|
ascii: !0
|
|
254
|
-
}, n),
|
|
254
|
+
}, n), U(B, {
|
|
255
255
|
slashscheme: !0,
|
|
256
256
|
ascii: !0
|
|
257
|
-
}, n), t = t.sort((
|
|
258
|
-
for (let
|
|
259
|
-
const
|
|
260
|
-
[
|
|
257
|
+
}, n), t = t.sort((A, L) => A[0] > L[0] ? 1 : -1);
|
|
258
|
+
for (let A = 0; A < t.length; A++) {
|
|
259
|
+
const L = t[A][0], P = t[A][1] ? {
|
|
260
|
+
[Ue]: !0
|
|
261
261
|
} : {
|
|
262
|
-
[
|
|
262
|
+
[De]: !0
|
|
263
263
|
};
|
|
264
|
-
|
|
264
|
+
L.indexOf("-") >= 0 ? P[Kt] = !0 : N.test(L) ? I.test(L) ? P[K] = !0 : P[Wt] = !0 : P[zt] = !0, ce(e, L, L, P);
|
|
265
265
|
}
|
|
266
266
|
return ce(e, "localhost", J, {
|
|
267
267
|
ascii: !0
|
|
268
|
-
}), e.jd = new
|
|
268
|
+
}), e.jd = new C(Pt), {
|
|
269
269
|
start: e,
|
|
270
270
|
tokens: Object.assign({
|
|
271
271
|
groups: n
|
|
272
|
-
},
|
|
272
|
+
}, Le)
|
|
273
273
|
};
|
|
274
274
|
}
|
|
275
|
-
function
|
|
276
|
-
const e =
|
|
275
|
+
function Te(t, n) {
|
|
276
|
+
const e = Fe(n.replace(/[A-Z]/g, (l) => l.toLowerCase())), o = e.length, s = [];
|
|
277
277
|
let r = 0, i = 0;
|
|
278
278
|
for (; i < o; ) {
|
|
279
|
-
let l = t, c = null,
|
|
279
|
+
let l = t, c = null, u = 0, f = null, h = -1, g = -1;
|
|
280
280
|
for (; i < o && (c = l.go(e[i])); )
|
|
281
|
-
l = c, l.accepts() ? (h = 0,
|
|
282
|
-
r -= h, i -=
|
|
281
|
+
l = c, l.accepts() ? (h = 0, g = 0, f = l) : h >= 0 && (h += e[i].length, g++), u += e[i].length, r += e[i].length, i++;
|
|
282
|
+
r -= h, i -= g, u -= h, s.push({
|
|
283
283
|
t: f.t,
|
|
284
284
|
// token type/name
|
|
285
|
-
v: n.slice(r -
|
|
285
|
+
v: n.slice(r - u, r),
|
|
286
286
|
// string value
|
|
287
|
-
s: r -
|
|
287
|
+
s: r - u,
|
|
288
288
|
// start index
|
|
289
289
|
e: r
|
|
290
290
|
// end index (excluding)
|
|
@@ -292,7 +292,7 @@ function Ce(t, n) {
|
|
|
292
292
|
}
|
|
293
293
|
return s;
|
|
294
294
|
}
|
|
295
|
-
function
|
|
295
|
+
function Fe(t) {
|
|
296
296
|
const n = [], e = t.length;
|
|
297
297
|
let o = 0;
|
|
298
298
|
for (; o < e; ) {
|
|
@@ -301,14 +301,14 @@ function _e(t) {
|
|
|
301
301
|
}
|
|
302
302
|
return n;
|
|
303
303
|
}
|
|
304
|
-
function
|
|
304
|
+
function w(t, n, e, o, s) {
|
|
305
305
|
let r;
|
|
306
306
|
const i = n.length;
|
|
307
307
|
for (let l = 0; l < i - 1; l++) {
|
|
308
308
|
const c = n[l];
|
|
309
|
-
t.j[c] ? r = t.j[c] : (r = new
|
|
309
|
+
t.j[c] ? r = t.j[c] : (r = new C(o), r.jr = s.slice(), t.j[c] = r), t = r;
|
|
310
310
|
}
|
|
311
|
-
return r = new
|
|
311
|
+
return r = new C(e), r.jr = s.slice(), t.j[n[i - 1]] = r, r;
|
|
312
312
|
}
|
|
313
313
|
function de(t) {
|
|
314
314
|
const n = [], e = [];
|
|
@@ -416,10 +416,10 @@ ne.prototype = {
|
|
|
416
416
|
function he(t) {
|
|
417
417
|
return t;
|
|
418
418
|
}
|
|
419
|
-
function
|
|
419
|
+
function Ce(t, n) {
|
|
420
420
|
this.t = "token", this.v = t, this.tk = n;
|
|
421
421
|
}
|
|
422
|
-
|
|
422
|
+
Ce.prototype = {
|
|
423
423
|
isLink: !1,
|
|
424
424
|
/**
|
|
425
425
|
* Return the string this token represents.
|
|
@@ -514,8 +514,8 @@ Re.prototype = {
|
|
|
514
514
|
* @param {Options} options Formattinng options
|
|
515
515
|
*/
|
|
516
516
|
render(t) {
|
|
517
|
-
const n = this, e = this.toHref(t.get("defaultProtocol")), o = t.get("formatHref", e, this), s = t.get("tagName", e, n), r = this.toFormattedString(t), i = {}, l = t.get("className", e, n), c = t.get("target", e, n),
|
|
518
|
-
return i.href = o, l && (i.class = l), c && (i.target = c),
|
|
517
|
+
const n = this, e = this.toHref(t.get("defaultProtocol")), o = t.get("formatHref", e, this), s = t.get("tagName", e, n), r = this.toFormattedString(t), i = {}, l = t.get("className", e, n), c = t.get("target", e, n), u = t.get("rel", e, n), f = t.getObj("attributes", e, n), h = t.getObj("events", e, n);
|
|
518
|
+
return i.href = o, l && (i.class = l), c && (i.target = c), u && (i.rel = u), f && Object.assign(i, f), {
|
|
519
519
|
tagName: s,
|
|
520
520
|
attributes: i,
|
|
521
521
|
content: r,
|
|
@@ -524,7 +524,7 @@ Re.prototype = {
|
|
|
524
524
|
}
|
|
525
525
|
};
|
|
526
526
|
function Nt(t, n) {
|
|
527
|
-
class e extends
|
|
527
|
+
class e extends Ce {
|
|
528
528
|
constructor(s, r) {
|
|
529
529
|
super(s, r), this.t = t;
|
|
530
530
|
}
|
|
@@ -533,12 +533,12 @@ function Nt(t, n) {
|
|
|
533
533
|
e.prototype[o] = n[o];
|
|
534
534
|
return e.t = t, e;
|
|
535
535
|
}
|
|
536
|
-
const
|
|
536
|
+
const Ke = Nt("email", {
|
|
537
537
|
isLink: !0,
|
|
538
538
|
toHref() {
|
|
539
539
|
return "mailto:" + this.toString();
|
|
540
540
|
}
|
|
541
|
-
}),
|
|
541
|
+
}), fe = Nt("text"), _e = Nt("nl"), tt = Nt("url", {
|
|
542
542
|
isLink: !0,
|
|
543
543
|
/**
|
|
544
544
|
Lowercases relevant parts of the domain and adds the protocol if
|
|
@@ -556,40 +556,38 @@ const fe = Nt("email", {
|
|
|
556
556
|
*/
|
|
557
557
|
hasProtocol() {
|
|
558
558
|
const t = this.tk;
|
|
559
|
-
return t.length >= 2 && t[0].t !== J && t[1].t ===
|
|
559
|
+
return t.length >= 2 && t[0].t !== J && t[1].t === D;
|
|
560
560
|
}
|
|
561
|
-
}),
|
|
562
|
-
function
|
|
561
|
+
}), y = (t) => new C(t);
|
|
562
|
+
function $e({
|
|
563
563
|
groups: t
|
|
564
564
|
}) {
|
|
565
|
-
const n = t.domain.concat([gt, At, H, kt, Lt, Tt, Ct, Rt,
|
|
566
|
-
|
|
567
|
-
const i =
|
|
568
|
-
|
|
569
|
-
const
|
|
570
|
-
a(r, H,
|
|
571
|
-
const f = a(r,
|
|
572
|
-
|
|
573
|
-
const h =
|
|
574
|
-
u
|
|
575
|
-
const
|
|
576
|
-
|
|
577
|
-
const
|
|
578
|
-
|
|
579
|
-
const
|
|
580
|
-
a(
|
|
581
|
-
const
|
|
582
|
-
|
|
583
|
-
const
|
|
584
|
-
|
|
585
|
-
const
|
|
586
|
-
|
|
587
|
-
const
|
|
588
|
-
|
|
589
|
-
const
|
|
590
|
-
|
|
591
|
-
const It = a(l, x), be = a(c, x), Se = a(be, P), wt = a(Se, P);
|
|
592
|
-
u(l, t.domain, i), a(l, S, p), a(l, b, T), u(c, t.domain, i), a(c, S, p), a(c, b, T), u(It, t.domain, C), a(It, P, C), a(It, Q, C), u(wt, t.domain, C), u(wt, n, C), a(wt, P, C);
|
|
565
|
+
const n = t.domain.concat([gt, At, H, kt, Lt, Tt, Ct, Rt, O, Vt, G, yt, Ot, bt, S, Pt, q, St]), e = [Et, D, Xt, b, Zt, G, Q, te, ee, rt, at, _, $, ot, nt, st, it, lt, ct, ut, dt, ht, ft, pt, mt], o = [gt, Et, At, kt, Lt, Tt, Ct, Rt, O, _, $, G, yt, Ot, bt, Q, S, Pt, q, St], s = y(), r = a(s, q);
|
|
566
|
+
d(r, o, r), d(r, t.domain, r);
|
|
567
|
+
const i = y(), l = y(), c = y();
|
|
568
|
+
d(s, t.domain, i), d(s, t.scheme, l), d(s, t.slashscheme, c), d(i, o, r), d(i, t.domain, i);
|
|
569
|
+
const u = a(i, H);
|
|
570
|
+
a(r, H, u), a(l, H, u), a(c, H, u);
|
|
571
|
+
const f = a(r, b);
|
|
572
|
+
d(f, o, r), d(f, t.domain, r);
|
|
573
|
+
const h = y();
|
|
574
|
+
d(u, t.domain, h), d(h, t.domain, h);
|
|
575
|
+
const g = a(h, b);
|
|
576
|
+
d(g, t.domain, h);
|
|
577
|
+
const E = y(Ke);
|
|
578
|
+
d(g, t.tld, E), d(g, t.utld, E), a(u, J, E);
|
|
579
|
+
const R = a(h, O);
|
|
580
|
+
a(R, O, R), d(R, t.domain, h), d(E, t.domain, h), a(E, b, g), a(E, O, R);
|
|
581
|
+
const A = a(i, O), L = a(i, b);
|
|
582
|
+
a(A, O, A), d(A, t.domain, i), d(L, o, r), d(L, t.domain, i);
|
|
583
|
+
const p = y(tt);
|
|
584
|
+
d(L, t.tld, p), d(L, t.utld, p), d(p, t.domain, i), d(p, o, r), a(p, b, L), a(p, O, A), a(p, H, u);
|
|
585
|
+
const P = a(p, D), ie = y(tt);
|
|
586
|
+
d(P, t.numeric, ie);
|
|
587
|
+
const T = y(tt), z = y();
|
|
588
|
+
d(T, n, T), d(T, e, z), d(z, n, T), d(z, e, z), a(p, S, T), a(ie, S, T);
|
|
589
|
+
const It = a(l, D), ye = a(c, D), Oe = a(ye, S), vt = a(Oe, S);
|
|
590
|
+
d(l, t.domain, i), a(l, b, L), a(l, O, A), d(c, t.domain, i), a(c, b, L), a(c, O, A), d(It, t.domain, T), a(It, S, T), a(It, Q, T), d(vt, t.domain, T), d(vt, n, T), a(vt, S, T);
|
|
593
591
|
const re = [
|
|
594
592
|
[_, $],
|
|
595
593
|
// {}
|
|
@@ -608,43 +606,43 @@ function Ge({
|
|
|
608
606
|
[pt, mt]
|
|
609
607
|
// <>
|
|
610
608
|
];
|
|
611
|
-
for (let
|
|
612
|
-
const [ae, Ht] = re[
|
|
613
|
-
a(
|
|
614
|
-
const M =
|
|
615
|
-
|
|
616
|
-
const
|
|
617
|
-
|
|
609
|
+
for (let wt = 0; wt < re.length; wt++) {
|
|
610
|
+
const [ae, Ht] = re[wt], Y = a(T, ae);
|
|
611
|
+
a(z, ae, Y);
|
|
612
|
+
const M = y(tt);
|
|
613
|
+
d(Y, n, M);
|
|
614
|
+
const j = y();
|
|
615
|
+
d(Y, e, j), a(Y, Ht, T), d(M, n, M), d(M, e, j), d(j, n, M), d(j, e, j), a(M, Ht, T), a(j, Ht, T);
|
|
618
616
|
}
|
|
619
|
-
return a(s, J,
|
|
617
|
+
return a(s, J, p), a(s, Yt, _e), {
|
|
620
618
|
start: s,
|
|
621
|
-
tokens:
|
|
619
|
+
tokens: Le
|
|
622
620
|
};
|
|
623
621
|
}
|
|
624
|
-
function
|
|
622
|
+
function Ge(t, n, e) {
|
|
625
623
|
let o = e.length, s = 0, r = [], i = [];
|
|
626
624
|
for (; s < o; ) {
|
|
627
|
-
let l = t, c = null,
|
|
625
|
+
let l = t, c = null, u = null, f = 0, h = null, g = -1;
|
|
628
626
|
for (; s < o && !(c = l.go(e[s].t)); )
|
|
629
627
|
i.push(e[s++]);
|
|
630
|
-
for (; s < o && (
|
|
631
|
-
c = null, l =
|
|
632
|
-
if (
|
|
628
|
+
for (; s < o && (u = c || l.go(e[s].t)); )
|
|
629
|
+
c = null, l = u, l.accepts() ? (g = 0, h = l) : g >= 0 && g++, s++, f++;
|
|
630
|
+
if (g < 0)
|
|
633
631
|
s -= f, s < o && (i.push(e[s]), s++);
|
|
634
632
|
else {
|
|
635
|
-
i.length > 0 && (r.push(Bt(
|
|
636
|
-
const
|
|
637
|
-
r.push(Bt(
|
|
633
|
+
i.length > 0 && (r.push(Bt(fe, n, i)), i = []), s -= g, f -= g;
|
|
634
|
+
const E = h.t, R = e.slice(s - f, s);
|
|
635
|
+
r.push(Bt(E, n, R));
|
|
638
636
|
}
|
|
639
637
|
}
|
|
640
|
-
return i.length > 0 && r.push(Bt(
|
|
638
|
+
return i.length > 0 && r.push(Bt(fe, n, i)), r;
|
|
641
639
|
}
|
|
642
640
|
function Bt(t, n, e) {
|
|
643
641
|
const o = e[0].s, s = e[e.length - 1].e, r = n.slice(o, s);
|
|
644
642
|
return new t(r, e);
|
|
645
643
|
}
|
|
646
|
-
const
|
|
647
|
-
}),
|
|
644
|
+
const Qe = typeof console < "u" && console && console.warn || (() => {
|
|
645
|
+
}), qe = "until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.", m = {
|
|
648
646
|
scanner: null,
|
|
649
647
|
parser: null,
|
|
650
648
|
tokenQueue: [],
|
|
@@ -652,36 +650,36 @@ const qe = typeof console < "u" && console && console.warn || (() => {
|
|
|
652
650
|
customSchemes: [],
|
|
653
651
|
initialized: !1
|
|
654
652
|
};
|
|
655
|
-
function
|
|
656
|
-
return
|
|
653
|
+
function Je() {
|
|
654
|
+
return C.groups = {}, m.scanner = null, m.parser = null, m.tokenQueue = [], m.pluginQueue = [], m.customSchemes = [], m.initialized = !1, m;
|
|
657
655
|
}
|
|
658
|
-
function
|
|
659
|
-
if (
|
|
656
|
+
function pe(t, n = !1) {
|
|
657
|
+
if (m.initialized && Qe(`linkifyjs: already initialized - will not register custom scheme "${t}" ${qe}`), !/^[0-9a-z]+(-[0-9a-z]+)*$/.test(t))
|
|
660
658
|
throw new Error(`linkifyjs: incorrect scheme format.
|
|
661
659
|
1. Must only contain digits, lowercase ASCII letters or "-"
|
|
662
660
|
2. Cannot start or end with "-"
|
|
663
661
|
3. "-" cannot repeat`);
|
|
664
|
-
|
|
662
|
+
m.customSchemes.push([t, n]);
|
|
665
663
|
}
|
|
666
|
-
function
|
|
667
|
-
|
|
668
|
-
for (let t = 0; t <
|
|
669
|
-
|
|
670
|
-
scanner:
|
|
664
|
+
function Ve() {
|
|
665
|
+
m.scanner = We(m.customSchemes);
|
|
666
|
+
for (let t = 0; t < m.tokenQueue.length; t++)
|
|
667
|
+
m.tokenQueue[t][1]({
|
|
668
|
+
scanner: m.scanner
|
|
671
669
|
});
|
|
672
|
-
|
|
673
|
-
for (let t = 0; t <
|
|
674
|
-
|
|
675
|
-
scanner:
|
|
676
|
-
parser:
|
|
670
|
+
m.parser = $e(m.scanner.tokens);
|
|
671
|
+
for (let t = 0; t < m.pluginQueue.length; t++)
|
|
672
|
+
m.pluginQueue[t][1]({
|
|
673
|
+
scanner: m.scanner,
|
|
674
|
+
parser: m.parser
|
|
677
675
|
});
|
|
678
|
-
return
|
|
676
|
+
return m.initialized = !0, m;
|
|
679
677
|
}
|
|
680
678
|
function oe(t) {
|
|
681
|
-
return
|
|
679
|
+
return m.initialized || Ve(), Ge(m.parser.start, t, Te(m.scanner.start, t));
|
|
682
680
|
}
|
|
683
|
-
oe.scan =
|
|
684
|
-
function
|
|
681
|
+
oe.scan = Te;
|
|
682
|
+
function Re(t, n = null, e = null) {
|
|
685
683
|
if (n && typeof n == "object") {
|
|
686
684
|
if (e)
|
|
687
685
|
throw Error(`linkifyjs: Invalid link type ${n}; must be a string`);
|
|
@@ -694,50 +692,65 @@ function ye(t, n = null, e = null) {
|
|
|
694
692
|
}
|
|
695
693
|
return r;
|
|
696
694
|
}
|
|
697
|
-
var se = "[\0- -\u2029 ]",
|
|
698
|
-
function
|
|
695
|
+
var se = "[\0- -\u2029 ]", Ye = new RegExp(se), Xe = new RegExp(`${se}$`), Ze = new RegExp(se, "g");
|
|
696
|
+
function tn(t) {
|
|
699
697
|
return t.length === 1 ? t[0].isLink : t.length === 3 && t[1].isLink ? ["()", "[]"].includes(t[0].value + t[2].value) : !1;
|
|
700
698
|
}
|
|
701
|
-
function
|
|
699
|
+
function en(t) {
|
|
702
700
|
return new qt({
|
|
703
701
|
key: new Jt("autolink"),
|
|
704
702
|
appendTransaction: (n, e, o) => {
|
|
705
|
-
const s = n.some((
|
|
703
|
+
const s = n.some((u) => u.docChanged) && !e.doc.eq(o.doc), r = n.some(
|
|
704
|
+
(u) => u.getMeta("preventAutolink")
|
|
705
|
+
);
|
|
706
706
|
if (!s || r)
|
|
707
707
|
return;
|
|
708
|
-
const { tr: i } = o, l =
|
|
709
|
-
if (
|
|
710
|
-
const f =
|
|
711
|
-
|
|
708
|
+
const { tr: i } = o, l = Pe(e.doc, [...n]);
|
|
709
|
+
if (Ne(l).forEach(({ newRange: u }) => {
|
|
710
|
+
const f = Ie(
|
|
711
|
+
o.doc,
|
|
712
|
+
u,
|
|
713
|
+
(E) => E.isTextblock
|
|
714
|
+
);
|
|
715
|
+
let h, g;
|
|
712
716
|
if (f.length > 1)
|
|
713
|
-
h = f[0],
|
|
717
|
+
h = f[0], g = o.doc.textBetween(
|
|
714
718
|
h.pos,
|
|
715
719
|
h.pos + h.node.nodeSize,
|
|
716
720
|
void 0,
|
|
717
721
|
" "
|
|
718
722
|
);
|
|
719
723
|
else if (f.length) {
|
|
720
|
-
const
|
|
721
|
-
if (!
|
|
724
|
+
const E = o.doc.textBetween(u.from, u.to, " ", " ");
|
|
725
|
+
if (!Xe.test(E))
|
|
722
726
|
return;
|
|
723
|
-
h = f[0],
|
|
727
|
+
h = f[0], g = o.doc.textBetween(
|
|
728
|
+
h.pos,
|
|
729
|
+
u.to,
|
|
730
|
+
void 0,
|
|
731
|
+
" "
|
|
732
|
+
);
|
|
724
733
|
}
|
|
725
|
-
if (h &&
|
|
726
|
-
const
|
|
727
|
-
if (
|
|
734
|
+
if (h && g) {
|
|
735
|
+
const E = g.split(Ye).filter(Boolean);
|
|
736
|
+
if (E.length <= 0)
|
|
728
737
|
return !1;
|
|
729
|
-
const
|
|
730
|
-
if (!
|
|
738
|
+
const R = E[E.length - 1], A = h.pos + g.lastIndexOf(R);
|
|
739
|
+
if (!R)
|
|
731
740
|
return !1;
|
|
732
|
-
const
|
|
733
|
-
|
|
741
|
+
const L = oe(R).map(
|
|
742
|
+
(p) => p.toObject(t.defaultProtocol)
|
|
743
|
+
);
|
|
744
|
+
if (!tn(L))
|
|
734
745
|
return !1;
|
|
735
|
-
|
|
746
|
+
L.filter((p) => p.isLink).map((p) => ({
|
|
736
747
|
...p,
|
|
737
|
-
from:
|
|
738
|
-
to:
|
|
748
|
+
from: A + p.start + 1,
|
|
749
|
+
to: A + p.end + 1
|
|
739
750
|
})).filter((p) => o.schema.marks.code ? !o.doc.rangeHasMark(p.from, p.to, o.schema.marks.code) : !0).filter((p) => t.validate(p.value)).filter((p) => t.shouldAutoLink(p.value)).forEach((p) => {
|
|
740
|
-
|
|
751
|
+
ve(p.from, p.to, o.doc).some(
|
|
752
|
+
(P) => P.mark.type === t.type
|
|
753
|
+
) || i.addMark(
|
|
741
754
|
p.from,
|
|
742
755
|
p.to,
|
|
743
756
|
t.type.create({
|
|
@@ -751,7 +764,7 @@ function nn(t) {
|
|
|
751
764
|
}
|
|
752
765
|
});
|
|
753
766
|
}
|
|
754
|
-
function
|
|
767
|
+
function nn(t) {
|
|
755
768
|
return new qt({
|
|
756
769
|
key: new Jt("handleClickLink"),
|
|
757
770
|
props: {
|
|
@@ -766,22 +779,22 @@ function on(t) {
|
|
|
766
779
|
const c = o.target;
|
|
767
780
|
if (!c)
|
|
768
781
|
return !1;
|
|
769
|
-
const
|
|
770
|
-
i = c.closest("a"), i && !
|
|
782
|
+
const u = t.editor.view.dom;
|
|
783
|
+
i = c.closest("a"), i && !u.contains(i) && (i = null);
|
|
771
784
|
}
|
|
772
785
|
if (!i)
|
|
773
786
|
return !1;
|
|
774
787
|
let l = !1;
|
|
775
788
|
if (t.enableClickSelection && (l = t.editor.commands.extendMarkRange(t.type.name)), t.openOnClick) {
|
|
776
|
-
const c =
|
|
777
|
-
|
|
789
|
+
const c = we(n.state, t.type.name), u = (s = i.href) != null ? s : c.href, f = (r = i.target) != null ? r : c.target;
|
|
790
|
+
u && (window.open(u, f), l = !0);
|
|
778
791
|
}
|
|
779
792
|
return l;
|
|
780
793
|
}
|
|
781
794
|
}
|
|
782
795
|
});
|
|
783
796
|
}
|
|
784
|
-
function
|
|
797
|
+
function on(t) {
|
|
785
798
|
return new qt({
|
|
786
799
|
key: new Jt("handlePasteLink"),
|
|
787
800
|
props: {
|
|
@@ -793,45 +806,57 @@ function sn(t) {
|
|
|
793
806
|
o.content.forEach((f) => {
|
|
794
807
|
c += f.textContent;
|
|
795
808
|
});
|
|
796
|
-
const
|
|
809
|
+
const u = Re(c, { defaultProtocol: t.defaultProtocol }).find(
|
|
797
810
|
(f) => f.isLink && f.value === c
|
|
798
811
|
);
|
|
799
|
-
return !c || !
|
|
800
|
-
href:
|
|
812
|
+
return !c || !u || s !== void 0 && !s(u.value) ? !1 : t.editor.commands.setMark(t.type, {
|
|
813
|
+
href: u.href
|
|
801
814
|
});
|
|
802
815
|
}
|
|
803
816
|
}
|
|
804
817
|
});
|
|
805
818
|
}
|
|
806
|
-
function
|
|
807
|
-
const e = [
|
|
819
|
+
function x(t, n) {
|
|
820
|
+
const e = [
|
|
821
|
+
"http",
|
|
822
|
+
"https",
|
|
823
|
+
"ftp",
|
|
824
|
+
"ftps",
|
|
825
|
+
"mailto",
|
|
826
|
+
"tel",
|
|
827
|
+
"callto",
|
|
828
|
+
"sms",
|
|
829
|
+
"cid",
|
|
830
|
+
"xmpp"
|
|
831
|
+
];
|
|
808
832
|
return n && n.forEach((o) => {
|
|
809
833
|
const s = typeof o == "string" ? o : o.scheme;
|
|
810
834
|
s && e.push(s);
|
|
811
|
-
}), !t || t.replace(
|
|
835
|
+
}), !t || t.replace(Ze, "").match(
|
|
812
836
|
new RegExp(
|
|
813
|
-
|
|
814
|
-
`^(?:(?:${e.join("|")}):|[^a-z]|[a-z0-9+.-]+(?:[^a-z+.-:]|$))`,
|
|
837
|
+
`^(?:(?:${e.map((o) => o.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&")).join("|")}):|[^a-z]|[a-z0-9+.\\-]+(?:[^a-z+.\\-:]|$))`,
|
|
815
838
|
"i"
|
|
816
839
|
)
|
|
817
840
|
);
|
|
818
841
|
}
|
|
819
|
-
var
|
|
842
|
+
var sn = be.create({
|
|
820
843
|
name: "link",
|
|
821
844
|
priority: 1e3,
|
|
822
845
|
keepOnSplit: !1,
|
|
823
846
|
exitable: !0,
|
|
824
847
|
onCreate() {
|
|
825
|
-
this.options.validate && !this.options.shouldAutoLink && (this.options.shouldAutoLink = this.options.validate, console.warn(
|
|
848
|
+
this.options.validate && !this.options.shouldAutoLink && (this.options.shouldAutoLink = this.options.validate, console.warn(
|
|
849
|
+
"The `validate` option is deprecated. Rename to the `shouldAutoLink` option instead."
|
|
850
|
+
)), this.options.protocols.forEach((t) => {
|
|
826
851
|
if (typeof t == "string") {
|
|
827
|
-
|
|
852
|
+
pe(t);
|
|
828
853
|
return;
|
|
829
854
|
}
|
|
830
|
-
|
|
855
|
+
pe(t.scheme, t.optionalSlashes);
|
|
831
856
|
});
|
|
832
857
|
},
|
|
833
858
|
onDestroy() {
|
|
834
|
-
|
|
859
|
+
Je();
|
|
835
860
|
},
|
|
836
861
|
inclusive() {
|
|
837
862
|
return this.options.autolink;
|
|
@@ -849,7 +874,7 @@ var rn = Pe.create({
|
|
|
849
874
|
rel: "noopener noreferrer nofollow",
|
|
850
875
|
class: null
|
|
851
876
|
},
|
|
852
|
-
isAllowedUri: (t, n) => !!
|
|
877
|
+
isAllowedUri: (t, n) => !!x(t, n.protocols),
|
|
853
878
|
validate: (t) => !!t,
|
|
854
879
|
shouldAutoLink: (t) => {
|
|
855
880
|
const n = /^[a-z][a-z0-9+.-]*:\/\//i.test(t), e = /^[a-z][a-z0-9+.-]*:/i.test(t);
|
|
@@ -861,21 +886,25 @@ var rn = Pe.create({
|
|
|
861
886
|
};
|
|
862
887
|
},
|
|
863
888
|
addAttributes() {
|
|
889
|
+
var t, n, e;
|
|
864
890
|
return {
|
|
865
891
|
href: {
|
|
866
892
|
default: null,
|
|
867
|
-
parseHTML(
|
|
868
|
-
return
|
|
893
|
+
parseHTML(o) {
|
|
894
|
+
return o.getAttribute("href");
|
|
869
895
|
}
|
|
870
896
|
},
|
|
871
897
|
target: {
|
|
872
|
-
|
|
898
|
+
// Coerce `undefined` to `null` because `undefined` is an invalid attribute value
|
|
899
|
+
default: (t = this.options.HTMLAttributes.target) != null ? t : null
|
|
873
900
|
},
|
|
874
901
|
rel: {
|
|
875
|
-
|
|
902
|
+
// Coerce `undefined` to `null` because `undefined` is an invalid attribute value
|
|
903
|
+
default: (n = this.options.HTMLAttributes.rel) != null ? n : null
|
|
876
904
|
},
|
|
877
905
|
class: {
|
|
878
|
-
|
|
906
|
+
// Coerce `undefined` to `null` because `undefined` is an invalid attribute value
|
|
907
|
+
default: (e = this.options.HTMLAttributes.class) != null ? e : null
|
|
879
908
|
},
|
|
880
909
|
title: {
|
|
881
910
|
default: null
|
|
@@ -889,7 +918,7 @@ var rn = Pe.create({
|
|
|
889
918
|
getAttrs: (t) => {
|
|
890
919
|
const n = t.getAttribute("href");
|
|
891
920
|
return !n || !this.options.isAllowedUri(n, {
|
|
892
|
-
defaultValidate: (e) => !!
|
|
921
|
+
defaultValidate: (e) => !!x(e, this.options.protocols),
|
|
893
922
|
protocols: this.options.protocols,
|
|
894
923
|
defaultProtocol: this.options.defaultProtocol
|
|
895
924
|
}) ? !1 : null;
|
|
@@ -899,7 +928,7 @@ var rn = Pe.create({
|
|
|
899
928
|
},
|
|
900
929
|
renderHTML({ HTMLAttributes: t }) {
|
|
901
930
|
return this.options.isAllowedUri(t.href, {
|
|
902
|
-
defaultValidate: (n) => !!
|
|
931
|
+
defaultValidate: (n) => !!x(n, this.options.protocols),
|
|
903
932
|
protocols: this.options.protocols,
|
|
904
933
|
defaultProtocol: this.options.defaultProtocol
|
|
905
934
|
}) ? ["a", le(this.options.HTMLAttributes, t), 0] : ["a", le(this.options.HTMLAttributes, { ...t, href: "" }), 0];
|
|
@@ -919,7 +948,7 @@ var rn = Pe.create({
|
|
|
919
948
|
setLink: (t) => ({ chain: n }) => {
|
|
920
949
|
const { href: e } = t;
|
|
921
950
|
return this.options.isAllowedUri(e, {
|
|
922
|
-
defaultValidate: (o) => !!
|
|
951
|
+
defaultValidate: (o) => !!x(o, this.options.protocols),
|
|
923
952
|
protocols: this.options.protocols,
|
|
924
953
|
defaultProtocol: this.options.defaultProtocol
|
|
925
954
|
}) ? n().setMark(this.name, t).setMeta("preventAutolink", !0).run() : !1;
|
|
@@ -927,7 +956,7 @@ var rn = Pe.create({
|
|
|
927
956
|
toggleLink: (t) => ({ chain: n }) => {
|
|
928
957
|
const { href: e } = t || {};
|
|
929
958
|
return e && !this.options.isAllowedUri(e, {
|
|
930
|
-
defaultValidate: (o) => !!
|
|
959
|
+
defaultValidate: (o) => !!x(o, this.options.protocols),
|
|
931
960
|
protocols: this.options.protocols,
|
|
932
961
|
defaultProtocol: this.options.defaultProtocol
|
|
933
962
|
}) ? !1 : n().toggleMark(this.name, t, { extendEmptyMarkRange: !0 }).setMeta("preventAutolink", !0).run();
|
|
@@ -937,13 +966,13 @@ var rn = Pe.create({
|
|
|
937
966
|
},
|
|
938
967
|
addPasteRules() {
|
|
939
968
|
return [
|
|
940
|
-
|
|
969
|
+
Se({
|
|
941
970
|
find: (t) => {
|
|
942
971
|
const n = [];
|
|
943
972
|
if (t) {
|
|
944
|
-
const { protocols: e, defaultProtocol: o } = this.options, s =
|
|
973
|
+
const { protocols: e, defaultProtocol: o } = this.options, s = Re(t).filter(
|
|
945
974
|
(r) => r.isLink && this.options.isAllowedUri(r.value, {
|
|
946
|
-
defaultValidate: (i) => !!
|
|
975
|
+
defaultValidate: (i) => !!x(i, e),
|
|
947
976
|
protocols: e,
|
|
948
977
|
defaultProtocol: o
|
|
949
978
|
})
|
|
@@ -973,25 +1002,25 @@ var rn = Pe.create({
|
|
|
973
1002
|
addProseMirrorPlugins() {
|
|
974
1003
|
const t = [], { protocols: n, defaultProtocol: e } = this.options;
|
|
975
1004
|
return this.options.autolink && t.push(
|
|
976
|
-
|
|
1005
|
+
en({
|
|
977
1006
|
type: this.type,
|
|
978
1007
|
defaultProtocol: this.options.defaultProtocol,
|
|
979
1008
|
validate: (o) => this.options.isAllowedUri(o, {
|
|
980
|
-
defaultValidate: (s) => !!
|
|
1009
|
+
defaultValidate: (s) => !!x(s, n),
|
|
981
1010
|
protocols: n,
|
|
982
1011
|
defaultProtocol: e
|
|
983
1012
|
}),
|
|
984
1013
|
shouldAutoLink: this.options.shouldAutoLink
|
|
985
1014
|
})
|
|
986
1015
|
), t.push(
|
|
987
|
-
|
|
1016
|
+
nn({
|
|
988
1017
|
type: this.type,
|
|
989
1018
|
editor: this.editor,
|
|
990
1019
|
openOnClick: this.options.openOnClick === "whenNotEditable" ? !0 : this.options.openOnClick,
|
|
991
1020
|
enableClickSelection: this.options.enableClickSelection
|
|
992
1021
|
})
|
|
993
1022
|
), this.options.linkOnPaste && t.push(
|
|
994
|
-
|
|
1023
|
+
on({
|
|
995
1024
|
editor: this.editor,
|
|
996
1025
|
defaultProtocol: this.options.defaultProtocol,
|
|
997
1026
|
type: this.type,
|
|
@@ -999,8 +1028,8 @@ var rn = Pe.create({
|
|
|
999
1028
|
})
|
|
1000
1029
|
), t;
|
|
1001
1030
|
}
|
|
1002
|
-
}),
|
|
1003
|
-
const
|
|
1031
|
+
}), rn = sn;
|
|
1032
|
+
const ln = rn.configure({
|
|
1004
1033
|
openOnClick: !1,
|
|
1005
1034
|
autolink: !0,
|
|
1006
1035
|
defaultProtocol: "https",
|
|
@@ -1025,6 +1054,6 @@ const cn = an.configure({
|
|
|
1025
1054
|
}
|
|
1026
1055
|
});
|
|
1027
1056
|
export {
|
|
1028
|
-
|
|
1029
|
-
|
|
1057
|
+
sn as L,
|
|
1058
|
+
ln as a
|
|
1030
1059
|
};
|