@vizel/core 0.0.1-alpha.1 → 0.0.1-alpha.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.
Files changed (71) hide show
  1. package/LICENSE +21 -0
  2. package/dist/index.d.ts +13 -13
  3. package/dist/index.js +141 -141
  4. package/dist/index10.js +70 -110
  5. package/dist/index11.js +135 -168
  6. package/dist/index12.js +83 -74
  7. package/dist/index13.js +13 -134
  8. package/dist/index14.js +13 -146
  9. package/dist/index15.js +303 -15
  10. package/dist/index16.js +69 -14
  11. package/dist/index17.js +26 -295
  12. package/dist/index18.js +2 -2
  13. package/dist/index19.js +355 -24
  14. package/dist/index20.js +25 -264
  15. package/dist/index21.js +85 -68
  16. package/dist/index22.js +97 -353
  17. package/dist/index23.js +66 -84
  18. package/dist/index24.js +12 -36
  19. package/dist/index25.js +53 -92
  20. package/dist/index26.js +132 -96
  21. package/dist/index27.js +59 -126
  22. package/dist/index28.js +37 -53
  23. package/dist/index29.js +19 -62
  24. package/dist/index3.js +165 -60
  25. package/dist/index30.js +9 -37
  26. package/dist/index31.js +143 -19
  27. package/dist/index32.js +264 -11
  28. package/dist/index33.js +92 -9
  29. package/dist/index34.js +63 -16
  30. package/dist/index35.js +4 -58
  31. package/dist/index36.js +123 -15
  32. package/dist/index37.js +305 -42
  33. package/dist/index38.js +487 -4
  34. package/dist/index39.js +37 -112
  35. package/dist/index4.js +10 -86
  36. package/dist/index40.js +653 -301
  37. package/dist/index41.js +4 -487
  38. package/dist/index42.js +4 -48
  39. package/dist/index43.js +206 -642
  40. package/dist/index44.js +82 -4
  41. package/dist/index45.js +17 -4
  42. package/dist/index46.js +57 -237
  43. package/dist/index47.js +15 -82
  44. package/dist/index48.js +190 -274
  45. package/dist/index49.js +281 -1497
  46. package/dist/index5.js +132 -10
  47. package/dist/index50.js +1502 -5
  48. package/dist/index51.js +5 -1561
  49. package/dist/index52.js +1551 -192
  50. package/dist/index53.js +1 -1
  51. package/dist/index54.js +84 -21
  52. package/dist/index55.js +246 -10
  53. package/dist/index56.js +3 -7
  54. package/dist/index57.js +1231 -7
  55. package/dist/index58.js +731 -11
  56. package/dist/index59.js +21 -19
  57. package/dist/index6.js +48 -131
  58. package/dist/index60.js +10 -25
  59. package/dist/index61.js +6 -83
  60. package/dist/index62.js +7 -245
  61. package/dist/index63.js +11 -1229
  62. package/dist/index64.js +17 -732
  63. package/dist/index65.js +25 -3
  64. package/dist/index66.js +53 -1059
  65. package/dist/index67.js +1059 -53
  66. package/dist/index69.js +90 -3
  67. package/dist/index7.js +228 -409
  68. package/dist/index70.js +3 -90
  69. package/dist/index8.js +111 -45
  70. package/dist/index9.js +409 -228
  71. package/package.json +54 -80
