@clevertask/scribe 0.1.11 → 0.1.13

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 (58) hide show
  1. package/README.md +1 -1
  2. package/dist/{BarMenu-5M9g9Y1j.js → BarMenu-O2IVhHXx.js} +1 -1
  3. package/dist/assets/index.css +1 -1
  4. package/dist/components/Menu/BarMenu.js +1 -1
  5. package/dist/components/Menu/BubbleMenu.js +2 -2
  6. package/dist/components/Menu/CalloutBubbleMenu.d.ts +7 -0
  7. package/dist/components/Menu/CalloutBubbleMenu.d.ts.map +1 -0
  8. package/dist/components/Menu/CalloutBubbleMenu.js +156 -0
  9. package/dist/components/Menu/LinkBubbleMenu.js +2 -2
  10. package/dist/components/Menu/Mobile/ListOptionBar.js +1 -1
  11. package/dist/components/Menu/TableBubbleMenu.d.ts.map +1 -1
  12. package/dist/components/Menu/TableBubbleMenu.js +99 -98
  13. package/dist/components/Menu/calloutBubbleMenuPlugin.d.ts +10 -0
  14. package/dist/components/Menu/calloutBubbleMenuPlugin.d.ts.map +1 -0
  15. package/dist/components/Menu/calloutBubbleMenuPlugin.js +22 -0
  16. package/dist/components/Menu/contextualMenuOwner.d.ts +4 -0
  17. package/dist/components/Menu/contextualMenuOwner.d.ts.map +1 -0
  18. package/dist/components/Menu/contextualMenuOwner.js +9 -0
  19. package/dist/components/Scribe/extension/callout.d.ts +32 -0
  20. package/dist/components/Scribe/extension/callout.d.ts.map +1 -0
  21. package/dist/components/Scribe/extension/callout.js +118 -0
  22. package/dist/components/Scribe/extension/emoji/suggest.js +1 -1
  23. package/dist/components/Scribe/extension/extension-link.js +1 -1
  24. package/dist/components/Scribe/extension/extension-markdown-paste.js +2 -2
  25. package/dist/components/Scribe/extension/extension-selectedText.js +1 -1
  26. package/dist/components/Scribe/extension/index.d.ts +1 -1
  27. package/dist/components/Scribe/extension/index.d.ts.map +1 -1
  28. package/dist/components/Scribe/extension/index.js +1 -1
  29. package/dist/components/Scribe/extension/resizable-table.js +1 -1
  30. package/dist/components/Scribe/extension/slashCommand/index.js +1 -1
  31. package/dist/components/Scribe/extension/slashCommand/items.d.ts.map +1 -1
  32. package/dist/components/Scribe/extension/slashCommand/items.js +48 -28
  33. package/dist/components/Scribe/extension/slashCommand/renderItems.js +1 -1
  34. package/dist/components/Scribe/extension/tableOfContents.js +1 -1
  35. package/dist/components/Scribe/index.d.ts.map +1 -1
  36. package/dist/components/Scribe/index.js +128 -126
  37. package/dist/{dist-Dw4STOPE.js → dist-BoYfa2nz.js} +1 -1
  38. package/dist/{dist-DFua_Xbu.js → dist-W9E-K577.js} +980 -618
  39. package/dist/{extension-Dy6hHSvD.js → extension-D5WIAWhc.js} +1984 -1946
  40. package/dist/{extension-link-CjfUZ90W.js → extension-link-D8Zi7OSa.js} +36 -36
  41. package/dist/{html-to-markdown-B6Uhn7ok.js → html-to-markdown-C920nQtn.js} +101 -60
  42. package/dist/icons/CalloutIcon.d.ts +9 -0
  43. package/dist/icons/CalloutIcon.d.ts.map +1 -0
  44. package/dist/icons/CalloutIcon.js +72 -0
  45. package/dist/main.css +119 -1
  46. package/dist/main.d.ts +1 -0
  47. package/dist/main.d.ts.map +1 -1
  48. package/dist/main.js +9 -8
  49. package/dist/{markdown-to-html-WmeDaJXP.js → markdown-to-html-CW0Nb9Ye.js} +32 -2
  50. package/dist/{menus-_EXlLMjz.js → menus-B1Zz0GjH.js} +17 -17
  51. package/dist/{resizable-table-Ddw3l6DJ.js → resizable-table-Bf-fb9iv.js} +36 -18
  52. package/dist/{slashCommand-CxX07Nbk.js → slashCommand-47omO4ob.js} +2 -2
  53. package/dist/utils/html-to-markdown.d.ts.map +1 -1
  54. package/dist/utils/html-to-markdown.js +1 -1
  55. package/dist/utils/index.js +4 -4
  56. package/dist/utils/markdown-to-html.d.ts.map +1 -1
  57. package/dist/utils/markdown-to-html.js +1 -1
  58. package/package.json +48 -25
