my-anees-package 1.0.12 → 1.0.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.
@@ -1,13 +1,13 @@
1
- import t, { useRef as F, useEffect as I, useState as L, useMemo as tt, useCallback as J } from "react";
2
- import { createPortal as z } from "react-dom";
3
- import { FontAwesomeIcon as Y } from "@fortawesome/react-fontawesome";
1
+ import t, { useRef as F, useEffect as q, useState as L, useMemo as et, useCallback as J } from "react";
2
+ import { createPortal as G } from "react-dom";
3
+ import { FontAwesomeIcon as j } from "@fortawesome/react-fontawesome";
4
4
  import { faBold as mt, faItalic as ct } from "@fortawesome/free-solid-svg-icons";
5
- import { CKEditor as vt } from "@ckeditor/ckeditor5-react";
6
- import { MathfieldElement as rt } from "mathlive";
7
- import { Essentials as xt, Bold as Ct, Italic as Et, Underline as St, Paragraph as Bt, Heading as Dt, Table as Pt, TableToolbar as Lt, TableCellProperties as Tt, TableProperties as Nt, List as It, Link as qt, Undo as Wt, ClassicEditor as Rt, Plugin as ht, ButtonView as at, Widget as Ht, toWidget as Ot } from "ckeditor5";
5
+ import { CKEditor as yt } from "@ckeditor/ckeditor5-react";
6
+ import "mathlive";
7
+ import { Essentials as vt, Bold as xt, Italic as Ct, Underline as Et, Paragraph as St, Heading as Bt, Table as Pt, TableToolbar as Dt, TableCellProperties as Lt, TableProperties as Tt, List as Nt, Link as It, Undo as qt, ClassicEditor as Wt, Plugin as ht, ButtonView as at, Widget as Rt, toWidget as Ht } from "ckeditor5";
8
8
  import "ckeditor5/ckeditor5.css";
9
9
  const bt = "data:image/png;base64,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", pt = "data:image/png;base64,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", it = "data-mathfield-shadow-styles";