package/dist/index59.js CHANGED
@@ -1,21 +1,23 @@
1
- const h = /(-?[0-9.]*[0-9]+[0-9.]*)/g, a = /^-?[0-9.]*[0-9]+[0-9.]*$/g;
2
- function o(t, f, e) {
3
- if (f === 1) return t;
4
- if (e = e || 100, typeof t == "number") return Math.ceil(t * f * e) / e;
5
- if (typeof t != "string") return t;
6
- const l = t.split(h);
7
- if (l === null || !l.length) return t;
8
- const n = [];
9
- let u = l.shift(), s = a.test(u);
10
- for (; ; ) {
11
- if (s) {
12
- const r = parseFloat(u);
13
- isNaN(r) ? n.push(u) : n.push(Math.ceil(r * f * e) / e);
14
- } else n.push(u);
15
- if (u = l.shift(), u === void 0) return n.join("");
16
- s = !s;
17
- }
18
- }
1
+ const e = Object.freeze({
2
+ left: 0,
3
+ top: 0,
4
+ width: 16,
5
+ height: 16
6
+ }), t = Object.freeze({
7
+ rotate: 0,
8
+ vFlip: !1,
9
+ hFlip: !1
10
+ }), o = Object.freeze({
11
+ ...e,
12
+ ...t
13
+ }), n = Object.freeze({
14
+ ...o,
15
+ body: "",
16
+ hidden: !1
17
+ });
19
18
  export {
20
- o as calculateSize
19
+ n as defaultExtendedIconProps,
20
+ e as defaultIconDimensions,
21
+ o as defaultIconProps,
22
+ t as defaultIconTransformations
21
23
  };