@@ -1,4 +1,4 @@
1
- import { M as e, N as t, _ as n, f as r, h as i, i as a, j as o, m as s, o as c, r as l, u } from "./dist-DFua_Xbu.js";
1
+ import { M as e, N as t, P as n, _ as r, f as i, h as a, i as o, m as s, o as c, r as l, u } from "./dist-W9E-K577.js";
2
2
  import { Plugin as d, PluginKey as f } from "@tiptap/pm/state";
3
3
  //#region node_modules/.pnpm/linkifyjs@4.3.3/node_modules/linkifyjs/dist/linkify.mjs
4
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";
@@ -511,7 +511,7 @@ function yt(e, t = null, n = null) {
511
511
  return a;
512
512
  }
513
513
  //#endregion
514
- //#region node_modules/.pnpm/@tiptap+extension-link@3.29.2_@tiptap+core@3.29.2_@tiptap+pm@3.29.2__@tiptap+pm@3.29.2/node_modules/@tiptap/extension-link/dist/index.js
514
+ //#region node_modules/.pnpm/@tiptap+extension-link@3.30.1_@tiptap+core@3.30.1_@tiptap+pm@3.30.1__@tiptap+pm@3.30.1/node_modules/@tiptap/extension-link/dist/index.js
515
515
  var bt = "[\0- \xA0 ᠎ -\u2029  ]", xt = new RegExp(bt), St = RegExp(`${bt}$`), Ct = new RegExp(bt, "g");
