@instructure/platform-notebook 1.5.1 → 1.5.2
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.
- package/dist/NoteCard.d.ts.map +1 -1
- package/dist/NotesListView.d.ts.map +1 -1
- package/dist/index.js +382 -391
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsx as i, jsxs as T, Fragment as rt } from "react/jsx-runtime";
|
|
2
|
-
import { createContext as
|
|
2
|
+
import { createContext as je, useMemo as ge, useContext as ze, useReducer as We, useRef as K, useEffect as V, useState as U, useCallback as Y } from "react";
|
|
3
3
|
import { createPortal as st } from "react-dom";
|
|
4
4
|
import { z as u } from "zod";
|
|
5
5
|
import it from "diff-match-patch";
|
|
6
|
-
import { useQueryClient as
|
|
6
|
+
import { useQueryClient as Ie, useMutation as xe, useQuery as at } from "@tanstack/react-query";
|
|
7
7
|
import { CloseButton as lt, Button as ee, IconButton as le } from "@instructure/ui-buttons";
|
|
8
8
|
import { Flex as v } from "@instructure/ui-flex";
|
|
9
9
|
import { Heading as pe } from "@instructure/ui-heading";
|
|
10
10
|
import { Tray as ct } from "@instructure/ui-tray";
|
|
11
|
-
import { View as
|
|
11
|
+
import { View as j } from "@instructure/ui-view";
|
|
12
12
|
import { IconQuestionLine as ke, IconPinLine as we, IconWarningLine as dt, IconNoteLine as ut, IconEditLine as Se, IconTrashLine as he, IconArrowStartLine as ft } from "@instructure/ui-icons";
|
|
13
13
|
import { Menu as ie } from "@instructure/ui-menu";
|
|
14
14
|
import { TruncateText as Te } from "@instructure/ui-truncate-text";
|
|
@@ -201,7 +201,7 @@ function vt(t) {
|
|
|
201
201
|
n.nodeName === t.nodeName && (e += 1), n = n.previousSibling;
|
|
202
202
|
return e;
|
|
203
203
|
}
|
|
204
|
-
const
|
|
204
|
+
const Ct = (t) => {
|
|
205
205
|
const e = Tt(t), n = vt(t);
|
|
206
206
|
return `${e}[${n}]`;
|
|
207
207
|
}, Be = (t, e) => {
|
|
@@ -211,10 +211,10 @@ const It = (t) => {
|
|
|
211
211
|
console.error("Node is not a descendant of root");
|
|
212
212
|
return;
|
|
213
213
|
}
|
|
214
|
-
n = `${
|
|
214
|
+
n = `${Ct(o)}/${n}`, o = o.parentNode;
|
|
215
215
|
}
|
|
216
216
|
return n = `/${n}`, n = n.replace(/\/$/, ""), n;
|
|
217
|
-
},
|
|
217
|
+
}, It = (t, e, n) => {
|
|
218
218
|
const o = e.toUpperCase();
|
|
219
219
|
let r = -1;
|
|
220
220
|
for (let s = 0; s < t.children.length; s++) {
|
|
@@ -231,15 +231,15 @@ const It = (t) => {
|
|
|
231
231
|
o.shift();
|
|
232
232
|
for (const s of o) {
|
|
233
233
|
let a, l;
|
|
234
|
-
const
|
|
235
|
-
if (
|
|
236
|
-
a = s.slice(0,
|
|
237
|
-
const
|
|
238
|
-
if (l = Number.parseInt(
|
|
234
|
+
const g = s.indexOf("[");
|
|
235
|
+
if (g !== -1) {
|
|
236
|
+
a = s.slice(0, g);
|
|
237
|
+
const h = s.slice(g + 1, s.indexOf("]"));
|
|
238
|
+
if (l = Number.parseInt(h, 10) - 1, l < 0)
|
|
239
239
|
return null;
|
|
240
240
|
} else
|
|
241
241
|
a = s, l = 0;
|
|
242
|
-
const d =
|
|
242
|
+
const d = It(r, a, l);
|
|
243
243
|
if (!d)
|
|
244
244
|
return null;
|
|
245
245
|
r = d;
|
|
@@ -346,15 +346,15 @@ const Xe = (t) => {
|
|
|
346
346
|
if (!s)
|
|
347
347
|
return null;
|
|
348
348
|
if (e.length > 32) {
|
|
349
|
-
const a = e.slice(0, 32), l = e.slice(-32),
|
|
349
|
+
const a = e.slice(0, 32), l = e.slice(-32), g = o - n;
|
|
350
350
|
let d = r.match_main(s, a, n);
|
|
351
|
-
const
|
|
352
|
-
if (d === -1 ||
|
|
351
|
+
const h = r.match_main(s, l, o), c = h + l.length;
|
|
352
|
+
if (d === -1 || h === -1)
|
|
353
353
|
return null;
|
|
354
|
-
const
|
|
355
|
-
if ((d > c ||
|
|
356
|
-
return kt(t, d, c,
|
|
357
|
-
if (d < c &&
|
|
354
|
+
const S = c - d, p = Math.abs(S - g);
|
|
355
|
+
if ((d > c || p > 5) && (r.Match_Distance = e.length + 100, d = r.match_main(s, a, c), d !== -1 && d < c))
|
|
356
|
+
return kt(t, d, c, g);
|
|
357
|
+
if (d < c && p <= 5)
|
|
358
358
|
return ne.fromSelector(t, {
|
|
359
359
|
start: d,
|
|
360
360
|
end: c
|
|
@@ -382,7 +382,7 @@ const Xe = (t) => {
|
|
|
382
382
|
for (const s of e) {
|
|
383
383
|
const a = Ot(s, t);
|
|
384
384
|
if (a) {
|
|
385
|
-
const l = a.toRange(),
|
|
385
|
+
const l = a.toRange(), g = l && oe.fromRange(t, l), d = (l == null ? void 0 : l.toString().trim()) || s.highlightData.selectedText;
|
|
386
386
|
o.push({
|
|
387
387
|
id: s.id,
|
|
388
388
|
reaction: s.reaction,
|
|
@@ -391,7 +391,7 @@ const Xe = (t) => {
|
|
|
391
391
|
...s.highlightData,
|
|
392
392
|
selectedText: d,
|
|
393
393
|
hasNoHighlightAnymore: !1,
|
|
394
|
-
range: (
|
|
394
|
+
range: (g == null ? void 0 : g.toSelector()) ?? null,
|
|
395
395
|
textPosition: a.toSelector(),
|
|
396
396
|
pageLastModifiedAt: n
|
|
397
397
|
}
|
|
@@ -422,39 +422,39 @@ const Xe = (t) => {
|
|
|
422
422
|
const o = n.getBoundingClientRect();
|
|
423
423
|
o.top >= 0 && o.bottom <= (window.innerHeight || document.documentElement.clientHeight) || n.scrollIntoView({ behavior: "smooth", block: "center" });
|
|
424
424
|
}
|
|
425
|
-
},
|
|
425
|
+
}, ue = 90, fe = 172, Lt = (t) => {
|
|
426
426
|
const e = t.getClientRects();
|
|
427
427
|
if (!e.length)
|
|
428
428
|
return null;
|
|
429
|
-
const n = e[0], o = e[e.length - 1], r = 4, s = 16, a = window.innerWidth || document.documentElement.clientWidth, l = window.innerHeight || document.documentElement.clientHeight,
|
|
430
|
-
const
|
|
431
|
-
return b >= s &&
|
|
429
|
+
const n = e[0], o = e[e.length - 1], r = 4, s = 16, a = window.innerWidth || document.documentElement.clientWidth, l = window.innerHeight || document.documentElement.clientHeight, g = (b) => {
|
|
430
|
+
const y = b + fe;
|
|
431
|
+
return b >= s && y <= a - s;
|
|
432
432
|
}, d = (b) => {
|
|
433
|
-
const
|
|
434
|
-
return b >= s &&
|
|
433
|
+
const y = b + ue;
|
|
434
|
+
return b >= s && y <= l - s;
|
|
435
435
|
};
|
|
436
|
-
let
|
|
437
|
-
const c = n.right -
|
|
438
|
-
if (
|
|
439
|
-
|
|
436
|
+
let h;
|
|
437
|
+
const c = n.right - fe;
|
|
438
|
+
if (g(c))
|
|
439
|
+
h = c;
|
|
440
440
|
else {
|
|
441
441
|
const b = n.left;
|
|
442
|
-
if (
|
|
443
|
-
|
|
442
|
+
if (g(b))
|
|
443
|
+
h = b;
|
|
444
444
|
else {
|
|
445
|
-
const
|
|
446
|
-
|
|
445
|
+
const N = (n.left + n.right) / 2 - fe / 2;
|
|
446
|
+
g(N) ? h = N : c < s ? h = s : h = a - fe - s;
|
|
447
447
|
}
|
|
448
448
|
}
|
|
449
|
-
let
|
|
450
|
-
const
|
|
451
|
-
if (d(
|
|
452
|
-
|
|
449
|
+
let S;
|
|
450
|
+
const p = o.bottom + r;
|
|
451
|
+
if (d(p))
|
|
452
|
+
S = p;
|
|
453
453
|
else {
|
|
454
|
-
const b = n.top -
|
|
455
|
-
d(b) ?
|
|
454
|
+
const b = n.top - ue - r;
|
|
455
|
+
d(b) ? S = b : p + ue > l - s ? S = l - ue - s : S = s;
|
|
456
456
|
}
|
|
457
|
-
return { top:
|
|
457
|
+
return { top: S, left: h };
|
|
458
458
|
}, Dt = (t, e) => {
|
|
459
459
|
for (const n of e)
|
|
460
460
|
if (t.start < n.end && t.end > n.start)
|
|
@@ -500,44 +500,44 @@ const Xe = (t) => {
|
|
|
500
500
|
$t(e, n);
|
|
501
501
|
return;
|
|
502
502
|
}
|
|
503
|
-
const a = e.type === x.IMPORTANT ? n.colors.importantBackground : n.colors.confusingBackground, l = e.id === e.selectedNoteId,
|
|
503
|
+
const a = e.type === x.IMPORTANT ? n.colors.importantBackground : n.colors.confusingBackground, l = e.id === e.selectedNoteId, g = l ? a : Le(a, 0.5), d = e.type === x.IMPORTANT ? n.colors.importantUnderline : n.colors.confusingUnderline, h = e.type === x.IMPORTANT ? "solid" : "dashed", c = document.createElement("span");
|
|
504
504
|
c.id = `${r}-start`, c.className = "highlight-marker-start", c.dataset.highlightId = o || "";
|
|
505
|
-
const
|
|
506
|
-
c.setAttribute("role", "button"), c.setAttribute("tabindex", "0"), c.setAttribute("aria-label",
|
|
507
|
-
const
|
|
508
|
-
|
|
505
|
+
const S = e.labelPrefix ?? Ft;
|
|
506
|
+
c.setAttribute("role", "button"), c.setAttribute("tabindex", "0"), c.setAttribute("aria-label", S), c.setAttribute("aria-haspopup", "dialog"), c.setAttribute("aria-expanded", String(l && !!e.isTrayOpen)), e.popupId && c.setAttribute("aria-controls", e.popupId), c.style.position = "relative", c.style.fontSize = "0", c.style.lineHeight = "0", c.style.width = "0", c.style.height = "0", c.style.margin = "0", c.style.padding = "0", c.style.border = "0", c.style.outline = "none";
|
|
507
|
+
const p = document.createElement("span");
|
|
508
|
+
p.id = Ye(o), p.className = "highlight-marker-end", p.dataset.highlightId = o || "";
|
|
509
509
|
const b = t.cloneRange();
|
|
510
|
-
b.collapse(!1), b.insertNode(
|
|
511
|
-
const
|
|
512
|
-
|
|
513
|
-
const
|
|
514
|
-
|
|
515
|
-
const O = Bt(
|
|
516
|
-
O.forEach((
|
|
510
|
+
b.collapse(!1), b.insertNode(p);
|
|
511
|
+
const y = t.cloneRange();
|
|
512
|
+
y.collapse(!0), y.insertNode(c);
|
|
513
|
+
const N = document.createRange();
|
|
514
|
+
N.setStartAfter(c), N.setEndBefore(p);
|
|
515
|
+
const O = Bt(N).filter((m) => m.textContent && m.textContent.length > 0);
|
|
516
|
+
O.forEach((m, E) => {
|
|
517
517
|
var W;
|
|
518
|
-
const
|
|
519
|
-
if ((
|
|
520
|
-
const
|
|
521
|
-
let
|
|
522
|
-
|
|
518
|
+
const I = m.parentElement;
|
|
519
|
+
if ((I == null ? void 0 : I.dataset.highlightId) === o) return;
|
|
520
|
+
const L = E === 0, F = E === O.length - 1, z = O.length === 1;
|
|
521
|
+
let B;
|
|
522
|
+
z ? B = "single" : L ? B = "first" : F ? B = "last" : B = "middle";
|
|
523
523
|
const k = document.createElement("span");
|
|
524
|
-
k.className = "highlight-content", k.dataset.highlightId = o || "", k.dataset.position =
|
|
525
|
-
var
|
|
526
|
-
X.target.tagName !== "A" && ((
|
|
527
|
-
}), (W =
|
|
528
|
-
}), c.addEventListener("click", (
|
|
529
|
-
var
|
|
530
|
-
|
|
531
|
-
}), c.addEventListener("keydown", (
|
|
532
|
-
var
|
|
533
|
-
if (
|
|
534
|
-
|
|
535
|
-
else if (
|
|
536
|
-
const
|
|
537
|
-
for (const
|
|
538
|
-
const
|
|
539
|
-
if (
|
|
540
|
-
|
|
524
|
+
k.className = "highlight-content", k.dataset.highlightId = o || "", k.dataset.position = B, k.style.backgroundColor = g, k.style.textDecorationLine = "underline", k.style.textDecorationColor = d, k.style.textDecorationStyle = h, k.style.textDecorationThickness = n.borderWidthSmall, k.style.textUnderlineOffset = n.underlineOffset, k.style.cursor = "pointer", k.addEventListener("click", (X) => {
|
|
525
|
+
var H;
|
|
526
|
+
X.target.tagName !== "A" && ((H = e.onClick) == null || H.call(e));
|
|
527
|
+
}), (W = m.parentNode) == null || W.insertBefore(k, m), k.appendChild(m);
|
|
528
|
+
}), c.addEventListener("click", (m) => {
|
|
529
|
+
var E;
|
|
530
|
+
m.target.tagName !== "A" && ((E = e.onClick) == null || E.call(e));
|
|
531
|
+
}), c.addEventListener("keydown", (m) => {
|
|
532
|
+
var E;
|
|
533
|
+
if (m.key === "Enter" || m.key === " ")
|
|
534
|
+
m.preventDefault(), (E = e.onClick) == null || E.call(e);
|
|
535
|
+
else if (m.key === "Tab" && !m.shiftKey) {
|
|
536
|
+
const I = document.querySelectorAll(ce(o));
|
|
537
|
+
for (const L of I) {
|
|
538
|
+
const F = L.querySelector("a");
|
|
539
|
+
if (F) {
|
|
540
|
+
m.preventDefault(), F.focus();
|
|
541
541
|
break;
|
|
542
542
|
}
|
|
543
543
|
}
|
|
@@ -545,14 +545,14 @@ const Xe = (t) => {
|
|
|
545
545
|
}), c.addEventListener("focus", () => {
|
|
546
546
|
document.querySelectorAll(
|
|
547
547
|
`.highlight-content${ce(o)}`
|
|
548
|
-
).forEach((
|
|
549
|
-
|
|
548
|
+
).forEach((E) => {
|
|
549
|
+
E.style.boxShadow = `0 0 0 ${Pt} ${n.colors.focusOutline}`, E.style.borderRadius = _t;
|
|
550
550
|
});
|
|
551
551
|
}), c.addEventListener("blur", () => {
|
|
552
552
|
document.querySelectorAll(
|
|
553
553
|
`.highlight-content${ce(o)}`
|
|
554
|
-
).forEach((
|
|
555
|
-
|
|
554
|
+
).forEach((E) => {
|
|
555
|
+
E.style.boxShadow = "", E.style.borderRadius = "";
|
|
556
556
|
});
|
|
557
557
|
});
|
|
558
558
|
};
|
|
@@ -582,8 +582,8 @@ const Ut = (t) => {
|
|
|
582
582
|
all: ["notebook"],
|
|
583
583
|
notes: (t) => ["notebook", "notes", t]
|
|
584
584
|
};
|
|
585
|
-
function
|
|
586
|
-
const e =
|
|
585
|
+
function Gt(t) {
|
|
586
|
+
const e = Ie();
|
|
587
587
|
return xe({
|
|
588
588
|
mutationFn: (n) => t.createNote(n),
|
|
589
589
|
onSuccess: () => {
|
|
@@ -591,8 +591,8 @@ function jt(t) {
|
|
|
591
591
|
}
|
|
592
592
|
});
|
|
593
593
|
}
|
|
594
|
-
function
|
|
595
|
-
const e =
|
|
594
|
+
function jt(t) {
|
|
595
|
+
const e = Ie();
|
|
596
596
|
return xe({
|
|
597
597
|
mutationFn: (n) => t.deleteNote(n),
|
|
598
598
|
onSuccess: () => {
|
|
@@ -612,17 +612,17 @@ function ve({
|
|
|
612
612
|
});
|
|
613
613
|
}
|
|
614
614
|
function zt(t) {
|
|
615
|
-
const e =
|
|
615
|
+
const e = Ie();
|
|
616
616
|
return xe({
|
|
617
617
|
mutationFn: ({ id: n, input: o }) => t.updateNote(n, o),
|
|
618
618
|
onMutate: async ({ id: n, input: o }) => {
|
|
619
619
|
await e.cancelQueries({ queryKey: ae.all });
|
|
620
620
|
const s = e.getQueryCache().findAll({ queryKey: ae.all }), a = /* @__PURE__ */ new Map();
|
|
621
621
|
for (const l of s) {
|
|
622
|
-
const
|
|
623
|
-
|
|
624
|
-
...
|
|
625
|
-
notes:
|
|
622
|
+
const g = l.state.data;
|
|
623
|
+
g && (a.set(l.queryKey, g), e.setQueryData(l.queryKey, {
|
|
624
|
+
...g,
|
|
625
|
+
notes: g.notes.map(
|
|
626
626
|
(d) => d.id === n ? { ...d, ...o, updatedAt: (/* @__PURE__ */ new Date()).toISOString() } : d
|
|
627
627
|
)
|
|
628
628
|
}));
|
|
@@ -639,7 +639,7 @@ function zt(t) {
|
|
|
639
639
|
}
|
|
640
640
|
});
|
|
641
641
|
}
|
|
642
|
-
const Wt = "Notebook", qt = "Notes", Kt = "Important", Xt = "Unclear", Qt = "Back", Yt = "Edit note", Vt = "Save", Zt = "Cancel", Jt = "Delete note", en = "note", tn = "Add note (optional)", nn = "Remove from Notebook", on = "Add a note (optional)", rn = "Mark important", sn = "Mark unclear", an = "Saved to Notebook.", ln = "Note updated", cn = "Note deleted", dn = "Error saving to Notebook.", un = "Error updating note", fn = "Note deletion failed", mn = "Loading notes", gn = "Failed to load notes", hn = "Start capturing your notes", pn = "Your notes from learning materials will appear here. Highlight key ideas, reflections, or questions as you learn—they'll all be saved in your Notebook for easy review later.", Nn = "Nothing here yet", yn = "Adjust your filters or create a new note to get started.", bn = "You have no notes for the selected filter", En = "Filter", Sn = "Previous page", Tn = "Next page", vn = "All courses",
|
|
642
|
+
const Wt = "Notebook", qt = "Notes", Kt = "Important", Xt = "Unclear", Qt = "Back", Yt = "Edit note", Vt = "Save", Zt = "Cancel", Jt = "Delete note", en = "note", tn = "Add note (optional)", nn = "Remove from Notebook", on = "Add a note (optional)", rn = "Mark important", sn = "Mark unclear", an = "Saved to Notebook.", ln = "Note updated", cn = "Note deleted", dn = "Error saving to Notebook.", un = "Error updating note", fn = "Note deletion failed", mn = "Loading notes", gn = "Failed to load notes", hn = "Start capturing your notes", pn = "Your notes from learning materials will appear here. Highlight key ideas, reflections, or questions as you learn—they'll all be saved in your Notebook for easy review later.", Nn = "Nothing here yet", yn = "Adjust your filters or create a new note to get started.", bn = "You have no notes for the selected filter", En = "Filter", Sn = "Previous page", Tn = "Next page", vn = "All courses", Cn = "All notes", In = "Close Notebook panel", xn = "To use the Notebook feature, highlight an excerpt from your learning material to flag it as 'confusing' or 'important' and leave an optional note.", kn = "The content you highlighted is no longer available.", wn = "Notebook note", De = {
|
|
643
643
|
notebook: Wt,
|
|
644
644
|
notes: qt,
|
|
645
645
|
important: Kt,
|
|
@@ -672,12 +672,12 @@ const Wt = "Notebook", qt = "Notes", Kt = "Important", Xt = "Unclear", Qt = "Bac
|
|
|
672
672
|
previousPage: Sn,
|
|
673
673
|
nextPage: Tn,
|
|
674
674
|
allCourses: vn,
|
|
675
|
-
allNotes:
|
|
676
|
-
closeNotebookPanel:
|
|
675
|
+
allNotes: Cn,
|
|
676
|
+
closeNotebookPanel: In,
|
|
677
677
|
featureDescription: xn,
|
|
678
678
|
highlightUnavailable: kn,
|
|
679
679
|
notebookNote: wn
|
|
680
|
-
}, Ve =
|
|
680
|
+
}, Ve = je(null);
|
|
681
681
|
function Ze(t, e) {
|
|
682
682
|
const n = De[t] ?? t;
|
|
683
683
|
return e ? n.replace(/%\{([^}]+)}/g, (o, r) => String(e[r] ?? `%{${r}}`)) : n;
|
|
@@ -687,7 +687,7 @@ function On({
|
|
|
687
687
|
translate: e,
|
|
688
688
|
children: n
|
|
689
689
|
}) {
|
|
690
|
-
const o =
|
|
690
|
+
const o = ge(
|
|
691
691
|
() => ({
|
|
692
692
|
translations: { ...De, ...t },
|
|
693
693
|
translate: e ?? Ze
|
|
@@ -725,8 +725,8 @@ function An(t, e) {
|
|
|
725
725
|
return t;
|
|
726
726
|
}
|
|
727
727
|
}
|
|
728
|
-
const Je =
|
|
729
|
-
function
|
|
728
|
+
const Je = je(null);
|
|
729
|
+
function lo({
|
|
730
730
|
api: t,
|
|
731
731
|
currentUserId: e,
|
|
732
732
|
objectId: n,
|
|
@@ -735,12 +735,12 @@ function uo({
|
|
|
735
735
|
pageLastModifiedAt: s,
|
|
736
736
|
onAnalyticsEvent: a,
|
|
737
737
|
onOpen: l,
|
|
738
|
-
initialNoteId:
|
|
738
|
+
initialNoteId: g,
|
|
739
739
|
translations: d,
|
|
740
|
-
translate:
|
|
740
|
+
translate: h,
|
|
741
741
|
children: c
|
|
742
742
|
}) {
|
|
743
|
-
const [
|
|
743
|
+
const [S, p] = We(An, Rn(g)), b = K(g != null), y = ge(
|
|
744
744
|
() => ({
|
|
745
745
|
api: t,
|
|
746
746
|
currentUserId: e,
|
|
@@ -749,15 +749,15 @@ function uo({
|
|
|
749
749
|
courseId: r,
|
|
750
750
|
pageLastModifiedAt: s,
|
|
751
751
|
onAnalyticsEvent: a,
|
|
752
|
-
...
|
|
753
|
-
selectNote: (
|
|
754
|
-
clearSelectedNote: () =>
|
|
755
|
-
setEditing: (
|
|
752
|
+
...S,
|
|
753
|
+
selectNote: (N, _ = !1) => p({ type: "SELECT_NOTE", payload: { id: N, isEditing: _ } }),
|
|
754
|
+
clearSelectedNote: () => p({ type: "CLEAR_SELECTED_NOTE" }),
|
|
755
|
+
setEditing: (N) => p({ type: "SET_EDITING", payload: N }),
|
|
756
756
|
openTray: () => {
|
|
757
|
-
b.current || (b.current = !0, l == null || l()),
|
|
757
|
+
b.current || (b.current = !0, l == null || l()), p({ type: "OPEN_TRAY" });
|
|
758
758
|
},
|
|
759
759
|
closeTray: () => {
|
|
760
|
-
b.current = !1,
|
|
760
|
+
b.current = !1, p({ type: "CLOSE_TRAY" });
|
|
761
761
|
}
|
|
762
762
|
}),
|
|
763
763
|
[
|
|
@@ -769,10 +769,10 @@ function uo({
|
|
|
769
769
|
s,
|
|
770
770
|
a,
|
|
771
771
|
l,
|
|
772
|
-
|
|
772
|
+
S
|
|
773
773
|
]
|
|
774
774
|
);
|
|
775
|
-
return /* @__PURE__ */ i(Je.Provider, { value:
|
|
775
|
+
return /* @__PURE__ */ i(Je.Provider, { value: y, children: /* @__PURE__ */ i(On, { translations: d, translate: h, children: c }) });
|
|
776
776
|
}
|
|
777
777
|
function et() {
|
|
778
778
|
const t = ze(Je);
|
|
@@ -780,7 +780,7 @@ function et() {
|
|
|
780
780
|
throw new Error("useNotebook must be used within a NotebookProvider");
|
|
781
781
|
return t;
|
|
782
782
|
}
|
|
783
|
-
const tt = "notebook-tray-content",
|
|
783
|
+
const tt = "notebook-tray-content", co = ({ children: t }) => {
|
|
784
784
|
const { isTrayOpen: e, closeTray: n } = et(), { translations: o } = Z();
|
|
785
785
|
return /* @__PURE__ */ i(
|
|
786
786
|
ct,
|
|
@@ -791,7 +791,7 @@ const tt = "notebook-tray-content", fo = ({ children: t }) => {
|
|
|
791
791
|
placement: "end",
|
|
792
792
|
size: "regular",
|
|
793
793
|
children: /* @__PURE__ */ T(v, { direction: "column", height: "100vh", id: tt, children: [
|
|
794
|
-
/* @__PURE__ */ i(v.Item, { children: /* @__PURE__ */ i(
|
|
794
|
+
/* @__PURE__ */ i(v.Item, { children: /* @__PURE__ */ i(j, { as: "div", padding: "small medium", borderWidth: "0 0 small 0", children: /* @__PURE__ */ T(v, { justifyItems: "space-between", alignItems: "center", children: [
|
|
795
795
|
/* @__PURE__ */ i(pe, { level: "h3", children: o.notebook }),
|
|
796
796
|
/* @__PURE__ */ i(
|
|
797
797
|
lt,
|
|
@@ -812,7 +812,7 @@ const tt = "notebook-tray-content", fo = ({ children: t }) => {
|
|
|
812
812
|
return V(() => {
|
|
813
813
|
t === x.CONFUSING && o.current ? o.current.focus() : t === x.IMPORTANT && r.current ? r.current.focus() : o.current && o.current.focus();
|
|
814
814
|
}, [t]), /* @__PURE__ */ i(
|
|
815
|
-
|
|
815
|
+
j,
|
|
816
816
|
{
|
|
817
817
|
as: "div",
|
|
818
818
|
background: "primary",
|
|
@@ -847,7 +847,7 @@ const tt = "notebook-tray-content", fo = ({ children: t }) => {
|
|
|
847
847
|
}
|
|
848
848
|
);
|
|
849
849
|
}, be = "notebook-inline-reaction-menu";
|
|
850
|
-
function
|
|
850
|
+
function uo({
|
|
851
851
|
containerRef: t,
|
|
852
852
|
highlightTheme: e,
|
|
853
853
|
debounceTime: n = 500,
|
|
@@ -858,162 +858,162 @@ function mo({
|
|
|
858
858
|
const {
|
|
859
859
|
api: a,
|
|
860
860
|
objectId: l,
|
|
861
|
-
objectType:
|
|
861
|
+
objectType: g,
|
|
862
862
|
courseId: d,
|
|
863
|
-
pageLastModifiedAt:
|
|
863
|
+
pageLastModifiedAt: h,
|
|
864
864
|
selectedNoteId: c,
|
|
865
|
-
isTrayOpen:
|
|
866
|
-
selectNote:
|
|
865
|
+
isTrayOpen: S,
|
|
866
|
+
selectNote: p,
|
|
867
867
|
openTray: b
|
|
868
|
-
} = et(), { translations:
|
|
868
|
+
} = et(), { translations: y } = Z(), { data: N } = ve({
|
|
869
869
|
api: a,
|
|
870
870
|
filter: {
|
|
871
|
-
learningObject: { type:
|
|
871
|
+
learningObject: { type: g, id: l }
|
|
872
872
|
},
|
|
873
873
|
courseId: d,
|
|
874
874
|
pageSize: 100
|
|
875
|
-
}), { mutate:
|
|
875
|
+
}), { mutate: _ } = Gt(a), { mutateAsync: O } = zt(a), { mutate: m } = jt(a), E = K([]), [I, L] = U([]), [F, z] = U(null), [B, k] = U(""), [W, X] = U(null), [H, $] = U(!1);
|
|
876
876
|
V(() => {
|
|
877
|
-
const
|
|
878
|
-
if (!
|
|
879
|
-
const f =
|
|
877
|
+
const R = t.current;
|
|
878
|
+
if (!R) return;
|
|
879
|
+
const f = R.closest(".user_content") ?? R;
|
|
880
880
|
if (f.classList.contains("enhanced")) {
|
|
881
|
-
|
|
881
|
+
$(!0);
|
|
882
882
|
return;
|
|
883
883
|
}
|
|
884
|
-
const w = new MutationObserver((
|
|
885
|
-
for (const
|
|
886
|
-
if (
|
|
887
|
-
|
|
884
|
+
const w = new MutationObserver((D) => {
|
|
885
|
+
for (const M of D)
|
|
886
|
+
if (M.type === "attributes" && M.attributeName === "class" && M.target.classList.contains("enhanced")) {
|
|
887
|
+
$(!0), w.disconnect();
|
|
888
888
|
return;
|
|
889
889
|
}
|
|
890
890
|
});
|
|
891
891
|
return w.observe(f, { attributes: !0, attributeFilter: ["class"] }), () => w.disconnect();
|
|
892
892
|
}, [t]);
|
|
893
893
|
const q = Y(() => {
|
|
894
|
-
X(null),
|
|
894
|
+
X(null), z(null), k("");
|
|
895
895
|
}, []);
|
|
896
896
|
V(() => {
|
|
897
|
-
if (
|
|
897
|
+
if (!H || !t.current) return;
|
|
898
898
|
let f = null;
|
|
899
899
|
const w = () => {
|
|
900
900
|
f && clearTimeout(f), f = setTimeout(() => {
|
|
901
901
|
var _e;
|
|
902
|
-
const C = window.getSelection(),
|
|
903
|
-
if (!(C != null && C.rangeCount) || !
|
|
902
|
+
const C = window.getSelection(), P = t.current;
|
|
903
|
+
if (!(C != null && C.rangeCount) || !P) return;
|
|
904
904
|
const re = C.toString().trim();
|
|
905
905
|
if (re === "") return;
|
|
906
906
|
const se = C.getRangeAt(0);
|
|
907
|
-
if (!
|
|
908
|
-
const Pe = (_e = ne.fromRange(
|
|
909
|
-
Pe && !Dt(Pe,
|
|
907
|
+
if (!P.contains(se.commonAncestorContainer)) return;
|
|
908
|
+
const Pe = (_e = ne.fromRange(P, se)) == null ? void 0 : _e.toSelector();
|
|
909
|
+
Pe && !Dt(Pe, I) && (z(se.cloneRange()), k(re), X(Lt(se)));
|
|
910
910
|
}, n);
|
|
911
|
-
},
|
|
911
|
+
}, D = (C) => {
|
|
912
912
|
if (!(C.target instanceof Node)) return;
|
|
913
|
-
const
|
|
914
|
-
|
|
915
|
-
},
|
|
913
|
+
const P = document.getElementById(be);
|
|
914
|
+
P != null && P.contains(C.target) ? (C.preventDefault(), C.stopImmediatePropagation()) : q();
|
|
915
|
+
}, M = () => {
|
|
916
916
|
q();
|
|
917
|
-
},
|
|
917
|
+
}, A = (C) => {
|
|
918
918
|
C.key === "Escape" && q();
|
|
919
919
|
};
|
|
920
|
-
return document.addEventListener("selectionchange", w), document.addEventListener("mousedown",
|
|
921
|
-
f && clearTimeout(f), document.removeEventListener("selectionchange", w), document.removeEventListener("mousedown",
|
|
920
|
+
return document.addEventListener("selectionchange", w), document.addEventListener("mousedown", D), document.addEventListener("touchstart", D), document.addEventListener("keydown", A), window.addEventListener("scroll", M, !0), () => {
|
|
921
|
+
f && clearTimeout(f), document.removeEventListener("selectionchange", w), document.removeEventListener("mousedown", D), document.removeEventListener("touchstart", D), document.removeEventListener("keydown", A), window.removeEventListener("scroll", M, !0);
|
|
922
922
|
};
|
|
923
|
-
}, [
|
|
923
|
+
}, [H, I, n, t, q]);
|
|
924
924
|
const Q = Y(
|
|
925
|
-
(
|
|
926
|
-
var
|
|
925
|
+
(R) => {
|
|
926
|
+
var P;
|
|
927
927
|
const f = t.current;
|
|
928
|
-
if (!f || !
|
|
929
|
-
const { highlightData: w, reaction:
|
|
928
|
+
if (!f || !R.highlightData) return null;
|
|
929
|
+
const { highlightData: w, reaction: D, id: M } = R, { range: A } = w, C = A && ((P = oe.fromSelector(f, A)) == null ? void 0 : P.toRange());
|
|
930
930
|
if (C) {
|
|
931
|
-
const re =
|
|
932
|
-
id:
|
|
931
|
+
const re = D[0] === x.IMPORTANT ? y.important : y.unclear, se = {
|
|
932
|
+
id: M,
|
|
933
933
|
selectedNoteId: c,
|
|
934
|
-
type:
|
|
935
|
-
isTrayOpen:
|
|
936
|
-
labelPrefix: `${
|
|
934
|
+
type: D[0],
|
|
935
|
+
isTrayOpen: S,
|
|
936
|
+
labelPrefix: `${y.notebookNote} (${re})`,
|
|
937
937
|
popupId: tt,
|
|
938
938
|
onClick: () => {
|
|
939
|
-
|
|
939
|
+
p(M), b();
|
|
940
940
|
}
|
|
941
941
|
};
|
|
942
942
|
return Ht(C, se, e), w.textPosition;
|
|
943
943
|
}
|
|
944
944
|
return null;
|
|
945
945
|
},
|
|
946
|
-
[t, c,
|
|
946
|
+
[t, c, S, e, y, p, b]
|
|
947
947
|
);
|
|
948
948
|
V(() => {
|
|
949
|
-
if (
|
|
950
|
-
const
|
|
949
|
+
if (!H || !N || !t.current) return;
|
|
950
|
+
const R = t.current, f = N.notes, w = /* @__PURE__ */ new Set(), D = [], M = [];
|
|
951
951
|
if (f.length === 0) {
|
|
952
|
-
if (
|
|
953
|
-
for (const
|
|
954
|
-
Ue(
|
|
955
|
-
|
|
952
|
+
if (E.current.length > 0) {
|
|
953
|
+
for (const A of E.current)
|
|
954
|
+
Ue(A, R);
|
|
955
|
+
E.current = [], L([]);
|
|
956
956
|
}
|
|
957
957
|
return;
|
|
958
958
|
}
|
|
959
|
-
if (
|
|
960
|
-
const { notesForUpdate:
|
|
961
|
-
|
|
959
|
+
if (h && f[0].highlightData.pageLastModifiedAt !== h) {
|
|
960
|
+
const { notesForUpdate: A, noteIdsForDelete: C } = Rt(
|
|
961
|
+
R,
|
|
962
962
|
f,
|
|
963
|
-
|
|
963
|
+
h
|
|
964
964
|
);
|
|
965
|
-
for (const
|
|
966
|
-
O({ id:
|
|
967
|
-
for (const
|
|
968
|
-
|
|
965
|
+
for (const P of A)
|
|
966
|
+
O({ id: P.id, input: P }).catch((re) => r == null ? void 0 : r(re));
|
|
967
|
+
for (const P of C)
|
|
968
|
+
m(P, { onError: s });
|
|
969
969
|
} else {
|
|
970
|
-
for (const
|
|
971
|
-
const C = Q(
|
|
972
|
-
w.add(
|
|
970
|
+
for (const A of f) {
|
|
971
|
+
const C = Q(A);
|
|
972
|
+
w.add(A.id), C && (D.push(A), M.push(C));
|
|
973
973
|
}
|
|
974
|
-
for (const
|
|
975
|
-
w.has(
|
|
976
|
-
|
|
974
|
+
for (const A of E.current)
|
|
975
|
+
w.has(A.id) || Ue(A, R);
|
|
976
|
+
L(M), E.current = D, c && At(c);
|
|
977
977
|
}
|
|
978
978
|
}, [
|
|
979
|
-
|
|
980
|
-
|
|
979
|
+
H,
|
|
980
|
+
N,
|
|
981
981
|
Q,
|
|
982
|
-
|
|
982
|
+
h,
|
|
983
983
|
t,
|
|
984
984
|
O,
|
|
985
|
-
|
|
985
|
+
m,
|
|
986
986
|
c
|
|
987
987
|
]);
|
|
988
|
-
const
|
|
988
|
+
const de = (R) => {
|
|
989
989
|
const f = t.current;
|
|
990
|
-
if (!
|
|
991
|
-
const w = oe.fromRange(f,
|
|
992
|
-
|
|
990
|
+
if (!F || !f) return;
|
|
991
|
+
const w = oe.fromRange(f, F), D = ne.fromRange(f, F);
|
|
992
|
+
_(
|
|
993
993
|
{
|
|
994
994
|
courseId: d,
|
|
995
995
|
objectId: l,
|
|
996
|
-
objectType:
|
|
996
|
+
objectType: g,
|
|
997
997
|
userText: "",
|
|
998
|
-
reaction: [
|
|
998
|
+
reaction: [R],
|
|
999
999
|
highlightData: {
|
|
1000
|
-
selectedText:
|
|
1001
|
-
textPosition: (
|
|
1000
|
+
selectedText: B,
|
|
1001
|
+
textPosition: (D == null ? void 0 : D.toSelector()) ?? null,
|
|
1002
1002
|
range: w.toSelector(),
|
|
1003
|
-
pageLastModifiedAt:
|
|
1003
|
+
pageLastModifiedAt: h ?? ""
|
|
1004
1004
|
}
|
|
1005
1005
|
},
|
|
1006
1006
|
{
|
|
1007
|
-
onSuccess: (
|
|
1007
|
+
onSuccess: (M) => {
|
|
1008
1008
|
var C;
|
|
1009
|
-
const
|
|
1010
|
-
q(), (C = window.getSelection()) == null || C.removeAllRanges(),
|
|
1009
|
+
const A = M.id;
|
|
1010
|
+
q(), (C = window.getSelection()) == null || C.removeAllRanges(), p(A), b();
|
|
1011
1011
|
},
|
|
1012
1012
|
onError: o
|
|
1013
1013
|
}
|
|
1014
1014
|
);
|
|
1015
1015
|
};
|
|
1016
|
-
return !
|
|
1016
|
+
return !F || !W ? null : st(
|
|
1017
1017
|
/* @__PURE__ */ i(
|
|
1018
1018
|
"div",
|
|
1019
1019
|
{
|
|
@@ -1026,11 +1026,11 @@ function mo({
|
|
|
1026
1026
|
left: W.left,
|
|
1027
1027
|
whiteSpace: "nowrap"
|
|
1028
1028
|
},
|
|
1029
|
-
onBlur: (
|
|
1029
|
+
onBlur: (R) => {
|
|
1030
1030
|
const f = document.getElementById(be);
|
|
1031
|
-
f != null && f.contains(
|
|
1031
|
+
f != null && f.contains(R.relatedTarget) || q();
|
|
1032
1032
|
},
|
|
1033
|
-
children: /* @__PURE__ */ i(Ln, { onSelectReaction:
|
|
1033
|
+
children: /* @__PURE__ */ i(Ln, { onSelectReaction: de })
|
|
1034
1034
|
}
|
|
1035
1035
|
),
|
|
1036
1036
|
document.body
|
|
@@ -1040,7 +1040,7 @@ const Dn = (t, e) => ({
|
|
|
1040
1040
|
backgroundColor: t === x.IMPORTANT ? e.colors.importantBackground : e.colors.confusingBackground,
|
|
1041
1041
|
underlineColor: t === x.IMPORTANT ? e.colors.importantUnderline : e.colors.confusingUnderline,
|
|
1042
1042
|
underlineStyle: t === x.IMPORTANT ? "solid" : "dashed"
|
|
1043
|
-
}),
|
|
1043
|
+
}), Ce = ({
|
|
1044
1044
|
children: t,
|
|
1045
1045
|
type: e = x.IMPORTANT,
|
|
1046
1046
|
isCardActive: n = !0,
|
|
@@ -1069,7 +1069,7 @@ const Dn = (t, e) => ({
|
|
|
1069
1069
|
currentPage: 1,
|
|
1070
1070
|
totalPages: void 0
|
|
1071
1071
|
};
|
|
1072
|
-
function
|
|
1072
|
+
function me(t, e) {
|
|
1073
1073
|
const n = typeof e == "number" ? Math.min(e, t) : t;
|
|
1074
1074
|
return Math.max(1, n);
|
|
1075
1075
|
}
|
|
@@ -1080,24 +1080,24 @@ function Fn(t, e) {
|
|
|
1080
1080
|
case "SET_COURSE_FILTER":
|
|
1081
1081
|
return { ...t, courseFilter: e.payload, currentPage: 1 };
|
|
1082
1082
|
case "SET_PAGE":
|
|
1083
|
-
return { ...t, currentPage:
|
|
1083
|
+
return { ...t, currentPage: me(e.payload, t.totalPages) };
|
|
1084
1084
|
case "FOCUS_PAGE":
|
|
1085
1085
|
return { ...t, currentPage: Math.max(1, e.payload) };
|
|
1086
1086
|
case "INCREMENT_PAGE":
|
|
1087
|
-
return { ...t, currentPage:
|
|
1087
|
+
return { ...t, currentPage: me(t.currentPage + 1, t.totalPages) };
|
|
1088
1088
|
case "DECREMENT_PAGE":
|
|
1089
|
-
return { ...t, currentPage:
|
|
1089
|
+
return { ...t, currentPage: me(t.currentPage - 1, t.totalPages) };
|
|
1090
1090
|
case "SET_TOTAL_PAGES":
|
|
1091
1091
|
return t.totalPages === e.payload ? t : {
|
|
1092
1092
|
...t,
|
|
1093
1093
|
totalPages: e.payload,
|
|
1094
|
-
currentPage:
|
|
1094
|
+
currentPage: me(t.currentPage, e.payload)
|
|
1095
1095
|
};
|
|
1096
1096
|
default:
|
|
1097
1097
|
return t;
|
|
1098
1098
|
}
|
|
1099
1099
|
}
|
|
1100
|
-
function
|
|
1100
|
+
function fo({
|
|
1101
1101
|
api: t,
|
|
1102
1102
|
courseId: e,
|
|
1103
1103
|
enableCourseFilter: n = !1,
|
|
@@ -1105,18 +1105,18 @@ function go({
|
|
|
1105
1105
|
pageSize: r = 16,
|
|
1106
1106
|
focusNoteId: s
|
|
1107
1107
|
}) {
|
|
1108
|
-
const [a, l] = We(Fn, _n), { filter:
|
|
1108
|
+
const [a, l] = We(Fn, _n), { filter: g, courseFilter: d, currentPage: h, totalPages: c } = a;
|
|
1109
1109
|
V(() => {
|
|
1110
1110
|
l({ type: "SET_PAGE", payload: 1 });
|
|
1111
1111
|
}, [r]);
|
|
1112
|
-
const
|
|
1113
|
-
...
|
|
1114
|
-
...
|
|
1112
|
+
const S = n ? d : e, p = (h - 1) * r, b = {
|
|
1113
|
+
...S ? { courseId: S } : {},
|
|
1114
|
+
...g ? { reactions: [g] } : {},
|
|
1115
1115
|
...o ? { learningObject: o } : {}
|
|
1116
|
-
}, { data:
|
|
1116
|
+
}, { data: y, isLoading: N, isError: _ } = ve({
|
|
1117
1117
|
api: t,
|
|
1118
1118
|
filter: b,
|
|
1119
|
-
offset:
|
|
1119
|
+
offset: p,
|
|
1120
1120
|
pageSize: r
|
|
1121
1121
|
}), { data: O } = ve({
|
|
1122
1122
|
api: t,
|
|
@@ -1124,25 +1124,25 @@ function go({
|
|
|
1124
1124
|
offset: 0,
|
|
1125
1125
|
pageSize: Pn,
|
|
1126
1126
|
enabled: !!s
|
|
1127
|
-
}),
|
|
1127
|
+
}), m = K(null);
|
|
1128
1128
|
V(() => {
|
|
1129
1129
|
if (!s) {
|
|
1130
|
-
|
|
1130
|
+
m.current = null;
|
|
1131
1131
|
return;
|
|
1132
1132
|
}
|
|
1133
|
-
if (
|
|
1134
|
-
const
|
|
1135
|
-
if (
|
|
1136
|
-
|
|
1137
|
-
const q = Math.floor(
|
|
1138
|
-
q !==
|
|
1139
|
-
}, [s, O, r,
|
|
1140
|
-
const
|
|
1133
|
+
if (m.current === s) return;
|
|
1134
|
+
const $ = (O == null ? void 0 : O.notes.findIndex((Q) => Q.id === s)) ?? -1;
|
|
1135
|
+
if ($ === -1) return;
|
|
1136
|
+
m.current = s;
|
|
1137
|
+
const q = Math.floor($ / r) + 1;
|
|
1138
|
+
q !== h && l({ type: "FOCUS_PAGE", payload: q });
|
|
1139
|
+
}, [s, O, r, h]);
|
|
1140
|
+
const E = (y == null ? void 0 : y.notes) ?? [], I = y == null ? void 0 : y.pageInfo, L = (I == null ? void 0 : I.totalNrOfPages) ?? void 0, F = s && O ? Math.ceil(O.notes.length / r) : void 0, z = L === void 0 && F === void 0 ? void 0 : Math.max(L ?? 0, F ?? 0);
|
|
1141
1141
|
V(() => {
|
|
1142
|
-
l({ type: "SET_TOTAL_PAGES", payload:
|
|
1143
|
-
}, [
|
|
1144
|
-
const
|
|
1145
|
-
l({ type: "SET_PAGE", payload:
|
|
1142
|
+
l({ type: "SET_TOTAL_PAGES", payload: z });
|
|
1143
|
+
}, [z]);
|
|
1144
|
+
const B = Y(($) => {
|
|
1145
|
+
l({ type: "SET_PAGE", payload: $ });
|
|
1146
1146
|
}, []), k = Y(() => {
|
|
1147
1147
|
l({
|
|
1148
1148
|
type: "INCREMENT_PAGE"
|
|
@@ -1153,30 +1153,30 @@ function go({
|
|
|
1153
1153
|
type: "DECREMENT_PAGE"
|
|
1154
1154
|
/* DecrementPage */
|
|
1155
1155
|
});
|
|
1156
|
-
}, []), X = Y((
|
|
1157
|
-
l({ type: "SET_FILTER", payload:
|
|
1158
|
-
}, []),
|
|
1159
|
-
l({ type: "SET_COURSE_FILTER", payload:
|
|
1156
|
+
}, []), X = Y(($) => {
|
|
1157
|
+
l({ type: "SET_FILTER", payload: $ });
|
|
1158
|
+
}, []), H = Y(($) => {
|
|
1159
|
+
l({ type: "SET_COURSE_FILTER", payload: $ });
|
|
1160
1160
|
}, []);
|
|
1161
1161
|
return {
|
|
1162
|
-
notes:
|
|
1163
|
-
pageInfo:
|
|
1164
|
-
isLoading:
|
|
1165
|
-
isError:
|
|
1166
|
-
filter:
|
|
1162
|
+
notes: E,
|
|
1163
|
+
pageInfo: I,
|
|
1164
|
+
isLoading: N,
|
|
1165
|
+
isError: _,
|
|
1166
|
+
filter: g,
|
|
1167
1167
|
courseFilter: d,
|
|
1168
|
-
currentPage:
|
|
1168
|
+
currentPage: h,
|
|
1169
1169
|
totalPages: c,
|
|
1170
1170
|
setFilter: X,
|
|
1171
|
-
setCourseFilter:
|
|
1172
|
-
setPage:
|
|
1171
|
+
setCourseFilter: H,
|
|
1172
|
+
setPage: B,
|
|
1173
1173
|
fetchNextPage: k,
|
|
1174
1174
|
fetchPreviousPage: W
|
|
1175
1175
|
};
|
|
1176
1176
|
}
|
|
1177
1177
|
const Ee = "all";
|
|
1178
|
-
function
|
|
1179
|
-
const { translations: n } = Z(), o =
|
|
1178
|
+
function mo({ filter: t, setFilter: e }) {
|
|
1179
|
+
const { translations: n } = Z(), o = ge(
|
|
1180
1180
|
() => [
|
|
1181
1181
|
{ label: n.allNotes, value: Ee },
|
|
1182
1182
|
{ label: n.important, value: x.IMPORTANT },
|
|
@@ -1190,7 +1190,7 @@ function ho({ filter: t, setFilter: e }) {
|
|
|
1190
1190
|
[e]
|
|
1191
1191
|
);
|
|
1192
1192
|
return {
|
|
1193
|
-
filterElement:
|
|
1193
|
+
filterElement: ge(
|
|
1194
1194
|
() => /* @__PURE__ */ i(
|
|
1195
1195
|
Fe,
|
|
1196
1196
|
{
|
|
@@ -1208,7 +1208,7 @@ function ho({ filter: t, setFilter: e }) {
|
|
|
1208
1208
|
}
|
|
1209
1209
|
const Mn = ({ hasActiveFilter: t = !1 }) => {
|
|
1210
1210
|
const { translations: e } = Z(), n = t ? e.nothingHereYet : e.emptyStateHeading, o = t ? e.adjustFiltersOrCreate : e.emptyStateDescription;
|
|
1211
|
-
return /* @__PURE__ */ i(
|
|
1211
|
+
return /* @__PURE__ */ i(j, { as: "div", textAlign: "center", children: /* @__PURE__ */ T(v, { direction: "column", alignItems: "center", gap: "small", children: [
|
|
1212
1212
|
!t && /* @__PURE__ */ i(ut, { size: "medium" }),
|
|
1213
1213
|
/* @__PURE__ */ i(pe, { level: "h3", children: n }),
|
|
1214
1214
|
/* @__PURE__ */ i(J, { color: "secondary", children: o })
|
|
@@ -1225,7 +1225,7 @@ const Mn = ({ hasActiveFilter: t = !1 }) => {
|
|
|
1225
1225
|
icon: /* @__PURE__ */ i(ke, { size: "x-small" })
|
|
1226
1226
|
}
|
|
1227
1227
|
}, ot = ({ type: t, onTypeChange: e, renderAsMenuTrigger: n = !1 }) => {
|
|
1228
|
-
const { translations: o } = Z(), r = Bn[t], s = o[r.translationKey], [a, l] =
|
|
1228
|
+
const { translations: o } = Z(), r = Bn[t], s = o[r.translationKey], [a, l] = U(!1), g = K(null), d = K(null), h = Y(
|
|
1229
1229
|
(c) => {
|
|
1230
1230
|
e == null || e(c), l(!1);
|
|
1231
1231
|
},
|
|
@@ -1233,13 +1233,13 @@ const Mn = ({ hasActiveFilter: t = !1 }) => {
|
|
|
1233
1233
|
);
|
|
1234
1234
|
return V(() => {
|
|
1235
1235
|
if (!a) return;
|
|
1236
|
-
const c = (
|
|
1237
|
-
|
|
1238
|
-
},
|
|
1239
|
-
|
|
1236
|
+
const c = (p) => {
|
|
1237
|
+
p.key === "Escape" && p.stopPropagation();
|
|
1238
|
+
}, S = (p) => {
|
|
1239
|
+
p.key === "Escape" && (p.stopPropagation(), l(!1));
|
|
1240
1240
|
};
|
|
1241
|
-
return document.addEventListener("keydown", c, !0), document.addEventListener("keyup",
|
|
1242
|
-
document.removeEventListener("keydown", c, !0), document.removeEventListener("keyup",
|
|
1241
|
+
return document.addEventListener("keydown", c, !0), document.addEventListener("keyup", S, !0), () => {
|
|
1242
|
+
document.removeEventListener("keydown", c, !0), document.removeEventListener("keyup", S, !0);
|
|
1243
1243
|
};
|
|
1244
1244
|
}, [a]), n && e ? /* @__PURE__ */ T(
|
|
1245
1245
|
ie,
|
|
@@ -1251,19 +1251,19 @@ const Mn = ({ hasActiveFilter: t = !1 }) => {
|
|
|
1251
1251
|
shouldFocusTriggerOnClose: !0,
|
|
1252
1252
|
trigger: /* @__PURE__ */ i(Me, { color: r.color, renderIcon: r.icon, children: s }),
|
|
1253
1253
|
children: [
|
|
1254
|
-
/* @__PURE__ */ T(ie.Item, { ref:
|
|
1254
|
+
/* @__PURE__ */ T(ie.Item, { ref: g, onClick: () => h(x.CONFUSING), children: [
|
|
1255
1255
|
/* @__PURE__ */ i(ke, { size: "x-small" }),
|
|
1256
1256
|
` ${o.markUnclear}`
|
|
1257
1257
|
] }),
|
|
1258
|
-
/* @__PURE__ */ T(ie.Item, { ref: d, onClick: () =>
|
|
1258
|
+
/* @__PURE__ */ T(ie.Item, { ref: d, onClick: () => h(x.IMPORTANT), children: [
|
|
1259
1259
|
/* @__PURE__ */ i(we, { size: "x-small" }),
|
|
1260
1260
|
` ${o.markImportant}`
|
|
1261
1261
|
] })
|
|
1262
1262
|
]
|
|
1263
1263
|
}
|
|
1264
|
-
) : /* @__PURE__ */ i(
|
|
1264
|
+
) : /* @__PURE__ */ i(j, { display: "inline-flex", children: /* @__PURE__ */ i(Me, { color: r.color, renderIcon: r.icon, children: s }) });
|
|
1265
1265
|
};
|
|
1266
|
-
function
|
|
1266
|
+
function Ge(t, e) {
|
|
1267
1267
|
return (t instanceof Date ? t : new Date(t)).toLocaleString(e, {
|
|
1268
1268
|
year: "numeric",
|
|
1269
1269
|
month: "short",
|
|
@@ -1279,84 +1279,85 @@ const Hn = ({
|
|
|
1279
1279
|
onClick: s,
|
|
1280
1280
|
onDelete: a,
|
|
1281
1281
|
onSaveNote: l,
|
|
1282
|
-
onTypeChange:
|
|
1282
|
+
onTypeChange: g,
|
|
1283
1283
|
isActive: d,
|
|
1284
|
-
isPanelView:
|
|
1284
|
+
isPanelView: h = !1,
|
|
1285
1285
|
courseName: c,
|
|
1286
|
-
locale:
|
|
1287
|
-
highlightTheme:
|
|
1286
|
+
locale: S,
|
|
1287
|
+
highlightTheme: p,
|
|
1288
1288
|
renderLink: b,
|
|
1289
|
-
href:
|
|
1289
|
+
href: y
|
|
1290
1290
|
}) => {
|
|
1291
|
-
const { translations:
|
|
1292
|
-
|
|
1293
|
-
}, []), W = K(null), X = K(null),
|
|
1291
|
+
const { translations: N } = Z(), [_, O] = U(!1), [m, E] = U(!1), [I, L] = U(o || ""), [F, z] = U(!1), B = K(null), k = Y((f) => {
|
|
1292
|
+
B.current = f;
|
|
1293
|
+
}, []), W = K(null), X = K(null), H = K(!1);
|
|
1294
1294
|
V(() => {
|
|
1295
1295
|
var f, w;
|
|
1296
|
-
d && ((f =
|
|
1296
|
+
d && ((f = B.current) == null || f.scrollIntoView({ behavior: "smooth", block: "nearest" }), (w = B.current) == null || w.focus());
|
|
1297
1297
|
}, [d]), V(() => {
|
|
1298
1298
|
var f, w;
|
|
1299
|
-
|
|
1300
|
-
}, [
|
|
1301
|
-
const
|
|
1299
|
+
m ? (H.current = !0, (f = W.current) == null || f.focus()) : H.current && (H.current = !1, (w = X.current) == null || w.focus());
|
|
1300
|
+
}, [m]);
|
|
1301
|
+
const $ = r === x.IMPORTANT ? N.important : N.unclear, q = (f) => {
|
|
1302
1302
|
f.key === "Enter" && (f.preventDefault(), s == null || s());
|
|
1303
|
-
}, Q = [
|
|
1304
|
-
n && Q.push(n), o && Q.push(o), e && Q.push(
|
|
1305
|
-
const
|
|
1306
|
-
|
|
1303
|
+
}, Q = [$, N.note];
|
|
1304
|
+
n && Q.push(n), o && Q.push(o), e && Q.push(Ge(e, S)), c && Q.push(c);
|
|
1305
|
+
const de = Q.join(", "), R = /* @__PURE__ */ T(
|
|
1306
|
+
j,
|
|
1307
1307
|
{
|
|
1308
1308
|
as: "div",
|
|
1309
|
+
height: "100%",
|
|
1309
1310
|
borderWidth: "small",
|
|
1310
1311
|
borderRadius: "medium",
|
|
1311
1312
|
padding: "small",
|
|
1312
1313
|
position: "relative",
|
|
1313
|
-
role:
|
|
1314
|
-
"aria-label":
|
|
1315
|
-
"aria-pressed":
|
|
1316
|
-
tabIndex:
|
|
1314
|
+
role: y || m ? void 0 : "button",
|
|
1315
|
+
"aria-label": y ? void 0 : de,
|
|
1316
|
+
"aria-pressed": y || m ? void 0 : d,
|
|
1317
|
+
tabIndex: y || d ? -1 : 0,
|
|
1317
1318
|
"data-testid": `note-card-${t}`,
|
|
1318
1319
|
elementRef: k,
|
|
1319
1320
|
onClick: d ? void 0 : s,
|
|
1320
1321
|
onMouseEnter: () => O(!0),
|
|
1321
1322
|
onMouseLeave: () => O(!1),
|
|
1322
1323
|
onKeyDown: d ? void 0 : q,
|
|
1323
|
-
cursor:
|
|
1324
|
+
cursor: m ? "default" : "pointer",
|
|
1324
1325
|
children: [
|
|
1325
|
-
/* @__PURE__ */ T(v, { direction: "column", gap: "small", children: [
|
|
1326
|
+
/* @__PURE__ */ T(v, { direction: "column", gap: "small", height: "100%", children: [
|
|
1326
1327
|
/* @__PURE__ */ i(
|
|
1327
1328
|
ot,
|
|
1328
1329
|
{
|
|
1329
1330
|
type: r,
|
|
1330
|
-
onTypeChange:
|
|
1331
|
-
renderAsMenuTrigger:
|
|
1331
|
+
onTypeChange: h && g ? (f) => g(t, f) : void 0,
|
|
1332
|
+
renderAsMenuTrigger: h && !!g && !!d
|
|
1332
1333
|
}
|
|
1333
1334
|
),
|
|
1334
|
-
n ? /* @__PURE__ */ i("div", { style: { wordBreak: "break-word", overflowWrap: "break-word" }, children: /* @__PURE__ */ i(J, { children: d &&
|
|
1335
|
-
|
|
1335
|
+
n ? /* @__PURE__ */ i("div", { style: { wordBreak: "break-word", overflowWrap: "break-word" }, children: /* @__PURE__ */ i(J, { children: d && h ? /* @__PURE__ */ i(
|
|
1336
|
+
Ce,
|
|
1336
1337
|
{
|
|
1337
1338
|
type: r,
|
|
1338
|
-
isCardActive: !!d ||
|
|
1339
|
-
theme:
|
|
1339
|
+
isCardActive: !!d || _,
|
|
1340
|
+
theme: p,
|
|
1340
1341
|
children: n
|
|
1341
1342
|
}
|
|
1342
1343
|
) : /* @__PURE__ */ i(Te, { maxLines: 3, truncate: "word", children: /* @__PURE__ */ i(
|
|
1343
|
-
|
|
1344
|
+
Ce,
|
|
1344
1345
|
{
|
|
1345
1346
|
type: r,
|
|
1346
|
-
isCardActive: !!d ||
|
|
1347
|
-
theme:
|
|
1347
|
+
isCardActive: !!d || _,
|
|
1348
|
+
theme: p,
|
|
1348
1349
|
children: n
|
|
1349
1350
|
}
|
|
1350
1351
|
) }) }) }) : /* @__PURE__ */ i(nt, {}),
|
|
1351
|
-
/* @__PURE__ */ T(v, { direction: "column", gap: "small", children: [
|
|
1352
|
-
|
|
1352
|
+
/* @__PURE__ */ i(v.Item, { shouldGrow: !0, children: /* @__PURE__ */ T(v, { direction: "column", gap: "small", height: "100%", children: [
|
|
1353
|
+
m && h ? /* @__PURE__ */ T(v, { direction: "column", gap: "x-small", children: [
|
|
1353
1354
|
/* @__PURE__ */ i(
|
|
1354
1355
|
qe,
|
|
1355
1356
|
{
|
|
1356
|
-
label: /* @__PURE__ */ i(mt, { children:
|
|
1357
|
-
value:
|
|
1358
|
-
onChange: (f) =>
|
|
1359
|
-
placeholder:
|
|
1357
|
+
label: /* @__PURE__ */ i(mt, { children: N.editNote }),
|
|
1358
|
+
value: I,
|
|
1359
|
+
onChange: (f) => L(f.target.value),
|
|
1360
|
+
placeholder: N.addNoteOptional,
|
|
1360
1361
|
textareaRef: (f) => {
|
|
1361
1362
|
W.current = f;
|
|
1362
1363
|
}
|
|
@@ -1370,9 +1371,9 @@ const Hn = ({
|
|
|
1370
1371
|
size: "small",
|
|
1371
1372
|
"data-testid": `note-card-${t}-cancel`,
|
|
1372
1373
|
onClick: () => {
|
|
1373
|
-
|
|
1374
|
+
L(o || ""), E(!1);
|
|
1374
1375
|
},
|
|
1375
|
-
children:
|
|
1376
|
+
children: N.cancel
|
|
1376
1377
|
}
|
|
1377
1378
|
) }),
|
|
1378
1379
|
/* @__PURE__ */ i(v.Item, { shouldGrow: !0, children: /* @__PURE__ */ i(
|
|
@@ -1383,13 +1384,13 @@ const Hn = ({
|
|
|
1383
1384
|
size: "small",
|
|
1384
1385
|
"data-testid": `note-card-${t}-save`,
|
|
1385
1386
|
onClick: () => {
|
|
1386
|
-
l == null || l(t,
|
|
1387
|
+
l == null || l(t, I.trim()), E(!1);
|
|
1387
1388
|
},
|
|
1388
|
-
children:
|
|
1389
|
+
children: N.save
|
|
1389
1390
|
}
|
|
1390
1391
|
) })
|
|
1391
1392
|
] })
|
|
1392
|
-
] }) : o ? /* @__PURE__ */ i("div", { style: { wordBreak: "break-word", overflowWrap: "break-word" }, children: d &&
|
|
1393
|
+
] }) : o ? /* @__PURE__ */ i("div", { style: { wordBreak: "break-word", overflowWrap: "break-word" }, children: d && h ? /* @__PURE__ */ T(J, { children: [
|
|
1393
1394
|
o,
|
|
1394
1395
|
" ",
|
|
1395
1396
|
/* @__PURE__ */ i(
|
|
@@ -1399,19 +1400,19 @@ const Hn = ({
|
|
|
1399
1400
|
withBackground: !1,
|
|
1400
1401
|
withBorder: !1,
|
|
1401
1402
|
margin: "0 0 0 xxx-small",
|
|
1402
|
-
screenReaderLabel:
|
|
1403
|
+
screenReaderLabel: N.editNote,
|
|
1403
1404
|
"data-testid": `note-card-${t}-edit`,
|
|
1404
1405
|
elementRef: (f) => {
|
|
1405
1406
|
X.current = f;
|
|
1406
1407
|
},
|
|
1407
1408
|
onClick: (f) => {
|
|
1408
|
-
f.stopPropagation(),
|
|
1409
|
+
f.stopPropagation(), E(!0);
|
|
1409
1410
|
},
|
|
1410
1411
|
children: /* @__PURE__ */ i(Se, {})
|
|
1411
1412
|
}
|
|
1412
1413
|
)
|
|
1413
|
-
] }) : /* @__PURE__ */ i(J, { children: /* @__PURE__ */ i(Te, { maxLines: 3, truncate: "word", children: o }) }) }) :
|
|
1414
|
-
|
|
1414
|
+
] }) : /* @__PURE__ */ i(J, { children: /* @__PURE__ */ i(Te, { maxLines: 3, truncate: "word", children: o }) }) }) : h && d ? /* @__PURE__ */ i("div", { children: /* @__PURE__ */ T(J, { color: "secondary", children: [
|
|
1415
|
+
N.addNotePrompt,
|
|
1415
1416
|
" ",
|
|
1416
1417
|
/* @__PURE__ */ i(
|
|
1417
1418
|
le,
|
|
@@ -1420,20 +1421,20 @@ const Hn = ({
|
|
|
1420
1421
|
withBackground: !1,
|
|
1421
1422
|
withBorder: !1,
|
|
1422
1423
|
margin: "0 0 0 xxx-small",
|
|
1423
|
-
screenReaderLabel:
|
|
1424
|
+
screenReaderLabel: N.editNote,
|
|
1424
1425
|
"data-testid": `note-card-${t}-edit`,
|
|
1425
1426
|
elementRef: (f) => {
|
|
1426
1427
|
X.current = f;
|
|
1427
1428
|
},
|
|
1428
1429
|
onClick: (f) => {
|
|
1429
|
-
f.stopPropagation(),
|
|
1430
|
+
f.stopPropagation(), E(!0);
|
|
1430
1431
|
},
|
|
1431
1432
|
children: /* @__PURE__ */ i(Se, {})
|
|
1432
1433
|
}
|
|
1433
1434
|
)
|
|
1434
1435
|
] }) }) : null,
|
|
1435
|
-
/* @__PURE__ */ T(v, { justifyItems: "space-between", alignItems: "center", children: [
|
|
1436
|
-
/* @__PURE__ */ i(J, { size: "small", color: "secondary", children:
|
|
1436
|
+
/* @__PURE__ */ T(v, { justifyItems: "space-between", alignItems: "center", margin: "auto 0 0 0", children: [
|
|
1437
|
+
/* @__PURE__ */ i(J, { size: "small", color: "secondary", children: Ge(e, S) }),
|
|
1437
1438
|
d && a && /* @__PURE__ */ i(
|
|
1438
1439
|
le,
|
|
1439
1440
|
{
|
|
@@ -1441,20 +1442,20 @@ const Hn = ({
|
|
|
1441
1442
|
withBackground: !1,
|
|
1442
1443
|
withBorder: !1,
|
|
1443
1444
|
color: "danger",
|
|
1444
|
-
screenReaderLabel:
|
|
1445
|
+
screenReaderLabel: N.deleteNote,
|
|
1445
1446
|
"data-testid": `note-card-${t}-delete`,
|
|
1446
1447
|
onClick: (f) => {
|
|
1447
|
-
f.stopPropagation(),
|
|
1448
|
+
f.stopPropagation(), z(!0);
|
|
1448
1449
|
},
|
|
1449
1450
|
children: /* @__PURE__ */ i(he, {})
|
|
1450
1451
|
}
|
|
1451
1452
|
)
|
|
1452
1453
|
] }),
|
|
1453
1454
|
c && /* @__PURE__ */ i(J, { size: "small", color: "secondary", children: c })
|
|
1454
|
-
] })
|
|
1455
|
+
] }) })
|
|
1455
1456
|
] }),
|
|
1456
|
-
|
|
1457
|
-
|
|
1457
|
+
F && a && /* @__PURE__ */ i(
|
|
1458
|
+
j,
|
|
1458
1459
|
{
|
|
1459
1460
|
as: "div",
|
|
1460
1461
|
background: "primary",
|
|
@@ -1484,9 +1485,9 @@ const Hn = ({
|
|
|
1484
1485
|
renderIcon: /* @__PURE__ */ i(he, {}),
|
|
1485
1486
|
"data-testid": `note-card-${t}-confirm-delete`,
|
|
1486
1487
|
onClick: (f) => {
|
|
1487
|
-
f.stopPropagation(), a(t),
|
|
1488
|
+
f.stopPropagation(), a(t), z(!1);
|
|
1488
1489
|
},
|
|
1489
|
-
children:
|
|
1490
|
+
children: N.deleteNote
|
|
1490
1491
|
}
|
|
1491
1492
|
),
|
|
1492
1493
|
/* @__PURE__ */ i(
|
|
@@ -1496,9 +1497,9 @@ const Hn = ({
|
|
|
1496
1497
|
size: "small",
|
|
1497
1498
|
"data-testid": `note-card-${t}-cancel-delete`,
|
|
1498
1499
|
onClick: (f) => {
|
|
1499
|
-
f.stopPropagation(),
|
|
1500
|
+
f.stopPropagation(), z(!1);
|
|
1500
1501
|
},
|
|
1501
|
-
children:
|
|
1502
|
+
children: N.cancel
|
|
1502
1503
|
}
|
|
1503
1504
|
)
|
|
1504
1505
|
]
|
|
@@ -1509,27 +1510,16 @@ const Hn = ({
|
|
|
1509
1510
|
]
|
|
1510
1511
|
}
|
|
1511
1512
|
);
|
|
1512
|
-
return
|
|
1513
|
-
}
|
|
1514
|
-
|
|
1515
|
-
const n = Array.from({ length: e }, () => []);
|
|
1516
|
-
return t.forEach((o, r) => {
|
|
1517
|
-
n[r % e].push(o);
|
|
1518
|
-
}), n;
|
|
1519
|
-
}
|
|
1520
|
-
const Un = {
|
|
1521
|
-
display: "flex",
|
|
1513
|
+
return y && b ? b({ href: y, children: R, ariaLabel: de }) : R;
|
|
1514
|
+
}, $n = {
|
|
1515
|
+
display: "grid",
|
|
1522
1516
|
gap: "1rem",
|
|
1523
1517
|
boxSizing: "border-box",
|
|
1524
1518
|
width: "100%",
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
gap: "1rem",
|
|
1530
|
-
flex: 1,
|
|
1531
|
-
minWidth: 0
|
|
1532
|
-
}, po = ({
|
|
1519
|
+
margin: 0,
|
|
1520
|
+
padding: 0,
|
|
1521
|
+
listStyle: "none"
|
|
1522
|
+
}, go = ({
|
|
1533
1523
|
notes: t,
|
|
1534
1524
|
isLoading: e,
|
|
1535
1525
|
isError: n,
|
|
@@ -1538,69 +1528,70 @@ const Un = {
|
|
|
1538
1528
|
onPageChange: s,
|
|
1539
1529
|
onNoteSelect: a,
|
|
1540
1530
|
onNoteDelete: l,
|
|
1541
|
-
onNoteSave:
|
|
1531
|
+
onNoteSave: g,
|
|
1542
1532
|
onNoteTypeChange: d,
|
|
1543
|
-
selectedNoteId:
|
|
1533
|
+
selectedNoteId: h,
|
|
1544
1534
|
hasActiveFilter: c = !1,
|
|
1545
|
-
columnCount:
|
|
1546
|
-
highlightTheme:
|
|
1535
|
+
columnCount: S = 1,
|
|
1536
|
+
highlightTheme: p,
|
|
1547
1537
|
locale: b,
|
|
1548
|
-
renderNoteLink:
|
|
1549
|
-
noteHref:
|
|
1538
|
+
renderNoteLink: y,
|
|
1539
|
+
noteHref: N
|
|
1550
1540
|
}) => {
|
|
1551
|
-
const { translations:
|
|
1552
|
-
() => $n(t, E),
|
|
1553
|
-
[t, E]
|
|
1554
|
-
);
|
|
1541
|
+
const { translations: _ } = Z();
|
|
1555
1542
|
if (e)
|
|
1556
|
-
return /* @__PURE__ */ i(
|
|
1543
|
+
return /* @__PURE__ */ i(j, { as: "div", textAlign: "center", padding: "large", "data-testid": "notes-loading", children: /* @__PURE__ */ i(ht, { renderTitle: _.loadingNotes }) });
|
|
1557
1544
|
if (n)
|
|
1558
|
-
return /* @__PURE__ */ i(
|
|
1545
|
+
return /* @__PURE__ */ i(j, { as: "div", textAlign: "center", padding: "large", "data-testid": "notes-error", children: /* @__PURE__ */ i(pe, { level: "h4", children: _.failedToLoadNotes }) });
|
|
1559
1546
|
if (t.length === 0)
|
|
1560
|
-
return /* @__PURE__ */ i(
|
|
1561
|
-
const
|
|
1547
|
+
return /* @__PURE__ */ i(j, { as: "div", padding: "large", "data-testid": "empty-notes", children: /* @__PURE__ */ i(Mn, { hasActiveFilter: c }) });
|
|
1548
|
+
const O = typeof o == "number" && typeof r == "number" && r > 1 && s !== void 0;
|
|
1562
1549
|
return /* @__PURE__ */ T(rt, { children: [
|
|
1563
|
-
/* @__PURE__ */ i(
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1550
|
+
/* @__PURE__ */ i(
|
|
1551
|
+
"ul",
|
|
1552
|
+
{
|
|
1553
|
+
style: { ...$n, gridTemplateColumns: `repeat(${S}, minmax(0, 1fr))` },
|
|
1554
|
+
role: "list",
|
|
1555
|
+
"data-testid": "notes-grid",
|
|
1556
|
+
children: t.map((m) => {
|
|
1557
|
+
var E;
|
|
1558
|
+
return /* @__PURE__ */ i("li", { children: /* @__PURE__ */ i(
|
|
1559
|
+
Hn,
|
|
1560
|
+
{
|
|
1561
|
+
noteId: m.id,
|
|
1562
|
+
date: m.createdAt,
|
|
1563
|
+
type: m.reaction[0] ?? x.IMPORTANT,
|
|
1564
|
+
highlight: (E = m.highlightData) == null ? void 0 : E.selectedText,
|
|
1565
|
+
note: m.userText,
|
|
1566
|
+
isActive: h === m.id,
|
|
1567
|
+
isPanelView: !!h,
|
|
1568
|
+
onClick: a ? () => a(m.id) : void 0,
|
|
1569
|
+
onDelete: l ? (I) => l(I) : void 0,
|
|
1570
|
+
onSaveNote: g ? (I, L) => g(I, L) : void 0,
|
|
1571
|
+
onTypeChange: d ? (I, L) => d(I, L) : void 0,
|
|
1572
|
+
highlightTheme: p,
|
|
1573
|
+
locale: b,
|
|
1574
|
+
renderLink: y,
|
|
1575
|
+
href: N ? N(m.id, m) : void 0
|
|
1576
|
+
}
|
|
1577
|
+
) }, m.id);
|
|
1578
|
+
})
|
|
1579
|
+
}
|
|
1580
|
+
),
|
|
1581
|
+
O && /* @__PURE__ */ i(v, { justifyItems: "center", padding: "small", "data-testid": "notes-pagination", children: /* @__PURE__ */ i(v.Item, { children: /* @__PURE__ */ i(
|
|
1591
1582
|
gt,
|
|
1592
1583
|
{
|
|
1593
1584
|
as: "nav",
|
|
1594
1585
|
variant: "input",
|
|
1595
|
-
labelNext:
|
|
1596
|
-
labelPrev:
|
|
1586
|
+
labelNext: _.nextPage,
|
|
1587
|
+
labelPrev: _.previousPage,
|
|
1597
1588
|
currentPage: o,
|
|
1598
1589
|
totalPageNumber: r,
|
|
1599
1590
|
onPageChange: s
|
|
1600
1591
|
}
|
|
1601
1592
|
) }) })
|
|
1602
1593
|
] });
|
|
1603
|
-
},
|
|
1594
|
+
}, ho = ({
|
|
1604
1595
|
noteText: t,
|
|
1605
1596
|
reaction: e,
|
|
1606
1597
|
highlightText: n,
|
|
@@ -1609,19 +1600,19 @@ const Un = {
|
|
|
1609
1600
|
onDelete: s,
|
|
1610
1601
|
onTypeChange: a,
|
|
1611
1602
|
onBack: l,
|
|
1612
|
-
editing:
|
|
1603
|
+
editing: g = !1
|
|
1613
1604
|
}) => {
|
|
1614
|
-
const { translations: d } = Z(), [
|
|
1605
|
+
const { translations: d } = Z(), [h, c] = U(g), [S, p] = U(t || ""), [b, y] = U(!1);
|
|
1615
1606
|
return /* @__PURE__ */ T(v, { direction: "column", gap: "small", "data-testid": "single-note", children: [
|
|
1616
|
-
n != null ? /* @__PURE__ */ i(
|
|
1607
|
+
n != null ? /* @__PURE__ */ i(j, { as: "div", children: /* @__PURE__ */ i(J, { children: /* @__PURE__ */ i(Ce, { type: e, isCardActive: !0, theme: o, children: n }) }) }) : /* @__PURE__ */ i(nt, {}),
|
|
1617
1608
|
/* @__PURE__ */ i(ot, { type: e, onTypeChange: a, renderAsMenuTrigger: !!a }),
|
|
1618
|
-
|
|
1609
|
+
h ? /* @__PURE__ */ T(v, { direction: "column", gap: "x-small", children: [
|
|
1619
1610
|
/* @__PURE__ */ i(
|
|
1620
1611
|
qe,
|
|
1621
1612
|
{
|
|
1622
1613
|
label: d.addNoteOptional,
|
|
1623
|
-
value:
|
|
1624
|
-
onChange: (
|
|
1614
|
+
value: S,
|
|
1615
|
+
onChange: (N) => p(N.target.value),
|
|
1625
1616
|
resize: "vertical"
|
|
1626
1617
|
}
|
|
1627
1618
|
),
|
|
@@ -1633,7 +1624,7 @@ const Un = {
|
|
|
1633
1624
|
size: "small",
|
|
1634
1625
|
"data-testid": "single-note-cancel",
|
|
1635
1626
|
onClick: () => {
|
|
1636
|
-
|
|
1627
|
+
p(t || ""), c(!1);
|
|
1637
1628
|
},
|
|
1638
1629
|
children: d.cancel
|
|
1639
1630
|
}
|
|
@@ -1646,14 +1637,14 @@ const Un = {
|
|
|
1646
1637
|
size: "small",
|
|
1647
1638
|
"data-testid": "single-note-save",
|
|
1648
1639
|
onClick: () => {
|
|
1649
|
-
r(
|
|
1640
|
+
r(S), c(!1);
|
|
1650
1641
|
},
|
|
1651
1642
|
children: d.save
|
|
1652
1643
|
}
|
|
1653
1644
|
) })
|
|
1654
1645
|
] })
|
|
1655
1646
|
] }) : /* @__PURE__ */ T(v, { direction: "column", gap: "small", children: [
|
|
1656
|
-
t && /* @__PURE__ */ T(
|
|
1647
|
+
t && /* @__PURE__ */ T(j, { as: "div", children: [
|
|
1657
1648
|
/* @__PURE__ */ i(pe, { level: "h4", margin: "0 0 xx-small 0", children: d.note }),
|
|
1658
1649
|
/* @__PURE__ */ i(J, { children: t })
|
|
1659
1650
|
] }),
|
|
@@ -1678,7 +1669,7 @@ const Un = {
|
|
|
1678
1669
|
color: "danger",
|
|
1679
1670
|
screenReaderLabel: d.deleteNote,
|
|
1680
1671
|
"data-testid": "single-note-delete",
|
|
1681
|
-
onClick: () =>
|
|
1672
|
+
onClick: () => y(!0),
|
|
1682
1673
|
children: /* @__PURE__ */ i(he, {})
|
|
1683
1674
|
}
|
|
1684
1675
|
),
|
|
@@ -1696,7 +1687,7 @@ const Un = {
|
|
|
1696
1687
|
)
|
|
1697
1688
|
] })
|
|
1698
1689
|
] }),
|
|
1699
|
-
b && s && /* @__PURE__ */ i(
|
|
1690
|
+
b && s && /* @__PURE__ */ i(j, { as: "div", background: "primary", padding: "medium", borderRadius: "large", children: /* @__PURE__ */ T(v, { direction: "column", justifyItems: "center", alignItems: "center", gap: "x-small", children: [
|
|
1700
1691
|
/* @__PURE__ */ i(
|
|
1701
1692
|
ee,
|
|
1702
1693
|
{
|
|
@@ -1706,7 +1697,7 @@ const Un = {
|
|
|
1706
1697
|
renderIcon: /* @__PURE__ */ i(he, {}),
|
|
1707
1698
|
"data-testid": "single-note-confirm-delete",
|
|
1708
1699
|
onClick: () => {
|
|
1709
|
-
s(),
|
|
1700
|
+
s(), y(!1);
|
|
1710
1701
|
},
|
|
1711
1702
|
children: d.deleteNote
|
|
1712
1703
|
}
|
|
@@ -1717,7 +1708,7 @@ const Un = {
|
|
|
1717
1708
|
display: "block",
|
|
1718
1709
|
size: "small",
|
|
1719
1710
|
"data-testid": "single-note-cancel-delete",
|
|
1720
|
-
onClick: () =>
|
|
1711
|
+
onClick: () => y(!1),
|
|
1721
1712
|
children: d.cancel
|
|
1722
1713
|
}
|
|
1723
1714
|
)
|
|
@@ -1726,26 +1717,26 @@ const Un = {
|
|
|
1726
1717
|
] });
|
|
1727
1718
|
};
|
|
1728
1719
|
export {
|
|
1729
|
-
|
|
1730
|
-
|
|
1720
|
+
uo as ContentWithNoteWrapper,
|
|
1721
|
+
Ce as Highlight,
|
|
1731
1722
|
nt as HighlightError,
|
|
1732
1723
|
Hn as NoteCard,
|
|
1733
1724
|
ot as NoteChip,
|
|
1734
1725
|
Ln as NoteReactionMenu,
|
|
1735
1726
|
Mn as NotebookEmptyState,
|
|
1736
|
-
|
|
1727
|
+
lo as NotebookProvider,
|
|
1737
1728
|
On as NotebookTranslationsProvider,
|
|
1738
|
-
|
|
1739
|
-
|
|
1729
|
+
co as NotebookTray,
|
|
1730
|
+
go as NotesListView,
|
|
1740
1731
|
x as REACTION_TYPE,
|
|
1741
|
-
|
|
1732
|
+
ho as SingleNote,
|
|
1742
1733
|
Le as createTransparentColor,
|
|
1743
|
-
|
|
1744
|
-
|
|
1734
|
+
Gt as useCreateNote,
|
|
1735
|
+
jt as useDeleteNote,
|
|
1745
1736
|
ve as useGetNotes,
|
|
1746
1737
|
et as useNotebook,
|
|
1747
1738
|
Z as useNotebookTranslations,
|
|
1748
|
-
|
|
1749
|
-
|
|
1739
|
+
fo as useNotesData,
|
|
1740
|
+
mo as useReactionFilter,
|
|
1750
1741
|
zt as useUpdateNote
|
|
1751
1742
|
};
|