@milkdown/plugin-emoji 6.5.2 → 6.5.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../src/constant.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,IAAI,QAAqB,CAAC;AACvC,eAAO,MAAM,IAAI,QAAwB,CAAC;AAC1C,eAAO,MAAM,KAAK,QAAmB,CAAC"}
1
+ {"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../src/constant.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,IAAI,QAAqB,CAAA;AACtC,eAAO,MAAM,IAAI,QAAwB,CAAA;AACzC,eAAO,MAAM,KAAK,QAAmB,CAAA"}
@@ -1,5 +1,5 @@
1
- import { EditorView } from '@milkdown/prose/view';
1
+ import type { EditorView } from '@milkdown/prose/view';
2
2
  import type { Emoji } from 'node-emoji';
3
3
  export declare const checkTrigger: (view: EditorView, from: number, to: number, text: string, setRange: (from: number, to: number) => void, setSearch: (words: string) => void) => boolean;
4
- export declare const renderDropdownList: (list: Emoji[], dropDown: HTMLElement, $active: HTMLElement | null, onConfirm: () => void, setActive: (active: HTMLElement | null) => void, twemojiOptions?: TwemojiOptions) => void;
4
+ export declare const renderDropdownList: (list: Emoji[], dropDown: HTMLElement, onConfirm: () => void, setActive: (active: HTMLElement | null) => void, twemojiOptions?: TwemojiOptions) => void;
5
5
  //# sourceMappingURL=helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../src/filter/helper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAKxC,eAAO,MAAM,YAAY,SACf,UAAU,QACV,MAAM,MACR,MAAM,QACJ,MAAM,mBACK,MAAM,MAAM,MAAM,KAAK,IAAI,qBACzB,MAAM,KAAK,IAAI,YAoBrC,CAAC;AAEF,eAAO,MAAM,kBAAkB,SACrB,KAAK,EAAE,YACH,WAAW,WACZ,WAAW,GAAG,IAAI,aAChB,MAAM,IAAI,sBACD,WAAW,GAAG,IAAI,KAAK,IAAI,mBAC9B,cAAc,SAmDlC,CAAC"}