516
516
  function wt(e) {
517
517
  return e.length === 1 ? e[0].isLink : e.length === 3 && e[1].isLink ? ["()", "[]"].includes(e[0].value + e[2].value) : !1;
@@ -519,31 +519,31 @@ function wt(e) {
519
519
  function Tt(e) {
520
520
  return new d({
521
521
  key: new f("autolink"),
522
- appendTransaction: (t, a, o) => {
523
- let s = t.some((e) => e.docChanged) && !a.doc.eq(o.doc), c = t.some((e) => e.getMeta("preventAutolink"));
522
+ appendTransaction: (t, n, o) => {
523
+ let s = t.some((e) => e.docChanged) && !n.doc.eq(o.doc), c = t.some((e) => e.getMeta("preventAutolink"));
524
524
  if (!s || c) return;
525
- let { tr: l } = o, d = u(a.doc, [...t]);
526
- if (i(d).forEach(({ newRange: t }) => {
527
- let i = r(o.doc, t, (e) => e.isTextblock), a, s;
528
- if (i.length > 1) a = i[0], s = o.doc.textBetween(a.pos, a.pos + a.node.nodeSize, void 0, " ");
529
- else if (i.length) {
525
+ let { tr: l } = o, d = u(n.doc, [...t]);
526
+ if (a(d).forEach(({ newRange: t }) => {
527
+ let n = i(o.doc, t, (e) => e.isTextblock), a, s;
528
+ if (n.length > 1) a = n[0], s = o.doc.textBetween(a.pos, a.pos + a.node.nodeSize, void 0, " ");
529
+ else if (n.length) {
530
530
  let e = o.doc.textBetween(t.from, t.to, " ", " ");
531
531
  if (!St.test(e)) return;
532
- a = i[0], s = o.doc.textBetween(a.pos, t.to, void 0, " ");
532
+ a = n[0], s = o.doc.textBetween(a.pos, t.to, void 0, " ");
533
533
  }
534
534
  if (a && s) {
535
535
  let t = s.split(xt).filter(Boolean);
536
536
  if (t.length <= 0) return !1;
537
- let r = t[t.length - 1], i = a.pos + s.lastIndexOf(r);
538
- if (!r) return !1;
539
- let c = vt(r).map((t) => t.toObject(e.defaultProtocol));
537
+ let n = t[t.length - 1], i = a.pos + s.lastIndexOf(n);
538
+ if (!n) return !1;
539
+ let c = vt(n).map((t) => t.toObject(e.defaultProtocol));
540
540
  if (!wt(c)) return !1;
541
541
  c.filter((e) => e.isLink).map((e) => ({
542
542
  ...e,
543
543
  from: i + e.start + 1,
544
544
  to: i + e.end + 1
545
545
  })).filter((e) => !o.schema.marks.code || !o.doc.rangeHasMark(e.from, e.to, o.schema.marks.code)).filter((t) => e.validate(t.value)).filter((t) => e.shouldAutoLink(t.value)).forEach((t) => {
546
- n(t.from, t.to, o.doc).some((t) => t.mark.type === e.type) || l.addMark(t.from, t.to, e.type.create({ href: t.href }));
546
+ r(t.from, t.to, o.doc).some((t) => t.mark.type === e.type) || l.addMark(t.from, t.to, e.type.create({ href: t.href }));
547
547
  });
548
548
  }
549
549
  }), l.steps.length) return l;
@@ -622,32 +622,32 @@ function Pt(e) {
622
622
  title: e.data?.title ?? null
623
623
  };
624
624
  }
625
- function Ft(e) {
626
- let t = o({
627
- find: (t) => {
628
- let n = Dt.exec(t);
629
- return !n || !jt(t, n, e.isAllowedHref) ? null : Mt(n);
625
+ function Ft(t) {
626
+ let n = e({
627
+ find: (e) => {
628
+ let n = Dt.exec(e);
629
+ return !n || !jt(e, n, t.isAllowedHref) ? null : Mt(n);
630
630
  },
631
- type: e.type,
631
+ type: t.type,
632
632
  getAttributes: Pt
633
633
  });
634
634
  return new l({
635
- find: t.find,
635
+ find: n.find,
636
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;
637
+ let t = n.handler(e);
638
+ return t !== null && e.state.tr.steps.length && e.state.tr.setMeta("preventAutolink", !0), t;
639
639
  }
640
640
  });
641
641
  }
642
- function It(t) {
643
- let n = e({
644
- find: (e) => {
642
+ function It(e) {
643
+ let n = t({
644
+ find: (t) => {
645
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)));
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
648
  return [...n, ...r];
649
649
  },
650
- type: t.type,
650
+ type: e.type,
651
651
  getAttributes: Pt
652
652
  });
653
653
  return new c({
@@ -691,7 +691,7 @@ function $(e, t) {
691
691
  t && n.push(t);
692
692
  }), !e || e.replace(Ct, "").match(RegExp(`^(?:(?:${n.map((e) => e.replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&")).join("|")}):|[^a-z]|[a-z0-9+.\\-]+(?:[^a-z+.\\-:]|$))`, "i"));
693
693
  }
694
- var Rt = a.create({
694
+ var Rt = o.create({
695
695
  name: "link",
696
696
  priority: 1e3,
697
697
  keepOnSplit: !1,
@@ -769,11 +769,11 @@ var Rt = a.create({
769
769
  defaultProtocol: this.options.defaultProtocol
770
770
  }) ? [
771
771
  "a",
772
- t(this.options.HTMLAttributes, e),
772
+ n(this.options.HTMLAttributes, e),
773
773
  0
774
774
  ] : [
775
775
  "a",
776
- t(this.options.HTMLAttributes, {
776
+ n(this.options.HTMLAttributes, {
777
777
  ...e,
778
778
  href: ""
779
779
  }),
@@ -821,7 +821,7 @@ var Rt = a.create({
821
821
  })] : [];
822
822
  },
823
823
  addPasteRules() {
824
- let t = (e) => {
824
+ let e = (e) => {
825
825
  let t = [];
826
826
  if (e) {
827
827
  let { protocols: n, defaultProtocol: r } = this.options;
@@ -846,9 +846,9 @@ var Rt = a.create({
846
846
  protocols: this.options.protocols,
847
847
  defaultProtocol: this.options.defaultProtocol
848
848
  }),
849
- findPlainUrls: t
850
- })] : [e({
851
- find: t,
849
+ findPlainUrls: e
850
+ })] : [t({
851
+ find: e,
852
852
  type: this.type,
853
853
  getAttributes: (e) => ({ href: e.data?.href })
854
854
  })];
@@ -271,10 +271,10 @@ S.prototype = {
271
271
  function C(e, t, n) {
272
272
  for (var r = 0; r < e.length; r++) {
273
273
  var i = e[r];
274
- if (w(i, t, n)) return i;
274
+ if (ee(i, t, n)) return i;
275
275
  }
276
276
  }
277
- function w(e, t, n) {
277
+ function ee(e, t, n) {
278
278
  var r = e.filter;
279
279
  if (typeof r == "string") {
280
280
  if (r === t.nodeName.toLowerCase()) return !0;
@@ -284,7 +284,7 @@ function w(e, t, n) {
284
284
  if (r.call(e, t, n)) return !0;
285
285
  } else throw TypeError("`filter` needs to be a string, array, or function");
286
286
  }
287
- function ee(e) {
287
+ function w(e) {
288
288
  var t = e.element, n = e.isBlock, r = e.isVoid, i = e.isPre || function(e) {
289
289
  return e.nodeName === "PRE";
290
290
  };
@@ -342,41 +342,41 @@ function A() {
342
342
  }
343
343
  return e;
344
344
  }
345
- var j = O() ? D.DOMParser : k();
346
- function M(e, t) {
347
- var n = typeof e == "string" ? te().parseFromString("<x-turndown id=\"turndown-root\">" + e + "</x-turndown>", "text/html").getElementById("turndown-root") : e.cloneNode(!0);
348
- return ee({
345
+ var te = O() ? D.DOMParser : k();
346
+ function ne(e, t) {
347
+ var n = typeof e == "string" ? re().parseFromString("<x-turndown id=\"turndown-root\">" + e + "</x-turndown>", "text/html").getElementById("turndown-root") : e.cloneNode(!0);
348
+ return w({
349
349
  element: n,
350
350
  isBlock: s,
351
351
  isVoid: l,
352
- isPre: t.preformattedCode ? ne : null
352
+ isPre: t.preformattedCode ? ie : null
353
353
  }), n;
354
354
  }
355
- var N;
356
- function te() {
357
- return N ||= new j(), N;
355
+ var j;
356
+ function re() {
357
+ return j ||= new te(), j;
358
358
  }
359
- function ne(e) {
359
+ function ie(e) {
360
360
  return e.nodeName === "PRE" || e.nodeName === "CODE";
361
361
  }
362
- function P(e, t) {
363
- return e.isBlock = s(e), e.isCode = e.nodeName === "CODE" || e.parentNode.isCode, e.isBlank = F(e), e.flankingWhitespace = I(e, t), e;
362
+ function M(e, t) {
363
+ return e.isBlock = s(e), e.isCode = e.nodeName === "CODE" || e.parentNode.isCode, e.isBlank = N(e), e.flankingWhitespace = P(e, t), e;
364
364
  }
365
- function F(e) {
365
+ function N(e) {
366
366
  return !l(e) && !f(e) && /^\s*$/i.test(e.textContent) && !u(e) && !p(e);
367
367
  }
368
- function I(e, t) {
368
+ function P(e, t) {
369
369
  if (e.isBlock || t.preformattedCode && e.isCode) return {
370
370
  leading: "",
371
371
  trailing: ""
372
372
  };
373
- var n = L(e.textContent);
374
- return n.leadingAscii && R("left", e, t) && (n.leading = n.leadingNonAscii), n.trailingAscii && R("right", e, t) && (n.trailing = n.trailingNonAscii), {
373
+ var n = F(e.textContent);
374
+ return n.leadingAscii && I("left", e, t) && (n.leading = n.leadingNonAscii), n.trailingAscii && I("right", e, t) && (n.trailing = n.trailingNonAscii), {
375
375
  leading: n.leading,
376
376
  trailing: n.trailing
377
377
  };
378
378
  }
379
- function L(e) {
379
+ function F(e) {
380
380
  var t = e.match(/^(([ \t\r\n]*)(\s*))(?:(?=\S)[\s\S]*\S)?((\s*?)([ \t\r\n]*))$/);
381
381
  return {
382
382
  leading: t[1],
@@ -387,13 +387,13 @@ function L(e) {
387
387
  trailingAscii: t[6]
388
388
  };
389
389
  }
390
- function R(e, t, n) {
390
+ function I(e, t, n) {
391
391
  var r, i, a;
392
392
  return e === "left" ? (r = t.previousSibling, i = / $/) : (r = t.nextSibling, i = /^ /), r && (r.nodeType === 3 ? a = i.test(r.nodeValue) : n.preformattedCode && r.nodeName === "CODE" ? a = !1 : r.nodeType === 1 && !s(r) && (a = i.test(r.textContent))), a;
393
393
  }
394
- var z = Array.prototype.reduce;
395
- function B(e) {
396
- if (!(this instanceof B)) return new B(e);
394
+ var L = Array.prototype.reduce;
395
+ function R(e) {
396
+ if (!(this instanceof R)) return new R(e);
397
397
  var n = {
398
398
  rules: v,
399
399
  headingStyle: "setext",
@@ -419,12 +419,12 @@ function B(e) {
419
419
  };
420
420
  this.options = t({}, n, e), this.rules = new S(this.options);
421
421
  }
422
- B.prototype = {
422
+ R.prototype = {
423
423
  turndown: function(e) {
424
- if (!G(e)) throw TypeError(e + " is not a string, or an element/document/fragment node.");
424
+ if (!U(e)) throw TypeError(e + " is not a string, or an element/document/fragment node.");
425
425
  if (e === "") return "";
426
- var t = V.call(this, new M(e, this.options));
427
- return H.call(this, t);
426
+ var t = z.call(this, new ne(e, this.options));
427
+ return B.call(this, t);
428
428
  },
429
429
  use: function(e) {
430
430
  if (Array.isArray(e)) for (var t = 0; t < e.length; t++) this.use(e[t]);
@@ -445,34 +445,44 @@ B.prototype = {
445
445
  return _(e);
446
446
  }
447
447
  };
448
- function V(e) {
448
+ function z(e) {
449
449
  var t = this;
450
- return z.call(e.childNodes, function(e, n) {
451
- n = new P(n, t.options);
450
+ return L.call(e.childNodes, function(e, n) {
451
+ n = new M(n, t.options);
452
452
  var r = "";
453
- return n.nodeType === 3 ? r = n.isCode ? n.nodeValue : t.escape(n.nodeValue) : n.nodeType === 1 && (r = U.call(t, n)), W(e, r);
453
+ return n.nodeType === 3 ? r = n.isCode ? n.nodeValue : t.escape(n.nodeValue) : n.nodeType === 1 && (r = V.call(t, n)), H(e, r);
454
454
  }, "");
455
455
  }
456
- function H(e) {
456
+ function B(e) {
457
457
  var t = this;
458
458
  return this.rules.forEach(function(n) {
459
- typeof n.append == "function" && (e = W(e, n.append(t.options)));
459
+ typeof n.append == "function" && (e = H(e, n.append(t.options)));
460
460
  }), e.replace(/^[\t\r\n]+/, "").replace(/[\t\r\n\s]+$/, "");
461
461
  }
462
- function U(e) {
463
- var t = this.rules.forNode(e), n = V.call(this, e), r = e.flankingWhitespace;
462
+ function V(e) {
463
+ var t = this.rules.forNode(e), n = z.call(this, e), r = e.flankingWhitespace;
464
464
  return (r.leading || r.trailing) && (n = n.trim()), r.leading + t.replacement(n, e, this.options) + r.trailing;
465
465
  }
466
- function W(e, t) {
466
+ function H(e, t) {
467
467
  var n = i(e), a = r(t), o = Math.max(e.length - n.length, t.length - a.length);
468
468
  return n + "\n\n".substring(0, o) + a;
469
469
  }
470
- function G(e) {
470
+ function U(e) {
471
471
  return e != null && (typeof e == "string" || e.nodeType && (e.nodeType === 1 || e.nodeType === 9 || e.nodeType === 11));
472
472
  }
473
473
  //#endregion
474
474
  //#region lib/utils/html-to-markdown.ts
475
- var K = "scribe-table-break", q = (/* @__PURE__ */ "address.article.aside.blockquote.details.dialog.dd.div.dl.dt.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hr.li.main.menu.nav.ol.p.pre.section.summary.table.ul".split(".")).join(","), J = /* @__PURE__ */ new Set([
475
+ var W = "scribe-table-break", G = /* @__PURE__ */ new Set([
476
+ "info",
477
+ "tip",
478
+ "warning",
479
+ "caution"
480
+ ]), K = [
481
+ "width",
482
+ "min-width",
483
+ "max-width",
484
+ "text-align"
485
+ ], q = (/* @__PURE__ */ "address.article.aside.blockquote.details.dialog.dd.div.dl.dt.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hr.li.main.menu.nav.ol.p.pre.section.summary.table.ul".split(".")).join(","), ae = /* @__PURE__ */ new Set([
476
486
  "A",
477
487
  "B",
478
488
  "BR",
@@ -483,55 +493,86 @@ var K = "scribe-table-break", q = (/* @__PURE__ */ "address.article.aside.
483
493
  "IMG",
484
494
  "S",
485
495
  "STRONG"
486
- ]), Y = (e) => J.has(e.tagName) || e.tagName === "SPAN" && e.getAttribute("data-type") === "latex", X = (e) => Y(e) && Array.from(e.querySelectorAll("*")).every(Y), Z = (e) => e.nodeType !== Node.TEXT_NODE || !!e.textContent?.trim(), re = (e) => {
487
- let t = Array.from(e.childNodes).filter(Z);
488
- return t.length === 0 ? !0 : t.length === 1 && t[0] instanceof HTMLParagraphElement ? !t[0].querySelector(q) && Array.from(t[0].children).every(X) : t.every((e) => !(e instanceof Element) && e.nodeType === Node.TEXT_NODE || e instanceof Element && !e.matches(q) && !e.querySelector(q) && X(e));
489
- }, ie = (e) => e.hasAttribute("width") || /(?:^|;)\s*width\s*:/i.test(e.getAttribute("style") ?? "") ? !0 : Array.from(e.querySelectorAll("th, td, col")).some((e) => !!(e.hasAttribute("colwidth") || e.hasAttribute("width") || /(?:^|;)\s*width\s*:/i.test(e.getAttribute("style") ?? ""))), Q = (e) => {
496
+ ]), J = (e) => ae.has(e.tagName) || e.tagName === "SPAN" && e.getAttribute("data-type") === "latex", Y = (e) => J(e) && Array.from(e.querySelectorAll("*")).every(J), X = (e) => e.nodeType !== Node.TEXT_NODE || !!e.textContent?.trim(), oe = (e) => {
497
+ let t = Array.from(e.childNodes).filter(X);
498
+ return t.length === 0 ? !0 : t.length === 1 && t[0] instanceof HTMLParagraphElement ? !t[0].querySelector(q) && Array.from(t[0].children).every(Y) : t.every((e) => !(e instanceof Element) && e.nodeType === Node.TEXT_NODE || e instanceof Element && !e.matches(q) && !e.querySelector(q) && Y(e));
499
+ }, se = (e) => e.hasAttribute("width") || /(?:^|;)\s*width\s*:/i.test(e.getAttribute("style") ?? "") ? !0 : Array.from(e.querySelectorAll("th, td, col")).some((e) => !!(e.hasAttribute("colwidth") || e.hasAttribute("width") || /(?:^|;)\s*width\s*:/i.test(e.getAttribute("style") ?? ""))), ce = (e) => {
490
500
  let t = e.style.textAlign.trim().toLowerCase(), n = (e.getAttribute("align") ?? "").trim().toLowerCase();
491
501
  if (t && n && t !== n) return;
492
502
  let r = t || n;
493
503
  if (!r) return null;
494
504
  if (r === "left" || r === "center" || r === "right") return r;
495
- }, ae = (e) => {
496
- if (e.caption || e.tFoot || ie(e)) return null;
505
+ }, le = (e) => {
506
+ if (e.caption || e.tFoot || se(e)) return null;
497
507
  let t = Array.from(e.rows), n = t[0]?.cells.length ?? 0;
498
508
  if (t.length === 0 || n === 0) return null;
499
509
  let r = t.map((e) => Array.from(e.cells));
500
- if (r.some((t, r) => t.length !== n || t.some((t) => t.closest("table") !== e || t.colSpan !== 1 || t.rowSpan !== 1 || !re(t) || (r === 0 ? t.tagName !== "TH" : t.tagName !== "TD")))) return null;
510
+ if (r.some((t, r) => t.length !== n || t.some((t) => t.closest("table") !== e || t.colSpan !== 1 || t.rowSpan !== 1 || !oe(t) || (r === 0 ? t.tagName !== "TH" : t.tagName !== "TD")))) return null;
501
511
  let i = r[0].map((e, t) => {
502
- let n = r.map((e) => Q(e[t])), i = n[0];
512
+ let n = r.map((e) => ce(e[t])), i = n[0];
503
513
  if (!(i === void 0 || n.some((e) => e !== i))) return i;
504
514
  });
505
515
  return i.some((e) => e === void 0) ? null : {
506
516
  rows: r,
507
517
  alignments: i
508
518
  };
509
- }, oe = (e, t) => {
510
- let n = Array.from(t.childNodes).filter(Z), r = (n.length === 1 && n[0] instanceof HTMLParagraphElement ? n[0] : t).cloneNode(!0);
519
+ }, ue = (e, t) => {
520
+ let n = Array.from(t.childNodes).filter(X), r = (n.length === 1 && n[0] instanceof HTMLParagraphElement ? n[0] : t).cloneNode(!0);
511
521
  r.querySelectorAll("br").forEach((e) => {
512
- e.replaceWith(e.ownerDocument.createTextNode(K));
522
+ e.replaceWith(e.ownerDocument.createTextNode(W));
513
523
  });
514
- let i = e.turndown(r.innerHTML).split(K).join("<br>").split("|").join("\\|").trim();
524
+ let i = e.turndown(r.innerHTML).split(W).join("<br>").split("|").join("\\|").trim();
515
525
  return /[\r\n]/.test(i) ? null : i;
526
+ }, Z = (e) => {
527
+ let t = e.cloneNode(!0);
528
+ return t.querySelectorAll("span[data-type=\"latex\"]").forEach((e) => {
529
+ e.textContent === "•" && (e.textContent = "");
530
+ }), $(t), t.outerHTML;
531
+ }, Q = (e) => {
532
+ let t = e?.trim().toLowerCase();
533
+ return t && G.has(t) ? t : "info";
534
+ }, de = (e) => {
535
+ let t = Q(e.getAttribute("data-variant"));
536
+ Array.from(e.attributes).forEach((t) => {
537
+ t.name !== "data-type" && t.name !== "data-variant" && t.name !== "role" && e.removeAttribute(t.name);
538
+ }), e.setAttribute("data-type", "callout"), e.setAttribute("data-variant", t), e.setAttribute("role", "note");
539
+ }, fe = (e) => {
540
+ let t = e.matches("table, col, th, td") ? K.map((t) => [t, e.style.getPropertyValue(t)]).filter(([, e]) => !!e) : [];
541
+ e.removeAttribute("style"), t.forEach(([t, n]) => {
542
+ e.style.setProperty(t, n);
543
+ });
516
544
  }, $ = (e) => {
545
+ [...e.matches("aside[data-type=\"callout\"]") ? [e] : [], ...Array.from(e.querySelectorAll("aside[data-type=\"callout\"]"))].forEach((e) => {
546
+ [e, ...Array.from(e.querySelectorAll("*"))].forEach((e) => {
547
+ fe(e), Array.from(e.attributes).forEach((t) => {
548
+ t.name.toLowerCase().startsWith("on") && e.removeAttribute(t.name);
549
+ });
550
+ }), de(e);
551
+ });
552
+ }, pe = (e) => {
517
553
  let t = e.cloneNode(!0);
518
554
  return t.querySelectorAll("span[data-type=\"latex\"]").forEach((e) => {
519
555
  e.textContent === "•" && (e.textContent = "");
520
- }), t.outerHTML;
521
- }, se = (e) => {
556
+ }), $(t), t.outerHTML;
557
+ }, me = (e) => {
558
+ e.addRule("scribeCallout", {
559
+ filter: (e) => e.nodeName === "ASIDE" && e.getAttribute("data-type") === "callout",
560
+ replacement: (e, t) => `\n\n${pe(t)}\n\n`
561
+ });
562
+ }, he = (e) => {
522
563
  e.addRule("scribeTable", {
523
564
  filter: "table",
524
565
  replacement: (t, n) => {
525
- let r = n, i = ae(r);
526
- if (!i) return `\n\n${$(r)}\n\n`;
527
- let { rows: a, alignments: o } = i, s = a.map((t) => t.map((t) => oe(e, t)));
528
- if (s.some((e) => e.some((e) => e === null))) return `\n\n${$(r)}\n\n`;
566
+ let r = n, i = le(r);
567
+ if (!i) return `\n\n${Z(r)}\n\n`;
568
+ let { rows: a, alignments: o } = i, s = a.map((t) => t.map((t) => ue(e, t)));
569
+ if (s.some((e) => e.some((e) => e === null))) return `\n\n${Z(r)}\n\n`;
529
570
  let c = s.map((e) => `| ${e.join(" | ")} |`), l = `| ${o.map((e) => e === "left" ? ":---" : e === "center" ? ":---:" : e === "right" ? "---:" : "---").join(" | ")} |`;
530
571
  return c.splice(1, 0, l), `\n\n${c.join("\n")}\n\n`;
531
572
  }
532
573
  });
533
- }, ce = (t) => {
534
- let n = new B({
574
+ }, ge = (t) => {
575
+ let n = new R({
535
576
  headingStyle: "atx",
536
577
  hr: "---",
537
578
  bulletListMarker: "-",
@@ -550,7 +591,7 @@ var K = "scribe-table-break", q = (/* @__PURE__ */ "address.article.aside.
550
591
  replacement: function(e) {
551
592
  return "~~" + e + "~~";
552
593
  }
553
- }), se(n), n.turndown(e.sanitize(((e) => e.replace(/<span([^>]+data-type="latex"[^>]*)><\/span>/g, "<span$1>•</span>"))(t), { ADD_ATTR: ["colwidth"] }));
594
+ }), me(n), he(n), n.turndown(e.sanitize(((e) => e.replace(/<span([^>]+data-type="latex"[^>]*)><\/span>/g, "<span$1>•</span>"))(t), { ADD_ATTR: ["colwidth"] }));
554
595
  };
555
596
  //#endregion
556
- export { ce as t };
597
+ export { ge as t };
@@ -0,0 +1,9 @@
1
+ import type { FC } from "react";
2
+ import type { CalloutVariant } from "../components/Scribe/extension/callout";
3
+ export interface CalloutIconProps {
4
+ className?: string;
5
+ variant: CalloutVariant;
6
+ }
7
+ export declare const CalloutIcon: FC<CalloutIconProps>;
8
+ export declare const RemoveCalloutIcon: FC;
9
+ //# sourceMappingURL=CalloutIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CalloutIcon.d.ts","sourceRoot":"","sources":["../../lib/icons/CalloutIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAE7E,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CA0D5C,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,EAiB/B,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
+ //#region lib/icons/CalloutIcon.tsx
3
+ var n = ({ className: n = "scribe-callout-icon", variant: r }) => {
4
+ let i = {
5
+ "aria-hidden": !0,
6
+ className: n,
7
+ fill: "none",
8
+ height: 18,
9
+ viewBox: "0 0 20 20",
10
+ width: 18
11
+ }, a = {
12
+ stroke: "currentColor",
13
+ strokeLinecap: "round",
14
+ strokeLinejoin: "round",
15
+ strokeWidth: 1.5
16
+ };
17
+ return r === "tip" ? /* @__PURE__ */ t("svg", {
18
+ ...i,
19
+ children: [/* @__PURE__ */ e("path", {
20
+ d: "M6.5 12.1a5 5 0 1 1 7 0c-.8.75-1.2 1.4-1.2 2.15H7.7c0-.75-.4-1.4-1.2-2.15Z",
21
+ ...a
22
+ }), /* @__PURE__ */ e("path", {
23
+ d: "M7.9 16.6h4.2M8.8 14.25v2.35M11.2 14.25v2.35",
24
+ ...a
25
+ })]
26
+ }) : r === "warning" ? /* @__PURE__ */ t("svg", {
27
+ ...i,
28
+ children: [/* @__PURE__ */ e("path", {
29
+ d: "M9.1 3.6 2.3 15.4a1.05 1.05 0 0 0 .9 1.55h13.6a1.05 1.05 0 0 0 .9-1.55L10.9 3.6a1.04 1.04 0 0 0-1.8 0Z",
30
+ ...a
31
+ }), /* @__PURE__ */ e("path", {
32
+ d: "M10 7.6v4.45M10 14.65v.05",
33
+ ...a
34
+ })]
35
+ }) : r === "caution" ? /* @__PURE__ */ t("svg", {
36
+ ...i,
37
+ children: [/* @__PURE__ */ e("path", {
38
+ d: "m6.45 2.75-3.7 3.7v7.1l3.7 3.7h7.1l3.7-3.7v-7.1l-3.7-3.7h-7.1Z",
39
+ ...a
40
+ }), /* @__PURE__ */ e("path", {
41
+ d: "M10 6.2v5.65M10 14.45v.05",
42
+ ...a
43
+ })]
44
+ }) : /* @__PURE__ */ t("svg", {
45
+ ...i,
46
+ children: [/* @__PURE__ */ e("circle", {
47
+ cx: "10",
48
+ cy: "10",
49
+ r: "7.25",
50
+ ...a
51
+ }), /* @__PURE__ */ e("path", {
52
+ d: "M10 8.5v5M10 5.65v.05",
53
+ ...a
54
+ })]
55
+ });
56
+ }, r = () => /* @__PURE__ */ e("svg", {
57
+ "aria-hidden": "true",
58
+ className: "scribe-callout-icon",
59
+ fill: "none",
60
+ height: "18",
61
+ viewBox: "0 0 20 20",
62
+ width: "18",
63
+ children: /* @__PURE__ */ e("path", {
64
+ d: "M7.25 4.5h7.25M7.25 8.5h7.25M7.25 12.5h4.5M5.25 15.5l-2.5-2.5 2.5-2.5M2.75 13h4",
65
+ stroke: "currentColor",
66
+ strokeLinecap: "round",
67
+ strokeLinejoin: "round",
68
+ strokeWidth: "1.5"
69
+ })
70
+ });
71
+ //#endregion
72
+ export { n as CalloutIcon, r as RemoveCalloutIcon };