@clevertask/scribe 0.1.28 → 0.1.30

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.
Files changed (85) hide show
  1. package/README.md +30 -47
  2. package/dist/BarMenu-Bban-B3t.js +302 -0
  3. package/dist/assets/index.css +1 -1
  4. package/dist/components/Menu/BarMenu.d.ts.map +1 -1
  5. package/dist/components/Menu/BarMenu.js +1 -1
  6. package/dist/components/Menu/BubbleMenu.js +2 -2
  7. package/dist/components/Menu/CalloutBubbleMenu.js +2 -2
  8. package/dist/components/Menu/LinkBubbleMenu.d.ts.map +1 -1
  9. package/dist/components/Menu/LinkBubbleMenu.js +107 -119
  10. package/dist/components/Menu/LinkEditor.d.ts +0 -7
  11. package/dist/components/Menu/LinkEditor.d.ts.map +1 -1
  12. package/dist/components/Menu/LinkEditor.js +152 -153
  13. package/dist/components/Menu/Mobile/ListOptionBar.js +1 -1
  14. package/dist/components/Menu/TableBubbleMenu.js +3 -3
  15. package/dist/components/Menu/TableHeightSettings.js +1 -1
  16. package/dist/components/Menu/linkBubbleMenuPlugin.d.ts.map +1 -1
  17. package/dist/components/Menu/linkBubbleMenuPlugin.js +9 -5
  18. package/dist/components/Scribe/extension/callout.js +5 -5
  19. package/dist/components/Scribe/extension/emoji/suggest.js +1 -1
  20. package/dist/components/Scribe/extension/extension-link.js +1 -1
  21. package/dist/components/Scribe/extension/extension-markdown-paste.js +1 -1
  22. package/dist/components/Scribe/extension/extension-selectedText.js +1 -1
  23. package/dist/components/Scribe/extension/external-link-preview/attributes.d.ts +0 -7
  24. package/dist/components/Scribe/extension/external-link-preview/attributes.d.ts.map +1 -1
  25. package/dist/components/Scribe/extension/external-link-preview/attributes.js +26 -51
  26. package/dist/components/Scribe/extension/external-link-preview/commands.d.ts +5 -12
  27. package/dist/components/Scribe/extension/external-link-preview/commands.d.ts.map +1 -1
  28. package/dist/components/Scribe/extension/external-link-preview/commands.js +56 -121
  29. package/dist/components/Scribe/extension/external-link-preview/index.d.ts +4 -6
  30. package/dist/components/Scribe/extension/external-link-preview/index.d.ts.map +1 -1
  31. package/dist/components/Scribe/extension/external-link-preview/index.js +5 -41
  32. package/dist/components/Scribe/extension/external-link-preview/render-html.d.ts +1 -0
  33. package/dist/components/Scribe/extension/external-link-preview/render-html.d.ts.map +1 -1
  34. package/dist/components/Scribe/extension/external-link-preview/render-html.js +17 -60
  35. package/dist/components/Scribe/extension/external-link-preview/schema.d.ts +2 -2
  36. package/dist/components/Scribe/extension/external-link-preview/schema.js +1 -1
  37. package/dist/components/Scribe/extension/external-link-preview/serialization.d.ts.map +1 -1
  38. package/dist/components/Scribe/extension/external-link-preview/serialization.js +29 -45
  39. package/dist/components/Scribe/extension/external-link-preview/types.d.ts +14 -17
  40. package/dist/components/Scribe/extension/external-link-preview/types.d.ts.map +1 -1
  41. package/dist/components/Scribe/extension/index.js +1 -1
  42. package/dist/components/Scribe/extension/resizable-table.js +2 -2
  43. package/dist/components/Scribe/extension/slashCommand/index.js +2 -2
  44. package/dist/components/Scribe/extension/slashCommand/renderItems.js +1 -1
  45. package/dist/components/Scribe/extension/table-layout.js +1 -1
  46. package/dist/components/Scribe/extension/tableOfContents.js +1 -1
  47. package/dist/components/Scribe/index.d.ts +3 -9
  48. package/dist/components/Scribe/index.d.ts.map +1 -1
  49. package/dist/components/Scribe/index.js +3 -3
  50. package/dist/{dist-xjmWZ-oh.js → dist-DGEcUiqG.js} +650 -686
  51. package/dist/{dist-Dk0fXvrc.js → dist-TKt66Yz8.js} +2 -2
  52. package/dist/{dist-BiognBi4.js → dist-ZGDUiMX8.js} +189 -376
  53. package/dist/document-node-capabilities.js +1 -1
  54. package/dist/{extension-BU2USLV1.js → extension-I7Ocj_D_.js} +2 -2
  55. package/dist/extension-link-Cb1UO6hv.js +939 -0
  56. package/dist/main.css +0 -141
  57. package/dist/{menus-BDXjZsFU.js → menus-BrQTLTFL.js} +17 -17
  58. package/dist/{schema-extensions-DyCk1Goa.js → schema-extensions-CzDKrIf8.js} +1616 -1489
  59. package/dist/schema-extensions.js +1 -1
  60. package/dist/schema.js +1 -1
  61. package/dist/{table-layout-BoDS50DR.js → table-layout-Dt7KmVp_.js} +174 -123
  62. package/dist/utils/create-scribe-editor.d.ts +1 -1
  63. package/dist/utils/create-scribe-editor.d.ts.map +1 -1
  64. package/dist/utils/index.js +2 -2
  65. package/package.json +51 -51
  66. package/dist/BarMenu-BGWT4Oyk.js +0 -302
  67. package/dist/components/Menu/ExternalLinkDisplayOptions.d.ts +0 -13
  68. package/dist/components/Menu/ExternalLinkDisplayOptions.d.ts.map +0 -1
  69. package/dist/components/Menu/ExternalLinkDisplayOptions.js +0 -90
  70. package/dist/components/Scribe/extension/external-link-preview/node-view.d.ts +0 -3
  71. package/dist/components/Scribe/extension/external-link-preview/node-view.d.ts.map +0 -1
  72. package/dist/components/Scribe/extension/external-link-preview/node-view.js +0 -97
  73. package/dist/components/Scribe/extension/external-link-preview/normalization.d.ts +0 -7
  74. package/dist/components/Scribe/extension/external-link-preview/normalization.d.ts.map +0 -1
  75. package/dist/components/Scribe/extension/external-link-preview/normalization.js +0 -21
  76. package/dist/components/Scribe/extension/external-link-preview/paste.d.ts +0 -8
  77. package/dist/components/Scribe/extension/external-link-preview/paste.d.ts.map +0 -1
  78. package/dist/components/Scribe/extension/external-link-preview/paste.js +0 -53
  79. package/dist/components/Scribe/extension/external-link-preview/policy.d.ts +0 -7
  80. package/dist/components/Scribe/extension/external-link-preview/policy.d.ts.map +0 -1
  81. package/dist/components/Scribe/extension/external-link-preview/policy.js +0 -38
  82. package/dist/components/Scribe/extension/external-link-preview/resolver.d.ts +0 -23
  83. package/dist/components/Scribe/extension/external-link-preview/resolver.d.ts.map +0 -1
  84. package/dist/components/Scribe/extension/external-link-preview/resolver.js +0 -118
  85. package/dist/extension-link-DmM_EJTn.js +0 -909