1
+ {"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../src/filter/helper.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAKvC,eAAO,MAAM,YAAY,SACjB,UAAU,QACV,MAAM,MACR,MAAM,QACJ,MAAM,mBACK,MAAM,MAAM,MAAM,KAAK,IAAI,qBACzB,MAAM,KAAK,IAAI,YAsBnC,CAAA;AAED,eAAO,MAAM,kBAAkB,SACvB,KAAK,EAAE,YACH,WAAW,aACV,MAAM,IAAI,sBACD,WAAW,GAAG,IAAI,KAAK,IAAI,mBAC9B,cAAc,SAuChC,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { Plugin, PluginKey } from '@milkdown/prose/state';
2
- import { ThemeUtils } from '@milkdown/utils';
2
+ import type { ThemeUtils } from '@milkdown/utils';
3
3
  export declare const key: PluginKey<any>;
4
4
  export declare const filter: (utils: ThemeUtils, maxListSize: number, twemojiOptions?: TwemojiOptions) => Plugin<any>;
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filter/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAM7C,eAAO,MAAM,GAAG,gBAAyC,CAAC;AAE1D,eAAO,MAAM,MAAM,UAAW,UAAU,eAAe,MAAM,mBAAmB,cAAc,gBA6M7F,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filter/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAMjD,eAAO,MAAM,GAAG,gBAAyC,CAAA;AAEzD,eAAO,MAAM,MAAM,UAAW,UAAU,eAAe,MAAM,mBAAmB,cAAc,gBA2M7F,CAAA"}
@@ -1,3 +1,3 @@
1
- import { Emotion, ThemeManager } from '@milkdown/core';
1
+ import type { Emotion, ThemeManager } from '@milkdown/core';
2
2
  export declare const injectStyle: (themeManager: ThemeManager, { css, cx }: Emotion) => string;
3
3
  //# sourceMappingURL=style.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/filter/style.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,OAAO,EAIP,YAAY,EAIf,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,WAAW,iBAAkB,YAAY,eAAe,OAAO,WA6C3E,CAAC"}
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/filter/style.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,OAAO,EACP,YAAY,EACb,MAAM,gBAAgB,CAAA;AAUvB,eAAO,MAAM,WAAW,iBAAkB,YAAY,eAAe,OAAO,WA6C3E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,cAAc,QAAQ,CAAC;AAEvB,eAAO,MAAM,KAAK,oKAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAG1C,cAAc,QAAQ,CAAA;AAEtB,eAAO,MAAM,KAAK,oKAAiC,CAAA"}
package/lib/index.es.js CHANGED
@@ -1,58 +1,54 @@
1
- import { createNode as A, AtomList as H } from "@milkdown/utils";
2
- import { missingRootElement as N, expectDomTypeError as O } from "@milkdown/exception";
1
+ import { createNode as _, AtomList as O } from "@milkdown/utils";
2
+ import { missingRootElement as N, expectDomTypeError as H } from "@milkdown/exception";
3
3
  import { InputRule as F } from "@milkdown/prose/inputrules";
4
- import D from "node-emoji";
4
+ import A from "node-emoji";
5
5
  import I from "remark-emoji";
6
- import { calculateNodePosition as R } from "@milkdown/prose";
7
- import { PluginKey as B, Plugin as K } from "@milkdown/prose/state";
8
- import W from "twemoji";
9
- import { ThemeBorder as $, ThemeShadow as z, ThemeScrollbar as U, ThemeSize as q, ThemeFont as J, ThemeColor as G } from "@milkdown/core";
6
+ import { calculateNodePosition as $ } from "@milkdown/prose";
7
+ import { PluginKey as R, Plugin as B } from "@milkdown/prose/state";
8
+ import K from "twemoji";
9
+ import { ThemeBorder as W, ThemeShadow as z, ThemeScrollbar as U, ThemeSize as q, ThemeFont as J, ThemeColor as G } from "@milkdown/core";
10
10
  import Q from "emoji-regex";
11
- const X = /:\+1|:-1|:[\w-]+/, Y = /:\+1:|:-1:|:[\w-]+:/, Z = /(:([^:\s]+):)$/, V = (r) => ({ title: r }), b = (r, a) => W.parse(r, { attributes: V, ...a }), ee = (r, a, f, e, i, s) => {
12
- if (r.composing)
11
+ const X = /:\+1|:-1|:[\w-]+/, Y = /:\+1:|:-1:|:[\w-]+:/, Z = /(:([^:\s]+):)$/, V = (n) => ({ title: n }), C = (n, s) => K.parse(n, { attributes: V, ...s }), ee = (n, s, d, e, l, o) => {
12
+ if (n.composing)
13
13
  return !1;
14
- const { state: o } = r, l = o.doc.resolve(a);
15
- if (l.parent.type.spec.code)
14
+ const { state: r } = n, i = r.doc.resolve(s);
15
+ if (i.parent.type.spec.code)
16
16
  return !1;
17
- const c = (l.parent.textBetween(Math.max(0, l.parentOffset - 10), l.parentOffset, void 0, "\uFFFC") + e).toLowerCase();
18
- if (Y.test(c))
17
+ const a = (i.parent.textBetween(Math.max(0, i.parentOffset - 10), i.parentOffset, void 0, "\uFFFC") + e).toLowerCase();
18
+ if (Y.test(a))
19
19
  return !1;
20
- const t = X.exec(c);
21
- if (t && t[0] && c.endsWith(t[0])) {
22
- const n = t[0];
23
- return i(a - (n.length - e.length), f), s(n), !0;
20
+ const t = X.exec(a);
21
+ if (t && t[0] && a.endsWith(t[0])) {
22
+ const m = t[0];
23
+ return l(s - (m.length - e.length), d), o(m), !0;
24
24
  }
25
25
  return !1;
26
- }, te = (r, a, f, e, i, s) => {
27
- for (; a.firstChild; )
28
- a.firstChild.remove();
29
- r.forEach(({ emoji: o, key: l }, c) => {
30
- const t = document.createElement("div");
31
- t.className = "milkdown-emoji-filter_item";
32
- const n = document.createElement("span");
33
- n.innerHTML = b(o, s), n.className = "milkdown-emoji-filter_item-emoji";
34
- const h = document.createElement("span");
35
- h.textContent = ":" + l + ":", h.className = "milkdown-emoji-filter_item-key", t.appendChild(n), t.appendChild(h), a.appendChild(t), c === 0 && (t.classList.add("active"), i(t));
36
- const g = (d) => {
37
- f && f.classList.remove("active");
38
- const { target: m } = d;
39
- m instanceof HTMLElement && (m.classList.add("active"), i(m));
40
- }, w = (d) => {
41
- const { target: m } = d;
42
- m instanceof HTMLElement && m.classList.remove("active");
43
- }, u = (d) => {
44
- d.preventDefault(), e();
26
+ }, te = (n, s, d, e, l) => {
27
+ for (; s.firstChild; )
28
+ s.firstChild.remove();
29
+ n.forEach(({ emoji: o, key: r }, i) => {
30
+ const a = document.createElement("div");
31
+ a.className = "milkdown-emoji-filter_item";
32
+ const t = document.createElement("span");
33
+ t.innerHTML = C(o, l), t.className = "milkdown-emoji-filter_item-emoji";
34
+ const m = document.createElement("span");
35
+ m.textContent = `:${r}:`, m.className = "milkdown-emoji-filter_item-key", a.appendChild(t), a.appendChild(m), s.appendChild(a), i === 0 && e(a);
36
+ const c = (u) => {
37
+ const { target: j } = u;
38
+ j instanceof HTMLElement && e(j);
39
+ }, w = (u) => {
40
+ u.preventDefault(), d();
45
41
  };
46
- t.addEventListener("mouseenter", g), t.addEventListener("mouseleave", w), t.addEventListener("mousedown", u);
42
+ a.addEventListener("mouseenter", c), a.addEventListener("mousedown", w);
47
43
  });
48
- }, ne = (r, { css: a, cx: f }) => {
49
- const e = r.get($, void 0), i = r.get(z, void 0), s = r.get(U, void 0), o = r.get(q, "radius"), l = r.get(J, "typography"), c = (n, h = 1) => r.get(G, [n, h]), t = a`
44
+ }, ne = (n, { css: s, cx: d }) => {
45
+ const e = n.get(W, void 0), l = n.get(z, void 0), o = n.get(U, void 0), r = n.get(q, "radius"), i = n.get(J, "typography"), a = (m, c = 1) => n.get(G, [m, c]), t = s`
50
46
  min-height: 36px;
51
47
  max-height: 320px;
52
48
  overflow-y: auto;
53
- border-radius: ${o};
49
+ border-radius: ${r};
54
50
  position: absolute;
55
- background: ${c("surface")};
51
+ background: ${a("surface")};
56
52
 
57
53
  &.hide {
58
54
  display: none;
@@ -67,11 +63,11 @@ const X = /:\+1|:-1|:[\w-]+/, Y = /:\+1:|:-1:|:[\w-]+:/, Z = /(:([^:\s]+):)$/, V
67
63
  justify-content: flex-start;
68
64
  cursor: pointer;
69
65
  line-height: 2;
70
- font-family: ${l};
66
+ font-family: ${i};
71
67
  font-size: 14px;
72
68
  &.active {
73
- background: ${c("secondary", 0.12)};
74
- color: ${c("primary")};
69
+ background: ${a("secondary", 0.12)};
70
+ color: ${a("primary")};
75
71
  }
76
72
  }
77
73
 
@@ -82,146 +78,138 @@ const X = /:\+1|:-1|:[\w-]+/, Y = /:\+1:|:-1:|:[\w-]+:/, Z = /(:([^:\s]+):)$/, V
82
78
  vertical-align: -1.5px;
83
79
  }
84
80
  `;
85
- return f(e, i, s, t);
86
- }, oe = new B("MILKDOWN_EMOJI_FILTER"), re = (r, a, f) => {
87
- let e = !1, i = 0, s = "", o = null;
88
- const l = () => {
89
- e = !1, i = 0, s = "", o = null;
81
+ return d(e, l, o, t);
82
+ }, oe = new R("MILKDOWN_EMOJI_FILTER"), re = (n, s, d) => {
83
+ let e = !1, l = 0, o = "", r = null;
84
+ const i = () => {
85
+ e = !1, l = 0, o = "", r = null;
86
+ }, a = (t) => {
87
+ r && r.classList.remove("active"), t && t.classList.add("active"), r = t;
90
88
  };
91
- return new K({
89
+ return new B({
92
90
  key: oe,
93
91
  props: {
94
- handleKeyDown(c, t) {
95
- return ["Delete", "Backspace"].includes(t.key) ? (s = s.slice(0, -1), s.length <= 1 && l(), !1) : !(!e || !["ArrowUp", "ArrowDown", "Enter"].includes(t.key));
92
+ handleKeyDown(t, m) {
93
+ return ["Delete", "Backspace"].includes(m.key) ? (o = o.slice(0, -1), o.length <= 1 && i(), !1) : !(!e || !["ArrowUp", "ArrowDown", "Enter"].includes(m.key));
96
94
  },
97
- handleTextInput(c, t, n, h) {
95
+ handleTextInput(t, m, c, w) {
98
96
  return e = ee(
99
- c,
100
97
  t,
101
- n,
102
- h,
103
- (g) => {
104
- i = g;
98
+ m,
99
+ c,
100
+ w,
101
+ (u) => {
102
+ l = u;
105
103
  },
106
- (g) => {
107
- s = g;
104
+ (u) => {
105
+ o = u;
108
106
  }
109
- ), e || l(), !1;
107
+ ), e || i(), !1;
110
108
  }
111
109
  },
112
- view: (c) => {
113
- const { parentNode: t } = c.dom;
114
- if (!t)
110
+ view: (t) => {
111
+ const { parentNode: m } = t.dom;
112
+ if (!m)
115
113
  throw N();
116
- const n = document.createElement("div");
117
- n.classList.add("milkdown-emoji-filter", "hide"), r.themeManager.onFlush(() => {
118
- const u = n.className.split(" ").filter((m) => ["hide", "milkdown-emoji-filter"].includes(m));
119
- n.className = u.join(" ");
120
- const d = r.getStyle((m) => ne(r.themeManager, m));
121
- d && d.split(" ").forEach((m) => n.classList.add(m));
114
+ const c = document.createElement("div");
115
+ c.classList.add("milkdown-emoji-filter", "hide"), n.themeManager.onFlush(() => {
116
+ const h = c.className.split(" ").filter((f) => ["hide", "milkdown-emoji-filter"].includes(f));
117
+ c.className = h.join(" ");
118
+ const p = n.getStyle((f) => ne(n.themeManager, f));
119
+ p && p.split(" ").forEach((f) => c.classList.add(f));
122
120
  });
123
- const h = () => {
124
- var m;
125
- if (!o)
121
+ const w = () => {
122
+ var f;
123
+ if (!r)
126
124
  return;
127
- const { tr: u } = c.state, d = c.state.schema.node("emoji", { html: (m = o.firstElementChild) == null ? void 0 : m.innerHTML });
128
- c.dispatch(u.delete(i, i + s.length).insert(i, d)), l(), n.classList.add("hide");
125
+ const { tr: h } = t.state, p = t.state.schema.node("emoji", { html: (f = r.firstElementChild) == null ? void 0 : f.innerHTML });
126
+ t.dispatch(h.delete(l, l + o.length).insert(l, p)), i(), c.classList.add("hide");
129
127
  };
130
- t.appendChild(n);
131
- const g = (u) => {
132
- if (!e || !(u instanceof KeyboardEvent))
128
+ m.appendChild(c);
129
+ const u = (h) => {
130
+ if (!e || !(h instanceof KeyboardEvent))
133
131
  return;
134
- const { key: d } = u;
135
- if (d === "Enter") {
136
- h();
132
+ const { key: p } = h;
133
+ if (p === "Enter") {
134
+ w();
137
135
  return;
138
136
  }
139
- if (["ArrowDown", "ArrowUp"].includes(d)) {
140
- const m = d === "ArrowDown" ? (o == null ? void 0 : o.nextElementSibling) || n.firstElementChild : (o == null ? void 0 : o.previousElementSibling) || n.lastElementChild;
141
- if (o && o.classList.remove("active"), !m)
137
+ if (["ArrowDown", "ArrowUp"].includes(p)) {
138
+ const f = p === "ArrowDown" ? (r == null ? void 0 : r.nextElementSibling) || c.firstElementChild : (r == null ? void 0 : r.previousElementSibling) || c.lastElementChild;
139
+ if (!f)
142
140
  return;
143
- m.classList.add("active"), o = m;
144
- return;
141
+ a(f);
145
142
  }
146
- }, w = (u) => {
147
- !e || (u.stopPropagation(), l(), n.classList.add("hide"));
143
+ }, j = (h) => {
144
+ !e || (h.stopPropagation(), i(), c.classList.add("hide"));
148
145
  };
149
- return t.addEventListener("keydown", g), t.addEventListener("mousedown", w), {
150
- update: (u) => {
151
- const { selection: d } = u.state;
152
- if (d.from - d.to !== 0 || !e)
153
- return l(), n.classList.add("hide"), null;
154
- const m = D.search(s).slice(0, a), { node: P } = u.domAtPos(i);
155
- return m.length === 0 || !P ? (n.classList.add("hide"), null) : (n.style.maxHeight = "", n.classList.remove("hide"), te(
156
- m,
157
- n,
158
- o,
159
- h,
160
- (C) => {
161
- o = C;
162
- },
163
- f
164
- ), R(u, n, (C, j, y) => {
165
- const E = n.parentElement;
166
- if (!E)
146
+ return m.addEventListener("keydown", u), m.addEventListener("mousedown", j), {
147
+ update: (h) => {
148
+ const { selection: p } = h.state;
149
+ if (p.from - p.to !== 0 || !e)
150
+ return i(), c.classList.add("hide"), null;
151
+ const f = A.search(o).slice(0, s), { node: D } = h.domAtPos(l);
152
+ return f.length === 0 || !D ? (c.classList.add("hide"), null) : (c.style.maxHeight = "", c.classList.remove("hide"), te(f, c, w, a, d), $(h, c, (me, v, y) => {
153
+ const k = c.parentElement;
154
+ if (!k)
167
155
  throw N();
168
- const v = u.coordsAtPos(i);
169
- let L = v.left - y.left;
170
- L < 0 && (L = 0);
171
- let x, p;
172
- const k = v.top - y.top, T = y.height + y.top - v.bottom;
173
- T >= j.height + 28 ? x = "bottom" : k >= j.height + 28 ? x = "top" : T >= k ? (x = "bottom", p = T - 28) : (x = "top", p = k - 28), (k < 0 || T < 0) && (p = y.height - (v.bottom - v.top) - 28, p > j.height && (p = void 0));
174
- const _ = x === "top" ? v.top - y.top - (p != null ? p : j.height) - 14 + E.scrollTop : v.bottom - y.top + 14 + E.scrollTop;
175
- n.style.maxHeight = p !== void 0 && p > 0 ? `${p}px` : "";
176
- const M = E.clientWidth - (n.offsetWidth + 4);
177
- return L > M && (L = M), [_, L];
156
+ const x = h.coordsAtPos(l);
157
+ let E = x.left - y.left;
158
+ E < 0 && (E = 0);
159
+ let L, g;
160
+ const T = x.top - y.top, b = y.height + y.top - x.bottom;
161
+ b >= v.height + 28 ? L = "bottom" : T >= v.height + 28 ? L = "top" : b >= T ? (L = "bottom", g = b - 28) : (L = "top", g = T - 28), (T < 0 || b < 0) && (g = y.height - (x.bottom - x.top) - 28, g > v.height && (g = void 0));
162
+ const P = L === "top" ? x.top - y.top - (g != null ? g : v.height) - 14 + k.scrollTop : x.bottom - y.top + 14 + k.scrollTop;
163
+ c.style.maxHeight = g !== void 0 && g > 0 ? `${g}px` : "";
164
+ const M = k.clientWidth - (c.offsetWidth + 4);
165
+ return E > M && (E = M), [P, E];
178
166
  }), null);
179
167
  },
180
168
  destroy: () => {
181
- t.removeEventListener("keydown", g), t.removeEventListener("mousedown", w), n.remove();
169
+ m.removeEventListener("keydown", u), m.removeEventListener("mousedown", j), c.remove();
182
170
  }
183
171
  };
184
172
  }
185
173
  });
186
- }, S = Q(), se = (r) => !!r.children, ie = (r) => !!r.value;
187
- function le(r, a) {
188
- return f(r, 0, null)[0];
189
- function f(e, i, s) {
190
- if (se(e)) {
191
- const o = [];
192
- for (let l = 0, c = e.children.length; l < c; l++) {
193
- const t = e.children[l];
174
+ }, S = Q(), ie = (n) => !!n.children, se = (n) => !!n.value;
175
+ function le(n, s) {
176
+ return d(n, 0, null)[0];
177
+ function d(e, l, o) {
178
+ if (ie(e)) {
179
+ const r = [];
180
+ for (let i = 0, a = e.children.length; i < a; i++) {
181
+ const t = e.children[i];
194
182
  if (t) {
195
- const n = f(t, l, e);
196
- if (n)
197
- for (let h = 0, g = n.length; h < g; h++) {
198
- const w = n[h];
199
- w && o.push(w);
183
+ const m = d(t, i, e);
184
+ if (m)
185
+ for (let c = 0, w = m.length; c < w; c++) {
186
+ const u = m[c];
187
+ u && r.push(u);
200
188
  }
201
189
  }
202
190
  }
203
- e.children = o;
191
+ e.children = r;
204
192
  }
205
- return a(e, i, s);
193
+ return s(e, l, o);
206
194
  }
207
195
  }
208
- const ae = (r) => () => {
209
- function a(f) {
210
- le(f, (e) => {
211
- if (!ie(e))
196
+ const ce = (n) => () => {
197
+ function s(d) {
198
+ le(d, (e) => {
199
+ if (!se(e))
212
200
  return [e];
213
- const i = e.value, s = [];
214
- let o, l = i;
215
- for (; o = S.exec(l); ) {
216
- const { index: c } = o, t = o[0];
217
- t && (c > 0 && s.push({ ...e, value: l.slice(0, c) }), s.push({ ...e, value: b(t, r), type: "emoji" }), l = l.slice(c + t.length)), S.lastIndex = 0;
201
+ const l = e.value, o = [];
202
+ let r, i = l;
203
+ for (; r = S.exec(i); ) {
204
+ const { index: a } = r, t = r[0];
205
+ t && (a > 0 && o.push({ ...e, value: i.slice(0, a) }), o.push({ ...e, value: C(t, n), type: "emoji" }), i = i.slice(a + t.length)), S.lastIndex = 0;
218
206
  }
219
- return l.length && s.push({ ...e, value: l }), s;
207
+ return i.length && o.push({ ...e, value: i }), o;
220
208
  });
221
209
  }
222
- return a;
223
- }, ce = A((r, a) => {
224
- const f = () => r.getStyle(
210
+ return s;
211
+ }, ae = _((n, s) => {
212
+ const d = () => n.getStyle(
225
213
  ({ css: e }) => e`
226
214
  .emoji {
227
215
  height: 1em;
@@ -247,55 +235,55 @@ const ae = (r) => () => {
247
235
  tag: 'span[data-type="emoji"]',
248
236
  getAttrs: (e) => {
249
237
  if (!(e instanceof HTMLElement))
250
- throw O(e);
238
+ throw H(e);
251
239
  return { html: e.innerHTML };
252
240
  }
253
241
  }
254
242
  ],
255
243
  toDOM: (e) => {
256
- const i = document.createElement("span");
257
- return i.classList.add("emoji-wrapper"), i.dataset.type = "emoji", r.themeManager.onFlush(() => {
258
- const s = f();
259
- s && i.classList.add(s);
260
- }), i.innerHTML = e.attrs.html, { dom: i };
244
+ const l = document.createElement("span");
245
+ return l.classList.add("emoji-wrapper"), l.dataset.type = "emoji", n.themeManager.onFlush(() => {
246
+ const o = d();
247
+ o && l.classList.add(o);
248
+ }), l.innerHTML = e.attrs.html, { dom: l };
261
249
  },
262
250
  parseMarkdown: {
263
251
  match: ({ type: e }) => e === "emoji",
264
- runner: (e, i, s) => {
265
- e.addNode(s, { html: i.value });
252
+ runner: (e, l, o) => {
253
+ e.addNode(o, { html: l.value });
266
254
  }
267
255
  },
268
256
  toMarkdown: {
269
257
  match: (e) => e.type.name === "emoji",
270
- runner: (e, i) => {
271
- const s = document.createElement("span");
272
- s.innerHTML = i.attrs.html;
273
- const o = s.querySelector("img"), l = o == null ? void 0 : o.title;
274
- s.remove(), e.addNode("text", void 0, l);
258
+ runner: (e, l) => {
259
+ const o = document.createElement("span");
260
+ o.innerHTML = l.attrs.html;
261
+ const r = o.querySelector("img"), i = r == null ? void 0 : r.title;
262
+ o.remove(), e.addNode("text", void 0, i);
275
263
  }
276
264
  }
277
265
  }),
278
266
  inputRules: (e) => [
279
- new F(Z, (i, s, o, l) => {
280
- const c = s[0];
281
- if (!c)
267
+ new F(Z, (l, o, r, i) => {
268
+ const a = o[0];
269
+ if (!a)
282
270
  return null;
283
- const t = D.get(c);
284
- if (!t || c.includes(t))
271
+ const t = A.get(a);
272
+ if (!t || a.includes(t))
285
273
  return null;
286
- const n = b(t, a == null ? void 0 : a.twemojiOptions);
287
- return i.tr.setMeta("emoji", !0).replaceRangeWith(o, l, e.create({ html: n })).scrollIntoView();
274
+ const m = C(t, s == null ? void 0 : s.twemojiOptions);
275
+ return l.tr.setMeta("emoji", !0).replaceRangeWith(r, i, e.create({ html: m })).scrollIntoView();
288
276
  })
289
277
  ],
290
- remarkPlugins: () => [I, ae(a == null ? void 0 : a.twemojiOptions)],
278
+ remarkPlugins: () => [I, ce(s == null ? void 0 : s.twemojiOptions)],
291
279
  prosePlugins: () => {
292
280
  var e;
293
- return [re(r, (e = a == null ? void 0 : a.maxListSize) != null ? e : 6, a == null ? void 0 : a.twemojiOptions)];
281
+ return [re(n, (e = s == null ? void 0 : s.maxListSize) != null ? e : 6, s == null ? void 0 : s.twemojiOptions)];
294
282
  }
295
283
  };
296
- }), Le = H.create([ce()]);
284
+ }), Ee = O.create([ae()]);
297
285
  export {
298
- Le as emoji,
299
- ce as emojiNode
286
+ Ee as emoji,
287
+ ae as emojiNode
300
288
  };
301
289
  //# sourceMappingURL=index.es.js.map