@floegence/floe-webapp-core 0.35.57 → 0.35.58
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.
|
@@ -5,10 +5,10 @@ import { NotesAnimalIcon as T } from "./notesAppearance.js";
|
|
|
5
5
|
import { NotesBoardNote as P } from "./NotesBoardNote.js";
|
|
6
6
|
import { topicAccentClass as p } from "./notesOverlayHelpers.js";
|
|
7
7
|
import { InfiniteCanvas as L } from "../ui/InfiniteCanvas.js";
|
|
8
|
-
var Z = /* @__PURE__ */ r('<button type=button class=notes-overlay__hud-button aria-label="Open overview map">'), D = /* @__PURE__ */ r("<div class=notes-page__mobile-toolbar><div class=notes-page__mobile-topics>"), A = /* @__PURE__ */ r("<div class=notes-canvas__field>"), B = /* @__PURE__ */ r('<div class=notes-mobile-dock data-floe-canvas-interactive=true><button type=button class=notes-mobile-dock__action aria-label="Create note at canvas center"><span>New</span></button><button type=button class=notes-mobile-dock__action aria-label="Paste note at canvas center"><span>Paste</span></button><button type=button class="notes-mobile-dock__action is-emphasis"aria-label="Open overview map"><span>Map'), E = /* @__PURE__ */ r('<section class="notes-page notes-overlay__board"><div class=notes-overlay__board-head data-floe-canvas-interactive=true><div class=notes-overlay__board-topic></div><div class=notes-overlay__board-actions><button type=button class=notes-overlay__hud-button aria-label="Zoom out"></button><div class=notes-overlay__hud-scale></div><button type=button class=notes-overlay__hud-button aria-label="Zoom in"></button></div></div><div class=notes-page__canvas
|
|
8
|
+
var Z = /* @__PURE__ */ r('<button type=button class=notes-overlay__hud-button aria-label="Open overview map">'), D = /* @__PURE__ */ r("<div class=notes-page__mobile-toolbar><div class=notes-page__mobile-topics>"), A = /* @__PURE__ */ r("<div class=notes-canvas__field>"), B = /* @__PURE__ */ r('<div class=notes-mobile-dock data-floe-canvas-interactive=true><button type=button class=notes-mobile-dock__action aria-label="Create note at canvas center"><span>New</span></button><button type=button class=notes-mobile-dock__action aria-label="Paste note at canvas center"><span>Paste</span></button><button type=button class="notes-mobile-dock__action is-emphasis"aria-label="Open overview map"><span>Map'), E = /* @__PURE__ */ r('<section class="notes-page notes-overlay__board"><div class=notes-overlay__board-head data-floe-canvas-interactive=true><div class=notes-overlay__board-topic></div><div class=notes-overlay__board-actions><button type=button class=notes-overlay__hud-button aria-label="Zoom out"></button><div class=notes-overlay__hud-scale></div><button type=button class=notes-overlay__hud-button aria-label="Zoom in"></button></div></div><div class=notes-page__canvas>'), j = /* @__PURE__ */ r("<div>"), R = /* @__PURE__ */ r("<div class=notes-overlay__board-topic-copy><div class=notes-page__eyebrow>Active Topic</div><div class=notes-overlay__board-title></div><div class=notes-overlay__board-meta> live note"), V = /* @__PURE__ */ r("<button type=button class=notes-page__mobile-topic>");
|
|
9
9
|
function U(e) {
|
|
10
10
|
return (() => {
|
|
11
|
-
var s = E(),
|
|
11
|
+
var s = E(), b = s.firstChild, g = b.firstChild, $ = g.nextSibling, d = $.firstChild, h = d.nextSibling, C = h.nextSibling, v = b.nextSibling;
|
|
12
12
|
t(g, o(u, {
|
|
13
13
|
get when() {
|
|
14
14
|
return e.activeTopic;
|
|
@@ -24,8 +24,8 @@ function U(e) {
|
|
|
24
24
|
class: "notes-topic-mark__icon"
|
|
25
25
|
})), a;
|
|
26
26
|
})(), (() => {
|
|
27
|
-
var a = R(), l = a.firstChild, _ = l.nextSibling, c = _.nextSibling,
|
|
28
|
-
return t(_, () => n().name), t(c, () => e.activeItems.length,
|
|
27
|
+
var a = R(), l = a.firstChild, _ = l.nextSibling, c = _.nextSibling, m = c.firstChild;
|
|
28
|
+
return t(_, () => n().name), t(c, () => e.activeItems.length, m), t(c, () => e.activeItems.length === 1 ? "" : "s", null), a;
|
|
29
29
|
})()];
|
|
30
30
|
}
|
|
31
31
|
})), d.$$click = () => e.onZoomOut(), t(d, o(N, {
|
|
@@ -132,14 +132,14 @@ function U(e) {
|
|
|
132
132
|
return O(() => !!e.isMobile)() && !e.overviewOpen;
|
|
133
133
|
},
|
|
134
134
|
get children() {
|
|
135
|
-
var n = B(), i = n.firstChild, a = i.firstChild, l = i.nextSibling, _ = l.firstChild, c = l.nextSibling,
|
|
135
|
+
var n = B(), i = n.firstChild, a = i.firstChild, l = i.nextSibling, _ = l.firstChild, c = l.nextSibling, m = c.firstChild;
|
|
136
136
|
return i.$$click = () => e.onMobileCreateNote(), t(i, o(w, {
|
|
137
137
|
class: "w-4 h-4"
|
|
138
138
|
}), a), l.$$click = () => e.onMobilePaste(), t(l, o(F, {
|
|
139
139
|
class: "w-4 h-4"
|
|
140
140
|
}), _), c.$$click = () => e.onOpenOverview(), t(c, o(M, {
|
|
141
141
|
class: "w-4 h-4"
|
|
142
|
-
}),
|
|
142
|
+
}), m), n;
|
|
143
143
|
}
|
|
144
144
|
}), null), s;
|
|
145
145
|
})();
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import { insert as
|
|
2
|
-
import { createSignal as
|
|
3
|
-
import { startHotInteraction as
|
|
4
|
-
import { GripVertical as
|
|
5
|
-
import { notePreviewMetrics as
|
|
6
|
-
var
|
|
7
|
-
const
|
|
8
|
-
function
|
|
9
|
-
const [
|
|
1
|
+
import { insert as s, createComponent as L, memo as C, effect as j, setAttribute as T, style as q, className as J, setStyleProperty as k, template as b, delegateEvents as Q } from "solid-js/web";
|
|
2
|
+
import { createSignal as U, onCleanup as p, untrack as G, createMemo as c } from "solid-js";
|
|
3
|
+
import { startHotInteraction as tt } from "../../utils/hotInteraction.js";
|
|
4
|
+
import { GripVertical as et, Check as nt, Pencil as ot, Trash as it } from "../icons/index.js";
|
|
5
|
+
import { notePreviewMetrics as lt, normalizeNoteTitle as at, normalizeNoteText as st, getNotePreviewText as rt, noteColorClass as dt, samePoint as ct } from "./notesOverlayHelpers.js";
|
|
6
|
+
var mt = /* @__PURE__ */ b('<article data-floe-geometry-surface=notes-note><div class=notes-note__surface><header class=notes-note__header><div class=notes-note__lead><button type=button class=notes-note__drag aria-label="Drag note"data-floe-canvas-interactive=true data-floe-notes-front-skip=true></button></div></header><button type=button class=notes-note__body data-floe-canvas-interactive=true data-floe-canvas-pan-surface=true></button></div><div class=notes-note__actions><button type=button class=notes-note__icon-button data-floe-canvas-interactive=true aria-label="Edit note"></button><button type=button class="notes-note__icon-button is-danger"data-floe-canvas-interactive=true data-floe-notes-front-skip=true aria-label="Move note to trash">'), ut = /* @__PURE__ */ b("<span class=notes-note__title-block><span class=notes-note__title>"), vt = /* @__PURE__ */ b("<span class=notes-note__body-copy>"), _t = /* @__PURE__ */ b("<span class=notes-note__body-copy>Empty note"), gt = /* @__PURE__ */ b("<div class=notes-note__copied-state aria-hidden=true><div class=notes-note__copied-pill><span class=notes-note__copied-icon></span><span class=notes-note__copied-copy>Copied"), bt = /* @__PURE__ */ b("<div class=notes-note__number aria-hidden=true><span class=notes-note__number-key>");
|
|
7
|
+
const ft = '[data-floe-notes-front-skip="true"]';
|
|
8
|
+
function xt(e) {
|
|
9
|
+
const [w, I] = U(null);
|
|
10
10
|
let _;
|
|
11
|
-
|
|
12
|
-
_?.abort(), _ = void 0, G(
|
|
11
|
+
p(() => {
|
|
12
|
+
_?.abort(), _ = void 0, G(w)?.stopInteraction();
|
|
13
13
|
});
|
|
14
|
-
const
|
|
15
|
-
|
|
14
|
+
const M = c(() => lt(e.item)), X = c(() => at(e.item.title)), Y = c(() => st(e.item.body)), H = c(() => Y() ? rt(e.item.body, M().preview_limit) : ""), K = c(() => e.numberLabel ? {
|
|
15
|
+
"--notes-number-length": `${Math.max(e.numberLabel.length, 1)}`
|
|
16
|
+
} : void 0), f = c(() => X().length > 0), S = c(() => Y().length > 0), P = c(() => !f() && !S()), E = () => w() !== null, N = c(() => {
|
|
17
|
+
const n = w();
|
|
16
18
|
return n ? {
|
|
17
19
|
x: n.worldX,
|
|
18
20
|
y: n.worldY
|
|
@@ -20,25 +22,25 @@ function Ct(e) {
|
|
|
20
22
|
x: e.item.x,
|
|
21
23
|
y: e.item.y
|
|
22
24
|
};
|
|
23
|
-
}),
|
|
24
|
-
const
|
|
25
|
-
if (!
|
|
26
|
-
const
|
|
27
|
-
x:
|
|
28
|
-
y:
|
|
29
|
-
},
|
|
30
|
-
x:
|
|
31
|
-
y:
|
|
32
|
-
}, v = n && !
|
|
33
|
-
v && e.onSeedMoveProjection(e.item.note_id,
|
|
34
|
-
},
|
|
25
|
+
}), V = (n) => !(n instanceof Element && n.closest(ft)), W = (n) => {
|
|
26
|
+
const l = G(w);
|
|
27
|
+
if (!l) return;
|
|
28
|
+
const m = {
|
|
29
|
+
x: l.worldX,
|
|
30
|
+
y: l.worldY
|
|
31
|
+
}, h = {
|
|
32
|
+
x: l.startWorldX,
|
|
33
|
+
y: l.startWorldY
|
|
34
|
+
}, v = n && !ct(m, h);
|
|
35
|
+
v && e.onSeedMoveProjection(e.item.note_id, m), l.stopInteraction(), I(null), _?.abort(), _ = void 0, e.onCommitFront(e.item.note_id), v && e.onCommitMove(e.item.note_id, m);
|
|
36
|
+
}, Z = (n) => {
|
|
35
37
|
if (n.button !== 0) return;
|
|
36
38
|
n.preventDefault(), n.stopPropagation(), _?.abort(), e.onStartOptimisticFront(e.item.note_id);
|
|
37
|
-
const
|
|
39
|
+
const l = tt({
|
|
38
40
|
kind: "drag",
|
|
39
41
|
cursor: "grabbing"
|
|
40
|
-
}),
|
|
41
|
-
|
|
42
|
+
}), m = Math.max(e.viewportScale, 1e-3);
|
|
43
|
+
I({
|
|
42
44
|
pointerId: n.pointerId,
|
|
43
45
|
startClientX: n.clientX,
|
|
44
46
|
startClientY: n.clientY,
|
|
@@ -47,79 +49,86 @@ function Ct(e) {
|
|
|
47
49
|
worldX: e.item.x,
|
|
48
50
|
worldY: e.item.y,
|
|
49
51
|
moved: !1,
|
|
50
|
-
scale:
|
|
51
|
-
stopInteraction:
|
|
52
|
+
scale: m,
|
|
53
|
+
stopInteraction: l
|
|
52
54
|
});
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
if (!
|
|
56
|
-
const t =
|
|
55
|
+
const h = (r) => {
|
|
56
|
+
I((i) => {
|
|
57
|
+
if (!i || i.pointerId !== r.pointerId) return i;
|
|
58
|
+
const t = i.startWorldX + (r.clientX - i.startClientX) / i.scale, o = i.startWorldY + (r.clientY - i.startClientY) / i.scale;
|
|
57
59
|
return {
|
|
58
|
-
...
|
|
60
|
+
...i,
|
|
59
61
|
worldX: t,
|
|
60
|
-
worldY:
|
|
61
|
-
moved:
|
|
62
|
+
worldY: o,
|
|
63
|
+
moved: i.moved || Math.abs(t - i.startWorldX) > 2 || Math.abs(o - i.startWorldY) > 2
|
|
62
64
|
};
|
|
63
65
|
});
|
|
64
|
-
}, v = (
|
|
65
|
-
|
|
66
|
-
},
|
|
67
|
-
|
|
68
|
-
},
|
|
69
|
-
_ =
|
|
70
|
-
signal:
|
|
66
|
+
}, v = (r) => {
|
|
67
|
+
r.pointerId === n.pointerId && W(!0);
|
|
68
|
+
}, d = (r) => {
|
|
69
|
+
r.pointerId === n.pointerId && W(!1);
|
|
70
|
+
}, g = new AbortController();
|
|
71
|
+
_ = g, window.addEventListener("pointermove", h, {
|
|
72
|
+
signal: g.signal
|
|
71
73
|
}), window.addEventListener("pointerup", v, {
|
|
72
74
|
once: !0,
|
|
73
|
-
signal:
|
|
74
|
-
}), window.addEventListener("pointercancel",
|
|
75
|
+
signal: g.signal
|
|
76
|
+
}), window.addEventListener("pointercancel", d, {
|
|
75
77
|
once: !0,
|
|
76
|
-
signal:
|
|
78
|
+
signal: g.signal
|
|
77
79
|
});
|
|
78
80
|
};
|
|
79
81
|
return (() => {
|
|
80
|
-
var n =
|
|
82
|
+
var n = mt(), l = n.firstChild, m = l.firstChild, h = m.firstChild, v = h.firstChild, d = m.nextSibling, g = l.nextSibling, r = g.firstChild, i = r.nextSibling;
|
|
81
83
|
return n.$$click = (t) => {
|
|
82
|
-
|
|
84
|
+
V(t.target) && e.onCommitFront(e.item.note_id);
|
|
83
85
|
}, n.$$contextmenu = (t) => {
|
|
84
86
|
t.preventDefault(), t.stopPropagation(), e.onOpenContextMenu(t, e.item);
|
|
85
|
-
}, v.$$pointerdown =
|
|
87
|
+
}, v.$$pointerdown = Z, s(v, L(et, {
|
|
86
88
|
class: "w-3.5 h-3.5"
|
|
87
|
-
})),
|
|
88
|
-
var t =
|
|
89
|
+
})), d.$$click = () => e.onCopy(e.item), s(d, (() => {
|
|
90
|
+
var t = C(() => !!f());
|
|
89
91
|
return () => t() ? (() => {
|
|
90
|
-
var
|
|
91
|
-
return
|
|
92
|
+
var o = ut(), u = o.firstChild;
|
|
93
|
+
return s(u, X), o;
|
|
92
94
|
})() : null;
|
|
93
|
-
})(), null), d
|
|
94
|
-
|
|
95
|
-
})), s.$$click = () => e.onMoveToTrash(e.item.note_id), l(s, y(et, {
|
|
96
|
-
class: "w-3.5 h-3.5"
|
|
97
|
-
})), o.$$click = () => e.onCopy(e.item), l(o, (() => {
|
|
98
|
-
var t = b(() => !!f());
|
|
95
|
+
})(), null), s(d, (() => {
|
|
96
|
+
var t = C(() => !!S());
|
|
99
97
|
return () => t() ? (() => {
|
|
100
|
-
var
|
|
101
|
-
return
|
|
98
|
+
var o = vt();
|
|
99
|
+
return s(o, H), o;
|
|
102
100
|
})() : null;
|
|
103
|
-
})(), null),
|
|
104
|
-
var t =
|
|
101
|
+
})(), null), s(d, (() => {
|
|
102
|
+
var t = C(() => !!P());
|
|
103
|
+
return () => t() ? _t() : null;
|
|
104
|
+
})(), null), s(l, (() => {
|
|
105
|
+
var t = C(() => !!e.copied);
|
|
105
106
|
return () => t() ? (() => {
|
|
106
|
-
var
|
|
107
|
-
return
|
|
107
|
+
var o = gt(), u = o.firstChild, a = u.firstChild;
|
|
108
|
+
return s(a, L(nt, {
|
|
109
|
+
class: "w-3.5 h-3.5"
|
|
110
|
+
})), o;
|
|
108
111
|
})() : null;
|
|
109
|
-
})(), null),
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
112
|
+
})(), null), r.$$click = () => e.onOpenEditor(e.item.note_id), s(r, L(ot, {
|
|
113
|
+
class: "w-3.5 h-3.5"
|
|
114
|
+
})), i.$$click = () => e.onMoveToTrash(e.item.note_id), s(i, L(it, {
|
|
115
|
+
class: "w-3.5 h-3.5"
|
|
116
|
+
})), s(n, (() => {
|
|
117
|
+
var t = C(() => !!e.numberLabel);
|
|
114
118
|
return () => t() ? (() => {
|
|
115
|
-
var
|
|
116
|
-
return
|
|
117
|
-
|
|
118
|
-
|
|
119
|
+
var o = bt(), u = o.firstChild;
|
|
120
|
+
return s(u, () => e.numberLabel), j((a) => {
|
|
121
|
+
var y = e.numberLabel, $ = e.numberLabel.length, x = K();
|
|
122
|
+
return y !== a.e && T(o, "data-floe-notes-note-number", a.e = y), $ !== a.t && T(o, "data-floe-notes-note-number-length", a.t = $), a.a = q(o, x, a.a), a;
|
|
123
|
+
}, {
|
|
124
|
+
e: void 0,
|
|
125
|
+
t: void 0,
|
|
126
|
+
a: void 0
|
|
127
|
+
}), o;
|
|
119
128
|
})() : null;
|
|
120
|
-
})(), null),
|
|
121
|
-
var
|
|
122
|
-
return
|
|
129
|
+
})(), null), j((t) => {
|
|
130
|
+
var o = `${dt(e.item.color_token)} notes-note notes-note--size-${e.item.size_bucket - 1}`, u = !!e.copied, a = !!E(), y = !!f(), $ = !!e.shortcutPending, x = e.item.note_id, D = `translate(${N().x}px, ${N().y}px)`, F = `${M().width}px`, z = `${M().height}px`, O = E() || e.optimisticFront ? `${e.topZIndex + 1}` : `${e.item.z_index}`, A = !!P(), B = !!f(), R = !!(f() && !S());
|
|
131
|
+
return o !== t.e && J(n, t.e = o), u !== t.t && n.classList.toggle("is-copied", t.t = u), a !== t.a && n.classList.toggle("is-dragging", t.a = a), y !== t.o && n.classList.toggle("has-title", t.o = y), $ !== t.i && n.classList.toggle("is-shortcut-pending", t.i = $), x !== t.n && T(n, "data-floe-notes-note-id", t.n = x), D !== t.s && k(n, "transform", t.s = D), F !== t.h && k(n, "--note-width", t.h = F), z !== t.r && k(n, "--note-height", t.r = z), O !== t.d && k(n, "z-index", t.d = O), A !== t.l && d.classList.toggle("is-empty", t.l = A), B !== t.u && d.classList.toggle("has-title", t.u = B), R !== t.c && d.classList.toggle("is-title-only", t.c = R), t;
|
|
123
132
|
}, {
|
|
124
133
|
e: void 0,
|
|
125
134
|
t: void 0,
|
|
@@ -137,7 +146,7 @@ function Ct(e) {
|
|
|
137
146
|
}), n;
|
|
138
147
|
})();
|
|
139
148
|
}
|
|
140
|
-
|
|
149
|
+
Q(["contextmenu", "click", "pointerdown"]);
|
|
141
150
|
export {
|
|
142
|
-
|
|
151
|
+
xt as NotesBoardNote
|
|
143
152
|
};
|