@clevertask/scribe 0.1.3 → 0.1.5

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 +3 -0
  2. package/dist/BarMenu-V1uRL3bt.js +272 -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 +2 -10
  6. package/dist/components/Menu/BubbleMenu.d.ts.map +1 -1
  7. package/dist/components/Menu/BubbleMenu.js +165 -2090
  8. package/dist/components/Menu/LinkBubbleMenu.d.ts +8 -0
  9. package/dist/components/Menu/LinkBubbleMenu.d.ts.map +1 -0
  10. package/dist/components/Menu/LinkBubbleMenu.js +78 -0
  11. package/dist/components/Menu/LinkEditor.d.ts +14 -0
  12. package/dist/components/Menu/LinkEditor.d.ts.map +1 -0
  13. package/dist/components/Menu/LinkEditor.js +140 -0
  14. package/dist/components/Menu/Mobile/ListOptionBar.d.ts +1 -1
  15. package/dist/components/Menu/Mobile/ListOptionBar.d.ts.map +1 -1
  16. package/dist/components/Menu/Mobile/ListOptionBar.js +38 -44
  17. package/dist/components/Menu/linkBubbleMenuPlugin.d.ts +5 -0
  18. package/dist/components/Menu/linkBubbleMenuPlugin.d.ts.map +1 -0
  19. package/dist/components/Menu/linkBubbleMenuPlugin.js +7 -0
  20. package/dist/components/Menu/linkUrl.d.ts +2 -0
  21. package/dist/components/Menu/linkUrl.d.ts.map +1 -0
  22. package/dist/components/Menu/linkUrl.js +21 -0
  23. package/dist/components/Scribe/extension/emoji/EmojiList.js +58 -45
  24. package/dist/components/Scribe/extension/emoji/suggest.d.ts +2 -2
  25. package/dist/components/Scribe/extension/emoji/suggest.d.ts.map +1 -1
  26. package/dist/components/Scribe/extension/emoji/suggest.js +39 -43
  27. package/dist/components/Scribe/extension/extension-link.d.ts.map +1 -1
  28. package/dist/components/Scribe/extension/extension-link.js +2 -4
  29. package/dist/components/Scribe/extension/extension-markdown-paste.d.ts.map +1 -1
  30. package/dist/components/Scribe/extension/extension-markdown-paste.js +50 -45
  31. package/dist/components/Scribe/extension/extension-selectedText.d.ts.map +1 -1
  32. package/dist/components/Scribe/extension/extension-selectedText.js +10 -12
  33. package/dist/components/Scribe/extension/getPopupMountTarget.d.ts.map +1 -1
  34. package/dist/components/Scribe/extension/getPopupMountTarget.js +12 -15
  35. package/dist/components/Scribe/extension/index.d.ts +4 -4
  36. package/dist/components/Scribe/extension/index.d.ts.map +1 -1
  37. package/dist/components/Scribe/extension/index.js +2 -37169
  38. package/dist/components/Scribe/extension/slashCommand/SlashCommandList.js +3369 -3731
  39. package/dist/components/Scribe/extension/slashCommand/index.js +2 -6
  40. package/dist/components/Scribe/extension/slashCommand/items.d.ts.map +1 -1
  41. package/dist/components/Scribe/extension/slashCommand/items.js +177 -176
  42. package/dist/components/Scribe/extension/slashCommand/renderItems.d.ts.map +1 -1
  43. package/dist/components/Scribe/extension/slashCommand/renderItems.js +35 -41
  44. package/dist/components/Scribe/extension/tableOfContents.js +153 -180
  45. package/dist/components/Scribe/index.d.ts.map +1 -1
  46. package/dist/components/Scribe/index.js +113 -153
  47. package/dist/dist-BQjH-i-q.js +7016 -0
  48. package/dist/dist-CnXCIcnl.js +3506 -0
  49. package/dist/dist-RuuEA1GJ.js +686 -0
  50. package/dist/extension-CZOsheCI.js +56236 -0
  51. package/dist/extension-link-DZID_SYl.js +908 -0
  52. package/dist/floating-ui.dom-rih69525.js +928 -0
  53. package/dist/html-to-markdown-CrNOkSye.js +497 -0
  54. package/dist/icons/ToolbarIcons.d.ts.map +1 -1
  55. package/dist/icons/ToolbarIcons.js +76 -135
  56. package/dist/main.css +10 -0
  57. package/dist/main.js +7 -15
  58. package/dist/markdown-to-html-DEczPfuq.js +1458 -0
  59. package/dist/menus-CzX7kyXn.js +633 -0
  60. package/dist/purify.es-DF9CW1cl.js +767 -0
  61. package/dist/rolldown-runtime-B8UxIWdF.js +7 -0
  62. package/dist/slashCommand-B7CRIaKG.js +429 -0
  63. package/dist/tables-CjOC70rm.js +1345 -0
  64. package/dist/tippy.esm-D9LL2xiE.js +1713 -0
  65. package/dist/utils/convert-legacy-math-delimiters.d.ts.map +1 -1
  66. package/dist/utils/convert-legacy-math-delimiters.js +7 -13
  67. package/dist/utils/create-scribe-editor.js +2 -31
  68. package/dist/utils/html-to-markdown.d.ts.map +1 -1
  69. package/dist/utils/html-to-markdown.js +2 -600
  70. package/dist/utils/index.js +24 -12
  71. package/dist/utils/is-in-viewport.d.ts.map +1 -1
  72. package/dist/utils/is-in-viewport.js +6 -6
  73. package/dist/utils/markdown-to-html.d.ts.map +1 -1
  74. package/dist/utils/markdown-to-html.js +2 -5
  75. package/dist/vite-env.d.js +0 -1
  76. package/package.json +40 -38
  77. package/dist/BarMenu-DaKIz3zZ.js +0 -327
  78. package/dist/extension-link-Ch_T7WWG.js +0 -1030
  79. package/dist/index-BiBV5TQx.js +0 -13513
  80. package/dist/index-CqzMmrnw.js +0 -1410
  81. package/dist/index-DxF-1P4n.js +0 -834
  82. package/dist/index-V-gN11Y9.js +0 -249
  83. package/dist/markdown-to-html-pL7ckd-m.js +0 -1135
  84. package/dist/purify.es-exIQuqhb.js +0 -595
  85. package/dist/tippy.esm-DLHdsnfG.js +0 -1711