package/dist/index6.js CHANGED
@@ -1,135 +1,52 @@
1
- import H from "./index39.js";
2
- import { createLowlight as T, all as V } from "lowlight";
3
- import { renderVizelIcon as S } from "./index26.js";
4
- const w = T(V);
5
- function N() {
6
- return w.listLanguages().sort((t, p) => t.localeCompare(p)).map((t) => ({
7
- id: t,
8
- // Capitalize first letter for display name
9
- name: t.charAt(0).toUpperCase() + t.slice(1)
10
- }));
11
- }
12
- function O() {
13
- return N().map((u) => u.id);
14
- }
15
- function W(u) {
16
- const t = u.toLowerCase();
17
- return N().find((p) => p.id === t);
18
- }
19
- function q(u = {}) {
20
- const {
21
- defaultLanguage: t = "plaintext",
22
- lineNumbers: p = !1,
23
- lowlight: x = w
24
- } = u;
25
- return [H.extend({
26
- addAttributes() {
27
- return {
28
- ...this.parent?.(),
29
- language: {
30
- default: t,
31
- parseHTML: (n) => n.getAttribute("data-language") || n.querySelector("code")?.getAttribute("class")?.replace("language-", "") || t,
32
- renderHTML: (n) => ({
33
- "data-language": n.language || t,
34
- class: `language-${n.language || t}`
35
- })
36
- },
37
- lineNumbers: {
38
- default: p,
39
- parseHTML: (n) => n.getAttribute("data-line-numbers") === "true",
40
- renderHTML: (n) => n.lineNumbers ? { "data-line-numbers": "true" } : {}
41
- }
42
- };
43
- },
44
- addNodeView() {
45
- return ({ node: n, getPos: f, editor: d }) => {
46
- const g = document.createElement("div");
47
- g.classList.add("vizel-code-block"), n.attrs.lineNumbers && g.classList.add("vizel-code-block-line-numbers");
48
- const o = document.createElement("div");
49
- o.classList.add("vizel-code-block-language-selector"), o.setAttribute("contenteditable", "false");
50
- const l = document.createElement("input");
51
- l.type = "text", l.classList.add("vizel-code-block-language-input"), l.value = n.attrs.language || t, l.placeholder = "language";
52
- const k = `vizel-languages-${Math.random().toString(36).slice(2, 9)}`, v = document.createElement("datalist");
53
- v.id = k, l.setAttribute("list", k);
54
- for (const e of N()) {
55
- const a = document.createElement("option");
56
- a.value = e.id, a.label = e.name, v.appendChild(a);
57
- }
58
- const C = () => {
59
- const e = typeof f == "function" ? f() : null;
60
- if (e != null) {
61
- const a = l.value.toLowerCase().trim() || t;
62
- l.value = a;
63
- const { tr: c } = d.state, i = d.state.doc.nodeAt(e);
64
- i && (c.setNodeMarkup(e, void 0, {
65
- ...i.attrs,
66
- language: a
67
- }), d.view.dispatch(c));
68
- }
69
- };
70
- l.addEventListener("change", C), l.addEventListener("blur", C), l.addEventListener("keydown", (e) => {
71
- e.key === "Enter" && (e.preventDefault(), e.stopPropagation(), C(), l.blur());
72
- });
73
- const s = document.createElement("button");
74
- s.type = "button", s.classList.add("vizel-code-block-line-numbers-toggle"), s.innerHTML = S("listOrdered", { width: 16, height: 16 }), n.attrs.lineNumbers && s.classList.add("active"), s.title = n.attrs.lineNumbers ? "Hide line numbers" : "Show line numbers", o.appendChild(s), o.appendChild(l), o.appendChild(v);
75
- const L = document.createElement("div");
76
- L.classList.add("vizel-code-block-container");
77
- const r = document.createElement("div");
78
- r.classList.add("vizel-code-block-gutter"), r.setAttribute("contenteditable", "false"), r.setAttribute("aria-hidden", "true");
79
- const E = document.createElement("pre"), b = document.createElement("code");
80
- b.classList.add(`language-${n.attrs.language || t}`), E.appendChild(b), L.appendChild(r), L.appendChild(E), g.appendChild(o), g.appendChild(L);
81
- const z = () => {
82
- const e = b.textContent || "", a = e.split(`
83
- `), c = e.endsWith(`
84
- `) && a.length > 1 ? a.length - 1 : Math.max(1, a.length);
85
- if (r.children.length !== c) {
86
- r.innerHTML = "";
87
- for (let i = 1; i <= c; i++) {
88
- const m = document.createElement("div");
89
- m.classList.add("vizel-code-block-line-number"), m.textContent = String(i), r.appendChild(m);
90
- }
91
- }
92
- };
93
- n.attrs.lineNumbers && setTimeout(z, 0);
94
- let A = n.attrs.language, h = n.attrs.lineNumbers;
95
- s.addEventListener("click", (e) => {
96
- e.preventDefault(), e.stopPropagation();
97
- const a = typeof f == "function" ? f() : null;
98
- if (a != null) {
99
- const c = !h, { tr: i } = d.state, m = d.state.doc.nodeAt(a);
100
- m && (i.setNodeMarkup(a, void 0, {
101
- ...m.attrs,
102
- lineNumbers: c
103
- }), d.view.dispatch(i));
104
- }
105
- });
106
- const M = (e) => {
107
- A = e, l.value = e || t, b.className = `language-${e || t}`;
108
- }, y = (e) => {
109
- h = e, g.classList.toggle("vizel-code-block-line-numbers", e), s.classList.toggle("active", e), s.title = e ? "Hide line numbers" : "Show line numbers";
110
- };
111
- return {
112
- dom: g,
113
- contentDOM: b,
114
- update(e) {
115
- return e.type.name !== "codeBlock" ? !1 : (e.attrs.language !== A && M(e.attrs.language), e.attrs.lineNumbers !== h && y(e.attrs.lineNumbers), h && setTimeout(z, 0), !0);
116
- },
117
- ignoreMutation(e) {
118
- return r.contains(e.target) || o.contains(e.target);
119
- }
120
- };
121
- };
1
+ import { Details as m, DetailsSummary as M, DetailsContent as p } from "./index37.js";
2
+ function A(r = {}) {
3
+ const { details: s = {}, detailsContent: i = {}, detailsSummary: o = {} } = r, a = m.extend({
4
+ renderMarkdown(t, e) {
5
+ const d = t.attrs?.open === !0 ? " open" : "", u = e.renderChildren(t.content ?? [], "");
6
+ return `<details${d}>
7
+ ${u}</details>
8
+
9
+ `;
10
+ }
11
+ }), l = M.extend({
12
+ renderMarkdown(t, e) {
13
+ return `<summary>${e.renderChildren(t.content ?? [], "")}</summary>
14
+ `;
15
+ }
16
+ }), c = p.extend({
17
+ renderMarkdown(t, e) {
18
+ return `
19
+ ${e.renderChildren(t.content ?? [], `
20
+
21
+ `)}
22
+ `;
122
23
  }
123
- }).configure({
124
- lowlight: x,
125
- defaultLanguage: t
126
- })];
24
+ });
25
+ return [
26
+ a.configure({
27
+ HTMLAttributes: {
28
+ class: "vizel-details",
29
+ ...s.HTMLAttributes
30
+ },
31
+ persist: !0
32
+ }),
33
+ c.configure({
34
+ HTMLAttributes: {
35
+ class: "vizel-details-content",
36
+ ...i.HTMLAttributes
37
+ }
38
+ }),
39
+ l.configure({
40
+ HTMLAttributes: {
41
+ class: "vizel-details-summary",
42
+ ...o.HTMLAttributes
43
+ }
44
+ })
45
+ ];
127
46
  }
128
47
  export {
129
- H as CodeBlockLowlight,
130
- q as createVizelCodeBlockExtension,
131
- W as findVizelLanguage,
132
- O as getAllVizelLanguageIds,
133
- N as getVizelRegisteredLanguages,
134
- w as lowlight
48
+ m as Details,
49
+ p as DetailsContent,
50
+ M as DetailsSummary,
51
+ A as createVizelDetailsExtensions
135
52
  };
package/dist/index60.js CHANGED
@@ -1,27 +1,12 @@
1
- function l(e, i = "defs") {
2
- let f = "";
3
- const s = e.indexOf("<" + i);
4
- for (; s >= 0; ) {
5
- const d = e.indexOf(">", s), r = e.indexOf("</" + i);
6
- if (d === -1 || r === -1) break;
7
- const n = e.indexOf(">", r);
8
- if (n === -1) break;
9
- f += e.slice(d + 1, r).trim(), e = e.slice(0, s).trim() + e.slice(n + 1);
10
- }
11
- return {
12
- defs: f,
13
- content: e
14
- };
15
- }
16
- function t(e, i) {
17
- return e ? "<defs>" + e + "</defs>" + i : i;
18
- }
19
- function u(e, i, f) {
20
- const s = l(e);
21
- return t(s.defs, i + s.content + f);
22
- }
1
+ import { defaultIconTransformations as t } from "./index59.js";
2
+ const e = Object.freeze({
3
+ width: null,
4
+ height: null
5
+ }), n = Object.freeze({
6
+ ...e,
7
+ ...t
8
+ });
23
9
  export {
24
- t as mergeDefsAndContent,
25
- l as splitSVGDefs,
26
- u as wrapSVGContent
10
+ n as defaultIconCustomisations,
11
+ e as defaultIconSizeCustomisations
27
12
  };
package/dist/index61.js CHANGED
@@ -1,86 +1,9 @@
1
- import { Plugin as w } from "./index41.js";
2
- import { dropPoint as v } from "./index64.js";
3
- function y(m = {}) {
4
- return new w({
5
- view(e) {
6
- return new C(e, m);
7
- }
8
- });
9
- }
10
- class C {
11
- constructor(e, t) {
12
- var i;
13
- this.editorView = e, this.cursorPos = null, this.element = null, this.timeout = -1, this.width = (i = t.width) !== null && i !== void 0 ? i : 1, this.color = t.color === !1 ? void 0 : t.color || "black", this.class = t.class, this.handlers = ["dragover", "dragend", "drop", "dragleave"].map((s) => {
14
- let d = (r) => {
15
- this[s](r);
16
- };
17
- return e.dom.addEventListener(s, d), { name: s, handler: d };
18
- });
19
- }
20
- destroy() {
21
- this.handlers.forEach(({ name: e, handler: t }) => this.editorView.dom.removeEventListener(e, t));
22
- }
23
- update(e, t) {
24
- this.cursorPos != null && t.doc != e.state.doc && (this.cursorPos > e.state.doc.content.size ? this.setCursor(null) : this.updateOverlay());
25
- }
26
- setCursor(e) {
27
- e != this.cursorPos && (this.cursorPos = e, e == null ? (this.element.parentNode.removeChild(this.element), this.element = null) : this.updateOverlay());
28
- }
29
- updateOverlay() {
30
- let e = this.editorView.state.doc.resolve(this.cursorPos), t = !e.parent.inlineContent, i, s = this.editorView.dom, d = s.getBoundingClientRect(), r = d.width / s.offsetWidth, h = d.height / s.offsetHeight;
31
- if (t) {
32
- let o = e.nodeBefore, n = e.nodeAfter;
33
- if (o || n) {
34
- let a = this.editorView.nodeDOM(this.cursorPos - (o ? o.nodeSize : 0));
35
- if (a) {
36
- let c = a.getBoundingClientRect(), u = o ? c.bottom : c.top;
37
- o && n && (u = (u + this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top) / 2);
38
- let g = this.width / 2 * h;
39
- i = { left: c.left, right: c.right, top: u - g, bottom: u + g };
40
- }
41
- }
42
- }
43
- if (!i) {
44
- let o = this.editorView.coordsAtPos(this.cursorPos), n = this.width / 2 * r;
45
- i = { left: o.left - n, right: o.left + n, top: o.top, bottom: o.bottom };
46
- }
47
- let l = this.editorView.dom.offsetParent;
48
- this.element || (this.element = l.appendChild(document.createElement("div")), this.class && (this.element.className = this.class), this.element.style.cssText = "position: absolute; z-index: 50; pointer-events: none;", this.color && (this.element.style.backgroundColor = this.color)), this.element.classList.toggle("prosemirror-dropcursor-block", t), this.element.classList.toggle("prosemirror-dropcursor-inline", !t);
49
- let f, p;
50
- if (!l || l == document.body && getComputedStyle(l).position == "static")
51
- f = -pageXOffset, p = -pageYOffset;
52
- else {
53
- let o = l.getBoundingClientRect(), n = o.width / l.offsetWidth, a = o.height / l.offsetHeight;
54
- f = o.left - l.scrollLeft * n, p = o.top - l.scrollTop * a;
55
- }
56
- this.element.style.left = (i.left - f) / r + "px", this.element.style.top = (i.top - p) / h + "px", this.element.style.width = (i.right - i.left) / r + "px", this.element.style.height = (i.bottom - i.top) / h + "px";
57
- }
58
- scheduleRemoval(e) {
59
- clearTimeout(this.timeout), this.timeout = setTimeout(() => this.setCursor(null), e);
60
- }
61
- dragover(e) {
62
- if (!this.editorView.editable)
63
- return;
64
- let t = this.editorView.posAtCoords({ left: e.clientX, top: e.clientY }), i = t && t.inside >= 0 && this.editorView.state.doc.nodeAt(t.inside), s = i && i.type.spec.disableDropCursor, d = typeof s == "function" ? s(this.editorView, t, e) : s;
65
- if (t && !d) {
66
- let r = t.pos;
67
- if (this.editorView.dragging && this.editorView.dragging.slice) {
68
- let h = v(this.editorView.state.doc, r, this.editorView.dragging.slice);
69
- h != null && (r = h);
70
- }
71
- this.setCursor(r), this.scheduleRemoval(5e3);
72
- }
73
- }
74
- dragend() {
75
- this.scheduleRemoval(20);
76
- }
77
- drop() {
78
- this.scheduleRemoval(20);
79
- }
80
- dragleave(e) {
81
- this.editorView.dom.contains(e.relatedTarget) || this.setCursor(null);
82
- }
1
+ function n(r, e) {
2
+ const t = {};
3
+ !r.hFlip != !e.hFlip && (t.hFlip = !0), !r.vFlip != !e.vFlip && (t.vFlip = !0);
4
+ const i = ((r.rotate || 0) + (e.rotate || 0)) % 4;
5
+ return i && (t.rotate = i), t;
83
6
  }
84
7
  export {
85
- y as dropCursor
8
+ n as mergeIconTransformations
86
9
  };
package/dist/index62.js CHANGED
@@ -1,248 +1,10 @@
1
- import P from "./index68.js";
2
- import { Mapping as k } from "./index64.js";
3
- import { Plugin as H, PluginKey as O } from "./index41.js";
4
- const D = 500;
5
- class c {
6
- constructor(t, e) {
7
- this.items = t, this.eventCount = e;
8
- }
9
- // Pop the latest event off the branch's history and apply it
10
- // to a document transform.
11
- popEvent(t, e) {
12
- if (this.eventCount == 0)
13
- return null;
14
- let i = this.items.length;
15
- for (; ; i--)
16
- if (this.items.get(i - 1).selection) {
17
- --i;
18
- break;
19
- }
20
- let s, p;
21
- e && (s = this.remapping(i, this.items.length), p = s.maps.length);
22
- let l = t.tr, r, m, u = [], f = [];
23
- return this.items.forEach((a, o) => {
24
- if (!a.step) {
25
- s || (s = this.remapping(i, o + 1), p = s.maps.length), p--, f.push(a);
26
- return;
27
- }
28
- if (s) {
29
- f.push(new g(a.map));
30
- let d = a.step.map(s.slice(p)), v;
31
- d && l.maybeStep(d).doc && (v = l.mapping.maps[l.mapping.maps.length - 1], u.push(new g(v, void 0, void 0, u.length + f.length))), p--, v && s.appendMap(v, p);
32
- } else
33
- l.maybeStep(a.step);
34
- if (a.selection)
35
- return r = s ? a.selection.map(s.slice(p)) : a.selection, m = new c(this.items.slice(0, i).append(f.reverse().concat(u)), this.eventCount - 1), !1;
36
- }, this.items.length, 0), { remaining: m, transform: l, selection: r };
37
- }
38
- // Create a new branch with the given transform added.
39
- addTransform(t, e, i, s) {
40
- let p = [], l = this.eventCount, r = this.items, m = !s && r.length ? r.get(r.length - 1) : null;
41
- for (let f = 0; f < t.steps.length; f++) {
42
- let a = t.steps[f].invert(t.docs[f]), o = new g(t.mapping.maps[f], a, e), d;
43
- (d = m && m.merge(o)) && (o = d, f ? p.pop() : r = r.slice(0, r.length - 1)), p.push(o), e && (l++, e = void 0), s || (m = o);
44
- }
45
- let u = l - i.depth;
46
- return u > y && (r = x(r, u), l -= u), new c(r.append(p), l);
47
- }
48
- remapping(t, e) {
49
- let i = new k();
50
- return this.items.forEach((s, p) => {
51
- let l = s.mirrorOffset != null && p - s.mirrorOffset >= t ? i.maps.length - s.mirrorOffset : void 0;
52
- i.appendMap(s.map, l);
53
- }, t, e), i;
54
- }
55
- addMaps(t) {
56
- return this.eventCount == 0 ? this : new c(this.items.append(t.map((e) => new g(e))), this.eventCount);
57
- }
58
- // When the collab module receives remote changes, the history has
59
- // to know about those, so that it can adjust the steps that were
60
- // rebased on top of the remote changes, and include the position
61
- // maps for the remote changes in its array of items.
62
- rebased(t, e) {
63
- if (!this.eventCount)
64
- return this;
65
- let i = [], s = Math.max(0, this.items.length - e), p = t.mapping, l = t.steps.length, r = this.eventCount;
66
- this.items.forEach((o) => {
67
- o.selection && r--;
68
- }, s);
69
- let m = e;
70
- this.items.forEach((o) => {
71
- let d = p.getMirror(--m);
72
- if (d == null)
73
- return;
74
- l = Math.min(l, d);
75
- let v = p.maps[d];
76
- if (o.step) {
77
- let S = t.steps[d].invert(t.docs[d]), E = o.selection && o.selection.map(p.slice(m + 1, d));
78
- E && r++, i.push(new g(v, S, E));
79
- } else
80
- i.push(new g(v));
81
- }, s);
82
- let u = [];
83
- for (let o = e; o < l; o++)
84
- u.push(new g(p.maps[o]));
85
- let f = this.items.slice(0, s).append(u).append(i), a = new c(f, r);
86
- return a.emptyItemCount() > D && (a = a.compress(this.items.length - i.length)), a;
87
- }
88
- emptyItemCount() {
89
- let t = 0;
90
- return this.items.forEach((e) => {
91
- e.step || t++;
92
- }), t;
93
- }
94
- // Compressing a branch means rewriting it to push the air (map-only
95
- // items) out. During collaboration, these naturally accumulate
96
- // because each remote change adds one. The `upto` argument is used
97
- // to ensure that only the items below a given level are compressed,
98
- // because `rebased` relies on a clean, untouched set of items in
99
- // order to associate old items with rebased steps.
100
- compress(t = this.items.length) {
101
- let e = this.remapping(0, t), i = e.maps.length, s = [], p = 0;
102
- return this.items.forEach((l, r) => {
103
- if (r >= t)
104
- s.push(l), l.selection && p++;
105
- else if (l.step) {
106
- let m = l.step.map(e.slice(i)), u = m && m.getMap();
107
- if (i--, u && e.appendMap(u, i), m) {
108
- let f = l.selection && l.selection.map(e.slice(i));
109
- f && p++;
110
- let a = new g(u.invert(), m, f), o, d = s.length - 1;
111
- (o = s.length && s[d].merge(a)) ? s[d] = o : s.push(a);
112
- }
113
- } else l.map && i--;
114
- }, this.items.length, 0), new c(P.from(s.reverse()), p);
115
- }
1
+ import { defaultExtendedIconProps as f, defaultIconTransformations as r } from "./index59.js";
2
+ import { mergeIconTransformations as t } from "./index61.js";
3
+ function a(e, i) {
4
+ const n = t(e, i);
5
+ for (const o in f) o in r ? o in e && !(o in n) && (n[o] = r[o]) : o in i ? n[o] = i[o] : o in e && (n[o] = e[o]);
6
+ return n;
116
7
  }
117
- c.empty = new c(P.empty, 0);
118
- function x(n, t) {
119
- let e;
120
- return n.forEach((i, s) => {
121
- if (i.selection && t-- == 0)
122
- return e = s, !1;
123
- }), n.slice(e);
124
- }
125
- class g {
126
- constructor(t, e, i, s) {
127
- this.map = t, this.step = e, this.selection = i, this.mirrorOffset = s;
128
- }
129
- merge(t) {
130
- if (this.step && t.step && !t.selection) {
131
- let e = t.step.merge(this.step);
132
- if (e)
133
- return new g(e.getMap().invert(), e, this.selection);
134
- }
135
- }
136
- }
137
- class h {
138
- constructor(t, e, i, s, p) {
139
- this.done = t, this.undone = e, this.prevRanges = i, this.prevTime = s, this.prevComposition = p;
140
- }
141
- }
142
- const y = 20;
143
- function F(n, t, e, i) {
144
- let s = e.getMeta(w), p;
145
- if (s)
146
- return s.historyState;
147
- e.getMeta(j) && (n = new h(n.done, n.undone, null, 0, -1));
148
- let l = e.getMeta("appendedTransaction");
149
- if (e.steps.length == 0)
150
- return n;
151
- if (l && l.getMeta(w))
152
- return l.getMeta(w).redo ? new h(n.done.addTransform(e, void 0, i, M(t)), n.undone, I(e.mapping.maps), n.prevTime, n.prevComposition) : new h(n.done, n.undone.addTransform(e, void 0, i, M(t)), null, n.prevTime, n.prevComposition);
153
- if (e.getMeta("addToHistory") !== !1 && !(l && l.getMeta("addToHistory") === !1)) {
154
- let r = e.getMeta("composition"), m = n.prevTime == 0 || !l && n.prevComposition != r && (n.prevTime < (e.time || 0) - i.newGroupDelay || !G(e, n.prevRanges)), u = l ? C(n.prevRanges, e.mapping) : I(e.mapping.maps);
155
- return new h(n.done.addTransform(e, m ? t.selection.getBookmark() : void 0, i, M(t)), c.empty, u, e.time, r ?? n.prevComposition);
156
- } else return (p = e.getMeta("rebased")) ? new h(n.done.rebased(e, p), n.undone.rebased(e, p), C(n.prevRanges, e.mapping), n.prevTime, n.prevComposition) : new h(n.done.addMaps(e.mapping.maps), n.undone.addMaps(e.mapping.maps), C(n.prevRanges, e.mapping), n.prevTime, n.prevComposition);
157
- }
158
- function G(n, t) {
159
- if (!t)
160
- return !1;
161
- if (!n.docChanged)
162
- return !0;
163
- let e = !1;
164
- return n.mapping.maps[0].forEach((i, s) => {
165
- for (let p = 0; p < t.length; p += 2)
166
- i <= t[p + 1] && s >= t[p] && (e = !0);
167
- }), e;
168
- }
169
- function I(n) {
170
- let t = [];
171
- for (let e = n.length - 1; e >= 0 && t.length == 0; e--)
172
- n[e].forEach((i, s, p, l) => t.push(p, l));
173
- return t;
174
- }
175
- function C(n, t) {
176
- if (!n)
177
- return null;
178
- let e = [];
179
- for (let i = 0; i < n.length; i += 2) {
180
- let s = t.map(n[i], 1), p = t.map(n[i + 1], -1);
181
- s <= p && e.push(s, p);
182
- }
183
- return e;
184
- }
185
- function K(n, t, e) {
186
- let i = M(t), s = w.get(t).spec.config, p = (e ? n.undone : n.done).popEvent(t, i);
187
- if (!p)
188
- return null;
189
- let l = p.selection.resolve(p.transform.doc), r = (e ? n.done : n.undone).addTransform(p.transform, t.selection.getBookmark(), s, i), m = new h(e ? r : p.remaining, e ? p.remaining : r, null, 0, -1);
190
- return p.transform.setSelection(l).setMeta(w, { redo: e, historyState: m });
191
- }
192
- let T = !1, b = null;
193
- function M(n) {
194
- let t = n.plugins;
195
- if (b != t) {
196
- T = !1, b = t;
197
- for (let e = 0; e < t.length; e++)
198
- if (t[e].spec.historyPreserveItems) {
199
- T = !0;
200
- break;
201
- }
202
- }
203
- return T;
204
- }
205
- const w = new O("history"), j = new O("closeHistory");
206
- function W(n = {}) {
207
- return n = {
208
- depth: n.depth || 100,
209
- newGroupDelay: n.newGroupDelay || 500
210
- }, new H({
211
- key: w,
212
- state: {
213
- init() {
214
- return new h(c.empty, c.empty, null, 0, -1);
215
- },
216
- apply(t, e, i) {
217
- return F(e, i, t, n);
218
- }
219
- },
220
- config: n,
221
- props: {
222
- handleDOMEvents: {
223
- beforeinput(t, e) {
224
- let i = e.inputType, s = i == "historyUndo" ? A : i == "historyRedo" ? U : null;
225
- return !s || !t.editable ? !1 : (e.preventDefault(), s(t.state, t.dispatch));
226
- }
227
- }
228
- }
229
- });
230
- }
231
- function R(n, t) {
232
- return (e, i) => {
233
- let s = w.getState(e);
234
- if (!s || (n ? s.undone : s.done).eventCount == 0)
235
- return !1;
236
- if (i) {
237
- let p = K(s, e, n);
238
- p && i(t ? p.scrollIntoView() : p);
239
- }
240
- return !0;
241
- };
242
- }
243
- const A = R(!1, !0), U = R(!0, !0);
244
8
  export {
245
- W as history,
246
- U as redo,
247
- A as undo
9
+ a as mergeIconData
248
10
  };