@cyberyozh/text-editor 0.2.0 → 0.2.1
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/editor.css +1 -0
- package/dist/editor.css.map +1 -1
- package/dist/editor.js +44 -45
- package/dist/editor.js.map +1 -1
- package/dist/editor.mjs +49 -50
- package/dist/editor.mjs.map +1 -1
- package/dist/render.js +29 -38
- package/dist/render.js.map +1 -1
- package/dist/render.mjs +34 -43
- package/dist/render.mjs.map +1 -1
- package/dist/styles/index.css +1 -0
- package/package.json +38 -38
- package/src/editor/controls/bubble-menu-content.tsx +12 -3
- package/src/editor/controls/character-count.tsx +7 -4
- package/src/editor/dialogs/image-dialog/image-dialog.css +1 -0
package/dist/render.mjs
CHANGED
|
@@ -424,7 +424,7 @@ import Link, { isAllowedUri } from "@tiptap/extension-link";
|
|
|
424
424
|
import { markPasteRule } from "@tiptap/core";
|
|
425
425
|
|
|
426
426
|
// node_modules/linkifyjs/dist/linkify.mjs
|
|
427
|
-
var encodedTlds = "
|
|
427
|
+
var encodedTlds = "aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2odyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rck0msd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5m\xF6gensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2oodside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2";
|
|
428
428
|
var encodedUtlds = "\u03B5\u03BB1\u03C52\u0431\u04331\u0435\u043B3\u0434\u0435\u0442\u04384\u0435\u044E2\u043A\u0430\u0442\u043E\u043B\u0438\u043A6\u043E\u043C3\u043C\u043A\u04342\u043E\u043D1\u0441\u043A\u0432\u04306\u043E\u043D\u043B\u0430\u0439\u043D5\u0440\u04333\u0440\u0443\u04412\u04442\u0441\u0430\u0439\u04423\u0440\u04313\u0443\u043A\u04403\u049B\u0430\u04373\u0570\u0561\u05753\u05D9\u05E9\u05E8\u05D0\u05DC5\u05E7\u05D5\u05DD3\u0627\u0628\u0648\u0638\u0628\u064A5\u0631\u0627\u0645\u0643\u06485\u0644\u0627\u0631\u062F\u06464\u0628\u062D\u0631\u064A\u06465\u062C\u0632\u0627\u0626\u06315\u0633\u0639\u0648\u062F\u064A\u06296\u0639\u0644\u064A\u0627\u06465\u0645\u063A\u0631\u06285\u0645\u0627\u0631\u0627\u062A5\u06CC\u0631\u0627\u06465\u0628\u0627\u0631\u062A2\u0632\u0627\u06314\u064A\u062A\u06433\u06BE\u0627\u0631\u062A5\u062A\u0648\u0646\u06334\u0633\u0648\u062F\u0627\u06463\u0631\u064A\u06295\u0634\u0628\u0643\u06294\u0639\u0631\u0627\u06422\u06282\u0645\u0627\u06464\u0641\u0644\u0633\u0637\u064A\u06466\u0642\u0637\u06313\u0643\u0627\u062B\u0648\u0644\u064A\u06436\u0648\u06453\u0645\u0635\u06312\u0644\u064A\u0633\u064A\u06275\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u06277\u0642\u06394\u0647\u0645\u0631\u0627\u06475\u067E\u0627\u06A9\u0633\u062A\u0627\u06467\u0680\u0627\u0631\u062A4\u0915\u0949\u092E3\u0928\u0947\u091F3\u092D\u093E\u0930\u09240\u092E\u094D3\u094B\u09245\u0938\u0902\u0917\u0920\u09285\u09AC\u09BE\u0982\u09B2\u09BE5\u09AD\u09BE\u09B0\u09A42\u09F0\u09A44\u0A2D\u0A3E\u0A30\u0A244\u0AAD\u0ABE\u0AB0\u0AA44\u0B2D\u0B3E\u0B30\u0B244\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBE6\u0BB2\u0B99\u0BCD\u0B95\u0BC86\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD11\u0C2D\u0C3E\u0C30\u0C24\u0C4D5\u0CAD\u0CBE\u0CB0\u0CA44\u0D2D\u0D3E\u0D30\u0D24\u0D025\u0DBD\u0D82\u0D9A\u0DCF4\u0E04\u0E2D\u0E213\u0E44\u0E17\u0E223\u0EA5\u0EB2\u0EA73\u10D2\u10D42\u307F\u3093\u306A3\u30A2\u30DE\u30BE\u30F34\u30AF\u30E9\u30A6\u30C94\u30B0\u30FC\u30B0\u30EB4\u30B3\u30E02\u30B9\u30C8\u30A23\u30BB\u30FC\u30EB3\u30D5\u30A1\u30C3\u30B7\u30E7\u30F36\u30DD\u30A4\u30F3\u30C84\u4E16\u754C2\u4E2D\u4FE11\u56FD1\u570B1\u6587\u7F513\u4E9A\u9A6C\u900A3\u4F01\u4E1A2\u4F5B\u5C712\u4FE1\u606F2\u5065\u5EB72\u516B\u53662\u516C\u53F81\u76CA2\u53F0\u6E7E1\u70632\u5546\u57CE1\u5E971\u68072\u5609\u91CC0\u5927\u9152\u5E975\u5728\u7EBF2\u5927\u62FF2\u5929\u4E3B\u65593\u5A31\u4E502\u5BB6\u96FB2\u5E7F\u4E1C2\u5FAE\u535A2\u6148\u55842\u6211\u7231\u4F603\u624B\u673A2\u62DB\u80582\u653F\u52A11\u5E9C2\u65B0\u52A0\u57612\u95FB2\u65F6\u5C1A2\u66F8\u7C4D2\u673A\u67842\u6DE1\u9A6C\u95213\u6E38\u620F2\u6FB3\u95802\u70B9\u770B2\u79FB\u52A82\u7EC4\u7EC7\u673A\u67844\u7F51\u57401\u5E971\u7AD91\u7EDC2\u8054\u901A2\u8C37\u6B4C2\u8D2D\u72692\u901A\u8CA92\u96C6\u56E22\u96FB\u8A0A\u76C8\u79D14\u98DE\u5229\u6D663\u98DF\u54C12\u9910\u53852\u9999\u683C\u91CC\u62C93\u6E2F2\uB2F7\uB1371\uCEF42\uC0BC\uC1312\uD55C\uAD6D2";
|
|
429
429
|
var numeric = "numeric";
|
|
430
430
|
var ascii = "ascii";
|
|
@@ -1355,8 +1355,6 @@ function init$1({
|
|
|
1355
1355
|
ta(Email$1, groups.domain, EmailDomain);
|
|
1356
1356
|
tt(Email$1, DOT, EmailDomainDot);
|
|
1357
1357
|
tt(Email$1, HYPHEN, EmailDomainHyphen);
|
|
1358
|
-
const EmailColon = tt(Email$1, COLON);
|
|
1359
|
-
ta(EmailColon, groups.numeric, Email);
|
|
1360
1358
|
const DomainHyphen = tt(Domain, HYPHEN);
|
|
1361
1359
|
const DomainDot = tt(Domain, DOT);
|
|
1362
1360
|
tt(DomainHyphen, HYPHEN, DomainHyphen);
|
|
@@ -1420,11 +1418,11 @@ function init$1({
|
|
|
1420
1418
|
const [OPEN, CLOSE] = bracketPairs[i];
|
|
1421
1419
|
const UrlOpen = tt(Url$1, OPEN);
|
|
1422
1420
|
tt(UrlNonaccept, OPEN, UrlOpen);
|
|
1423
|
-
tt(UrlOpen, CLOSE, Url$1);
|
|
1424
1421
|
const UrlOpenQ = makeState(Url);
|
|
1425
1422
|
ta(UrlOpen, qsAccepting, UrlOpenQ);
|
|
1426
1423
|
const UrlOpenSyms = makeState();
|
|
1427
|
-
ta(UrlOpen, qsNonAccepting);
|
|
1424
|
+
ta(UrlOpen, qsNonAccepting, UrlOpenSyms);
|
|
1425
|
+
tt(UrlOpen, CLOSE, Url$1);
|
|
1428
1426
|
ta(UrlOpenQ, qsAccepting, UrlOpenQ);
|
|
1429
1427
|
ta(UrlOpenQ, qsNonAccepting, UrlOpenSyms);
|
|
1430
1428
|
ta(UrlOpenSyms, qsAccepting, UrlOpenQ);
|
|
@@ -1954,11 +1952,11 @@ import TextAlign from "@tiptap/extension-text-align";
|
|
|
1954
1952
|
|
|
1955
1953
|
// node_modules/@tiptap/extension-text-style/dist/index.js
|
|
1956
1954
|
import { Mark as Mark2, mergeAttributes as mergeAttributes7 } from "@tiptap/core";
|
|
1957
|
-
import { Extension } from "@tiptap/core";
|
|
1958
|
-
import { Extension as Extension2 } from "@tiptap/core";
|
|
1959
|
-
import { Extension as Extension3 } from "@tiptap/core";
|
|
1960
|
-
import { Extension as Extension4 } from "@tiptap/core";
|
|
1961
|
-
import { Extension as Extension5 } from "@tiptap/core";
|
|
1955
|
+
import { Extension, getStyleProperty } from "@tiptap/core";
|
|
1956
|
+
import { Extension as Extension2, getStyleProperty as getStyleProperty2 } from "@tiptap/core";
|
|
1957
|
+
import { Extension as Extension3, getStyleProperty as getStyleProperty3 } from "@tiptap/core";
|
|
1958
|
+
import { Extension as Extension4, getStyleProperty as getStyleProperty4 } from "@tiptap/core";
|
|
1959
|
+
import { Extension as Extension5, getStyleProperty as getStyleProperty5 } from "@tiptap/core";
|
|
1962
1960
|
import { Extension as Extension6 } from "@tiptap/core";
|
|
1963
1961
|
var MAX_FIND_CHILD_SPAN_DEPTH = 20;
|
|
1964
1962
|
var findChildSpans = (element, depth = 0) => {
|
|
@@ -2056,21 +2054,8 @@ var BackgroundColor = Extension.create({
|
|
|
2056
2054
|
default: null,
|
|
2057
2055
|
parseHTML: (element) => {
|
|
2058
2056
|
var _a;
|
|
2059
|
-
const
|
|
2060
|
-
|
|
2061
|
-
const decls = styleAttr.split(";").map((s) => s.trim()).filter(Boolean);
|
|
2062
|
-
for (let i = decls.length - 1; i >= 0; i -= 1) {
|
|
2063
|
-
const parts = decls[i].split(":");
|
|
2064
|
-
if (parts.length >= 2) {
|
|
2065
|
-
const prop = parts[0].trim().toLowerCase();
|
|
2066
|
-
const val = parts.slice(1).join(":").trim();
|
|
2067
|
-
if (prop === "background-color") {
|
|
2068
|
-
return val.replace(/['"]+/g, "");
|
|
2069
|
-
}
|
|
2070
|
-
}
|
|
2071
|
-
}
|
|
2072
|
-
}
|
|
2073
|
-
return (_a = element.style.backgroundColor) == null ? void 0 : _a.replace(/['"]+/g, "");
|
|
2057
|
+
const value = (_a = getStyleProperty(element, "background-color")) != null ? _a : element.style.backgroundColor;
|
|
2058
|
+
return value == null ? void 0 : value.replace(/['"]+/g, "");
|
|
2074
2059
|
},
|
|
2075
2060
|
renderHTML: (attributes) => {
|
|
2076
2061
|
if (!attributes.backgroundColor) {
|
|
@@ -2112,21 +2097,8 @@ var Color = Extension2.create({
|
|
|
2112
2097
|
default: null,
|
|
2113
2098
|
parseHTML: (element) => {
|
|
2114
2099
|
var _a;
|
|
2115
|
-
const
|
|
2116
|
-
|
|
2117
|
-
const decls = styleAttr.split(";").map((s) => s.trim()).filter(Boolean);
|
|
2118
|
-
for (let i = decls.length - 1; i >= 0; i -= 1) {
|
|
2119
|
-
const parts = decls[i].split(":");
|
|
2120
|
-
if (parts.length >= 2) {
|
|
2121
|
-
const prop = parts[0].trim().toLowerCase();
|
|
2122
|
-
const val = parts.slice(1).join(":").trim();
|
|
2123
|
-
if (prop === "color") {
|
|
2124
|
-
return val.replace(/['"]+/g, "");
|
|
2125
|
-
}
|
|
2126
|
-
}
|
|
2127
|
-
}
|
|
2128
|
-
}
|
|
2129
|
-
return (_a = element.style.color) == null ? void 0 : _a.replace(/['"]+/g, "");
|
|
2100
|
+
const value = (_a = getStyleProperty2(element, "color")) != null ? _a : element.style.color;
|
|
2101
|
+
return value == null ? void 0 : value.replace(/['"]+/g, "");
|
|
2130
2102
|
},
|
|
2131
2103
|
renderHTML: (attributes) => {
|
|
2132
2104
|
if (!attributes.color) {
|
|
@@ -2166,7 +2138,14 @@ var FontFamily = Extension3.create({
|
|
|
2166
2138
|
attributes: {
|
|
2167
2139
|
fontFamily: {
|
|
2168
2140
|
default: null,
|
|
2169
|
-
|
|
2141
|
+
// Prefer the raw inline `style` attribute so unquoted or
|
|
2142
|
+
// single-quoted multi-word names are preserved instead of being
|
|
2143
|
+
// canonicalized by `element.style.fontFamily`, which forces double
|
|
2144
|
+
// quotes that then get HTML-encoded to `"` on serialization.
|
|
2145
|
+
parseHTML: (element) => {
|
|
2146
|
+
var _a;
|
|
2147
|
+
return (_a = getStyleProperty3(element, "font-family")) != null ? _a : element.style.fontFamily;
|
|
2148
|
+
},
|
|
2170
2149
|
renderHTML: (attributes) => {
|
|
2171
2150
|
if (!attributes.fontFamily) {
|
|
2172
2151
|
return {};
|
|
@@ -2205,7 +2184,13 @@ var FontSize = Extension4.create({
|
|
|
2205
2184
|
attributes: {
|
|
2206
2185
|
fontSize: {
|
|
2207
2186
|
default: null,
|
|
2208
|
-
|
|
2187
|
+
// Prefer the raw inline `style` attribute so the original format
|
|
2188
|
+
// is preserved instead of the canonicalized value returned by
|
|
2189
|
+
// `element.style.fontSize`.
|
|
2190
|
+
parseHTML: (element) => {
|
|
2191
|
+
var _a;
|
|
2192
|
+
return (_a = getStyleProperty4(element, "font-size")) != null ? _a : element.style.fontSize;
|
|
2193
|
+
},
|
|
2209
2194
|
renderHTML: (attributes) => {
|
|
2210
2195
|
if (!attributes.fontSize) {
|
|
2211
2196
|
return {};
|
|
@@ -2244,7 +2229,13 @@ var LineHeight = Extension5.create({
|
|
|
2244
2229
|
attributes: {
|
|
2245
2230
|
lineHeight: {
|
|
2246
2231
|
default: null,
|
|
2247
|
-
|
|
2232
|
+
// Prefer the raw inline `style` attribute so the original format
|
|
2233
|
+
// is preserved instead of the canonicalized value returned by
|
|
2234
|
+
// `element.style.lineHeight`.
|
|
2235
|
+
parseHTML: (element) => {
|
|
2236
|
+
var _a;
|
|
2237
|
+
return (_a = getStyleProperty5(element, "line-height")) != null ? _a : element.style.lineHeight;
|
|
2238
|
+
},
|
|
2248
2239
|
renderHTML: (attributes) => {
|
|
2249
2240
|
if (!attributes.lineHeight) {
|
|
2250
2241
|
return {};
|