@@ -0,0 +1,908 @@
1
+ import { a as e, i as t } from "./dist-CnXCIcnl.js";
2
+ import { M as n, N as r, _ as i, f as a, h as o, i as s, j as c, m as l, o as u, r as d, u as f } from "./dist-BQjH-i-q.js";
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.29.0_@tiptap+core@3.29.0_@tiptap+pm@3.29.0__@tiptap+pm@3.29.0/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(n) {
520
+ return new t({
521
+ key: new e("autolink"),
522
+ appendTransaction: (e, t, r) => {
523
+ let s = e.some((e) => e.docChanged) && !t.doc.eq(r.doc), c = e.some((e) => e.getMeta("preventAutolink"));
524
+ if (!s || c) return;
525
+ let { tr: l } = r;
526
+ if (o(f(t.doc, [...e])).forEach(({ newRange: e }) => {
527
+ let t = a(r.doc, e, (e) => e.isTextblock), o, s;
528
+ if (t.length > 1) o = t[0], s = r.doc.textBetween(o.pos, o.pos + o.node.nodeSize, void 0, " ");
529
+ else if (t.length) {
530
+ let n = r.doc.textBetween(e.from, e.to, " ", " ");
531
+ if (!St.test(n)) return;
532
+ o = t[0], s = r.doc.textBetween(o.pos, e.to, void 0, " ");
533
+ }
534
+ if (o && s) {
535
+ let e = s.split(xt).filter(Boolean);
536
+ if (e.length <= 0) return !1;
537
+ let t = e[e.length - 1], a = o.pos + s.lastIndexOf(t);
538
+ if (!t) return !1;
539
+ let c = vt(t).map((e) => e.toObject(n.defaultProtocol));
540
+ if (!wt(c)) return !1;
541
+ c.filter((e) => e.isLink).map((e) => ({
542
+ ...e,
543
+ from: a + e.start + 1,
544
+ to: a + e.end + 1
545
+ })).filter((e) => !r.schema.marks.code || !r.doc.rangeHasMark(e.from, e.to, r.schema.marks.code)).filter((e) => n.validate(e.value)).filter((e) => n.shouldAutoLink(e.value)).forEach((e) => {
546
+ i(e.from, e.to, r.doc).some((e) => e.mark.type === n.type) || l.addMark(e.from, e.to, n.type.create({ href: e.href }));
547
+ });
548
+ }
549
+ }), l.steps.length) return l;
550
+ }
551
+ });
552
+ }
553
+ function Et(n) {
554
+ return new t({
555
+ key: new e("handleClickLink"),
556
+ props: { handleClick: (e, t, r) => {
557
+ if (r.button !== 0 || !e.editable) return !1;
558
+ let i = null;
559
+ if (r.target instanceof HTMLAnchorElement) i = r.target;
560
+ else {
561
+ let e = r.target;
562
+ if (!e) return !1;
563
+ let t = n.editor.view.dom;
564
+ i = e.closest("a"), i && !t.contains(i) && (i = null);
565
+ }
566
+ if (!i) return !1;
567
+ let a = !1;
568
+ if (n.enableClickSelection && (a = n.editor.commands.extendMarkRange(n.type.name)), n.openOnClick) {
569
+ let t = l(e.state, n.type.name), r = i.href ?? t.href, o = i.target ?? t.target;
570
+ r && (window.open(r, o), a = !0);
571
+ }
572
+ return a;
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 = c({
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 d({
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(e) {
643
+ let t = n({
644
+ find: (t) => {
645
+ let n = [];
646
+ for (let r of t.matchAll(Ot)) jt(t, r, e.isAllowedHref) && n.push(Mt(r));
647
+ let r = (e.findPlainUrls?.call(e, t) ?? []).filter((e) => !n.some((t) => Nt(t, e)));
648
+ return [...n, ...r];
649
+ },
650
+ type: e.type,
651
+ getAttributes: Pt
652
+ });
653
+ return new u({
654
+ find: t.find,
655
+ handler: (e) => {
656
+ let n = t.handler(e);
657
+ return n !== null && e.state.tr.steps.length && e.match.data?.markdown && e.state.tr.setMeta("preventAutolink", !0), n;
658
+ }
659
+ });
660
+ }
661
+ function Lt(n) {
662
+ return new t({
663
+ key: new e("handlePasteLink"),
664
+ props: { handlePaste: (e, t, r) => {
665
+ let { shouldAutoLink: i } = n, { state: a } = e, { 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: n.defaultProtocol }).find((e) => e.isLink && e.value === c);
672
+ return !c || !l || i !== void 0 && !i(l.value) ? !1 : n.editor.commands.setMark(n.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 = s.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
+ r(this.options.HTMLAttributes, e),
773
+ 0
774
+ ] : [
775
+ "a",
776
+ r(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 e = (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: e
850
+ })] : [n({
851
+ find: e,
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
+ defaultProtocol: "https",
884
+ protocols: ["http", "https"],
885
+ isAllowedUri: (e, t) => {
886
+ try {
887
+ let n = e.includes(":") ? new URL(e) : new URL(`${t.defaultProtocol}://${e}`);
888
+ if (!t.defaultValidate(n.href)) return !1;
889
+ let r = [
890
+ "ftp",
891
+ "file",
892
+ "mailto"
893
+ ], i = n.protocol.replace(":", "");
894
+ return !(r.includes(i) || !t.protocols.map((e) => typeof e == "string" ? e : e.scheme).includes(i));
895
+ } catch {
896
+ return !1;
897
+ }
898
+ },
899
+ shouldAutoLink: (e) => {
900
+ try {
901
+ return !!(e.includes(":") ? new URL(e) : new URL(`https://${e}`));
902
+ } catch {
903
+ return !1;
904
+ }
905
+ }
906
+ });
907
+ //#endregion
908
+ export { Rt as n, zt as t };