10
- function G(r) {
10
+ function Y(r) {
11
11
  const l = r == null ? void 0 : r.shadowRoot;
12
12
  if (!l) return;
13
13
  const h = r.hasAttribute("read-only") || r.hasAttribute("readonly"), n = h ? "readonly" : "editable";
@@ -31,30 +31,30 @@ function G(r) {
31
31
  }
32
32
  `);
33
33
  }
34
- function Ut() {
35
- document.querySelectorAll("math-field").forEach(G);
34
+ function Ot() {
35
+ document.querySelectorAll("math-field").forEach(Y);
36
36
  }
37
- let _ = null;
38
- function Jt() {
39
- _ || (Ut(), _ = new MutationObserver((r) => {
37
+ let $ = null;
38
+ function Ut() {
39
+ $ || (Ot(), $ = new MutationObserver((r) => {
40
40
  var l, h, n;
41
41
  for (const a of r) {
42
42
  if (a.type === "attributes" && ((l = a.target.tagName) == null ? void 0 : l.toLowerCase()) === "math-field") {
43
- G(a.target);
43
+ Y(a.target);
44
44
  continue;
45
45
  }
46
46
  if (a.addedNodes)
47
47
  for (const s of a.addedNodes)
48
- s instanceof Element && (((h = s.tagName) == null ? void 0 : h.toLowerCase()) === "math-field" && requestAnimationFrame(() => G(s)), (n = s.querySelectorAll) == null || n.call(s, "math-field").forEach((i) => requestAnimationFrame(() => G(i))));
48
+ s instanceof Element && (((h = s.tagName) == null ? void 0 : h.toLowerCase()) === "math-field" && requestAnimationFrame(() => Y(s)), (n = s.querySelectorAll) == null || n.call(s, "math-field").forEach((i) => requestAnimationFrame(() => Y(i))));
49
49
  }
50
- }), _.observe(document.body, {
50
+ }), $.observe(document.body, {
51
51
  childList: !0,
52
52
  subtree: !0,
53
53
  attributes: !0,
54
54
  attributeFilter: ["read-only", "readonly"]
55
55
  }));
56
56
  }
57
- const Ft = "§MATH§", Qt = "§END§";
57
+ const Jt = "§MATH§", Ft = "§END§";
58
58
  function nt(r) {
59
59
  return r.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
60
60
  }
@@ -113,54 +113,54 @@ function ot(r, l) {
113
113
  "FIGCAPTION",
114
114
  "COLGROUP",
115
115
  "COL"
116
- ]), a = (i, m) => {
116
+ ]), a = (i, o) => {
117
117
  Array.from(i.childNodes).forEach((c) => {
118
118
  if (c.nodeType === Node.TEXT_NODE)
119
- m.appendChild(document.createTextNode(c.textContent));
119
+ o.appendChild(document.createTextNode(c.textContent));
120
120
  else if (c.nodeType === Node.ELEMENT_NODE) {
121
121
  const E = c.nodeName;
122
122
  if (E === "MATH-FIELD")
123
- m.appendChild(c.cloneNode(!0));
123
+ o.appendChild(c.cloneNode(!0));
124
124
  else if (E === "BR")
125
- m.appendChild(document.createElement("br"));
125
+ o.appendChild(document.createElement("br"));
126
126
  else if (E === "SPAN" && c.classList.contains("math-tex")) {
127
127
  const f = document.createElement("span");
128
- f.className = "math-tex", c.getAttribute("data-latex") && f.setAttribute("data-latex", c.getAttribute("data-latex")), f.textContent = c.textContent, m.appendChild(f);
128
+ f.className = "math-tex", c.getAttribute("data-latex") && f.setAttribute("data-latex", c.getAttribute("data-latex")), f.textContent = c.textContent, o.appendChild(f);
129
129
  } else if (n.has(E)) {
130
130
  const f = { STRONG: "b", EM: "i" }, S = document.createElement(f[E] || E.toLowerCase());
131
131
  E === "A" && c.getAttribute("href") && (S.setAttribute("href", c.getAttribute("href")), S.setAttribute("target", "_blank"), S.setAttribute("rel", "noopener noreferrer")), ["style", "class", "colspan", "rowspan"].forEach((k) => {
132
132
  c.getAttribute(k) && S.setAttribute(k, c.getAttribute(k));
133
- }), a(c, S), m.appendChild(S);
133
+ }), a(c, S), o.appendChild(S);
134
134
  } else
135
- a(c, m);
135
+ a(c, o);
136
136
  }
137
137
  });
138
138
  }, s = document.createElement("span");
139
139
  for (a(h, s); s.firstChild; ) r.appendChild(s.firstChild);
140
140
  }
141
- function Vt({ value: r = "" }) {
141
+ function Qt({ value: r = "" }) {
142
142
  const l = F(null);
143
- return I(() => {
143
+ return q(() => {
144
144
  const h = l.current;
145
145
  if (!h) return;
146
146
  h.innerHTML = "";
147
147
  const n = new RegExp(
148
- nt(Ft) + "([\\s\\S]*?)" + nt(Qt),
148
+ nt(Jt) + "([\\s\\S]*?)" + nt(Ft),
149
149
  "g"
150
150
  );
151
151
  let a = 0, s;
152
152
  for (; (s = n.exec(r)) !== null; ) {
153
153
  if (s.index > a) {
154
- const m = r.slice(a, s.index);
155
- ot(h, m);
154
+ const o = r.slice(a, s.index);
155
+ ot(h, o);
156
156
  }
157
157
  const i = s[1];
158
158
  h.appendChild(st(i)), a = s.index + s[0].length;
159
159
  }
160
160
  a < r.length && ot(h, r.slice(a)), h.querySelectorAll("span.math-tex").forEach((i) => {
161
- const m = i.getAttribute("data-latex") || i.textContent || "";
162
- if (m) {
163
- const c = st(m);
161
+ const o = i.getAttribute("data-latex") || i.textContent || "";
162
+ if (o) {
163
+ const c = st(o);
164
164
  i.replaceWith(c);
165
165
  }
166
166
  });
@@ -181,7 +181,7 @@ const dt = [
181
181
  { id: "Number", name: "Number", ranges: [[48, 57], [8528, 8591], [8304, 8351]] },
182
182
  { id: "Phonetic", name: "Phonetic", ranges: [[592, 687], [7424, 7551]] },
183
183
  { id: "Other", name: "Other", ranges: [[8352, 8399], [8448, 8527], [9632, 9727]] }
184
- ], Xt = () => {
184
+ ], Vt = () => {
185
185
  const r = [];
186
186
  return dt.slice(1).forEach((l) => {
187
187
  l.ranges.forEach((h) => {
@@ -193,87 +193,86 @@ const dt = [
193
193
  });
194
194
  });
195
195
  }), r;
196
- }, Zt = Xt();
197
- function Kt({ isOpen: r, onClose: l, onInsert: h, position: n }) {
198
- const [a, s] = L(""), [i, m] = L("All");
199
- I(() => {
200
- r && (s(""), m("All"));
196
+ }, Xt = Vt();
197
+ function Zt({ isOpen: r, onClose: l, onInsert: h, position: n }) {
198
+ const [a, s] = L(""), [i, o] = L("All");
199
+ q(() => {
200
+ r && (s(""), o("All"));
201
201
  }, [r]);
202
- const c = tt(() => {
203
- let u = Zt;
204
- if (i !== "All" && (u = u.filter((k) => k.category === i)), a.trim()) {
202
+ const c = et(() => {
203
+ let g = Xt;
204
+ if (i !== "All" && (g = g.filter((k) => k.category === i)), a.trim()) {
205
205
  const k = a.trim().toUpperCase();
206
- u = u.filter((p) => p.code.includes(k));
206
+ g = g.filter((u) => u.code.includes(k));
207
207
  }
208
- return u;
209
- }, [i, a]), E = tt(() => {
208
+ return g;
209
+ }, [i, a]), E = et(() => {
210
210
  if (i !== "All" && !a.trim())
211
211
  return { [i]: c };
212
- const u = {};
212
+ const g = {};
213
213
  return c.forEach((k) => {
214
- u[k.category] || (u[k.category] = []), u[k.category].push(k);
215
- }), u;
216
- }, [c, i, a]), f = (u) => {
217
- u.key === "Escape" && l();
214
+ g[k.category] || (g[k.category] = []), g[k.category].push(k);
215
+ }), g;
216
+ }, [c, i, a]), f = (g) => {
217
+ g.key === "Escape" && l();
218
218
  };
219
- if (I(() => (r && window.addEventListener("keydown", f), () => window.removeEventListener("keydown", f)), [r]), !r) return null;
219
+ if (q(() => (r && window.addEventListener("keydown", f), () => window.removeEventListener("keydown", f)), [r]), !r) return null;
220
220
  let S = { top: "50%", left: "50%", transform: "translate(-50%, -50%)" };
221
221
  if (n) {
222
- let u = n.x - 120, k = n.y;
223
- u < 10 && (u = 10), u + 230 > window.innerWidth && (u = window.innerWidth - 240), k + 200 > window.innerHeight && (k = window.innerHeight - 210), S = { top: `${k}px`, left: `${u}px` };
222
+ let g = n.x - 120, k = n.y;
223
+ g < 10 && (g = 10), g + 230 > window.innerWidth && (g = window.innerWidth - 240), k + 200 > window.innerHeight && (k = window.innerHeight - 210), S = { top: `${k}px`, left: `${g}px` };
224
224
  }
225
- return /* @__PURE__ */ t.createElement("div", { className: "scm-overlay", onMouseDown: (u) => {
226
- u.stopPropagation(), l();
227
- } }, /* @__PURE__ */ t.createElement("div", { className: "scm-modal", style: S, onMouseDown: (u) => u.stopPropagation() }, /* @__PURE__ */ t.createElement("div", { className: "scm-toolbar" }, /* @__PURE__ */ t.createElement(
225
+ return /* @__PURE__ */ t.createElement("div", { className: "scm-overlay", onMouseDown: (g) => {
226
+ g.stopPropagation(), l();
227
+ } }, /* @__PURE__ */ t.createElement("div", { className: "scm-modal", style: S, onMouseDown: (g) => g.stopPropagation() }, /* @__PURE__ */ t.createElement("div", { className: "scm-toolbar" }, /* @__PURE__ */ t.createElement(
228
228
  "input",
229
229
  {
230
230
  type: "text",
231
231
  placeholder: "Code",
232
232
  value: a,
233
- onChange: (u) => s(u.target.value),
233
+ onChange: (g) => s(g.target.value),
234
234
  className: "scm-code-input"
235
235
  }
236
236
  ), /* @__PURE__ */ t.createElement(
237
237
  "select",
238
238
  {
239
239
  value: i,
240
- onChange: (u) => m(u.target.value),
240
+ onChange: (g) => o(g.target.value),
241
241
  className: "scm-category-select"
242
242
  },
243
- dt.map((u) => /* @__PURE__ */ t.createElement("option", { key: u.id, value: u.id }, u.name))
244
- )), /* @__PURE__ */ t.createElement("div", { className: "scm-body" }, /* @__PURE__ */ t.createElement("div", { className: "scm-grid-container" }, Object.entries(E).map(([u, k]) => /* @__PURE__ */ t.createElement("div", { key: u, className: "scm-category-group" }, /* @__PURE__ */ t.createElement("div", { className: "scm-char-grid" }, k.map((p) => /* @__PURE__ */ t.createElement(
243
+ dt.map((g) => /* @__PURE__ */ t.createElement("option", { key: g.id, value: g.id }, g.name))
244
+ )), /* @__PURE__ */ t.createElement("div", { className: "scm-body" }, /* @__PURE__ */ t.createElement("div", { className: "scm-grid-container" }, Object.entries(E).map(([g, k]) => /* @__PURE__ */ t.createElement("div", { key: g, className: "scm-category-group" }, /* @__PURE__ */ t.createElement("div", { className: "scm-char-grid" }, k.map((u) => /* @__PURE__ */ t.createElement(
245
245
  "button",
246
246
  {
247
- key: p.code,
247
+ key: u.code,
248
248
  className: "scm-char-btn",
249
249
  onClick: () => {
250
- h(p.char), l();
250
+ h(u.char), l();
251
251
  },
252
- title: `U+${p.code}`
252
+ title: `U+${u.code}`
253
253
  },
254
- p.char
254
+ u.char
255
255
  ))))), c.length === 0 && /* @__PURE__ */ t.createElement("div", { className: "scm-no-results" }, "No characters found.")))));
256
256
  }
257
- typeof window < "u" && (window.MathfieldElement ? window.MathfieldElement.fontsDirectory = "https://cdn.jsdelivr.net/npm/mathlive/dist/fonts" : rt && (rt.fontsDirectory = "https://cdn.jsdelivr.net/npm/mathlive/dist/fonts"));
258
257
  window.__ckMathWidgets = window.__ckMathWidgets || /* @__PURE__ */ new Map();
259
258
  window.__ckMathWidgetClickHandler = null;
260
259
  function ut(r) {
261
260
  var h, n, a, s, i;
262
261
  if (!r) return null;
263
262
  const l = typeof r.composedPath == "function" ? r.composedPath() : [r];
264
- for (const m of l)
265
- if (m instanceof HTMLElement && ((h = m.classList) != null && h.contains("ck-math-widget") || (n = m.dataset) != null && n.mathId || (a = m.classList) != null && a.contains("ck-widget") && ((s = m.querySelector) != null && s.call(m, ".ck-math-widget-inner"))))
266
- return m;
263
+ for (const o of l)
264
+ if (o instanceof HTMLElement && ((h = o.classList) != null && h.contains("ck-math-widget") || (n = o.dataset) != null && n.mathId || (a = o.classList) != null && a.contains("ck-widget") && ((s = o.querySelector) != null && s.call(o, ".ck-math-widget-inner"))))
265
+ return o;
267
266
  return r instanceof Element ? (i = r.closest) == null ? void 0 : i.call(r, ".ck-math-widget, [data-math-id]") : null;
268
267
  }
269
- function X(r) {
268
+ function Z(r) {
270
269
  if (!r) return "";
271
270
  const l = r.getAttribute("data-latex");
272
271
  if (l) return l;
273
272
  const h = r.querySelector("math-field");
274
273
  return h ? h.getValue ? h.getValue() : h.value || "" : "";
275
274
  }
276
- function et(r, l) {
275
+ function lt(r, l) {
277
276
  if (!r || !l) return !1;
278
277
  try {
279
278
  return r.model.createPositionBefore(l), !0;
@@ -281,52 +280,52 @@ function et(r, l) {
281
280
  return !1;
282
281
  }
283
282
  }
284
- function zt(r, l) {
285
- var m;
283
+ function Kt(r, l) {
284
+ var o;
286
285
  if (!r || !l) return null;
287
286
  const h = r.model.document.selection.getSelectedElement();
288
287
  if ((h == null ? void 0 : h.name) === "mathInline") return h;
289
288
  const n = l.getAttribute("data-math-id");
290
289
  if (n) {
291
290
  const c = window.__ckMathWidgets.get(n);
292
- if (et(r, c)) return c;
291
+ if (lt(r, c)) return c;
293
292
  }
294
293
  const a = r.editing.view.domConverter.mapDomToView(l);
295
294
  if (a) {
296
295
  const c = r.editing.mapper.toModelElement(a);
297
296
  if ((c == null ? void 0 : c.name) === "mathInline") return c;
298
297
  }
299
- const s = X(l);
298
+ const s = Z(l);
300
299
  if (!s) return null;
301
300
  const i = r.model.document.getRoot();
302
301
  for (const { item: c } of r.model.createRangeIn(i))
303
- if ((m = c.is) != null && m.call(c, "element", "mathInline") && c.getAttribute("latex") === s)
302
+ if ((o = c.is) != null && o.call(c, "element", "mathInline") && c.getAttribute("latex") === s)
304
303
  return c;
305
304
  return null;
306
305
  }
307
- function lt(r, l, h, n) {
306
+ function rt(r, l, h, n) {
308
307
  if (!r || r._mathWidgetOpening) return;
309
308
  r._mathWidgetOpening = !0, queueMicrotask(() => {
310
309
  r._mathWidgetOpening = !1;
311
310
  });
312
- const a = et(r, l) ? l : zt(r, n), s = (a == null ? void 0 : a.getAttribute("latex")) || h || X(n);
311
+ const a = lt(r, l) ? l : Kt(r, n), s = (a == null ? void 0 : a.getAttribute("latex")) || h || Z(n);
313
312
  if (!s) return;
314
- a && r.model.change((m) => {
315
- m.setSelection(a, "on");
313
+ a && r.model.change((o) => {
314
+ o.setSelection(a, "on");
316
315
  });
317
316
  const i = r.mathWidgetClickHandler || window.__ckMathWidgetClickHandler;
318
317
  i == null || i(a, s);
319
318
  }
320
- function Gt(r, l) {
319
+ function zt(r, l) {
321
320
  if (!l || l._ckMathClickBound) return;
322
321
  l._ckMathClickBound = !0;
323
322
  const h = (n) => {
324
323
  var a;
325
- n.button === 0 && (n.preventDefault(), n.stopPropagation(), (a = n.stopImmediatePropagation) == null || a.call(n), lt(r, null, X(l), l));
324
+ n.button === 0 && (n.preventDefault(), n.stopPropagation(), (a = n.stopImmediatePropagation) == null || a.call(n), rt(r, null, Z(l), l));
326
325
  };
327
326
  l.addEventListener("mousedown", h, !0), l.addEventListener("click", h, !0);
328
327
  }
329
- const Yt = [
328
+ const Gt = [
330
329
  {
331
330
  label: "√(□)",
332
331
  fontSize: "9px",
@@ -378,8 +377,8 @@ const Yt = [
378
377
  { label: "↷", action: "REDO", title: "Redo" },
379
378
  { type: "sep", cols: 2 },
380
379
  // 7. Formatting Group (2 cols)
381
- { label: /* @__PURE__ */ t.createElement(Y, { icon: mt }), action: "BOLD", cls: "template", title: "Bold" },
382
- { label: /* @__PURE__ */ t.createElement(Y, { icon: ct }), action: "ITALIC", cls: "template", title: "Italic" },
380
+ { label: /* @__PURE__ */ t.createElement(j, { icon: mt }), action: "BOLD", cls: "template", title: "Bold" },
381
+ { label: /* @__PURE__ */ t.createElement(j, { icon: ct }), action: "ITALIC", cls: "template", title: "Italic" },
383
382
  {
384
383
  label: /* @__PURE__ */ t.createElement(
385
384
  "img",
@@ -783,59 +782,68 @@ const Yt = [
783
782
  cls: "cme-dark-large",
784
783
  moreCols: 18,
785
784
  moreItems: [
785
+ // --- Row 1 ---
786
786
  { label: "𝔸", insert: "\\mathbb{A}", title: "Mathbb A" },
787
- { label: "𝔹", insert: "\\mathbb{B}", title: "Mathbb B" },
788
- { label: "ℂ", insert: "\\mathbb{C}", title: "Mathbb C" },
789
787
  { label: "𝔻", insert: "\\mathbb{D}", title: "Mathbb D" },
790
- { label: "𝔼", insert: "\\mathbb{E}", title: "Mathbb E" },
791
- { label: "𝔽", insert: "\\mathbb{F}", title: "Mathbb F" },
792
788
  { label: "𝔾", insert: "\\mathbb{G}", title: "Mathbb G" },
793
- { label: "ℍ", insert: "\\mathbb{H}", title: "Mathbb H" },
794
- { label: "𝕀", insert: "\\mathbb{I}", title: "Mathbb I" },
795
789
  { label: "𝕁", insert: "\\mathbb{J}", title: "Mathbb J" },
796
- { label: "𝕂", insert: "\\mathbb{K}", title: "Mathbb K" },
797
- { label: "𝕃", insert: "\\mathbb{L}", title: "Mathbb L" },
798
790
  { label: "𝕄", insert: "\\mathbb{M}", title: "Mathbb M" },
799
- { label: "ℕ", insert: "\\mathbb{N}", title: "Mathbb N" },
800
- { label: "𝕆", insert: "\\mathbb{O}", title: "Mathbb O" },
801
791
  { label: "ℙ", insert: "\\mathbb{P}", title: "Mathbb P" },
802
- { label: "ℚ", insert: "\\mathbb{Q}", title: "Mathbb Q" },
803
- { label: "ℝ", insert: "\\mathbb{R}", title: "Mathbb R" },
804
792
  { label: "𝕊", insert: "\\mathbb{S}", title: "Mathbb S" },
805
- { label: "𝕋", insert: "\\mathbb{T}", title: "Mathbb T" },
806
- { label: "𝕌", insert: "\\mathbb{U}", title: "Mathbb U" },
807
793
  { label: "𝕍", insert: "\\mathbb{V}", title: "Mathbb V" },
808
- { label: "𝕎", insert: "\\mathbb{W}", title: "Mathbb W" },
809
- { label: "𝕏", insert: "\\mathbb{X}", title: "Mathbb X" },
810
794
  { label: "𝕐", insert: "\\mathbb{Y}", title: "Mathbb Y" },
811
- { label: "ℤ", insert: "\\mathbb{Z}", title: "Mathbb Z" },
812
- //small letters
795
+ // Small letters Row 1
813
796
  { label: "𝕒", insert: "𝕒", title: "Mathbb a" },
814
- { label: "𝕓", insert: "𝕓", title: "Mathbb b" },
815
- { label: "𝕔", insert: "𝕔", title: "Mathbb c" },
816
797
  { label: "𝕕", insert: "𝕕", title: "Mathbb d" },
817
- { label: "𝕖", insert: "𝕖", title: "Mathbb e" },
818
- { label: "𝕗", insert: "𝕗", title: "Mathbb f" },
819
798
  { label: "𝕘", insert: "𝕘", title: "Mathbb g" },
820
- { label: "𝕙", insert: "𝕙", title: "Mathbb h" },
821
- { label: "𝕚", insert: "𝕚", title: "Mathbb i" },
822
799
  { label: "𝕛", insert: "𝕛", title: "Mathbb j" },
823
- { label: "𝕜", insert: "𝕜", title: "Mathbb k" },
824
- { label: "𝕝", insert: "𝕝", title: "Mathbb l" },
825
800
  { label: "𝕞", insert: "𝕞", title: "Mathbb m" },
826
- { label: "𝕟", insert: "𝕟", title: "Mathbb n" },
827
- { label: "𝕠", insert: "𝕠", title: "Mathbb o" },
828
801
  { label: "𝕡", insert: "𝕡", title: "Mathbb p" },
829
- { label: "𝕢", insert: "𝕢", title: "Mathbb q" },
830
- { label: "𝕣", insert: "𝕣", title: "Mathbb r" },
831
802
  { label: "𝕤", insert: "𝕤", title: "Mathbb s" },
832
- { label: "𝕥", insert: "𝕥", title: "Mathbb t" },
833
- { label: "𝕦", insert: "𝕦", title: "Mathbb u" },
834
803
  { label: "𝕧", insert: "𝕧", title: "Mathbb v" },
804
+ { label: "𝕪", insert: "𝕪", title: "Mathbb y" },
805
+ // --- Row 2 ---
806
+ { label: "𝔹", insert: "\\mathbb{B}", title: "Mathbb B" },
807
+ { label: "𝔼", insert: "\\mathbb{E}", title: "Mathbb E" },
808
+ { label: "ℍ", insert: "\\mathbb{H}", title: "Mathbb H" },
809
+ { label: "𝕂", insert: "\\mathbb{K}", title: "Mathbb K" },
810
+ { label: "ℕ", insert: "\\mathbb{N}", title: "Mathbb N" },
811
+ { label: "ℚ", insert: "\\mathbb{Q}", title: "Mathbb Q" },
812
+ { label: "𝕋", insert: "\\mathbb{T}", title: "Mathbb T" },
813
+ { label: "𝕎", insert: "\\mathbb{W}", title: "Mathbb W" },
814
+ { label: "ℤ", insert: "\\mathbb{Z}", title: "Mathbb Z" },
815
+ // Small letters Row 2
816
+ { label: "𝕓", insert: "𝕓", title: "Mathbb b" },
817
+ { label: "𝕖", insert: "𝕖", title: "Mathbb e" },
818
+ { label: "𝕙", insert: "𝕙", title: "Mathbb h" },
819
+ { label: "𝕜", insert: "𝕜", title: "Mathbb k" },
820
+ { label: "𝕟", insert: "𝕟", title: "Mathbb n" },
821
+ { label: "𝕢", insert: "𝕢", title: "Mathbb q" },
822
+ { label: "𝕥", insert: "𝕥", title: "Mathbb t" },
835
823
  { label: "𝕨", insert: "𝕨", title: "Mathbb w" },
824
+ { label: "𝕫", insert: "𝕫", title: "Mathbb z" },
825
+ // --- Row 3 ---
826
+ { label: "ℂ", insert: "\\mathbb{C}", title: "Mathbb C" },
827
+ { label: "𝔽", insert: "\\mathbb{F}", title: "Mathbb F" },
828
+ { label: "𝕀", insert: "\\mathbb{I}", title: "Mathbb I" },
829
+ { label: "𝕃", insert: "\\mathbb{L}", title: "Mathbb L" },
830
+ { label: "𝕆", insert: "\\mathbb{O}", title: "Mathbb O" },
831
+ { label: "ℝ", insert: "\\mathbb{R}", title: "Mathbb R" },
832
+ { label: "𝕌", insert: "\\mathbb{U}", title: "Mathbb U" },
833
+ { label: "𝕏", insert: "\\mathbb{X}", title: "Mathbb X" },
834
+ { label: " ", insert: "", cls: "cme-empty-btn", title: "" },
835
+ // empty placeholder
836
+ // Small letters Row 3
837
+ { label: "𝕔", insert: "𝕔", title: "Mathbb c" },
838
+ { label: "𝕗", insert: "𝕗", title: "Mathbb f" },
839
+ { label: "𝕚", insert: "𝕚", title: "Mathbb i" },
840
+ { label: "𝕝", insert: "𝕝", title: "Mathbb l" },
841
+ { label: "𝕠", insert: "𝕠", title: "Mathbb o" },
842
+ { label: "𝕣", insert: "𝕣", title: "Mathbb r" },
843
+ { label: "𝕦", insert: "𝕦", title: "Mathbb u" },
836
844
  { label: "𝕩", insert: "𝕩", title: "Mathbb x" },
837
- { label: "𝕪", insert: "𝕪", title: "Mathbb y" },
838
- { label: "𝕫", insert: "𝕫", title: "Mathbb z" }
845
+ { label: " ", insert: "", cls: "cme-empty-btn", title: "" }
846
+ // empty placeholder
839
847
  ]
840
848
  },
841
849
  { label: "ℕ", insert: "ℕ", title: "Mathbb N" },
@@ -852,59 +860,68 @@ const Yt = [
852
860
  cls: "cme-dark-large",
853
861
  moreCols: 18,
854
862
  moreItems: [
863
+ // --- Row 1 ---
855
864
  { label: "𝔄", insert: "\\mathfrak{A}", title: "Mathfrak A" },
856
- { label: "𝔅", insert: "\\mathfrak{B}", title: "Mathfrak B" },
857
- { label: "ℭ", insert: "\\mathfrak{C}", title: "Mathfrak C" },
858
865
  { label: "𝔇", insert: "\\mathfrak{D}", title: "Mathfrak D" },
859
- { label: "𝔈", insert: "\\mathfrak{E}", title: "Mathfrak E" },
860
- { label: "𝔉", insert: "\\mathfrak{F}", title: "Mathfrak F" },
861
866
  { label: "𝔊", insert: "\\mathfrak{G}", title: "Mathfrak G" },
862
- { label: "ℌ", insert: "\\mathfrak{H}", title: "Mathfrak H" },
863
- { label: "ℑ", insert: "\\mathfrak{I}", title: "Mathfrak I" },
864
867
  { label: "𝔍", insert: "\\mathfrak{J}", title: "Mathfrak J" },
865
- { label: "𝔎", insert: "\\mathfrak{K}", title: "Mathfrak K" },
866
- { label: "𝔏", insert: "\\mathfrak{L}", title: "Mathfrak L" },
867
868
  { label: "𝔐", insert: "\\mathfrak{M}", title: "Mathfrak M" },
868
- { label: "𝔑", insert: "\\mathfrak{N}", title: "Mathfrak N" },
869
- { label: "𝔒", insert: "\\mathfrak{O}", title: "Mathfrak O" },
870
869
  { label: "𝔓", insert: "\\mathfrak{P}", title: "Mathfrak P" },
871
- { label: "𝔔", insert: "\\mathfrak{Q}", title: "Mathfrak Q" },
872
- { label: "ℜ", insert: "\\mathfrak{R}", title: "Mathfrak R" },
873
870
  { label: "𝔖", insert: "\\mathfrak{S}", title: "Mathfrak S" },
874
- { label: "𝔗", insert: "\\mathfrak{T}", title: "Mathfrak T" },
875
- { label: "𝔘", insert: "\\mathfrak{U}", title: "Mathfrak U" },
876
871
  { label: "𝔙", insert: "\\mathfrak{V}", title: "Mathfrak V" },
877
- { label: "𝔚", insert: "\\mathfrak{W}", title: "Mathfrak W" },
878
- { label: "𝔛", insert: "\\mathfrak{X}", title: "Mathfrak X" },
879
872
  { label: "𝔜", insert: "\\mathfrak{Y}", title: "Mathfrak Y" },
880
- { label: "ℨ", insert: "\\mathfrak{Z}", title: "Mathfrak Z" },
881
- //small letters
873
+ // Small letters Row 1
882
874
  { label: "𝔞", insert: "\\mathfrak{a}", title: "Mathfrak a" },
883
- { label: "𝔟", insert: "\\mathfrak{b}", title: "Mathfrak b" },
884
- { label: "𝔠", insert: "\\mathfrak{c}", title: "Mathfrak c" },
885
875
  { label: "𝔡", insert: "\\mathfrak{d}", title: "Mathfrak d" },
886
- { label: "𝔢", insert: "\\mathfrak{e}", title: "Mathfrak e" },
887
- { label: "𝔣", insert: "\\mathfrak{f}", title: "Mathfrak f" },
888
876
  { label: "𝔤", insert: "\\mathfrak{g}", title: "Mathfrak g" },
889
- { label: "𝔥", insert: "\\mathfrak{h}", title: "Mathfrak h" },
890
- { label: "𝔦", insert: "\\mathfrak{i}", title: "Mathfrak i" },
891
877
  { label: "𝔧", insert: "\\mathfrak{j}", title: "Mathfrak j" },
892
- { label: "𝔨", insert: "\\mathfrak{k}", title: "Mathfrak k" },
893
- { label: "𝔩", insert: "\\mathfrak{l}", title: "Mathfrak l" },
894
878
  { label: "𝔪", insert: "\\mathfrak{m}", title: "Mathfrak m" },
895
- { label: "𝔫", insert: "\\mathfrak{n}", title: "Mathfrak n" },
896
- { label: "𝔬", insert: "\\mathfrak{o}", title: "Mathfrak o" },
897
879
  { label: "𝔭", insert: "\\mathfrak{p}", title: "Mathfrak p" },
898
- { label: "𝔮", insert: "\\mathfrak{q}", title: "Mathfrak q" },
899
- { label: "𝔯", insert: "\\mathfrak{r}", title: "Mathfrak r" },
900
880
  { label: "𝔰", insert: "\\mathfrak{s}", title: "Mathfrak s" },
901
- { label: "𝔱", insert: "\\mathfrak{t}", title: "Mathfrak t" },
902
- { label: "𝔲", insert: "\\mathfrak{u}", title: "Mathfrak u" },
903
881
  { label: "𝔳", insert: "\\mathfrak{v}", title: "Mathfrak v" },
882
+ { label: "𝔶", insert: "\\mathfrak{y}", title: "Mathfrak y" },
883
+ // --- Row 2 ---
884
+ { label: "𝔅", insert: "\\mathfrak{B}", title: "Mathfrak B" },
885
+ { label: "𝔈", insert: "\\mathfrak{E}", title: "Mathfrak E" },
886
+ { label: "ℌ", insert: "\\mathfrak{H}", title: "Mathfrak H" },
887
+ { label: "𝔎", insert: "\\mathfrak{K}", title: "Mathfrak K" },
888
+ { label: "𝔑", insert: "\\mathfrak{N}", title: "Mathfrak N" },
889
+ { label: "𝔔", insert: "\\mathfrak{Q}", title: "Mathfrak Q" },
890
+ { label: "𝔗", insert: "\\mathfrak{T}", title: "Mathfrak T" },
891
+ { label: "𝔚", insert: "\\mathfrak{W}", title: "Mathfrak W" },
892
+ { label: "ℨ", insert: "\\mathfrak{Z}", title: "Mathfrak Z" },
893
+ // Small letters Row 2
894
+ { label: "𝔟", insert: "\\mathfrak{b}", title: "Mathfrak b" },
895
+ { label: "𝔢", insert: "\\mathfrak{e}", title: "Mathfrak e" },
896
+ { label: "𝔥", insert: "\\mathfrak{h}", title: "Mathfrak h" },
897
+ { label: "𝔨", insert: "\\mathfrak{k}", title: "Mathfrak k" },
898
+ { label: "𝔫", insert: "\\mathfrak{n}", title: "Mathfrak n" },
899
+ { label: "𝔮", insert: "\\mathfrak{q}", title: "Mathfrak q" },
900
+ { label: "𝔱", insert: "\\mathfrak{t}", title: "Mathfrak t" },
904
901
  { label: "𝔴", insert: "\\mathfrak{w}", title: "Mathfrak w" },
902
+ { label: "𝔷", insert: "\\mathfrak{z}", title: "Mathfrak z" },
903
+ // --- Row 3 ---
904
+ { label: "ℭ", insert: "\\mathfrak{C}", title: "Mathfrak C" },
905
+ { label: "𝔉", insert: "\\mathfrak{F}", title: "Mathfrak F" },
906
+ { label: "ℑ", insert: "\\mathfrak{I}", title: "Mathfrak I" },
907
+ { label: "𝔏", insert: "\\mathfrak{L}", title: "Mathfrak L" },
908
+ { label: "𝔒", insert: "\\mathfrak{O}", title: "Mathfrak O" },
909
+ { label: "ℜ", insert: "\\mathfrak{R}", title: "Mathfrak R" },
910
+ { label: "𝔘", insert: "\\mathfrak{U}", title: "Mathfrak U" },
911
+ { label: "𝔛", insert: "\\mathfrak{X}", title: "Mathfrak X" },
912
+ { label: " ", insert: "", cls: "cme-empty-btn", title: "" },
913
+ // empty placeholder
914
+ // Small letters Row 3
915
+ { label: "𝔠", insert: "\\mathfrak{c}", title: "Mathfrak c" },
916
+ { label: "𝔣", insert: "\\mathfrak{f}", title: "Mathfrak f" },
917
+ { label: "𝔦", insert: "\\mathfrak{i}", title: "Mathfrak i" },
918
+ { label: "𝔩", insert: "\\mathfrak{l}", title: "Mathfrak l" },
919
+ { label: "𝔬", insert: "\\mathfrak{o}", title: "Mathfrak o" },
920
+ { label: "𝔯", insert: "\\mathfrak{r}", title: "Mathfrak r" },
921
+ { label: "𝔲", insert: "\\mathfrak{u}", title: "Mathfrak u" },
905
922
  { label: "𝔵", insert: "\\mathfrak{x}", title: "Mathfrak x" },
906
- { label: "𝔶", insert: "\\mathfrak{y}", title: "Mathfrak y" },
907
- { label: "𝔷", insert: "\\mathfrak{z}", title: "Mathfrak z" }
923
+ { label: " ", insert: "", cls: "cme-empty-btn", title: "" }
924
+ // empty placeholder
908
925
  ]
909
926
  },
910
927
  { label: "𝔄", insert: "\\mathfrak{A}", title: "Mathfrak A" },
@@ -917,58 +934,68 @@ const Yt = [
917
934
  cls: "cme-dark-large",
918
935
  moreCols: 18,
919
936
  moreItems: [
937
+ // --- Row 1 ---
920
938
  { label: "𝒜", insert: "\\mathcal{A}", title: "Mathcal A" },
921
- { label: "ℬ", insert: "\\mathcal{B}", title: "Mathcal B" },
922
- { label: "𝒞", insert: "\\mathcal{C}", title: "Mathcal C" },
923
939
  { label: "𝒟", insert: "\\mathcal{D}", title: "Mathcal D" },
924
- { label: "ℰ", insert: "\\mathcal{E}", title: "Mathcal E" },
925
- { label: "ℱ", insert: "\\mathcal{F}", title: "Mathcal F" },
926
940
  { label: "𝒢", insert: "\\mathcal{G}", title: "Mathcal G" },
927
- { label: "ℋ", insert: "\\mathcal{H}", title: "Mathcal H" },
928
- { label: "ℐ", insert: "\\mathcal{I}", title: "Mathcal I" },
929
941
  { label: "𝒥", insert: "\\mathcal{J}", title: "Mathcal J" },
930
- { label: "𝒦", insert: "\\mathcal{K}", title: "Mathcal K" },
931
- { label: "ℒ", insert: "\\mathcal{L}", title: "Mathcal L" },
932
942
  { label: "ℳ", insert: "\\mathcal{M}", title: "Mathcal M" },
933
- { label: "𝒩", insert: "\\mathcal{N}", title: "Mathcal N" },
934
- { label: "𝒪", insert: "\\mathcal{O}", title: "Mathcal O" },
935
943
  { label: "𝒫", insert: "\\mathcal{P}", title: "Mathcal P" },
936
- { label: "𝒬", insert: "\\mathcal{Q}", title: "Mathcal Q" },
937
- { label: "ℛ", insert: "\\mathcal{R}", title: "Mathcal R" },
938
944
  { label: "𝒮", insert: "\\mathcal{S}", title: "Mathcal S" },
939
- { label: "𝒯", insert: "\\mathcal{T}", title: "Mathcal T" },
940
- { label: "𝒰", insert: "\\mathcal{U}", title: "Mathcal U" },
941
945
  { label: "𝒱", insert: "\\mathcal{V}", title: "Mathcal V" },
942
- { label: "𝒲", insert: "\\mathcal{W}", title: "Mathcal W" },
943
- { label: "𝒳", insert: "\\mathcal{X}", title: "Mathcal X" },
944
946
  { label: "𝒴", insert: "\\mathcal{Y}", title: "Mathcal Y" },
945
- { label: "𝒵", insert: "\\mathcal{Z}", title: "Mathcal Z" },
947
+ // Small letters Row 1
946
948
  { label: "𝒶", insert: "𝒶", title: "Mathcal a" },
947
- { label: "𝒷", insert: "𝒷", title: "Mathcal b" },
948
- { label: "𝒸", insert: "𝒸", title: "Mathcal c" },
949
949
  { label: "𝒹", insert: "𝒹", title: "Mathcal d" },
950
- { label: "", insert: "", title: "Mathcal i" },
951
- { label: "𝒻", insert: "𝒻", title: "Mathcal f" },
952
- { label: "ℊ", insert: "ℊ", title: "Mathcal l" },
953
- { label: "𝒽", insert: "𝒽", title: "Mathcal h" },
954
- { label: "𝒾", insert: "𝒾", title: "Mathcal i" },
950
+ { label: "", insert: "", title: "Mathcal g" },
955
951
  { label: "𝒿", insert: "𝒿", title: "Mathcal j" },
956
- { label: "𝓀", insert: "𝓀", title: "Mathcal k" },
957
- { label: "𝓁", insert: "𝓁", title: "Mathcal l" },
958
952
  { label: "𝓂", insert: "𝓂", title: "Mathcal m" },
959
- { label: "𝓃", insert: "𝓃", title: "Mathcal n" },
960
- { label: "ℴ", insert: "ℴ", title: "Mathcal undefined" },
961
953
  { label: "𝓅", insert: "𝓅", title: "Mathcal p" },
962
- { label: "𝓆", insert: "𝓆", title: "Mathcal q" },
963
- { label: "𝓇", insert: "𝓇", title: "Mathcal r" },
964
954
  { label: "𝓈", insert: "𝓈", title: "Mathcal s" },
965
- { label: "𝓉", insert: "𝓉", title: "Mathcal t" },
966
- { label: "𝓊", insert: "𝓊", title: "Mathcal u" },
967
955
  { label: "𝓋", insert: "𝓋", title: "Mathcal v" },
956
+ { label: "𝓎", insert: "𝓎", title: "Mathcal y" },
957
+ // --- Row 2 ---
958
+ { label: "ℬ", insert: "\\mathcal{B}", title: "Mathcal B" },
959
+ { label: "ℰ", insert: "\\mathcal{E}", title: "Mathcal E" },
960
+ { label: "ℋ", insert: "\\mathcal{H}", title: "Mathcal H" },
961
+ { label: "𝒦", insert: "\\mathcal{K}", title: "Mathcal K" },
962
+ { label: "𝒩", insert: "\\mathcal{N}", title: "Mathcal N" },
963
+ { label: "𝒬", insert: "\\mathcal{Q}", title: "Mathcal Q" },
964
+ { label: "𝒯", insert: "\\mathcal{T}", title: "Mathcal T" },
965
+ { label: "𝒲", insert: "\\mathcal{W}", title: "Mathcal W" },
966
+ { label: "𝒵", insert: "\\mathcal{Z}", title: "Mathcal Z" },
967
+ // Small letters Row 2
968
+ { label: "𝒷", insert: "𝒷", title: "Mathcal b" },
969
+ { label: "ℯ", insert: "ℯ", title: "Mathcal e" },
970
+ { label: "𝒽", insert: "𝒽", title: "Mathcal h" },
971
+ { label: "𝓀", insert: "𝓀", title: "Mathcal k" },
972
+ { label: "𝓃", insert: "𝓃", title: "Mathcal n" },
973
+ { label: "𝓆", insert: "𝓆", title: "Mathcal q" },
974
+ { label: "𝓉", insert: "𝓉", title: "Mathcal t" },
968
975
  { label: "𝓌", insert: "𝓌", title: "Mathcal w" },
976
+ { label: "𝓏", insert: "𝓏", title: "Mathcal z" },
977
+ // --- Row 3 ---
978
+ { label: "𝒞", insert: "\\mathcal{C}", title: "Mathcal C" },
979
+ { label: "ℱ", insert: "\\mathcal{F}", title: "Mathcal F" },
980
+ { label: "ℐ", insert: "\\mathcal{I}", title: "Mathcal I" },
981
+ { label: "ℒ", insert: "\\mathcal{L}", title: "Mathcal L" },
982
+ { label: "𝒪", insert: "\\mathcal{O}", title: "Mathcal O" },
983
+ { label: "ℛ", insert: "\\mathcal{R}", title: "Mathcal R" },
984
+ { label: "𝒰", insert: "\\mathcal{U}", title: "Mathcal U" },
985
+ { label: "𝒳", insert: "\\mathcal{X}", title: "Mathcal X" },
986
+ { label: " ", insert: "", cls: "cme-empty-btn", title: "" },
987
+ // empty placeholder
988
+ // Small letters Row 3
989
+ { label: "𝒸", insert: "𝒸", title: "Mathcal c" },
990
+ { label: "𝒻", insert: "𝒻", title: "Mathcal f" },
991
+ { label: "𝒾", insert: "𝒾", title: "Mathcal i" },
992
+ { label: "𝓁", insert: "𝓁", title: "Mathcal l" },
993
+ { label: "ℴ", insert: "ℴ", title: "Mathcal o" },
994
+ { label: "𝓇", insert: "𝓇", title: "Mathcal r" },
995
+ { label: "𝓊", insert: "𝓊", title: "Mathcal u" },
969
996
  { label: "𝓍", insert: "𝓍", title: "Mathcal x" },
970
- { label: "𝓎", insert: "𝓎", title: "Mathcal y" },
971
- { label: "𝓏", insert: "𝓏", title: "Mathcal z" }
997
+ { label: " ", insert: "", cls: "cme-empty-btn", title: "" }
998
+ // empty placeholder
972
999
  ]
973
1000
  },
974
1001
  { label: "𝒜", insert: "\\mathcal{A}", title: "Mathcal A" },
@@ -1168,9 +1195,9 @@ const Yt = [
1168
1195
  items: [
1169
1196
  { type: "sep", cols: 2, cls: "cme-matrix-subgroup" },
1170
1197
  { label: "□", insert: "matrix", cls: "template", title: "Matrix" },
1198
+ { label: "|□|", insert: "vmatrix", cls: "template", title: "Vertical bar matrix" },
1171
1199
  { label: "[□]", insert: "bmatrix", cls: "template", title: "Bracket matrix" },
1172
1200
  { label: "(□)", insert: "pmatrix", cls: "template", title: "Parenthesis matrix" },
1173
- { label: "|□|", insert: "vmatrix", cls: "template", title: "Vertical bar matrix" },
1174
1201
  { type: "sep", cols: 3, cls: "cme-matrix-subgroup" },
1175
1202
  { label: "□", insert: "\\begin{matrix} #? \\\\ #? \\\\ #? \\end{matrix}", cls: "template", directInsert: !0, title: "Begin matrix" },
1176
1203
  { label: "[□ \\ □]", insert: "\\begin{bmatrix} #? \\\\ #? \\end{bmatrix}", cls: "template", directInsert: !0, title: "Begin bmatrix" },
@@ -1408,7 +1435,7 @@ const Yt = [
1408
1435
  // Enclosed right
1409
1436
  { label: "□▏", insert: "\\left. #? \\right|", title: "Enclosed right" },
1410
1437
  // Enclosed circle
1411
- { label: /* @__PURE__ */ t.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, /* @__PURE__ */ t.createElement("ellipse", { cx: "12", cy: "12", rx: "9", ry: "11", stroke: "#666", strokeWidth: "2", fill: "none" }), /* @__PURE__ */ t.createElement("rect", { x: "9", y: "7", width: "6", height: "10", rx: "1", stroke: "#666", strokeWidth: "2", fill: "none" })), insert: "\\enclose{circle}{\\begin{array}{@{}c@{}} \\raisebox{-2.5px}{\\,\\,#?} \\end{array}}", forceLabel: !0, title: "Enclose circle" },
1438
+ { label: /* @__PURE__ */ t.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, /* @__PURE__ */ t.createElement("ellipse", { cx: "12", cy: "12", rx: "9", ry: "11", stroke: "#666666", strokeWidth: "2", fill: "none" }), /* @__PURE__ */ t.createElement("rect", { x: "9", y: "7", width: "6", height: "10", rx: "1", stroke: "#666", strokeWidth: "2", fill: "none" })), insert: "\\enclose{circle}{\\begin{array}{@{}c@{}} \\raisebox{-2.5px}{\\,\\,#?} \\end{array}}", forceLabel: !0, title: "Enclose circle" },
1412
1439
  {
1413
1440
  type: "sep",
1414
1441
  cols: 2,
@@ -1440,7 +1467,7 @@ const Yt = [
1440
1467
  //cancel
1441
1468
  {
1442
1469
  label: /* @__PURE__ */ t.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, /* @__PURE__ */ t.createElement("rect", { x: "9", y: "7", width: "6", height: "10", rx: "1", stroke: "#666", strokeWidth: "2", fill: "none" }), /* @__PURE__ */ t.createElement("line", { x1: "9", y1: "21", x2: "15", y2: "3", stroke: "#666", strokeWidth: "2", strokeLinecap: "round" })),
1443
- insert: "\\cancel{#?}",
1470
+ insert: "\\enclose{updiagonalstrike}{#0}",
1444
1471
  forceLabel: !0,
1445
1472
  title: "Cancel strike"
1446
1473
  },
@@ -1454,7 +1481,7 @@ const Yt = [
1454
1481
  // Down diagonal strike
1455
1482
  {
1456
1483
  label: /* @__PURE__ */ t.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, /* @__PURE__ */ t.createElement("rect", { x: "9", y: "7", width: "6", height: "10", rx: "1", stroke: "#666", strokeWidth: "2", fill: "none" }), /* @__PURE__ */ t.createElement("line", { x1: "9", y1: "3", x2: "15", y2: "21", stroke: "#666", strokeWidth: "2", strokeLinecap: "round" })),
1457
- insert: "\\bcancel{#?}",
1484
+ insert: "\\enclose{downdiagonalstrike}{#0}",
1458
1485
  forceLabel: !0,
1459
1486
  title: "Down diagonal strike"
1460
1487
  },
@@ -1638,7 +1665,7 @@ const Yt = [
1638
1665
  { type: "sep", cols: 2, cls: "cme-trig-subgroup" }
1639
1666
  ]
1640
1667
  }
1641
- ], jt = [
1668
+ ], Yt = [
1642
1669
  {
1643
1670
  label: "H₂O",
1644
1671
  isChem: !0,
@@ -1855,8 +1882,8 @@ const Yt = [
1855
1882
  { label: "↷", action: "REDO", title: "Redo" },
1856
1883
  { type: "sep", cols: 2 },
1857
1884
  // 7. Formatting Group (2 cols)
1858
- { label: /* @__PURE__ */ t.createElement(Y, { icon: mt }), action: "BOLD", cls: "template", title: "Bold" },
1859
- { label: /* @__PURE__ */ t.createElement(Y, { icon: ct }), action: "ITALIC", cls: "template", title: "Italic" },
1885
+ { label: /* @__PURE__ */ t.createElement(j, { icon: mt }), action: "BOLD", cls: "template", title: "Bold" },
1886
+ { label: /* @__PURE__ */ t.createElement(j, { icon: ct }), action: "ITALIC", cls: "template", title: "Italic" },
1860
1887
  {
1861
1888
  label: /* @__PURE__ */ t.createElement(
1862
1889
  "img",
@@ -2645,9 +2672,9 @@ const Yt = [
2645
2672
  items: [
2646
2673
  { type: "sep", cols: 2, cls: "cme-matrix-subgroup" },
2647
2674
  { label: "□", insert: "matrix", cls: "template", title: "Matrix" },
2675
+ { label: "|□|", insert: "vmatrix", cls: "template", title: "Vertical bar matrix" },
2648
2676
  { label: "[□]", insert: "bmatrix", cls: "template", title: "Bracket matrix" },
2649
2677
  { label: "(□)", insert: "pmatrix", cls: "template", title: "Parenthesis matrix" },
2650
- { label: "|□|", insert: "vmatrix", cls: "template", title: "Vertical bar matrix" },
2651
2678
  { type: "sep", cols: 3, cls: "cme-matrix-subgroup" },
2652
2679
  { label: "□", insert: "\\begin{matrix} #? \\\\ #? \\\\ #? \\end{matrix}", cls: "template", directInsert: !0, title: "Begin matrix" },
2653
2680
  { label: "[□ \\ □]", insert: "\\begin{bmatrix} #? \\\\ #? \\end{bmatrix}", cls: "template", directInsert: !0, title: "Begin bmatrix" },
@@ -3114,20 +3141,20 @@ const Yt = [
3114
3141
  items: []
3115
3142
  }
3116
3143
  ];
3117
- function _t(r = "") {
3144
+ function jt(r = "") {
3118
3145
  if (String(r).match(/^\\ce\{([\s\S]*)\}$/)) return r;
3119
3146
  const h = r.replace(/\\text\{([^}]*)\}/g, "$1").replace(/\$/g, "").trim();
3120
3147
  return h ? `\\ce{${h}}` : "";
3121
3148
  }
3122
- function $(r) {
3149
+ function tt(r) {
3123
3150
  return r === "matrix" ? "\\begin{matrix} \\placeholder{} & \\placeholder{} \\\\ \\placeholder{} & \\placeholder{} \\end{matrix}" : r === "bmatrix" ? "\\begin{bmatrix} \\placeholder{} & \\placeholder{} \\\\ \\placeholder{} & \\placeholder{} \\end{bmatrix}" : r === "pmatrix" ? "\\begin{pmatrix} \\placeholder{} & \\placeholder{} \\\\ \\placeholder{} & \\placeholder{} \\end{pmatrix}" : r === "vmatrix" ? "\\begin{vmatrix} \\placeholder{} & \\placeholder{} \\\\ \\placeholder{} & \\placeholder{} \\end{vmatrix}" : r.replace(/#0|#\?/g, "\\placeholder{}");
3124
3151
  }
3125
- class $t extends ht {
3152
+ class _t extends ht {
3126
3153
  static get pluginName() {
3127
3154
  return "MathInlinePlugin";
3128
3155
  }
3129
3156
  static get requires() {
3130
- return [Ht];
3157
+ return [Rt];
3131
3158
  }
3132
3159
  init() {
3133
3160
  const l = this.editor;
@@ -3144,7 +3171,7 @@ class $t extends ht {
3144
3171
  view: (n, { writer: a }) => {
3145
3172
  const s = n.getAttribute("latex") || "", i = "math-" + Math.random().toString(36).substr(2, 9);
3146
3173
  window.__ckMathWidgets.set(i, n);
3147
- const m = a.createContainerElement("span", {
3174
+ const o = a.createContainerElement("span", {
3148
3175
  class: "ck-math-widget ck-math-inline-word",
3149
3176
  contenteditable: "false",
3150
3177
  "data-math-id": i,
@@ -3162,23 +3189,23 @@ class $t extends ht {
3162
3189
  f.setValue ? f.setValue(s, { silenceNotifications: !0 }) : f.value = s;
3163
3190
  };
3164
3191
  customElements.get("math-field") ? requestAnimationFrame(S) : customElements.whenDefined("math-field").then(() => requestAnimationFrame(S)), E.appendChild(f);
3165
- const u = () => {
3192
+ const g = () => {
3166
3193
  const k = E.parentElement;
3167
- k && Gt(l, k);
3194
+ k && zt(l, k);
3168
3195
  };
3169
- u(), requestAnimationFrame(u);
3196
+ g(), requestAnimationFrame(g);
3170
3197
  }
3171
3198
  );
3172
- return a.insert(a.createPositionAt(m, 0), c), Ot(m, a, { label: "math formula" });
3199
+ return a.insert(a.createPositionAt(o, 0), c), Ht(o, a, { label: "math formula" });
3173
3200
  }
3174
3201
  });
3175
3202
  const h = l.editing.view.document;
3176
3203
  this.listenTo(h, "mousedown", (n, a) => {
3177
3204
  const s = ut(a.domTarget);
3178
- s && a.domEvent.button === 0 && (n.stop(), a.preventDefault(), lt(
3205
+ s && a.domEvent.button === 0 && (n.stop(), a.preventDefault(), rt(
3179
3206
  l,
3180
3207
  null,
3181
- X(s),
3208
+ Z(s),
3182
3209
  s
3183
3210
  ));
3184
3211
  }, { priority: "high" }), l.conversion.for("dataDowncast").elementToElement({
@@ -3203,71 +3230,71 @@ class $t extends ht {
3203
3230
  });
3204
3231
  }
3205
3232
  }
3206
- const te = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20"><path d="M4 12h3l3 6l5-12h5" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/></svg>', ee = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20"><rect x="3" y="3" width="18" height="18" rx="3" fill="none" stroke="currentColor" stroke-width="2"/><text x="12" y="16" text-anchor="middle" font-size="12" font-weight="bold" fill="currentColor" font-family="system-ui, sans-serif">C</text><text x="6" y="8" font-size="4" font-weight="bold" fill="currentColor" font-family="system-ui, sans-serif">6</text></svg>';
3207
- function le(r) {
3233
+ const $t = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20"><path d="M4 12h3l3 6l5-12h5" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/></svg>', te = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20"><rect x="3" y="3" width="18" height="18" rx="3" fill="none" stroke="currentColor" stroke-width="2"/><text x="12" y="16" text-anchor="middle" font-size="12" font-weight="bold" fill="currentColor" font-family="system-ui, sans-serif">C</text><text x="6" y="8" font-size="4" font-weight="bold" fill="currentColor" font-family="system-ui, sans-serif">6</text></svg>';
3234
+ function ee(r) {
3208
3235
  return class extends ht {
3209
3236
  init() {
3210
3237
  const h = this.editor;
3211
3238
  h.ui.componentFactory.add("mathType", () => {
3212
3239
  const n = new at();
3213
- return n.set({ label: "Math", icon: te, tooltip: "Insert Math Formula" }), n.on("execute", () => r("math")), n;
3240
+ return n.set({ label: "Math", icon: $t, tooltip: "Insert Math Formula" }), n.on("execute", () => r("math")), n;
3214
3241
  }), h.ui.componentFactory.add("chemType", () => {
3215
3242
  const n = new at();
3216
- return n.set({ label: "Chemistry", icon: ee, tooltip: "Insert Chemistry Formula" }), n.on("execute", () => r("chem")), n;
3243
+ return n.set({ label: "Chemistry", icon: te, tooltip: "Insert Chemistry Formula" }), n.on("execute", () => r("chem")), n;
3217
3244
  });
3218
3245
  }
3219
3246
  };
3220
3247
  }
3221
- function re({ matrixType: r, x: l, y: h, onSelect: n, onMouseEnter: a, onMouseLeave: s }) {
3222
- const [i, m] = L({ r: 2, c: 2 }), c = Math.max(10, parseInt(i.r, 10) || 0), E = Math.max(10, parseInt(i.c, 10) || 0), f = (p) => {
3223
- const A = p.target.value;
3248
+ function le({ matrixType: r, x: l, y: h, onSelect: n, onMouseEnter: a, onMouseLeave: s }) {
3249
+ const [i, o] = L({ r: 2, c: 2 }), c = Math.max(10, parseInt(i.r, 10) || 0), E = Math.max(10, parseInt(i.c, 10) || 0), f = (u) => {
3250
+ const A = u.target.value;
3224
3251
  if (A === "") {
3225
- m((D) => ({ ...D, r: "" }));
3252
+ o((P) => ({ ...P, r: "" }));
3226
3253
  return;
3227
3254
  }
3228
3255
  const T = parseInt(A, 10);
3229
- isNaN(T) || m((D) => ({ ...D, r: Math.max(1, Math.min(10, T)) }));
3256
+ isNaN(T) || o((P) => ({ ...P, r: Math.max(1, Math.min(10, T)) }));
3230
3257
  }, S = () => {
3231
- (i.r === "" || isNaN(parseInt(i.r, 10))) && m((p) => ({ ...p, r: 1 }));
3232
- }, u = (p) => {
3233
- const A = p.target.value;
3258
+ (i.r === "" || isNaN(parseInt(i.r, 10))) && o((u) => ({ ...u, r: 1 }));
3259
+ }, g = (u) => {
3260
+ const A = u.target.value;
3234
3261
  if (A === "") {
3235
- m((D) => ({ ...D, c: "" }));
3262
+ o((P) => ({ ...P, c: "" }));
3236
3263
  return;
3237
3264
  }
3238
3265
  const T = parseInt(A, 10);
3239
- isNaN(T) || m((D) => ({ ...D, c: Math.max(1, Math.min(10, T)) }));
3266
+ isNaN(T) || o((P) => ({ ...P, c: Math.max(1, Math.min(10, T)) }));
3240
3267
  }, k = () => {
3241
- (i.c === "" || isNaN(parseInt(i.c, 10))) && m((p) => ({ ...p, c: 1 }));
3268
+ (i.c === "" || isNaN(parseInt(i.c, 10))) && o((u) => ({ ...u, c: 1 }));
3242
3269
  };
3243
- return I(() => {
3244
- const p = (A) => {
3270
+ return q(() => {
3271
+ const u = (A) => {
3245
3272
  if (A.key === "Enter") {
3246
3273
  A.preventDefault(), A.stopPropagation();
3247
- const T = parseInt(i.r, 10) || 1, D = parseInt(i.c, 10) || 1;
3248
- n(T, D);
3274
+ const T = parseInt(i.r, 10) || 1, P = parseInt(i.c, 10) || 1;
3275
+ n(T, P);
3249
3276
  }
3250
3277
  };
3251
- return window.addEventListener("keydown", p, !0), () => window.removeEventListener("keydown", p, !0);
3278
+ return window.addEventListener("keydown", u, !0), () => window.removeEventListener("keydown", u, !0);
3252
3279
  }, [i.r, i.c, n]), /* @__PURE__ */ t.createElement(
3253
3280
  "div",
3254
3281
  {
3255
3282
  className: "cme-matrix-hover-popover ck-only",
3256
3283
  style: { top: `${h}px`, left: `${l}px` },
3257
- onMouseDown: (p) => p.stopPropagation(),
3284
+ onMouseDown: (u) => u.stopPropagation(),
3258
3285
  onMouseEnter: a,
3259
3286
  onMouseLeave: s
3260
3287
  },
3261
- /* @__PURE__ */ t.createElement("div", { className: "cme-matrix-hover-grid" }, Array.from({ length: c }).map((p, A) => /* @__PURE__ */ t.createElement("div", { key: A, className: "cme-matrix-hover-row" }, Array.from({ length: E }).map((T, D) => {
3262
- const R = parseInt(i.r, 10) || 0, v = parseInt(i.c, 10) || 0, x = A < R && D < v;
3288
+ /* @__PURE__ */ t.createElement("div", { className: "cme-matrix-hover-grid" }, Array.from({ length: c }).map((u, A) => /* @__PURE__ */ t.createElement("div", { key: A, className: "cme-matrix-hover-row" }, Array.from({ length: E }).map((T, P) => {
3289
+ const H = parseInt(i.r, 10) || 0, v = parseInt(i.c, 10) || 0, x = A < H && P < v;
3263
3290
  return /* @__PURE__ */ t.createElement(
3264
3291
  "div",
3265
3292
  {
3266
- key: `${A}-${D}`,
3293
+ key: `${A}-${P}`,
3267
3294
  className: `cme-matrix-hover-cell${x ? " selected" : ""}`,
3268
- onMouseEnter: () => m({ r: A + 1, c: D + 1 }),
3295
+ onMouseEnter: () => o({ r: A + 1, c: P + 1 }),
3269
3296
  onClick: (B) => {
3270
- B.preventDefault(), B.stopPropagation(), n(A + 1, D + 1);
3297
+ B.preventDefault(), B.stopPropagation(), n(A + 1, P + 1);
3271
3298
  }
3272
3299
  }
3273
3300
  );
@@ -3283,65 +3310,65 @@ function re({ matrixType: r, x: l, y: h, onSelect: n, onMouseEnter: a, onMouseLe
3283
3310
  min: "1",
3284
3311
  max: "10"
3285
3312
  }
3286
- ), /* @__PURE__ */ t.createElement("div", { className: "cme-counter-btns" }, /* @__PURE__ */ t.createElement("button", { type: "button", onClick: () => m((p) => {
3287
- const A = parseInt(p.r, 10) || 1;
3288
- return { ...p, r: Math.min(10, A + 1) };
3289
- }) }, "▲"), /* @__PURE__ */ t.createElement("button", { type: "button", onClick: () => m((p) => {
3290
- const A = parseInt(p.r, 10) || 1;
3291
- return { ...p, r: Math.max(1, A - 1) };
3313
+ ), /* @__PURE__ */ t.createElement("div", { className: "cme-counter-btns" }, /* @__PURE__ */ t.createElement("button", { type: "button", onClick: () => o((u) => {
3314
+ const A = parseInt(u.r, 10) || 1;
3315
+ return { ...u, r: Math.min(10, A + 1) };
3316
+ }) }, "▲"), /* @__PURE__ */ t.createElement("button", { type: "button", onClick: () => o((u) => {
3317
+ const A = parseInt(u.r, 10) || 1;
3318
+ return { ...u, r: Math.max(1, A - 1) };
3292
3319
  }) }, "▼"))), /* @__PURE__ */ t.createElement("div", { className: "cme-matrix-counter" }, /* @__PURE__ */ t.createElement("span", null, "C"), /* @__PURE__ */ t.createElement(
3293
3320
  "input",
3294
3321
  {
3295
3322
  type: "number",
3296
3323
  className: "cme-counter-val",
3297
3324
  value: i.c,
3298
- onChange: u,
3325
+ onChange: g,
3299
3326
  onBlur: k,
3300
3327
  min: "1",
3301
3328
  max: "10"
3302
3329
  }
3303
- ), /* @__PURE__ */ t.createElement("div", { className: "cme-counter-btns" }, /* @__PURE__ */ t.createElement("button", { type: "button", onClick: () => m((p) => {
3304
- const A = parseInt(p.c, 10) || 1;
3305
- return { ...p, c: Math.min(10, A + 1) };
3306
- }) }, "▲"), /* @__PURE__ */ t.createElement("button", { type: "button", onClick: () => m((p) => {
3307
- const A = parseInt(p.c, 10) || 1;
3308
- return { ...p, c: Math.max(1, A - 1) };
3330
+ ), /* @__PURE__ */ t.createElement("div", { className: "cme-counter-btns" }, /* @__PURE__ */ t.createElement("button", { type: "button", onClick: () => o((u) => {
3331
+ const A = parseInt(u.c, 10) || 1;
3332
+ return { ...u, c: Math.min(10, A + 1) };
3333
+ }) }, "▲"), /* @__PURE__ */ t.createElement("button", { type: "button", onClick: () => o((u) => {
3334
+ const A = parseInt(u.c, 10) || 1;
3335
+ return { ...u, c: Math.max(1, A - 1) };
3309
3336
  }) }, "▼"))))
3310
3337
  );
3311
3338
  }
3312
- function ae({ mode: r, onInsert: l, onClose: h, initialLatex: n, isEditing: a }) {
3313
- const s = F(null), [i, m] = L(0), [c, E] = L(null), [f, S] = L(null), [u, k] = L(null), [p, A] = L(null);
3339
+ function re({ mode: r, onInsert: l, onClose: h, initialLatex: n, isEditing: a }) {
3340
+ const s = F(null), [i, o] = L(0), [c, E] = L(null), [f, S] = L(null), [g, k] = L(null), [u, A] = L(null);
3314
3341
  F(null);
3315
- const [T, D] = L({ x: 0, y: 0 }), [R, v] = L(!1), x = F({ x: 0, y: 0 });
3316
- I(() => {
3342
+ const [T, P] = L({ x: 0, y: 0 }), [H, v] = L(!1), x = F({ x: 0, y: 0 });
3343
+ q(() => {
3317
3344
  const e = (b) => {
3318
- R && D({
3345
+ H && P({
3319
3346
  x: b.clientX - x.current.x,
3320
3347
  y: b.clientY - x.current.y
3321
3348
  });
3322
- }, o = () => v(!1);
3323
- return R && (window.addEventListener("mousemove", e), window.addEventListener("mouseup", o)), () => {
3324
- window.removeEventListener("mousemove", e), window.removeEventListener("mouseup", o);
3349
+ }, m = () => v(!1);
3350
+ return H && (window.addEventListener("mousemove", e), window.addEventListener("mouseup", m)), () => {
3351
+ window.removeEventListener("mousemove", e), window.removeEventListener("mouseup", m);
3325
3352
  };
3326
- }, [R]);
3353
+ }, [H]);
3327
3354
  const B = (e) => {
3328
3355
  e.target.closest(".cme-popup-close") || (v(!0), x.current = {
3329
3356
  x: e.clientX - T.x,
3330
3357
  y: e.clientY - T.y
3331
3358
  });
3332
- }, C = r === "math" ? Yt : jt, [g, W] = L({
3359
+ }, C = r === "math" ? Gt : Yt, [p, N] = L({
3333
3360
  bold: !1,
3334
3361
  italic: !1,
3335
3362
  color: "none",
3336
3363
  fontFamily: "none",
3337
3364
  fontSize: "auto"
3338
- }), N = J(() => {
3365
+ }), W = J(() => {
3339
3366
  const e = s.current;
3340
3367
  if (!(!e || typeof e.queryStyle != "function"))
3341
3368
  try {
3342
- const o = e.queryStyle({ fontSeries: "b" }) === "all" || e.queryStyle({ variantStyle: "bold" }) === "all", b = e.queryStyle({ variantStyle: "italic" }) === "all" || e.queryStyle({ shape: "it" }) === "all", M = ["roman", "sans-serif", "monospace"].find(
3369
+ const m = e.queryStyle({ fontSeries: "b" }) === "all" || e.queryStyle({ variantStyle: "bold" }) === "all", b = e.queryStyle({ variantStyle: "italic" }) === "all" || e.queryStyle({ shape: "it" }) === "all", w = ["roman", "sans-serif", "monospace"].find(
3343
3370
  (d) => e.queryStyle({ fontFamily: d }) === "all"
3344
- ) || "none", w = [5, 7, 9].find(
3371
+ ) || "none", M = [5, 7, 9].find(
3345
3372
  (d) => e.queryStyle({ fontSize: d }) === "all"
3346
3373
  ) || "auto", y = [
3347
3374
  "black",
@@ -3371,106 +3398,108 @@ function ae({ mode: r, onInsert: l, onClose: h, initialLatex: n, isEditing: a })
3371
3398
  ].find(
3372
3399
  (d) => e.queryStyle({ color: d }) === "all"
3373
3400
  ) || "none";
3374
- W({
3375
- bold: o,
3376
- italic: b,
3377
- fontFamily: M,
3378
- fontSize: String(w),
3401
+ N((d) => ({
3402
+ bold: d.bold,
3403
+ italic: d.italic,
3404
+ fontFamily: w,
3405
+ fontSize: String(M),
3379
3406
  color: y
3380
- });
3381
- } catch (o) {
3382
- console.warn("Failed to query active styles:", o);
3407
+ }));
3408
+ } catch (m) {
3409
+ console.warn("Failed to query active styles:", m);
3383
3410
  }
3384
3411
  }, []);
3385
- I(() => {
3386
- if (!c && !u) return;
3387
- const e = (o) => {
3388
- !o.target.closest(".cme-matrix-hover-popover") && !o.target.closest(".cme-matrix-btn-wrapper") && E(null), !o.target.closest(".cme-color-picker-popup") && !o.target.closest('[title="Text Color"]') && k(null);
3412
+ q(() => {
3413
+ if (!c && !g) return;
3414
+ const e = (m) => {
3415
+ !m.target.closest(".cme-matrix-hover-popover") && !m.target.closest(".cme-matrix-btn-wrapper") && E(null), !m.target.closest(".cme-color-picker-popup") && !m.target.closest('[title="Text Color"]') && k(null);
3389
3416
  };
3390
3417
  return window.addEventListener("mousedown", e, !0), window.addEventListener("pointerdown", e, !0), () => {
3391
3418
  window.removeEventListener("mousedown", e, !0), window.removeEventListener("pointerdown", e, !0);
3392
3419
  };
3393
- }, [c, u]), I(() => {
3394
- if (!p) return;
3395
- const e = (o) => {
3396
- !o.target.closest(".cme-more-popup") && !o.target.closest(".cme-more-trigger-btn") && A(null);
3420
+ }, [c, g]), q(() => {
3421
+ if (!u) return;
3422
+ const e = (m) => {
3423
+ !m.target.closest(".cme-more-popup") && !m.target.closest(".cme-more-trigger-btn") && A(null);
3397
3424
  };
3398
3425
  return window.addEventListener("mousedown", e, !0), window.addEventListener("pointerdown", e, !0), () => {
3399
3426
  window.removeEventListener("mousedown", e, !0), window.removeEventListener("pointerdown", e, !0);
3400
3427
  };
3401
- }, [p]), I(() => {
3402
- const e = setTimeout(() => Jt(), 50);
3428
+ }, [u]), q(() => {
3429
+ const e = setTimeout(() => Ut(), 50);
3403
3430
  return () => clearTimeout(e);
3404
- }, [i]), I(() => {
3431
+ }, [i]), q(() => {
3405
3432
  const e = s.current;
3406
3433
  if (!e) return;
3407
3434
  e.defaultMode = r === "chem" ? "text" : "math";
3408
- const o = () => {
3409
- if (n) {
3435
+ const m = () => {
3436
+ if (typeof e.applyStyle == "function" && e.applyStyle({ variantStyle: "up" }), n) {
3410
3437
  let b = n;
3411
3438
  if (r === "chem") {
3412
- const M = b.match(/^\\ce\{([\s\S]*)\}$/);
3413
- M && (b = M[1]);
3439
+ const w = b.match(/^\\ce\{([\s\S]*)\}$/);
3440
+ w && (b = w[1]);
3414
3441
  }
3415
3442
  e.setValue ? e.setValue(b, { silenceNotifications: !0 }) : e.value = b;
3416
3443
  }
3417
3444
  requestAnimationFrame(() => e.focus());
3418
3445
  };
3419
- customElements.get("math-field") ? requestAnimationFrame(o) : customElements.whenDefined("math-field").then(() => requestAnimationFrame(o));
3420
- }, [r, n]), I(() => {
3446
+ customElements.get("math-field") ? requestAnimationFrame(m) : customElements.whenDefined("math-field").then(() => requestAnimationFrame(m));
3447
+ }, [r, n]), q(() => {
3421
3448
  const e = s.current;
3422
3449
  if (!e) return;
3423
- const o = (b) => {
3424
- if (g.italic && b.key.length === 1 && !b.ctrlKey && !b.metaKey && !b.altKey) {
3425
- b.preventDefault(), e.executeCommand(["insert", `\\textit{${b.key}}`]);
3450
+ const m = (b) => {
3451
+ if (b.key.length === 1 && !b.ctrlKey && !b.metaKey && !b.altKey && /[a-zA-Z0-9]/.test(b.key)) {
3452
+ b.preventDefault(), b.stopPropagation();
3453
+ let w = b.key;
3454
+ p.bold && p.italic ? w = `\\mathbfit{${b.key}}` : p.bold ? w = `\\mathbf{${b.key}}` : p.italic ? w = `\\mathit{${b.key}}` : w = `\\mathrm{${b.key}}`, e.executeCommand(["insert", w]);
3426
3455
  return;
3427
3456
  }
3428
- b.key === " " ? (b.preventDefault(), e.executeCommand(["insert", "\\, "])) : b.key === "Enter" && (b.preventDefault(), e.executeCommand(["insert", "\\\\"]), setTimeout(() => {
3429
- typeof e.applyStyle == "function" && (g.bold && e.applyStyle({
3430
- variantStyle: "bold",
3431
- fontSeries: "b"
3432
- }), g.color !== "none" && e.applyStyle({ color: g.color }), g.fontFamily !== "none" && e.applyStyle({ fontFamily: g.fontFamily }), g.fontSize !== "auto" && e.applyStyle({
3433
- fontSize: parseInt(g.fontSize, 10),
3434
- size: parseInt(g.fontSize, 10)
3435
- }), N());
3457
+ b.key === " " ? (b.preventDefault(), e.executeCommand(["insert", "\\, "])) : b.key === "Enter" && (b.preventDefault(), b.stopImmediatePropagation(), e.executeCommand("addRowAfter"), setTimeout(() => {
3458
+ typeof e.applyStyle == "function" && (e.applyStyle({
3459
+ fontSeries: p.bold ? "b" : "auto",
3460
+ variantStyle: p.italic ? "italic" : "up"
3461
+ }), p.color !== "none" && e.applyStyle({ color: p.color }), p.fontFamily !== "none" && e.applyStyle({ fontFamily: p.fontFamily }), p.fontSize !== "auto" && e.applyStyle({
3462
+ fontSize: parseInt(p.fontSize, 10),
3463
+ size: parseInt(p.fontSize, 10)
3464
+ }), W());
3436
3465
  }, 10));
3437
3466
  };
3438
- return e.addEventListener("keydown", o), () => e.removeEventListener("keydown", o);
3439
- }, [r, g, N]), I(() => {
3467
+ return e.addEventListener("keydown", m, !0), () => e.removeEventListener("keydown", m, !0);
3468
+ }, [r, p, W]), q(() => {
3440
3469
  const e = s.current;
3441
3470
  if (!e) return;
3442
- const o = () => {
3471
+ const m = () => {
3443
3472
  setTimeout(() => {
3444
3473
  const b = e.shadowRoot;
3445
3474
  if (!b) return;
3446
- const M = b.querySelector(".ML__caret") || b.querySelector('[class*="caret"]');
3447
- M && M.scrollIntoView({ behavior: "auto", block: "nearest", inline: "nearest" }), N();
3475
+ const w = b.querySelector(".ML__caret") || b.querySelector('[class*="caret"]');
3476
+ w && w.scrollIntoView({ behavior: "auto", block: "nearest", inline: "nearest" }), W();
3448
3477
  }, 0);
3449
3478
  };
3450
- return e.addEventListener("selection-change", o), e.addEventListener("input", o), e.addEventListener("keydown", o), setTimeout(N, 50), () => {
3451
- e.removeEventListener("selection-change", o), e.removeEventListener("input", o), e.removeEventListener("keydown", o);
3479
+ return e.addEventListener("selection-change", m), e.addEventListener("input", m), e.addEventListener("keydown", m), setTimeout(W, 50), () => {
3480
+ e.removeEventListener("selection-change", m), e.removeEventListener("input", m), e.removeEventListener("keydown", m);
3452
3481
  };
3453
- }, [N]);
3482
+ }, [W]);
3454
3483
  const Q = J((e) => {
3455
- const o = s.current;
3456
- o && (o.focus(), o.executeCommand(["insert", e]));
3457
- }, []), gt = J((e, o, b) => {
3458
- let M = `\\begin{${e}} `;
3459
- for (let w = 0; w < o; w++) {
3484
+ const m = s.current;
3485
+ m && (m.focus(), m.executeCommand(["insert", e]));
3486
+ }, []), gt = J((e, m, b) => {
3487
+ let w = `\\begin{${e}} `;
3488
+ for (let M = 0; M < m; M++) {
3460
3489
  for (let y = 0; y < b; y++)
3461
- M += "#?", y < b - 1 && (M += " & ");
3462
- w < o - 1 && (M += " \\\\ ");
3490
+ w += "#?", y < b - 1 && (w += " & ");
3491
+ M < m - 1 && (w += " \\\\ ");
3463
3492
  }
3464
- M += ` \\end{${e}}`, Q(M);
3493
+ w += ` \\end{${e}}`, Q(w);
3465
3494
  }, [Q]), ft = () => {
3466
3495
  const e = s.current;
3467
3496
  if (!e) return;
3468
- let o = e.getValue ? e.getValue() : e.value;
3469
- if (!o || o.trim() === "") {
3497
+ let m = e.getValue ? e.getValue() : e.value;
3498
+ if (!m || m.trim() === "") {
3470
3499
  h();
3471
3500
  return;
3472
3501
  }
3473
- r === "chem" && (o = _t(o)), l(o), e.setValue ? e.setValue("") : e.value = "", h();
3502
+ r === "chem" && (m = jt(m)), l(m), e.setValue ? e.setValue("") : e.value = "", h();
3474
3503
  };
3475
3504
  return /* @__PURE__ */ t.createElement(
3476
3505
  "div",
@@ -3484,22 +3513,22 @@ function ae({ mode: r, onInsert: l, onClose: h, initialLatex: n, isEditing: a })
3484
3513
  {
3485
3514
  className: "cme-popup-header",
3486
3515
  onMouseDown: B,
3487
- style: { cursor: R ? "grabbing" : "grab" }
3516
+ style: { cursor: H ? "grabbing" : "grab" }
3488
3517
  },
3489
3518
  /* @__PURE__ */ t.createElement("span", null, a ? r === "math" ? "Edit Math Formula" : "Edit Chemistry Formula" : r === "math" ? "Math Editor" : "Chemistry Editor"),
3490
3519
  /* @__PURE__ */ t.createElement("button", { type: "button", className: "cme-popup-close", onClick: h }, "×")
3491
3520
  ),
3492
- /* @__PURE__ */ t.createElement("div", { className: "cme-toolbar", role: "toolbar", "aria-label": "Symbol palette" }, /* @__PURE__ */ t.createElement("div", { className: "cme-toolbar-groups" }, C.map((e, o) => {
3493
- const b = i === o, M = o === C.length - 1;
3521
+ /* @__PURE__ */ t.createElement("div", { className: "cme-toolbar", role: "toolbar", "aria-label": "Symbol palette" }, /* @__PURE__ */ t.createElement("div", { className: "cme-toolbar-groups" }, C.map((e, m) => {
3522
+ const b = i === m, w = m === C.length - 1;
3494
3523
  return /* @__PURE__ */ t.createElement(
3495
3524
  "button",
3496
3525
  {
3497
3526
  key: e.isMatrix ? "matrix-tab" : e.label,
3498
3527
  className: `cme-group-tab${b ? " active" : ""}`,
3499
- style: !b && M ? { backgroundColor: "#DC9E9E" } : {},
3528
+ style: !b && w ? { backgroundColor: "#DC9E9E" } : {},
3500
3529
  type: "button",
3501
- onMouseDown: (w) => {
3502
- w.preventDefault(), m(o), E(null);
3530
+ onMouseDown: (M) => {
3531
+ M.preventDefault(), o(m), E(null);
3503
3532
  }
3504
3533
  },
3505
3534
  e.mathLabel ? /* @__PURE__ */ t.createElement(
@@ -3526,13 +3555,13 @@ function ae({ mode: r, onInsert: l, onClose: h, initialLatex: n, isEditing: a })
3526
3555
  ) : e.label
3527
3556
  );
3528
3557
  })), /* @__PURE__ */ t.createElement("div", { className: "cme-toolbar-items" }, (() => {
3529
- var M;
3530
- const e = ((M = C[i]) == null ? void 0 : M.items) || [], o = e.some((w) => w.type === "sep"), b = [];
3531
- if (o) {
3532
- let w = { cols: 2, small: !1, cls: "", items: [], moreItems: null };
3558
+ var w;
3559
+ const e = ((w = C[i]) == null ? void 0 : w.items) || [], m = e.some((M) => M.type === "sep"), b = [];
3560
+ if (m) {
3561
+ let M = { cols: 2, small: !1, cls: "", items: [], moreItems: null };
3533
3562
  for (const y of e)
3534
- y.type === "sep" ? (w.items.length > 0 && b.push(w), w = { cols: y.cols || 2, small: !!y.small, cls: y.cls || "", items: [], moreItems: y.moreItems || null, moreCols: y.moreCols || 1 }) : w.items.push(y);
3535
- w.items.length > 0 && b.push(w);
3563
+ y.type === "sep" ? (M.items.length > 0 && b.push(M), M = { cols: y.cols || 2, small: !!y.small, cls: y.cls || "", items: [], moreItems: y.moreItems || null, moreCols: y.moreCols || 1 }) : M.items.push(y);
3564
+ M.items.length > 0 && b.push(M);
3536
3565
  } else
3537
3566
  for (let y = 0; y < e.length; y += 4)
3538
3567
  b.push({
@@ -3541,40 +3570,40 @@ function ae({ mode: r, onInsert: l, onClose: h, initialLatex: n, isEditing: a })
3541
3570
  cls: "",
3542
3571
  items: e.slice(y, y + 4)
3543
3572
  });
3544
- return b.map((w, y) => /* @__PURE__ */ t.createElement(
3573
+ return b.map((M, y) => /* @__PURE__ */ t.createElement(
3545
3574
  "div",
3546
3575
  {
3547
3576
  key: y,
3548
- className: `cme-symbol-subgroup${w.small ? " cme-symbol-subgroup--small" : ""}${w.cls ? ` ${w.cls}` : ""}${w.moreItems ? " cme-subgroup-has-more" : ""}`,
3549
- style: { gridTemplateColumns: `repeat(${w.cols}, auto)`, position: "relative" }
3577
+ className: `cme-symbol-subgroup${M.small ? " cme-symbol-subgroup--small" : ""}${M.cls ? ` ${M.cls}` : ""}${M.moreItems ? " cme-subgroup-has-more" : ""}`,
3578
+ style: { gridTemplateColumns: `repeat(${M.cols}, auto)`, position: "relative" }
3550
3579
  },
3551
- w.moreItems && /* @__PURE__ */ t.createElement(
3580
+ M.moreItems && /* @__PURE__ */ t.createElement(
3552
3581
  "button",
3553
3582
  {
3554
3583
  type: "button",
3555
3584
  className: "cme-more-trigger-btn",
3556
3585
  title: "more",
3557
3586
  onMouseDown: (d) => {
3558
- if (d.preventDefault(), p && p.items === w.moreItems)
3587
+ if (d.preventDefault(), u && u.items === M.moreItems)
3559
3588
  A(null);
3560
3589
  else {
3561
- const H = d.currentTarget.getBoundingClientRect();
3562
- A({ cx: H.left + H.width / 2, y: H.bottom, items: w.moreItems, cols: w.moreCols, isTemplate: C[i].isTemplate || C[i].label === "√(□)" || C[i].isMatrix });
3590
+ const O = d.currentTarget.getBoundingClientRect();
3591
+ A({ cx: O.left + O.width / 2, y: O.bottom, items: M.moreItems, cols: M.moreCols, isTemplate: C[i].isTemplate || C[i].label === "√(□)" || C[i].isMatrix });
3563
3592
  }
3564
3593
  }
3565
3594
  },
3566
3595
  "▶"
3567
3596
  ),
3568
- w.items.map((d, H) => {
3569
- const O = C[i];
3597
+ M.items.map((d, O) => {
3598
+ const U = C[i];
3570
3599
  if (d.type === "dropdown") {
3571
- const q = d.label === "Font...", P = d.label === "Size", Z = q && g.fontFamily !== "none", K = P && g.fontSize !== "auto" && g.fontSize !== "5", U = q ? g.fontFamily === "none" ? "" : g.fontFamily : P ? g.fontSize === "auto" || g.fontSize === "5" ? "" : g.fontSize : "";
3600
+ const R = d.label === "Font...", D = d.label === "Size", K = R && p.fontFamily !== "none", z = D && p.fontSize !== "auto" && p.fontSize !== "5", I = R ? p.fontFamily === "none" ? "" : p.fontFamily : D ? p.fontSize === "auto" || p.fontSize === "5" ? "" : p.fontSize : "";
3572
3601
  return /* @__PURE__ */ t.createElement(
3573
3602
  "select",
3574
3603
  {
3575
- key: H,
3576
- className: `cme-btn template${Z || K ? " active" : ""}`,
3577
- value: U,
3604
+ key: O,
3605
+ className: `cme-btn template${K || z ? " active" : ""}`,
3606
+ value: I,
3578
3607
  style: {
3579
3608
  width: d.width || "60px",
3580
3609
  height: "18px",
@@ -3586,40 +3615,40 @@ function ae({ mode: r, onInsert: l, onClose: h, initialLatex: n, isEditing: a })
3586
3615
  fontSize: "10px",
3587
3616
  padding: "0",
3588
3617
  margin: "2px 0",
3589
- gridColumn: w.cols === 3 || w.cols === 1 ? "span 1" : "span 2"
3618
+ gridColumn: M.cols === 3 || M.cols === 1 ? "span 1" : "span 2"
3590
3619
  },
3591
- onChange: (yt) => {
3592
- const j = yt.target.value, V = s.current;
3593
- !V || typeof V.applyStyle != "function" || (V.focus(), q ? V.applyStyle({ fontFamily: j || "none" }) : P && V.applyStyle({ fontSize: j ? parseInt(j, 10) : "auto" }), N());
3620
+ onChange: (V) => {
3621
+ const _ = V.target.value, X = s.current;
3622
+ !X || typeof X.applyStyle != "function" || (X.focus(), R ? X.applyStyle({ fontFamily: _ || "none" }) : D && X.applyStyle({ fontSize: _ ? parseInt(_, 10) : "auto" }), W());
3594
3623
  }
3595
3624
  },
3596
3625
  /* @__PURE__ */ t.createElement("option", { value: "" }, d.label),
3597
- q && /* @__PURE__ */ t.createElement(t.Fragment, null, /* @__PURE__ */ t.createElement("option", { value: "roman" }, "Times"), /* @__PURE__ */ t.createElement("option", { value: "sans-serif" }, "Helvetica"), /* @__PURE__ */ t.createElement("option", { value: "monospace" }, "Courier")),
3598
- P && /* @__PURE__ */ t.createElement(t.Fragment, null, /* @__PURE__ */ t.createElement("option", { value: "5" }, "12px"), /* @__PURE__ */ t.createElement("option", { value: "7" }, "16px"), /* @__PURE__ */ t.createElement("option", { value: "9" }, "20px"))
3626
+ R && /* @__PURE__ */ t.createElement(t.Fragment, null, /* @__PURE__ */ t.createElement("option", { value: "roman" }, "Times"), /* @__PURE__ */ t.createElement("option", { value: "sans-serif" }, "Helvetica"), /* @__PURE__ */ t.createElement("option", { value: "monospace" }, "Courier")),
3627
+ D && /* @__PURE__ */ t.createElement(t.Fragment, null, /* @__PURE__ */ t.createElement("option", { value: "5" }, "12px"), /* @__PURE__ */ t.createElement("option", { value: "7" }, "16px"), /* @__PURE__ */ t.createElement("option", { value: "9" }, "20px"))
3599
3628
  );
3600
3629
  }
3601
- if (O.isMatrix && !d.directInsert)
3630
+ if (U.isMatrix && !d.directInsert)
3602
3631
  return /* @__PURE__ */ t.createElement(
3603
3632
  "div",
3604
3633
  {
3605
- key: H,
3634
+ key: O,
3606
3635
  className: "cme-matrix-btn-wrapper"
3607
3636
  },
3608
3637
  /* @__PURE__ */ t.createElement(
3609
3638
  "button",
3610
3639
  {
3611
3640
  type: "button",
3612
- className: `cme-btn template${d.cls ? ` ${d.cls}` : ""}${O.isMatrix ? " cme-matrix-btn-small" : ""}`,
3641
+ className: `cme-btn template${d.cls ? ` ${d.cls}` : ""}${U.isMatrix ? " cme-matrix-btn-small" : ""}`,
3613
3642
  title: d.title || d.label || d.insert,
3614
- onMouseDown: (q) => {
3615
- if (q.preventDefault(), q.stopPropagation(), (c == null ? void 0 : c.type) === d.insert)
3643
+ onMouseDown: (R) => {
3644
+ if (R.preventDefault(), R.stopPropagation(), (c == null ? void 0 : c.type) === d.insert)
3616
3645
  E(null);
3617
3646
  else {
3618
- const P = q.currentTarget.getBoundingClientRect();
3647
+ const D = R.currentTarget.getBoundingClientRect();
3619
3648
  E({
3620
3649
  type: d.insert,
3621
- x: P.left + P.width / 2,
3622
- y: P.bottom
3650
+ x: D.left + D.width / 2,
3651
+ y: D.bottom
3623
3652
  });
3624
3653
  }
3625
3654
  }
@@ -3643,37 +3672,50 @@ function ae({ mode: r, onInsert: l, onClose: h, initialLatex: n, isEditing: a })
3643
3672
  cursor: "pointer"
3644
3673
  }
3645
3674
  },
3646
- $(d.mathLabel != null ? d.mathLabel : d.insert)
3675
+ tt(d.mathLabel != null ? d.mathLabel : d.insert)
3647
3676
  )
3648
3677
  )
3649
3678
  );
3650
- const wt = d.action === "BOLD", Mt = d.action === "ITALIC", At = d.action === "TEXT_COLOR", kt = wt && g.bold || Mt && g.italic || At && g.color !== "none" && g.color !== "black";
3679
+ const wt = d.action === "BOLD", Mt = d.action === "ITALIC", At = d.action === "TEXT_COLOR", kt = wt && p.bold || Mt && p.italic || At && p.color !== "none" && p.color !== "black";
3651
3680
  return /* @__PURE__ */ t.createElement(
3652
3681
  "button",
3653
3682
  {
3654
- key: `${O.label}-${y * 4 + H}`,
3683
+ key: `${U.label}-${y * 4 + O}`,
3655
3684
  type: "button",
3656
- className: `cme-btn${O.isTemplate ? " template" : ""}${d.cls ? ` ${d.cls}` : ""}${kt ? " active" : ""}`,
3685
+ className: `cme-btn${U.isTemplate ? " template" : ""}${d.cls ? ` ${d.cls}` : ""}${kt ? " active" : ""}`,
3657
3686
  title: d.title || d.label || d.insert,
3658
- onMouseDown: (q) => {
3659
- var Z, K;
3660
- q.preventDefault();
3661
- const P = s.current;
3687
+ onMouseDown: (R) => {
3688
+ var K, z;
3689
+ R.preventDefault();
3690
+ const D = s.current;
3662
3691
  if (d.action === "SPECIAL_CHARS") {
3663
- const U = q.currentTarget.getBoundingClientRect();
3664
- S({ x: U.left, y: U.bottom + 4 });
3692
+ const I = R.currentTarget.getBoundingClientRect();
3693
+ S({ x: I.left, y: I.bottom + 4 });
3665
3694
  } else if (d.action === "TEXT_COLOR") {
3666
- const U = q.currentTarget.getBoundingClientRect();
3667
- k({ x: U.left, y: U.bottom + 4 });
3668
- } else d.action === "BOLD" ? P && typeof P.applyStyle == "function" && (P.focus(), P.applyStyle({
3669
- variantStyle: g.bold ? "" : "bold",
3670
- fontSeries: g.bold ? "auto" : "b"
3671
- }), N()) : d.action === "ITALIC" ? P && typeof P.applyStyle == "function" && (P.focus(), P.applyStyle({
3672
- variantStyle: g.italic ? "" : "italic"
3673
- }), N()) : d.action === "UNDO" ? (Z = s.current) == null || Z.executeCommand("undo") : d.action === "REDO" ? (K = s.current) == null || K.executeCommand("redo") : Q(d.insert);
3695
+ const I = R.currentTarget.getBoundingClientRect();
3696
+ k({ x: I.left, y: I.bottom + 4 });
3697
+ } else if (d.action === "BOLD") {
3698
+ if (D && typeof D.applyStyle == "function") {
3699
+ D.focus();
3700
+ const I = !p.bold;
3701
+ D.applyStyle({
3702
+ fontSeries: I ? "b" : "auto",
3703
+ variantStyle: p.italic ? "italic" : "up"
3704
+ }), N((V) => ({ ...V, bold: I }));
3705
+ }
3706
+ } else if (d.action === "ITALIC") {
3707
+ if (D && typeof D.applyStyle == "function") {
3708
+ D.focus();
3709
+ const I = !p.italic;
3710
+ D.applyStyle({
3711
+ fontSeries: p.bold ? "b" : "auto",
3712
+ variantStyle: I ? "italic" : "up"
3713
+ }), N((V) => ({ ...V, italic: I }));
3714
+ }
3715
+ } else d.action === "UNDO" ? (K = s.current) == null || K.executeCommand("undo") : d.action === "REDO" ? (z = s.current) == null || z.executeCommand("redo") : Q(d.insert);
3674
3716
  }
3675
3717
  },
3676
- (O.isTemplate || O.label === "√(□)" || O.isMatrix || d.isWidget) && d.insert && !d.action && !d.forceLabel ? /* @__PURE__ */ t.createElement(
3718
+ (U.isTemplate || U.label === "√(□)" || U.isMatrix || d.isWidget) && d.insert && !d.action && !d.forceLabel ? /* @__PURE__ */ t.createElement(
3677
3719
  "math-field",
3678
3720
  {
3679
3721
  "read-only": !0,
@@ -3692,41 +3734,41 @@ function ae({ mode: r, onInsert: l, onClose: h, initialLatex: n, isEditing: a })
3692
3734
  cursor: "pointer"
3693
3735
  }
3694
3736
  },
3695
- $(d.insert)
3737
+ tt(d.insert)
3696
3738
  ) : d.label
3697
3739
  );
3698
3740
  })
3699
3741
  ));
3700
3742
  })())),
3701
- p && z(/* @__PURE__ */ t.createElement(
3743
+ u && G(/* @__PURE__ */ t.createElement(
3702
3744
  "div",
3703
3745
  {
3704
3746
  ref: (e) => {
3705
3747
  e && requestAnimationFrame(() => {
3706
- const o = e.getBoundingClientRect(), b = document.querySelector(".cme-editor-popup");
3707
- let M = p.cx - o.width / 2, w = p.y;
3748
+ const m = e.getBoundingClientRect(), b = document.querySelector(".cme-editor-popup");
3749
+ let w = u.cx - m.width / 2, M = u.y;
3708
3750
  if (b) {
3709
3751
  const y = b.getBoundingClientRect();
3710
- M + o.width > y.right - 4 && (M = y.right - o.width - 4), M < y.left + 4 && (M = y.left + 4), w + o.height > y.bottom - 4 && (w = y.bottom - o.height - 4);
3752
+ w + m.width > y.right - 4 && (w = y.right - m.width - 4), w < y.left + 4 && (w = y.left + 4), M + m.height > y.bottom - 4 && (M = y.bottom - m.height - 4);
3711
3753
  }
3712
- M + o.width > window.innerWidth - 4 && (M = window.innerWidth - o.width - 4), w + o.height > window.innerHeight - 4 && (w = window.innerHeight - o.height - 4), M < 4 && (M = 4), e.style.left = `${M}px`, e.style.top = `${w}px`, e.style.transform = "none", e.style.visibility = "visible";
3754
+ w + m.width > window.innerWidth - 4 && (w = window.innerWidth - m.width - 4), M + m.height > window.innerHeight - 4 && (M = window.innerHeight - m.height - 4), w < 4 && (w = 4), e.style.left = `${w}px`, e.style.top = `${M}px`, e.style.transform = "none", e.style.visibility = "visible";
3713
3755
  });
3714
3756
  },
3715
3757
  className: "cme-more-popup",
3716
3758
  style: {
3717
3759
  position: "fixed",
3718
- left: `${p.cx}px`,
3719
- top: `${p.y}px`,
3760
+ left: `${u.cx}px`,
3761
+ top: `${u.y}px`,
3720
3762
  transform: "translateX(-50%)",
3721
3763
  visibility: "hidden",
3722
3764
  zIndex: 1e5,
3723
- gridTemplateColumns: `repeat(${p.cols || 1}, auto)`
3765
+ gridTemplateColumns: `repeat(${u.cols || 1}, auto)`
3724
3766
  }
3725
3767
  },
3726
- p.items.map((e, o) => /* @__PURE__ */ t.createElement(
3768
+ u.items.map((e, m) => /* @__PURE__ */ t.createElement(
3727
3769
  "button",
3728
3770
  {
3729
- key: o,
3771
+ key: m,
3730
3772
  type: "button",
3731
3773
  className: `cme-more-popup-btn ${e.cls || ""}`,
3732
3774
  title: e.title || e.label || e.insert,
@@ -3753,7 +3795,7 @@ function ae({ mode: r, onInsert: l, onClose: h, initialLatex: n, isEditing: a })
3753
3795
  cursor: "pointer"
3754
3796
  }
3755
3797
  },
3756
- $(e.mathLabel != null ? e.mathLabel : e.insert)
3798
+ tt(e.mathLabel != null ? e.mathLabel : e.insert)
3757
3799
  ) : e.label
3758
3800
  ))
3759
3801
  ), document.body),
@@ -3763,8 +3805,8 @@ function ae({ mode: r, onInsert: l, onClose: h, initialLatex: n, isEditing: a })
3763
3805
  className: "cme-mathfield-container",
3764
3806
  onMouseDown: (e) => {
3765
3807
  s.current && (e.target === s.current || s.current.contains(e.target)) || (e.preventDefault(), requestAnimationFrame(() => {
3766
- var o, b;
3767
- (b = (o = s.current) == null ? void 0 : o.focus) == null || b.call(o);
3808
+ var m, b;
3809
+ (b = (m = s.current) == null ? void 0 : m.focus) == null || b.call(m);
3768
3810
  }));
3769
3811
  }
3770
3812
  },
@@ -3780,15 +3822,15 @@ function ae({ mode: r, onInsert: l, onClose: h, initialLatex: n, isEditing: a })
3780
3822
  )
3781
3823
  ),
3782
3824
  /* @__PURE__ */ t.createElement("div", { className: "cme-popup-footer" }, /* @__PURE__ */ t.createElement("button", { type: "button", className: "cme-insert-btn", onClick: ft }, a ? "Update" : "Insert"), /* @__PURE__ */ t.createElement("button", { type: "button", className: "cme-cancel-btn", onClick: h }, "Cancel")),
3783
- c && z(
3825
+ c && G(
3784
3826
  /* @__PURE__ */ t.createElement(
3785
- re,
3827
+ le,
3786
3828
  {
3787
3829
  matrixType: c.type,
3788
3830
  x: c.x,
3789
3831
  y: c.y,
3790
- onSelect: (e, o) => {
3791
- gt(c.type, e, o), E(null);
3832
+ onSelect: (e, m) => {
3833
+ gt(c.type, e, m), E(null);
3792
3834
  },
3793
3835
  onMouseEnter: () => {
3794
3836
  },
@@ -3798,9 +3840,9 @@ function ae({ mode: r, onInsert: l, onClose: h, initialLatex: n, isEditing: a })
3798
3840
  ),
3799
3841
  document.body
3800
3842
  ),
3801
- f && z(
3843
+ f && G(
3802
3844
  /* @__PURE__ */ t.createElement(
3803
- Kt,
3845
+ Zt,
3804
3846
  {
3805
3847
  isOpen: !!f,
3806
3848
  position: f,
@@ -3812,15 +3854,15 @@ function ae({ mode: r, onInsert: l, onClose: h, initialLatex: n, isEditing: a })
3812
3854
  ),
3813
3855
  document.body
3814
3856
  ),
3815
- u && z(
3857
+ g && G(
3816
3858
  /* @__PURE__ */ t.createElement(
3817
3859
  "div",
3818
3860
  {
3819
3861
  className: "cme-color-picker-popup",
3820
3862
  style: {
3821
3863
  position: "fixed",
3822
- left: Math.min(u.x, window.innerWidth - 160) + "px",
3823
- top: Math.min(u.y, window.innerHeight - 100) + "px",
3864
+ left: Math.min(g.x, window.innerWidth - 160) + "px",
3865
+ top: Math.min(g.y, window.innerHeight - 100) + "px",
3824
3866
  zIndex: 1e5,
3825
3867
  background: "#fff",
3826
3868
  border: "1px solid #ccc",
@@ -3858,7 +3900,7 @@ function ae({ mode: r, onInsert: l, onClose: h, initialLatex: n, isEditing: a })
3858
3900
  "violet",
3859
3901
  "gold"
3860
3902
  ].map((e) => {
3861
- const o = g.color === e || e === "black" && (g.color === "none" || !g.color);
3903
+ const m = p.color === e || e === "black" && (p.color === "none" || !p.color);
3862
3904
  return /* @__PURE__ */ t.createElement(
3863
3905
  "div",
3864
3906
  {
@@ -3869,13 +3911,13 @@ function ae({ mode: r, onInsert: l, onClose: h, initialLatex: n, isEditing: a })
3869
3911
  height: "16px",
3870
3912
  backgroundColor: e,
3871
3913
  cursor: "pointer",
3872
- border: o ? "2px solid #e6c229" : "1px solid #000",
3914
+ border: m ? "2px solid #e6c229" : "1px solid #000",
3873
3915
  boxSizing: "border-box"
3874
3916
  },
3875
3917
  onMouseDown: (b) => {
3876
3918
  b.preventDefault(), b.stopPropagation();
3877
- const M = s.current;
3878
- M && typeof M.applyStyle == "function" && (M.focus(), M.applyStyle({ color: e === "black" ? "none" : e }), N()), k(null);
3919
+ const w = s.current;
3920
+ w && typeof w.applyStyle == "function" && (w.focus(), w.applyStyle({ color: e === "black" ? "none" : e }), W()), k(null);
3879
3921
  }
3880
3922
  }
3881
3923
  );
@@ -3885,7 +3927,7 @@ function ae({ mode: r, onInsert: l, onClose: h, initialLatex: n, isEditing: a })
3885
3927
  )
3886
3928
  );
3887
3929
  }
3888
- function ie(r) {
3930
+ function ae(r) {
3889
3931
  let l = r;
3890
3932
  const h = l.match(/^\\ce\{([\s\S]*)\}$/);
3891
3933
  h && (l = h[1]);
@@ -4009,59 +4051,59 @@ function ie(r) {
4009
4051
  ["\\cdots", "⋯"],
4010
4052
  ["\\ldots", "…"]
4011
4053
  ];
4012
- for (const [i, m] of n) {
4054
+ for (const [i, o] of n) {
4013
4055
  const c = i.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
4014
- l = l.replace(new RegExp(c, "g"), m);
4056
+ l = l.replace(new RegExp(c, "g"), o);
4015
4057
  }
4016
4058
  l = l.replace(/\\frac\{([^}]*)\}\{([^}]*)\}/g, "$1/$2"), l = l.replace(/\\sqrt\[([^\]]*)\]\{([^}]*)\}/g, "$1√($2)"), l = l.replace(/\\sqrt\{([^}]*)\}/g, "√($1)"), l = l.replace(/\\vec\{([^}]*)\}/g, "$1⃗"), l = l.replace(/\\hat\{([^}]*)\}/g, "$1̂"), l = l.replace(/\\bar\{([^}]*)\}/g, "$1̄"), l = l.replace(/\\ddot\{([^}]*)\}/g, "$1̈"), l = l.replace(/\\dot\{([^}]*)\}/g, "$1̇"), l = l.replace(/\\text\{([^}]*)\}/g, "$1"), l = l.replace(
4017
4059
  /\\begin\{pmatrix\}([\s\S]*?)\\end\{pmatrix\}/g,
4018
- (i, m) => "[" + m.replace(/\\\\/g, "; ").replace(/&/g, ", ").trim() + "]"
4060
+ (i, o) => "[" + o.replace(/\\\\/g, "; ").replace(/&/g, ", ").trim() + "]"
4019
4061
  );
4020
4062
  const a = { 0: "⁰", 1: "¹", 2: "²", 3: "³", 4: "⁴", 5: "⁵", 6: "⁶", 7: "⁷", 8: "⁸", 9: "⁹", "+": "⁺", "-": "⁻", "=": "⁼", "(": "⁽", ")": "⁾", n: "ⁿ", i: "ⁱ" };
4021
4063
  l = l.replace(
4022
4064
  /\^\{([^}]*)\}/g,
4023
- (i, m) => m.split("").map((c) => a[c] || c).join("")
4024
- ), l = l.replace(/\^([a-zA-Z0-9])/g, (i, m) => a[m] || m);
4065
+ (i, o) => o.split("").map((c) => a[c] || c).join("")
4066
+ ), l = l.replace(/\^([a-zA-Z0-9])/g, (i, o) => a[o] || o);
4025
4067
  const s = { 0: "₀", 1: "₁", 2: "₂", 3: "₃", 4: "₄", 5: "₅", 6: "₆", 7: "₇", 8: "₈", 9: "₉", "+": "₊", "-": "₋", "=": "₌", "(": "₍", ")": "₎", a: "ₐ", e: "ₑ", o: "ₒ", x: "ₓ", i: "ᵢ", j: "ⱼ", n: "ₙ" };
4026
4068
  return l = l.replace(
4027
4069
  /_\{([^}]*)\}/g,
4028
- (i, m) => m.split("").map((c) => s[c] || c).join("")
4029
- ), l = l.replace(/_([a-zA-Z0-9])/g, (i, m) => s[m] || m), l = l.replace(/->/g, "→"), l = l.replace(/<=>/g, "⇌"), l = l.replace(/\\[a-zA-Z]+/g, ""), l = l.replace(/[{}]/g, ""), l = l.replace(/\s+/g, " "), l = l.replace(/\\\\/g, `
4070
+ (i, o) => o.split("").map((c) => s[c] || c).join("")
4071
+ ), l = l.replace(/_([a-zA-Z0-9])/g, (i, o) => s[o] || o), l = l.replace(/->/g, "→"), l = l.replace(/<=>/g, "⇌"), l = l.replace(/\\[a-zA-Z]+/g, ""), l = l.replace(/[{}]/g, ""), l = l.replace(/\s+/g, " "), l = l.replace(/\\\\/g, `
4030
4072
  `), l.trim();
4031
4073
  }