@@ -1,909 +0,0 @@
1
- import { F as e, I as t, P as n, d as r, g as i, h as a, i as o, p as s, r as c, s as l, y as u } from "./dist-xjmWZ-oh.js";
2
- import { Plugin as d, PluginKey as f } from "@tiptap/pm/state";
3
- //#region node_modules/.pnpm/linkifyjs@4.3.3/node_modules/linkifyjs/dist/linkify.mjs
4
- var p = "aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2odyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rck0msd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2oodside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2", m = "ελ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", h = "numeric", g = "ascii", _ = "alpha", v = "asciinumeric", y = "alphanumeric", b = "domain", x = "emoji", ee = "scheme", S = "slashscheme", C = "whitespace";
5
- function w(e, t) {
6
- return e in t || (t[e] = []), t[e];
7
- }
8
- function T(e, t, n) {
9
- t[h] && (t[v] = !0, t[y] = !0), t[g] && (t[v] = !0, t[_] = !0), t[v] && (t[y] = !0), t[_] && (t[y] = !0), t[y] && (t[b] = !0), t[x] && (t[b] = !0);
10
- for (let r in t) {
11
- let t = w(r, n);
12
- t.indexOf(e) < 0 && t.push(e);
13
- }
14
- }
15
- function te(e, t) {
16
- let n = {};
17
- for (let r in t) t[r].indexOf(e) >= 0 && (n[r] = !0);
18
- return n;
19
- }
20
- function E(e = null) {
21
- this.j = {}, this.jr = [], this.jd = null, this.t = e;
22
- }
23
- E.groups = {}, E.prototype = {
24
- accepts() {
25
- return !!this.t;
26
- },
27
- go(e) {
28
- let t = this, n = t.j[e];
29
- if (n) return n;
30
- for (let n = 0; n < t.jr.length; n++) {
31
- let r = t.jr[n][0], i = t.jr[n][1];
32
- if (i && r.test(e)) return i;
33
- }
34
- return t.jd;
35
- },
36
- has(e, t = !1) {
37
- return t ? e in this.j : !!this.go(e);
38
- },
39
- ta(e, t, n, r) {
40
- for (let i = 0; i < e.length; i++) this.tt(e[i], t, n, r);
41
- },
42
- tr(e, t, n, r) {
43
- r ||= E.groups;
44
- let i;
45
- return t && t.j ? i = t : (i = new E(t), n && r && T(t, n, r)), this.jr.push([e, i]), i;
46
- },
47
- ts(e, t, n, r) {
48
- let i = this, a = e.length;
49
- if (!a) return i;
50
- for (let t = 0; t < a - 1; t++) i = i.tt(e[t]);
51
- return i.tt(e[a - 1], t, n, r);
52
- },
53
- tt(e, t, n, r) {
54
- r ||= E.groups;
55
- let i = this;
56
- if (t && t.j) return i.j[e] = t, t;
57
- let a = t, o, s = i.go(e);
58
- return s ? (o = new E(), Object.assign(o.j, s.j), o.jr.push.apply(o.jr, s.jr), o.jd = s.jd, o.t = s.t) : o = new E(), a && (r && (o.t && typeof o.t == "string" ? T(a, Object.assign(te(o.t, r), n), r) : n && T(a, n, r)), o.t = a), i.j[e] = o, o;
59
- }
60
- };
61
- var D = (e, t, n, r, i) => e.ta(t, n, r, i), O = (e, t, n, r, i) => e.tr(t, n, r, i), ne = (e, t, n, r, i) => e.ts(t, n, r, i), k = (e, t, n, r, i) => e.tt(t, n, r, i), A = "WORD", re = "UWORD", ie = "ASCIINUMERICAL", ae = "ALPHANUMERICAL", j = "LOCALHOST", oe = "TLD", se = "UTLD", ce = "SCHEME", M = "SLASH_SCHEME", le = "NUM", ue = "WS", de = "NL", N = "OPENBRACE", P = "CLOSEBRACE", fe = "OPENBRACKET", pe = "CLOSEBRACKET", me = "OPENPAREN", he = "CLOSEPAREN", ge = "OPENANGLEBRACKET", _e = "CLOSEANGLEBRACKET", ve = "FULLWIDTHLEFTPAREN", ye = "FULLWIDTHRIGHTPAREN", be = "LEFTCORNERBRACKET", xe = "RIGHTCORNERBRACKET", Se = "LEFTWHITECORNERBRACKET", Ce = "RIGHTWHITECORNERBRACKET", we = "FULLWIDTHLESSTHAN", Te = "FULLWIDTHGREATERTHAN", Ee = "AMPERSAND", F = "APOSTROPHE", I = "ASTERISK", L = "AT", De = "BACKSLASH", Oe = "BACKTICK", ke = "CARET", R = "COLON", Ae = "COMMA", je = "DOLLAR", z = "DOT", Me = "EQUALS", Ne = "EXCLAMATION", B = "HYPHEN", V = "PERCENT", Pe = "PIPE", Fe = "PLUS", Ie = "POUND", H = "QUERY", Le = "QUOTE", Re = "FULLWIDTHMIDDLEDOT", ze = "SEMI", U = "SLASH", W = "TILDE", Be = "UNDERSCORE", Ve = "EMOJI", He = "SYM", Ue = /*#__PURE__*/ Object.freeze({
62
- __proto__: null,
63
- ALPHANUMERICAL: ae,
64
- AMPERSAND: Ee,
65
- APOSTROPHE: F,
66
- ASCIINUMERICAL: ie,
67
- ASTERISK: I,
68
- AT: L,
69
- BACKSLASH: De,
70
- BACKTICK: Oe,
71
- CARET: ke,
72
- CLOSEANGLEBRACKET: _e,
73
- CLOSEBRACE: P,
74
- CLOSEBRACKET: pe,
75
- CLOSEPAREN: he,
76
- COLON: R,
77
- COMMA: Ae,
78
- DOLLAR: je,
79
- DOT: z,
80
- EMOJI: Ve,
81
- EQUALS: Me,
82
- EXCLAMATION: Ne,
83
- FULLWIDTHGREATERTHAN: Te,
84
- FULLWIDTHLEFTPAREN: ve,
85
- FULLWIDTHLESSTHAN: we,
86
- FULLWIDTHMIDDLEDOT: Re,
87
- FULLWIDTHRIGHTPAREN: ye,
88
- HYPHEN: B,
89
- LEFTCORNERBRACKET: be,
90
- LEFTWHITECORNERBRACKET: Se,
91
- LOCALHOST: j,
92
- NL: de,
93
- NUM: le,
94
- OPENANGLEBRACKET: ge,
95
- OPENBRACE: N,
96
- OPENBRACKET: fe,
97
- OPENPAREN: me,
98
- PERCENT: V,
99
- PIPE: Pe,
100
- PLUS: Fe,
101
- POUND: Ie,
102
- QUERY: H,
103
- QUOTE: Le,
104
- RIGHTCORNERBRACKET: xe,
105
- RIGHTWHITECORNERBRACKET: Ce,
106
- SCHEME: ce,
107
- SEMI: ze,
108
- SLASH: U,
109
- SLASH_SCHEME: M,
110
- SYM: He,
111
- TILDE: W,
112
- TLD: oe,
113
- UNDERSCORE: Be,
114
- UTLD: se,
115
- UWORD: re,
116
- WORD: A,
117
- WS: ue
118
- }), G = /[a-z]/, K = /\p{L}/u, We = /\p{Emoji}/u, q = /\d/, Ge = /\s/, Ke = "\r", qe = "\n", Je = "️", Ye = "‍", Xe = "", Ze = null, Qe = null;
119
- function $e(e = []) {
120
- let t = {};
121
- E.groups = t;
122
- let n = new E();
123
- Ze ??= nt(p), Qe ??= nt(m), k(n, "'", F), k(n, "{", N), k(n, "}", P), k(n, "[", fe), k(n, "]", pe), k(n, "(", me), k(n, ")", he), k(n, "<", ge), k(n, ">", _e), k(n, "(", ve), k(n, ")", ye), k(n, "「", be), k(n, "」", xe), k(n, "『", Se), k(n, "』", Ce), k(n, "<", we), k(n, ">", Te), k(n, "&", Ee), k(n, "*", I), k(n, "@", L), k(n, "`", Oe), k(n, "^", ke), k(n, ":", R), k(n, ",", Ae), k(n, "$", je), k(n, ".", z), k(n, "=", Me), k(n, "!", Ne), k(n, "-", B), k(n, "%", V), k(n, "|", Pe), k(n, "+", Fe), k(n, "#", Ie), k(n, "?", H), k(n, "\"", Le), k(n, "/", U), k(n, ";", ze), k(n, "~", W), k(n, "_", Be), k(n, "\\", De), k(n, "・", Re);
124
- let r = O(n, q, le, { [h]: !0 });
125
- O(r, q, r);
126
- let i = O(r, G, ie, { [v]: !0 }), a = O(r, K, ae, { [y]: !0 }), o = O(n, G, A, { [g]: !0 });
127
- O(o, q, i), O(o, G, o), O(i, q, i), O(i, G, i);
128
- let s = O(n, K, re, { [_]: !0 });
129
- O(s, G), O(s, q, a), O(s, K, s), O(a, q, a), O(a, G), O(a, K, a);
130
- let c = k(n, qe, de, { [C]: !0 }), l = k(n, Ke, ue, { [C]: !0 }), u = O(n, Ge, ue, { [C]: !0 });
131
- k(n, Xe, u), k(l, qe, c), k(l, Xe, u), O(l, Ge, u), k(u, Ke), k(u, qe), O(u, Ge, u), k(u, Xe, u);
132
- let d = O(n, We, Ve, { [x]: !0 });
133
- k(d, "#"), O(d, We, d), k(d, Je, d);
134
- let f = k(d, Ye);
135
- k(f, "#"), O(f, We, d);
136
- let w = [[G, o], [q, i]], te = [
137
- [G, null],
138
- [K, s],
139
- [q, a]
140
- ];
141
- for (let e = 0; e < Ze.length; e++) J(n, Ze[e], oe, A, w);
142
- for (let e = 0; e < Qe.length; e++) J(n, Qe[e], se, re, te);
143
- T(oe, {
144
- tld: !0,
145
- ascii: !0
146
- }, t), T(se, {
147
- utld: !0,
148
- alpha: !0
149
- }, t), J(n, "file", ce, A, w), J(n, "mailto", ce, A, w), J(n, "http", M, A, w), J(n, "https", M, A, w), J(n, "ftp", M, A, w), J(n, "ftps", M, A, w), T(ce, {
150
- scheme: !0,
151
- ascii: !0
152
- }, t), T(M, {
153
- slashscheme: !0,
154
- ascii: !0
155
- }, t), e = e.sort((e, t) => e[0] > t[0] ? 1 : -1);
156
- for (let t = 0; t < e.length; t++) {
157
- let r = e[t][0], i = e[t][1] ? { [ee]: !0 } : { [S]: !0 };
158
- r.indexOf("-") >= 0 ? i[b] = !0 : G.test(r) ? q.test(r) ? i[v] = !0 : i[g] = !0 : i[h] = !0, ne(n, r, r, i);
159
- }
160
- return ne(n, "localhost", j, { ascii: !0 }), n.jd = new E(He), {
161
- start: n,
162
- tokens: Object.assign({ groups: t }, Ue)
163
- };
164
- }
165
- function et(e, t) {
166
- let n = tt(t.replace(/[A-Z]/g, (e) => e.toLowerCase())), r = n.length, i = [], a = 0, o = 0;
167
- for (; o < r;) {
168
- let s = e, c = null, l = 0, u = null, d = -1, f = -1;
169
- for (; o < r && (c = s.go(n[o]));) s = c, s.accepts() ? (d = 0, f = 0, u = s) : d >= 0 && (d += n[o].length, f++), l += n[o].length, a += n[o].length, o++;
170
- a -= d, o -= f, l -= d, i.push({
171
- t: u.t,
172
- v: t.slice(a - l, a),
173
- s: a - l,
174
- e: a
175
- });
176
- }
177
- return i;
178
- }
179
- function tt(e) {
180
- let t = [], n = e.length, r = 0;
181
- for (; r < n;) {
182
- let i = e.charCodeAt(r), a, o = i < 55296 || i > 56319 || r + 1 === n || (a = e.charCodeAt(r + 1)) < 56320 || a > 57343 ? e[r] : e.slice(r, r + 2);
183
- t.push(o), r += o.length;
184
- }
185
- return t;
186
- }
187
- function J(e, t, n, r, i) {
188
- let a, o = t.length;
189
- for (let n = 0; n < o - 1; n++) {
190
- let o = t[n];
191
- e.j[o] ? a = e.j[o] : (a = new E(r), a.jr = i.slice(), e.j[o] = a), e = a;
192
- }
193
- return a = new E(n), a.jr = i.slice(), e.j[t[o - 1]] = a, a;
194
- }
195
- function nt(e) {
196
- let t = [], n = [], r = 0;
197
- for (; r < e.length;) {
198
- let i = 0;
199
- for (; "0123456789".indexOf(e[r + i]) >= 0;) i++;
200
- if (i > 0) {
201
- t.push(n.join(""));
202
- for (let t = parseInt(e.substring(r, r + i), 10); t > 0; t--) n.pop();
203
- r += i;
204
- } else n.push(e[r]), r++;
205
- }
206
- return t;
207
- }
208
- var Y = {
209
- defaultProtocol: "http",
210
- events: null,
211
- format: it,
212
- formatHref: it,
213
- nl2br: !1,
214
- tagName: "a",
215
- target: null,
216
- rel: null,
217
- validate: !0,
218
- truncate: Infinity,
219
- className: null,
220
- attributes: null,
221
- ignoreTags: [],
222
- render: null
223
- };
224
- function rt(e, t = null) {
225
- let n = Object.assign({}, Y);
226
- e && (n = Object.assign(n, e instanceof rt ? e.o : e));
227
- let r = n.ignoreTags, i = [];
228
- for (let e = 0; e < r.length; e++) i.push(r[e].toUpperCase());
229
- this.o = n, t && (this.defaultRender = t), this.ignoreTags = i;
230
- }
231
- rt.prototype = {
232
- o: Y,
233
- ignoreTags: [],
234
- defaultRender(e) {
235
- return e;
236
- },
237
- check(e) {
238
- return this.get("validate", e.toString(), e);
239
- },
240
- get(e, t, n) {
241
- let r = t != null, i = this.o[e];
242
- return i && (typeof i == "object" ? (i = n.t in i ? i[n.t] : Y[e], typeof i == "function" && r && (i = i(t, n))) : typeof i == "function" && r && (i = i(t, n.t, n)), i);
243
- },
244
- getObj(e, t, n) {
245
- let r = this.o[e];
246
- return typeof r == "function" && t != null && (r = r(t, n.t, n)), r;
247
- },
248
- render(e) {
249
- let t = e.render(this);
250
- return (this.get("render", null, e) || this.defaultRender)(t, e.t, e);
251
- }
252
- };
253
- function it(e) {
254
- return e;
255
- }
256
- function at(e, t) {
257
- this.t = "token", this.v = e, this.tk = t;
258
- }
259
- at.prototype = {
260
- isLink: !1,
261
- toString() {
262
- return this.v;
263
- },
264
- toHref(e) {
265
- return this.toString();
266
- },
267
- toFormattedString(e) {
268
- let t = this.toString(), n = e.get("truncate", t, this), r = e.get("format", t, this);
269
- return n && r.length > n ? r.substring(0, n) + "…" : r;
270
- },
271
- toFormattedHref(e) {
272
- return e.get("formatHref", this.toHref(e.get("defaultProtocol")), this);
273
- },
274
- startIndex() {
275
- return this.tk[0].s;
276
- },
277
- endIndex() {
278
- return this.tk[this.tk.length - 1].e;
279
- },
280
- toObject(e = Y.defaultProtocol) {
281
- return {
282
- type: this.t,
283
- value: this.toString(),
284
- isLink: this.isLink,
285
- href: this.toHref(e),
286
- start: this.startIndex(),
287
- end: this.endIndex()
288
- };
289
- },
290
- toFormattedObject(e) {
291
- return {
292
- type: this.t,
293
- value: this.toFormattedString(e),
294
- isLink: this.isLink,
295
- href: this.toFormattedHref(e),
296
- start: this.startIndex(),
297
- end: this.endIndex()
298
- };
299
- },
300
- validate(e) {
301
- return e.get("validate", this.toString(), this);
302
- },
303
- render(e) {
304
- let t = this, n = this.toHref(e.get("defaultProtocol")), r = e.get("formatHref", n, this), i = e.get("tagName", n, t), a = this.toFormattedString(e), o = {}, s = e.get("className", n, t), c = e.get("target", n, t), l = e.get("rel", n, t), u = e.getObj("attributes", n, t), d = e.getObj("events", n, t);
305
- return o.href = r, s && (o.class = s), c && (o.target = c), l && (o.rel = l), u && Object.assign(o, u), {
306
- tagName: i,
307
- attributes: o,
308
- content: a,
309
- eventListeners: d
310
- };
311
- }
312
- };
313
- function X(e, t) {
314
- class n extends at {
315
- constructor(t, n) {
316
- super(t, n), this.t = e;
317
- }
318
- }
319
- for (let e in t) n.prototype[e] = t[e];
320
- return n.t = e, n;
321
- }
322
- var ot = X("email", {
323
- isLink: !0,
324
- toHref() {
325
- return "mailto:" + this.toString();
326
- }
327
- }), st = X("text"), ct = X("nl"), lt = X("url", {
328
- isLink: !0,
329
- toHref(e = Y.defaultProtocol) {
330
- return this.hasProtocol() ? this.v : `${e}://${this.v}`;
331
- },
332
- hasProtocol() {
333
- let e = this.tk;
334
- return e.length >= 2 && e[0].t !== j && e[1].t === R;
335
- }
336
- }), Z = (e) => new E(e);
337
- function ut({ groups: e }) {
338
- let t = e.domain.concat([
339
- Ee,
340
- I,
341
- L,
342
- De,
343
- Oe,
344
- ke,
345
- je,
346
- Me,
347
- B,
348
- le,
349
- V,
350
- Pe,
351
- Fe,
352
- Ie,
353
- U,
354
- He,
355
- W,
356
- Be
357
- ]), n = [
358
- F,
359
- R,
360
- Ae,
361
- z,
362
- Ne,
363
- V,
364
- H,
365
- Le,
366
- ze,
367
- ge,
368
- _e,
369
- N,
370
- P,
371
- pe,
372
- fe,
373
- me,
374
- he,
375
- ve,
376
- ye,
377
- be,
378
- xe,
379
- Se,
380
- Ce,
381
- we,
382
- Te
383
- ], r = [
384
- Ee,
385
- F,
386
- I,
387
- De,
388
- Oe,
389
- ke,
390
- je,
391
- Me,
392
- B,
393
- N,
394
- P,
395
- V,
396
- Pe,
397
- Fe,
398
- Ie,
399
- H,
400
- U,
401
- He,
402
- W,
403
- Be
404
- ], i = Z(), a = k(i, W);
405
- D(a, r, a), D(a, e.domain, a);
406
- let o = Z(), s = Z(), c = Z();
407
- D(i, e.domain, o), D(i, e.scheme, s), D(i, e.slashscheme, c), D(o, r, a), D(o, e.domain, o);
408
- let l = k(o, L);
409
- k(a, L, l), k(s, L, l), k(c, L, l);
410
- let u = k(a, z);
411
- D(u, r, a), D(u, e.domain, a);
412
- let d = Z();
413
- D(l, e.domain, d), D(d, e.domain, d);
414
- let f = k(d, z);
415
- D(f, e.domain, d);
416
- let p = Z(ot);
417
- D(f, e.tld, p), D(f, e.utld, p), k(l, j, p);
418
- let m = k(d, B);
419
- k(m, B, m), D(m, e.domain, d), D(p, e.domain, d), k(p, z, f), k(p, B, m);
420
- let h = k(o, B), g = k(o, z);
421
- k(h, B, h), D(h, e.domain, o), D(g, r, a), D(g, e.domain, o);
422
- let _ = Z(lt);
423
- D(g, e.tld, _), D(g, e.utld, _), D(_, e.domain, o), D(_, r, a), k(_, z, g), k(_, B, h), k(_, L, l);
424
- let v = k(_, R), y = Z(lt);
425
- D(v, e.numeric, y);
426
- let b = Z(lt), x = Z();
427
- D(b, t, b), D(b, n, x), D(x, t, b), D(x, n, x), k(_, U, b), k(y, U, b);
428
- let ee = k(s, R), S = k(k(k(c, R), U), U);
429
- D(s, e.domain, o), k(s, z, g), k(s, B, h), D(c, e.domain, o), k(c, z, g), k(c, B, h), D(ee, e.domain, b), k(ee, U, b), k(ee, H, b), D(S, e.domain, b), D(S, t, b), k(S, U, b);
430
- let C = [
431
- [N, P],
432
- [fe, pe],
433
- [me, he],
434
- [ge, _e],
435
- [ve, ye],
436
- [be, xe],
437
- [Se, Ce],
438
- [we, Te]
439
- ];
440
- for (let e = 0; e < C.length; e++) {
441
- let [r, i] = C[e], a = k(b, r);
442
- k(x, r, a);
443
- let o = Z(lt);
444
- D(a, t, o);
445
- let s = Z();
446
- D(a, n, s), k(a, i, b), D(o, t, o), D(o, n, s), D(s, t, o), D(s, n, s), k(o, i, b), k(s, i, b);
447
- }
448
- return k(i, j, _), k(i, de, ct), {
449
- start: i,
450
- tokens: Ue
451
- };
452
- }
453
- function dt(e, t, n) {
454
- let r = n.length, i = 0, a = [], o = [];
455
- for (; i < r;) {
456
- let s = e, c = null, l = null, u = 0, d = null, f = -1;
457
- for (; i < r && !(c = s.go(n[i].t));) o.push(n[i++]);
458
- for (; i < r && (l = c || s.go(n[i].t));) c = null, s = l, s.accepts() ? (f = 0, d = s) : f >= 0 && f++, i++, u++;
459
- if (f < 0) i -= u, i < r && (o.push(n[i]), i++);
460
- else {
461
- o.length > 0 && (a.push(ft(st, t, o)), o = []), i -= f, u -= f;
462
- let e = d.t, r = n.slice(i - u, i);
463
- a.push(ft(e, t, r));
464
- }
465
- }
466
- return o.length > 0 && a.push(ft(st, t, o)), a;
467
- }
468
- function ft(e, t, n) {
469
- let r = n[0].s, i = n[n.length - 1].e;
470
- return new e(t.slice(r, i), n);
471
- }
472
- var pt = typeof console < "u" && console && console.warn || (() => {}), mt = "until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.", Q = {
473
- scanner: null,
474
- parser: null,
475
- tokenQueue: [],
476
- pluginQueue: [],
477
- customSchemes: [],
478
- initialized: !1
479
- };
480
- function ht() {
481
- return E.groups = {}, Q.scanner = null, Q.parser = null, Q.tokenQueue = [], Q.pluginQueue = [], Q.customSchemes = [], Q.initialized = !1, Q;
482
- }
483
- function gt(e, t = !1) {
484
- if (Q.initialized && pt(`linkifyjs: already initialized - will not register custom scheme "${e}" ${mt}`), !/^[0-9a-z]+(-[0-9a-z]+)*$/.test(e)) throw Error("linkifyjs: incorrect scheme format.\n1. Must only contain digits, lowercase ASCII letters or \"-\"\n2. Cannot start or end with \"-\"\n3. \"-\" cannot repeat");
485
- Q.customSchemes.push([e, t]);
486
- }
487
- function _t() {
488
- Q.scanner = $e(Q.customSchemes);
489
- for (let e = 0; e < Q.tokenQueue.length; e++) Q.tokenQueue[e][1]({ scanner: Q.scanner });
490
- Q.parser = ut(Q.scanner.tokens);
491
- for (let e = 0; e < Q.pluginQueue.length; e++) Q.pluginQueue[e][1]({
492
- scanner: Q.scanner,
493
- parser: Q.parser
494
- });
495
- return Q.initialized = !0, Q;
496
- }
497
- function vt(e) {
498
- return Q.initialized || _t(), dt(Q.parser.start, e, et(Q.scanner.start, e));
499
- }
500
- vt.scan = et;
501
- function yt(e, t = null, n = null) {
502
- if (t && typeof t == "object") {
503
- if (n) throw Error(`linkifyjs: Invalid link type ${t}; must be a string`);
504
- n = t, t = null;
505
- }
506
- let r = new rt(n), i = vt(e), a = [];
507
- for (let e = 0; e < i.length; e++) {
508
- let n = i[e];
509
- n.isLink && (!t || n.t === t) && r.check(n) && a.push(n.toFormattedObject(r));
510
- }
511
- return a;
512
- }
513
- //#endregion
514
- //#region node_modules/.pnpm/@tiptap+extension-link@3.31.3_@tiptap+core@3.31.3_@tiptap+pm@3.31.3__@tiptap+pm@3.31.3/node_modules/@tiptap/extension-link/dist/index.js
515
- var bt = "[\0- \xA0 ᠎ -\u2029  ]", xt = new RegExp(bt), St = RegExp(`${bt}$`), Ct = new RegExp(bt, "g");
516
- function wt(e) {
517
- return e.length === 1 ? e[0].isLink : e.length === 3 && e[1].isLink ? ["()", "[]"].includes(e[0].value + e[2].value) : !1;
518
- }
519
- function Tt(e) {
520
- return new d({
521
- key: new f("autolink"),
522
- appendTransaction: (t, n, a) => {
523
- let o = t.some((e) => e.docChanged) && !n.doc.eq(a.doc), c = t.some((e) => e.getMeta("preventAutolink"));
524
- if (!o || c) return;
525
- let { tr: l } = a, d = r(n.doc, [...t]);
526
- if (i(d).forEach(({ newRange: t }) => {
527
- let n = s(a.doc, t, (e) => e.isTextblock), r, i;
528
- if (n.length > 1) r = n[0], i = a.doc.textBetween(r.pos, r.pos + r.node.nodeSize, void 0, " ");
529
- else if (n.length) {
530
- let e = a.doc.textBetween(t.from, t.to, " ", " ");
531
- if (!St.test(e)) return;
532
- r = n[0], i = a.doc.textBetween(r.pos, t.to, void 0, " ");
533
- }
534
- if (r && i) {
535
- let t = i.split(xt).filter(Boolean);
536
- if (t.length <= 0) return !1;
537
- let n = t[t.length - 1], o = r.pos + i.lastIndexOf(n);
538
- if (!n) return !1;
539
- let s = vt(n).map((t) => t.toObject(e.defaultProtocol));
540
- if (!wt(s)) return !1;
541
- s.filter((e) => e.isLink).map((e) => ({
542
- ...e,
543
- from: o + e.start + 1,
544
- to: o + e.end + 1
545
- })).filter((e) => !a.schema.marks.code || !a.doc.rangeHasMark(e.from, e.to, a.schema.marks.code)).filter((t) => e.validate(t.value)).filter((t) => e.shouldAutoLink(t.value)).forEach((t) => {
546
- u(t.from, t.to, a.doc).some((t) => t.mark.type === e.type) || l.addMark(t.from, t.to, e.type.create({ href: t.href }));
547
- });
548
- }
549
- }), l.steps.length) return l;
550
- }
551
- });
552
- }
553
- function Et(e) {
554
- return new d({
555
- key: new f("handleClickLink"),
556
- props: { handleClick: (t, n, r) => {
557
- if (r.button !== 0 || !t.editable) return !1;
558
- let i = null;
559
- if (r.target instanceof HTMLAnchorElement) i = r.target;
560
- else {
561
- let t = r.target;
562
- if (!t) return !1;
563
- let n = e.editor.view.dom;
564
- i = t.closest("a"), i && !n.contains(i) && (i = null);
565
- }
566
- if (!i) return !1;
567
- let o = !1;
568
- if (e.enableClickSelection && (o = e.editor.commands.extendMarkRange(e.type.name)), e.openOnClick) {
569
- let n = a(t.state, e.type.name), r = i.href ?? n.href, s = i.target ?? n.target;
570
- r && (window.open(r, s), o = !0);
571
- }
572
- return o;
573
- } }
574
- });
575
- }
576
- var Dt = /\[([^[\]]+)\]\(((?:[^\s()]|\([^\s()]*\))+)(?:\s+(?:(["'])(.*?)\3|“(.*?)”|‘(.*?)’))?\)$/, Ot = /\[([^[\]]+)\]\(((?:[^\s()]|\([^\s()]*\))+)(?:\s+(?:(["'])(.*?)\3|“(.*?)”|‘(.*?)’))?\)/g;
577
- function kt(e, t) {
578
- let n = 0;
579
- for (let r = t - 1; r >= 0 && e[r] === "\\"; --r) n += 1;
580
- return n % 2 == 1;
581
- }
582
- function At(e, t) {
583
- let n = 0, r = 0;
584
- for (; r < t;) {
585
- if (e[r] !== "`") {
586
- r += 1;
587
- continue;
588
- }
589
- if (n === 0 && kt(e, r)) {
590
- r += 1;
591
- continue;
592
- }
593
- let i = 0;
594
- for (; r < t && e[r] === "`";) i += 1, r += 1;
595
- n === 0 ? n = i : i === n && (n = 0);
596
- }
597
- return n > 0;
598
- }
599
- function jt(e, t, n) {
600
- let [, r, i] = t;
601
- return (t.index ? e[t.index - 1] : void 0) === "!" || kt(e, t.index ?? 0) || At(e, t.index ?? 0) ? !1 : !!r.trim() && n(i);
602
- }
603
- function Mt(e) {
604
- let [t, n, r, , i, a, o] = e, s = i ?? a ?? o;
605
- return {
606
- index: e.index ?? 0,
607
- text: t,
608
- replaceWith: n,
609
- data: {
610
- href: r,
611
- title: s || null,
612
- markdown: !0
613
- }
614
- };
615
- }
616
- function Nt(e, t) {
617
- return e.index < t.index + t.text.length && t.index < e.index + e.text.length;
618
- }
619
- function Pt(e) {
620
- return {
621
- href: e.data?.href,
622
- title: e.data?.title ?? null
623
- };
624
- }
625
- function Ft(e) {
626
- let t = n({
627
- find: (t) => {
628
- let n = Dt.exec(t);
629
- return !n || !jt(t, n, e.isAllowedHref) ? null : Mt(n);
630
- },
631
- type: e.type,
632
- getAttributes: Pt
633
- });
634
- return new c({
635
- find: t.find,
636
- handler: (e) => {
637
- let n = t.handler(e);
638
- return n !== null && e.state.tr.steps.length && e.state.tr.setMeta("preventAutolink", !0), n;
639
- }
640
- });
641
- }
642
- function It(t) {
643
- let n = e({
644
- find: (e) => {
645
- let n = [];
646
- for (let r of e.matchAll(Ot)) jt(e, r, t.isAllowedHref) && n.push(Mt(r));
647
- let r = (t.findPlainUrls?.call(t, e) ?? []).filter((e) => !n.some((t) => Nt(t, e)));
648
- return [...n, ...r];
649
- },
650
- type: t.type,
651
- getAttributes: Pt
652
- });
653
- return new l({
654
- find: n.find,
655
- handler: (e) => {
656
- let t = n.handler(e);
657
- return t !== null && e.state.tr.steps.length && e.match.data?.markdown && e.state.tr.setMeta("preventAutolink", !0), t;
658
- }
659
- });
660
- }
661
- function Lt(e) {
662
- return new d({
663
- key: new f("handlePasteLink"),
664
- props: { handlePaste: (t, n, r) => {
665
- let { shouldAutoLink: i } = e, { state: a } = t, { selection: o } = a, { empty: s } = o;
666
- if (s) return !1;
667
- let c = "";
668
- r.content.forEach((e) => {
669
- c += e.textContent;
670
- });
671
- let l = yt(c, { defaultProtocol: e.defaultProtocol }).find((e) => e.isLink && e.value === c);
672
- return !c || !l || i !== void 0 && !i(l.value) ? !1 : e.editor.commands.setMark(e.type, { href: l.href });
673
- } }
674
- });
675
- }
676
- function $(e, t) {
677
- let n = [
678
- "http",
679
- "https",
680
- "ftp",
681
- "ftps",
682
- "mailto",
683
- "tel",
684
- "callto",
685
- "sms",
686
- "cid",
687
- "xmpp"
688
- ];
689
- return t && t.forEach((e) => {
690
- let t = typeof e == "string" ? e : e.scheme;
691
- t && n.push(t);
692
- }), !e || e.replace(Ct, "").match(RegExp(`^(?:(?:${n.map((e) => e.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&")).join("|")}):|[^a-z]|[a-z0-9+.\\-]+(?:[^a-z+.\\-:]|$))`, "i"));
693
- }
694
- var Rt = o.create({
695
- name: "link",
696
- priority: 1e3,
697
- keepOnSplit: !1,
698
- exitable: !0,
699
- onCreate() {
700
- this.options.validate && !this.options.shouldAutoLink && (this.options.shouldAutoLink = this.options.validate, console.warn("The `validate` option is deprecated. Rename to the `shouldAutoLink` option instead.")), this.options.protocols.forEach((e) => {
701
- if (typeof e == "string") {
702
- gt(e);
703
- return;
704
- }
705
- gt(e.scheme, e.optionalSlashes);
706
- });
707
- },
708
- onDestroy() {
709
- ht();
710
- },
711
- inclusive() {
712
- return this.options.autolink;
713
- },
714
- addOptions() {
715
- return {
716
- openOnClick: !0,
717
- enableClickSelection: !1,
718
- linkOnPaste: !0,
719
- markdownLinks: !1,
720
- autolink: !0,
721
- protocols: [],
722
- defaultProtocol: "http",
723
- HTMLAttributes: {
724
- target: "_blank",
725
- rel: "noopener noreferrer nofollow",
726
- class: null
727
- },
728
- isAllowedUri: (e, t) => !!$(e, t.protocols),
729
- validate: (e) => !!e,
730
- shouldAutoLink: (e) => {
731
- let t = /^[a-z][a-z0-9+.-]*:\/\//i.test(e), n = /^[a-z][a-z0-9+.-]*:/i.test(e);
732
- if (t || n && !e.includes("@")) return !0;
733
- let r = (e.includes("@") ? e.split("@").pop() : e).split(/[/?#:]/)[0];
734
- return !(/^\d{1,3}(\.\d{1,3}){3}$/.test(r) || !/\./.test(r));
735
- }
736
- };
737
- },
738
- addAttributes() {
739
- return {
740
- href: {
741
- default: null,
742
- parseHTML(e) {
743
- return e.getAttribute("href");
744
- }
745
- },
746
- target: { default: this.options.HTMLAttributes.target ?? null },
747
- rel: { default: this.options.HTMLAttributes.rel ?? null },
748
- class: { default: this.options.HTMLAttributes.class ?? null },
749
- title: { default: null }
750
- };
751
- },
752
- parseHTML() {
753
- return [{
754
- tag: "a[href]",
755
- getAttrs: (e) => {
756
- let t = e.getAttribute("href");
757
- return !t || !this.options.isAllowedUri(t, {
758
- defaultValidate: (e) => !!$(e, this.options.protocols),
759
- protocols: this.options.protocols,
760
- defaultProtocol: this.options.defaultProtocol
761
- }) ? !1 : null;
762
- }
763
- }];
764
- },
765
- renderHTML({ HTMLAttributes: e }) {
766
- return this.options.isAllowedUri(e.href, {
767
- defaultValidate: (e) => !!$(e, this.options.protocols),
768
- protocols: this.options.protocols,
769
- defaultProtocol: this.options.defaultProtocol
770
- }) ? [
771
- "a",
772
- t(this.options.HTMLAttributes, e),
773
- 0
774
- ] : [
775
- "a",
776
- t(this.options.HTMLAttributes, {
777
- ...e,
778
- href: ""
779
- }),
780
- 0
781
- ];
782
- },
783
- markdownTokenName: "link",
784
- parseMarkdown: (e, t) => t.applyMark("link", t.parseInline(e.tokens || []), {
785
- href: e.href,
786
- title: e.title || null
787
- }),
788
- renderMarkdown: (e, t) => {
789
- let n = e.attrs?.href ?? "", r = e.attrs?.title ?? "", i = t.renderChildren(e);
790
- return r ? `[${i}](${n} "${r}")` : `[${i}](${n})`;
791
- },
792
- addCommands() {
793
- return {
794
- setLink: (e) => ({ chain: t }) => {
795
- let { href: n } = e;
796
- return this.options.isAllowedUri(n, {
797
- defaultValidate: (e) => !!$(e, this.options.protocols),
798
- protocols: this.options.protocols,
799
- defaultProtocol: this.options.defaultProtocol
800
- }) ? t().setMark(this.name, e).setMeta("preventAutolink", !0).run() : !1;
801
- },
802
- toggleLink: (e) => ({ chain: t }) => {
803
- let { href: n } = e || {};
804
- return n && !this.options.isAllowedUri(n, {
805
- defaultValidate: (e) => !!$(e, this.options.protocols),
806
- protocols: this.options.protocols,
807
- defaultProtocol: this.options.defaultProtocol
808
- }) ? !1 : t().toggleMark(this.name, e, { extendEmptyMarkRange: !0 }).setMeta("preventAutolink", !0).run();
809
- },
810
- unsetLink: () => ({ chain: e }) => e().unsetMark(this.name, { extendEmptyMarkRange: !0 }).setMeta("preventAutolink", !0).run()
811
- };
812
- },
813
- addInputRules() {
814
- return this.options.markdownLinks ? [Ft({
815
- type: this.type,
816
- isAllowedHref: (e) => this.options.isAllowedUri(e, {
817
- defaultValidate: (e) => !!$(e, this.options.protocols),
818
- protocols: this.options.protocols,
819
- defaultProtocol: this.options.defaultProtocol
820
- })
821
- })] : [];
822
- },
823
- addPasteRules() {
824
- let t = (e) => {
825
- let t = [];
826
- if (e) {
827
- let { protocols: n, defaultProtocol: r } = this.options;
828
- yt(e).filter((e) => e.isLink && this.options.isAllowedUri(e.value, {
829
- defaultValidate: (e) => !!$(e, n),
830
- protocols: n,
831
- defaultProtocol: r
832
- })).forEach((e) => {
833
- this.options.shouldAutoLink(e.value) && t.push({
834
- text: e.value,
835
- data: { href: e.href },
836
- index: e.start
837
- });
838
- });
839
- }
840
- return t;
841
- };
842
- return this.options.markdownLinks ? [It({
843
- type: this.type,
844
- isAllowedHref: (e) => this.options.isAllowedUri(e, {
845
- defaultValidate: (e) => !!$(e, this.options.protocols),
846
- protocols: this.options.protocols,
847
- defaultProtocol: this.options.defaultProtocol
848
- }),
849
- findPlainUrls: t
850
- })] : [e({
851
- find: t,
852
- type: this.type,
853
- getAttributes: (e) => ({ href: e.data?.href })
854
- })];
855
- },
856
- addProseMirrorPlugins() {
857
- let e = [], { protocols: t, defaultProtocol: n } = this.options;
858
- return this.options.autolink && e.push(Tt({
859
- type: this.type,
860
- defaultProtocol: this.options.defaultProtocol,
861
- validate: (e) => this.options.isAllowedUri(e, {
862
- defaultValidate: (e) => !!$(e, t),
863
- protocols: t,
864
- defaultProtocol: n
865
- }),
866
- shouldAutoLink: this.options.shouldAutoLink
867
- })), e.push(Et({
868
- type: this.type,
869
- editor: this.editor,
870
- openOnClick: this.options.openOnClick === "whenNotEditable" || this.options.openOnClick,
871
- enableClickSelection: this.options.enableClickSelection
872
- })), this.options.linkOnPaste && e.push(Lt({
873
- editor: this.editor,
874
- defaultProtocol: this.options.defaultProtocol,
875
- type: this.type,
876
- shouldAutoLink: this.options.shouldAutoLink
877
- })), e;
878
- }
879
- }), zt = Rt.configure({
880
- openOnClick: !1,
881
- enableClickSelection: !0,
882
- autolink: !0,
883
- linkOnPaste: !1,
884
- defaultProtocol: "https",
885
- protocols: ["http", "https"],
886
- isAllowedUri: (e, t) => {
887
- try {
888
- let n = e.includes(":") ? new URL(e) : new URL(`${t.defaultProtocol}://${e}`);
889
- if (!t.defaultValidate(n.href)) return !1;
890
- let r = [
891
- "ftp",
892
- "file",
893
- "mailto"
894
- ], i = n.protocol.replace(":", "");
895
- return !(r.includes(i) || !t.protocols.map((e) => typeof e == "string" ? e : e.scheme).includes(i));
896
- } catch {
897
- return !1;
898
- }
899
- },
900
- shouldAutoLink: (e) => {
901
- try {
902
- return !!(e.includes(":") ? new URL(e) : new URL(`https://${e}`));
903
- } catch {
904
- return !1;
905
- }
906
- }
907
- });
908
- //#endregion
909
- export { Rt as n, zt as t };