4032
- function ue({ value: r, onChange: l }) {
4033
- const h = F(null), n = F(!1), [a, s] = L(null), [i, m] = L(null);
4034
- I(() => {
4074
+ function de({ value: r, onChange: l }) {
4075
+ const h = F(null), n = F(!1), [a, s] = L(null), [i, o] = L(null);
4076
+ q(() => {
4035
4077
  n.current = !!a;
4036
- }, [a]), I(() => () => {
4078
+ }, [a]), q(() => () => {
4037
4079
  window.__ckMathWidgetClickHandler = null;
4038
4080
  }, []);
4039
4081
  const c = J((v) => {
4040
- m(null), n.current = !0, s(v);
4082
+ o(null), n.current = !0, s(v);
4041
4083
  }, []), E = J(() => {
4042
- n.current = !1, s(null), m(null);
4084
+ n.current = !1, s(null), o(null);
4043
4085
  const v = h.current;
4044
4086
  v && v.model.change((x) => {
4045
4087
  x.setSelection(null);
4046
4088
  });
4047
- }, []), [f, S] = L(!1), [u, k] = L(!1), [p, A] = L(!1), T = J((v) => {
4089
+ }, []), [f, S] = L(!1), [g, k] = L(!1), [u, A] = L(!1), T = J((v) => {
4048
4090
  const x = h.current;
4049
4091
  if (!(!x || !(v != null && v.trim()))) {
4050
4092
  if (i) {
4051
- const B = et(x, i.modelElement) ? i.modelElement : null;
4093
+ const B = lt(x, i.modelElement) ? i.modelElement : null;
4052
4094
  B ? x.model.change((C) => {
4053
- const g = C.createElement("mathInline", { latex: v.trim() }), W = C.createPositionBefore(B);
4054
- C.insert(g, W), C.remove(B), C.setSelection(C.createPositionAfter(g));
4095
+ const p = C.createElement("mathInline", { latex: v.trim() }), N = C.createPositionBefore(B);
4096
+ C.insert(p, N), C.remove(B), C.setSelection(C.createPositionAfter(p));
4055
4097
  }) : x.model.change((C) => {
4056
- const g = C.createElement("mathInline", { latex: v.trim() });
4057
- x.model.insertContent(g);
4058
- }), m(null);
4098
+ const p = C.createElement("mathInline", { latex: v.trim() });
4099
+ x.model.insertContent(p);
4100
+ }), o(null);
4059
4101
  } else if (f) {
4060
- const B = ie(v.trim());
4102
+ const B = ae(v.trim());
4061
4103
  if (!B) return;
4062
4104
  x.model.change((C) => {
4063
- const g = C.createText(B);
4064
- x.model.insertContent(g);
4105
+ const p = C.createText(B);
4106
+ x.model.insertContent(p);
4065
4107
  });
4066
4108
  } else
4067
4109
  x.model.change((B) => {
@@ -4070,21 +4112,21 @@ function ue({ value: r, onChange: l }) {
4070
4112
  });
4071
4113
  x.editing.view.focus();
4072
4114
  }
4073
- }, [f, i]), D = tt(() => le(c), [c]), R = J((v) => {
4115
+ }, [f, i]), P = et(() => ee(c), [c]), H = J((v) => {
4074
4116
  h.current = v;
4075
- const x = (g, W) => {
4076
- if (n.current || !W) return;
4077
- const N = /^\\ce\{/.test(W);
4078
- n.current = !0, m({ modelElement: g, latex: W }), s(N ? "chem" : "math");
4117
+ const x = (p, N) => {
4118
+ if (n.current || !N) return;
4119
+ const W = /^\\ce\{/.test(N);
4120
+ n.current = !0, o({ modelElement: p, latex: N }), s(W ? "chem" : "math");
4079
4121
  };
4080
4122
  v.mathWidgetClickHandler = x, window.__ckMathWidgetClickHandler = x;
4081
4123
  const B = v.ui.getEditableElement();
4082
4124
  if (!B || B._ckMathClickAttached) return;
4083
4125
  B._ckMathClickAttached = !0;
4084
- const C = (g) => {
4085
- var N;
4086
- const W = ut(g.target);
4087
- W && g.button === 0 && (g.preventDefault(), g.stopPropagation(), (N = g.stopImmediatePropagation) == null || N.call(g), lt(v, null, X(W), W));
4126
+ const C = (p) => {
4127
+ var W;
4128
+ const N = ut(p.target);
4129
+ N && p.button === 0 && (p.preventDefault(), p.stopPropagation(), (W = p.stopImmediatePropagation) == null || W.call(p), rt(v, null, Z(N), N));
4088
4130
  };
4089
4131
  B.addEventListener("mousedown", C, !0), B.addEventListener("click", C, !0);
4090
4132
  }, []);
@@ -4139,7 +4181,7 @@ function ue({ value: r, onChange: l }) {
4139
4181
  }
4140
4182
  },
4141
4183
  "Preview Question"
4142
- )), p && /* @__PURE__ */ t.createElement("div", { style: {
4184
+ )), u && /* @__PURE__ */ t.createElement("div", { style: {
4143
4185
  position: "fixed",
4144
4186
  top: 0,
4145
4187
  left: 0,
@@ -4168,7 +4210,7 @@ function ue({ value: r, onChange: l }) {
4168
4210
  style: { background: "transparent", border: "none", fontSize: "20px", cursor: "pointer" }
4169
4211
  },
4170
4212
  "×"
4171
- )), /* @__PURE__ */ t.createElement("div", { style: { fontSize: "16px", lineHeight: "1.6" } }, /* @__PURE__ */ t.createElement(Vt, { value: r })), /* @__PURE__ */ t.createElement("div", { style: { marginTop: "30px", textAlign: "right" } }, /* @__PURE__ */ t.createElement(
4213
+ )), /* @__PURE__ */ t.createElement("div", { style: { fontSize: "16px", lineHeight: "1.6" } }, /* @__PURE__ */ t.createElement(Qt, { value: r })), /* @__PURE__ */ t.createElement("div", { style: { marginTop: "30px", textAlign: "right" } }, /* @__PURE__ */ t.createElement(
4172
4214
  "button",
4173
4215
  {
4174
4216
  onClick: () => A(!1),
@@ -4176,29 +4218,29 @@ function ue({ value: r, onChange: l }) {
4176
4218
  },
4177
4219
  "Close"
4178
4220
  )))), /* @__PURE__ */ t.createElement(
4179
- vt,
4221
+ yt,
4180
4222
  {
4181
- editor: Rt,
4223
+ editor: Wt,
4182
4224
  data: r,
4183
- onReady: R,
4225
+ onReady: H,
4184
4226
  config: {
4185
4227
  licenseKey: "GPL",
4186
4228
  plugins: [
4229
+ vt,
4187
4230
  xt,
4188
4231
  Ct,
4189
4232
  Et,
4190
4233
  St,
4191
4234
  Bt,
4192
- Dt,
4193
4235
  Pt,
4236
+ Dt,
4194
4237
  Lt,
4195
4238
  Tt,
4196
4239
  Nt,
4197
4240
  It,
4198
4241
  qt,
4199
- Wt,
4200
- $t,
4201
- D
4242
+ _t,
4243
+ P
4202
4244
  ],
4203
4245
  toolbar: {
4204
4246
  items: [
@@ -4237,7 +4279,7 @@ function ue({ value: r, onChange: l }) {
4237
4279
  }
4238
4280
  }
4239
4281
  ), a && /* @__PURE__ */ t.createElement(
4240
- ae,
4282
+ re,
4241
4283
  {
4242
4284
  mode: a,
4243
4285
  onInsert: T,
@@ -4248,5 +4290,5 @@ function ue({ value: r, onChange: l }) {
4248
4290
  ));
4249
4291
  }
4250
4292
  export {
4251
- ue as CustomMathEditor
4293
+ de as CustomMathEditor
4252
4294
  };