@box/threaded-annotations 2.0.1 → 2.1.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/chunks/dist.js +142 -142
- package/dist/esm/lib/components/mention-component/mention-context.js +1 -1
- package/dist/esm/lib/components/message-editor/editor-extensions/custom-mention/useMentionState.js +10 -10
- package/dist/esm/lib/components/message-editor/editor-extensions/custom-placeholder/custom-placeholder-utils.js +3 -3
- package/dist/esm/lib/components/message-editor/message-editor-context.js +1 -1
- package/dist/esm/lib/components/v2/message-editor/editor-extensions/custom-mention/useMentionState.js +11 -11
- package/dist/esm/lib/components/v2/message-editor/hooks/useEditorContainerState.js +2 -2
- package/dist/esm/lib/components/v2/message-editor/message-editor-context.js +1 -1
- package/dist/esm/lib/v2/threaded-annotations-context.js +28 -28
- package/package.json +12 -12
package/dist/chunks/dist.js
CHANGED
|
@@ -708,8 +708,8 @@ var x = class e {
|
|
|
708
708
|
if (r.next == null) return e.empty;
|
|
709
709
|
let i = le(r);
|
|
710
710
|
r.next && r.err("Unexpected trailing text");
|
|
711
|
-
let a = ge(
|
|
712
|
-
return
|
|
711
|
+
let a = _e(ge(i));
|
|
712
|
+
return ve(a, r), a;
|
|
713
713
|
}
|
|
714
714
|
matchType(e) {
|
|
715
715
|
for (let t = 0; t < this.next.length; t++) if (this.next[t].type == e) return this.next[t].next;
|
|
@@ -836,7 +836,7 @@ function ue(e) {
|
|
|
836
836
|
};
|
|
837
837
|
}
|
|
838
838
|
function de(e) {
|
|
839
|
-
let t =
|
|
839
|
+
let t = he(e);
|
|
840
840
|
for (;;) if (e.eat("+")) t = {
|
|
841
841
|
type: "plus",
|
|
842
842
|
expr: t
|
|
@@ -849,25 +849,25 @@ function de(e) {
|
|
|
849
849
|
type: "opt",
|
|
850
850
|
expr: t
|
|
851
851
|
};
|
|
852
|
-
else if (e.eat("{")) t =
|
|
852
|
+
else if (e.eat("{")) t = pe(e, t);
|
|
853
853
|
else break;
|
|
854
854
|
return t;
|
|
855
855
|
}
|
|
856
|
-
function
|
|
856
|
+
function fe(e) {
|
|
857
857
|
/\D/.test(e.next) && e.err("Expected number, got '" + e.next + "'");
|
|
858
858
|
let t = Number(e.next);
|
|
859
859
|
return e.pos++, t;
|
|
860
860
|
}
|
|
861
|
-
function
|
|
862
|
-
let n =
|
|
863
|
-
return e.eat(",") && (r = e.next == "}" ? -1 :
|
|
861
|
+
function pe(e, t) {
|
|
862
|
+
let n = fe(e), r = n;
|
|
863
|
+
return e.eat(",") && (r = e.next == "}" ? -1 : fe(e)), e.eat("}") || e.err("Unclosed braced range"), {
|
|
864
864
|
type: "range",
|
|
865
865
|
min: n,
|
|
866
866
|
max: r,
|
|
867
867
|
expr: t
|
|
868
868
|
};
|
|
869
869
|
}
|
|
870
|
-
function
|
|
870
|
+
function me(e, t) {
|
|
871
871
|
let n = e.nodeTypes, r = n[t];
|
|
872
872
|
if (r) return [r];
|
|
873
873
|
let i = [];
|
|
@@ -877,13 +877,13 @@ function pe(e, t) {
|
|
|
877
877
|
}
|
|
878
878
|
return i.length == 0 && e.err("No node type or group '" + t + "' found"), i;
|
|
879
879
|
}
|
|
880
|
-
function
|
|
880
|
+
function he(e) {
|
|
881
881
|
if (e.eat("(")) {
|
|
882
882
|
let t = le(e);
|
|
883
883
|
return e.eat(")") || e.err("Missing closing paren"), t;
|
|
884
884
|
} else if (/\W/.test(e.next)) e.err("Unexpected token '" + e.next + "'");
|
|
885
885
|
else {
|
|
886
|
-
let t =
|
|
886
|
+
let t = me(e, e.next).map((t) => (e.inline == null ? e.inline = t.isInline : e.inline != t.isInline && e.err("Mixing inline and block content"), {
|
|
887
887
|
type: "name",
|
|
888
888
|
value: t
|
|
889
889
|
}));
|
|
@@ -893,7 +893,7 @@ function me(e) {
|
|
|
893
893
|
};
|
|
894
894
|
}
|
|
895
895
|
}
|
|
896
|
-
function
|
|
896
|
+
function ge(e) {
|
|
897
897
|
let t = [[]];
|
|
898
898
|
return i(a(e, 0), n()), t;
|
|
899
899
|
function n() {
|
|
@@ -939,12 +939,12 @@ function he(e) {
|
|
|
939
939
|
else throw Error("Unknown expr type");
|
|
940
940
|
}
|
|
941
941
|
}
|
|
942
|
-
function
|
|
942
|
+
function S(e, t) {
|
|
943
943
|
return t - e;
|
|
944
944
|
}
|
|
945
|
-
function
|
|
945
|
+
function C(e, t) {
|
|
946
946
|
let n = [];
|
|
947
|
-
return r(t), n.sort(
|
|
947
|
+
return r(t), n.sort(S);
|
|
948
948
|
function r(t) {
|
|
949
949
|
let i = e[t];
|
|
950
950
|
if (i.length == 1 && !i[0].term) return r(i[0].to);
|
|
@@ -955,9 +955,9 @@ function w(e, t) {
|
|
|
955
955
|
}
|
|
956
956
|
}
|
|
957
957
|
}
|
|
958
|
-
function
|
|
958
|
+
function _e(e) {
|
|
959
959
|
let t = Object.create(null);
|
|
960
|
-
return n(
|
|
960
|
+
return n(C(e, 0));
|
|
961
961
|
function n(r) {
|
|
962
962
|
let i = [];
|
|
963
963
|
r.forEach((t) => {
|
|
@@ -965,14 +965,14 @@ function ge(e) {
|
|
|
965
965
|
if (!t) return;
|
|
966
966
|
let r;
|
|
967
967
|
for (let e = 0; e < i.length; e++) i[e][0] == t && (r = i[e][1]);
|
|
968
|
-
|
|
968
|
+
C(e, n).forEach((e) => {
|
|
969
969
|
r || i.push([t, r = []]), r.indexOf(e) == -1 && r.push(e);
|
|
970
970
|
});
|
|
971
971
|
});
|
|
972
972
|
});
|
|
973
973
|
let a = t[r.join(",")] = new x(r.indexOf(e.length - 1) > -1);
|
|
974
974
|
for (let e = 0; e < i.length; e++) {
|
|
975
|
-
let r = i[e][1].sort(
|
|
975
|
+
let r = i[e][1].sort(S);
|
|
976
976
|
a.next.push({
|
|
977
977
|
type: i[e][0],
|
|
978
978
|
next: t[r.join(",")] || n(r)
|
|
@@ -981,7 +981,7 @@ function ge(e) {
|
|
|
981
981
|
return a;
|
|
982
982
|
}
|
|
983
983
|
}
|
|
984
|
-
function
|
|
984
|
+
function ve(e, t) {
|
|
985
985
|
for (let n = 0, r = [e]; n < r.length; n++) {
|
|
986
986
|
let e = r[n], i = !e.validEnd, a = [];
|
|
987
987
|
for (let t = 0; t < e.next.length; t++) {
|
|
@@ -991,40 +991,40 @@ function _e(e, t) {
|
|
|
991
991
|
i && t.err("Only non-generatable nodes (" + a.join(", ") + ") in a required position (see https://prosemirror.net/docs/guide/#generatable)");
|
|
992
992
|
}
|
|
993
993
|
}
|
|
994
|
-
var
|
|
995
|
-
function
|
|
996
|
-
return e + t *
|
|
994
|
+
var w = 65535, T = 2 ** 16;
|
|
995
|
+
function ye(e, t) {
|
|
996
|
+
return e + t * T;
|
|
997
997
|
}
|
|
998
|
-
function
|
|
999
|
-
return e &
|
|
998
|
+
function E(e) {
|
|
999
|
+
return e & w;
|
|
1000
1000
|
}
|
|
1001
|
-
function
|
|
1002
|
-
return (e - (e &
|
|
1001
|
+
function be(e) {
|
|
1002
|
+
return (e - (e & w)) / T;
|
|
1003
1003
|
}
|
|
1004
|
-
var
|
|
1004
|
+
var xe = 1, Se = 2, D = 4, O = 8, k = class {
|
|
1005
1005
|
constructor(e, t, n) {
|
|
1006
1006
|
this.pos = e, this.delInfo = t, this.recover = n;
|
|
1007
1007
|
}
|
|
1008
1008
|
get deleted() {
|
|
1009
|
-
return (this.delInfo &
|
|
1009
|
+
return (this.delInfo & O) > 0;
|
|
1010
1010
|
}
|
|
1011
1011
|
get deletedBefore() {
|
|
1012
|
-
return (this.delInfo &
|
|
1012
|
+
return (this.delInfo & 5) > 0;
|
|
1013
1013
|
}
|
|
1014
1014
|
get deletedAfter() {
|
|
1015
|
-
return (this.delInfo &
|
|
1015
|
+
return (this.delInfo & 6) > 0;
|
|
1016
1016
|
}
|
|
1017
1017
|
get deletedAcross() {
|
|
1018
|
-
return (this.delInfo &
|
|
1018
|
+
return (this.delInfo & D) > 0;
|
|
1019
1019
|
}
|
|
1020
|
-
},
|
|
1020
|
+
}, A = class e {
|
|
1021
1021
|
constructor(t, n = !1) {
|
|
1022
1022
|
if (this.ranges = t, this.inverted = n, !t.length && e.empty) return e.empty;
|
|
1023
1023
|
}
|
|
1024
1024
|
recover(e) {
|
|
1025
|
-
let t = 0, n =
|
|
1025
|
+
let t = 0, n = E(e);
|
|
1026
1026
|
if (!this.inverted) for (let e = 0; e < n; e++) t += this.ranges[e * 3 + 2] - this.ranges[e * 3 + 1];
|
|
1027
|
-
return this.ranges[n * 3] + t +
|
|
1027
|
+
return this.ranges[n * 3] + t + be(e);
|
|
1028
1028
|
}
|
|
1029
1029
|
mapResult(e, t = 1) {
|
|
1030
1030
|
return this._map(e, t, !1);
|
|
@@ -1041,15 +1041,15 @@ var O = 1, k = 2, A = 4, j = 8, M = class {
|
|
|
1041
1041
|
if (e <= u) {
|
|
1042
1042
|
let i = c ? e == s ? -1 : e == u ? 1 : t : t, a = s + r + (i < 0 ? 0 : l);
|
|
1043
1043
|
if (n) return a;
|
|
1044
|
-
let d = e == (t < 0 ? s : u) ? null :
|
|
1045
|
-
return (t < 0 ? e != s : e != u) && (f |=
|
|
1044
|
+
let d = e == (t < 0 ? s : u) ? null : ye(o / 3, e - s), f = e == s ? Se : e == u ? xe : D;
|
|
1045
|
+
return (t < 0 ? e != s : e != u) && (f |= O), new k(a, f, d);
|
|
1046
1046
|
}
|
|
1047
1047
|
r += l - c;
|
|
1048
1048
|
}
|
|
1049
|
-
return n ? e + r : new
|
|
1049
|
+
return n ? e + r : new k(e + r, 0, null);
|
|
1050
1050
|
}
|
|
1051
1051
|
touches(e, t) {
|
|
1052
|
-
let n = 0, r =
|
|
1052
|
+
let n = 0, r = E(t), i = this.inverted ? 2 : 1, a = this.inverted ? 1 : 2;
|
|
1053
1053
|
for (let t = 0; t < this.ranges.length; t += 3) {
|
|
1054
1054
|
let o = this.ranges[t] - (this.inverted ? n : 0);
|
|
1055
1055
|
if (o > e) break;
|
|
@@ -1084,25 +1084,25 @@ var O = 1, k = 2, A = 4, j = 8, M = class {
|
|
|
1084
1084
|
]);
|
|
1085
1085
|
}
|
|
1086
1086
|
};
|
|
1087
|
-
|
|
1088
|
-
var
|
|
1087
|
+
A.empty = new A([]);
|
|
1088
|
+
var j = Object.create(null), M = class {
|
|
1089
1089
|
getMap() {
|
|
1090
|
-
return
|
|
1090
|
+
return A.empty;
|
|
1091
1091
|
}
|
|
1092
1092
|
merge(e) {
|
|
1093
1093
|
return null;
|
|
1094
1094
|
}
|
|
1095
1095
|
static fromJSON(e, t) {
|
|
1096
1096
|
if (!t || !t.stepType) throw RangeError("Invalid input for Step.fromJSON");
|
|
1097
|
-
let n =
|
|
1097
|
+
let n = j[t.stepType];
|
|
1098
1098
|
if (!n) throw RangeError(`No step type ${t.stepType} defined`);
|
|
1099
1099
|
return n.fromJSON(e, t);
|
|
1100
1100
|
}
|
|
1101
1101
|
static jsonID(e, t) {
|
|
1102
|
-
if (e in
|
|
1103
|
-
return
|
|
1102
|
+
if (e in j) throw RangeError("Duplicate use of step JSON ID " + e);
|
|
1103
|
+
return j[e] = t, t.prototype.jsonID = e, t;
|
|
1104
1104
|
}
|
|
1105
|
-
},
|
|
1105
|
+
}, N = class e {
|
|
1106
1106
|
constructor(e, t) {
|
|
1107
1107
|
this.doc = e, this.failed = t;
|
|
1108
1108
|
}
|
|
@@ -1121,24 +1121,24 @@ var P = Object.create(null), F = class {
|
|
|
1121
1121
|
}
|
|
1122
1122
|
}
|
|
1123
1123
|
};
|
|
1124
|
-
function
|
|
1124
|
+
function P(e, t, r) {
|
|
1125
1125
|
let i = [];
|
|
1126
1126
|
for (let n = 0; n < e.childCount; n++) {
|
|
1127
1127
|
let a = e.child(n);
|
|
1128
|
-
a.content.size && (a = a.copy(
|
|
1128
|
+
a.content.size && (a = a.copy(P(a.content, t, a))), a.isInline && (a = t(a, r, n)), i.push(a);
|
|
1129
1129
|
}
|
|
1130
1130
|
return n.fromArray(i);
|
|
1131
1131
|
}
|
|
1132
|
-
var
|
|
1132
|
+
var F = class e extends M {
|
|
1133
1133
|
constructor(e, t, n) {
|
|
1134
1134
|
super(), this.from = e, this.to = t, this.mark = n;
|
|
1135
1135
|
}
|
|
1136
1136
|
apply(e) {
|
|
1137
|
-
let t = e.slice(this.from, this.to), n = e.resolve(this.from), r = n.node(n.sharedDepth(this.to)), i = new c(
|
|
1138
|
-
return
|
|
1137
|
+
let t = e.slice(this.from, this.to), n = e.resolve(this.from), r = n.node(n.sharedDepth(this.to)), i = new c(P(t.content, (e, t) => !e.isAtom || !t.type.allowsMarkType(this.mark.type) ? e : e.mark(this.mark.addToSet(e.marks)), r), t.openStart, t.openEnd);
|
|
1138
|
+
return N.fromReplace(e, this.from, this.to, i);
|
|
1139
1139
|
}
|
|
1140
1140
|
invert() {
|
|
1141
|
-
return new
|
|
1141
|
+
return new I(this.from, this.to, this.mark);
|
|
1142
1142
|
}
|
|
1143
1143
|
map(t) {
|
|
1144
1144
|
let n = t.mapResult(this.from, 1), r = t.mapResult(this.to, -1);
|
|
@@ -1160,17 +1160,17 @@ var R = class e extends F {
|
|
|
1160
1160
|
return new e(n.from, n.to, t.markFromJSON(n.mark));
|
|
1161
1161
|
}
|
|
1162
1162
|
};
|
|
1163
|
-
|
|
1164
|
-
var
|
|
1163
|
+
M.jsonID("addMark", F);
|
|
1164
|
+
var I = class e extends M {
|
|
1165
1165
|
constructor(e, t, n) {
|
|
1166
1166
|
super(), this.from = e, this.to = t, this.mark = n;
|
|
1167
1167
|
}
|
|
1168
1168
|
apply(e) {
|
|
1169
|
-
let t = e.slice(this.from, this.to), n = new c(
|
|
1170
|
-
return
|
|
1169
|
+
let t = e.slice(this.from, this.to), n = new c(P(t.content, (e) => e.mark(this.mark.removeFromSet(e.marks)), e), t.openStart, t.openEnd);
|
|
1170
|
+
return N.fromReplace(e, this.from, this.to, n);
|
|
1171
1171
|
}
|
|
1172
1172
|
invert() {
|
|
1173
|
-
return new
|
|
1173
|
+
return new F(this.from, this.to, this.mark);
|
|
1174
1174
|
}
|
|
1175
1175
|
map(t) {
|
|
1176
1176
|
let n = t.mapResult(this.from, 1), r = t.mapResult(this.to, -1);
|
|
@@ -1192,16 +1192,16 @@ var be = class e extends F {
|
|
|
1192
1192
|
return new e(n.from, n.to, t.markFromJSON(n.mark));
|
|
1193
1193
|
}
|
|
1194
1194
|
};
|
|
1195
|
-
|
|
1196
|
-
var
|
|
1195
|
+
M.jsonID("removeMark", I);
|
|
1196
|
+
var L = class e extends M {
|
|
1197
1197
|
constructor(e, t) {
|
|
1198
1198
|
super(), this.pos = e, this.mark = t;
|
|
1199
1199
|
}
|
|
1200
1200
|
apply(e) {
|
|
1201
1201
|
let t = e.nodeAt(this.pos);
|
|
1202
|
-
if (!t) return
|
|
1202
|
+
if (!t) return N.fail("No node at mark step's position");
|
|
1203
1203
|
let r = t.type.create(t.attrs, null, this.mark.addToSet(t.marks));
|
|
1204
|
-
return
|
|
1204
|
+
return N.fromReplace(e, this.pos, this.pos + 1, new c(n.from(r), 0, +!t.isLeaf));
|
|
1205
1205
|
}
|
|
1206
1206
|
invert(t) {
|
|
1207
1207
|
let n = t.nodeAt(this.pos);
|
|
@@ -1212,7 +1212,7 @@ var z = class e extends F {
|
|
|
1212
1212
|
return new e(this.pos, this.mark);
|
|
1213
1213
|
}
|
|
1214
1214
|
}
|
|
1215
|
-
return new
|
|
1215
|
+
return new R(this.pos, this.mark);
|
|
1216
1216
|
}
|
|
1217
1217
|
map(t) {
|
|
1218
1218
|
let n = t.mapResult(this.pos, 1);
|
|
@@ -1230,20 +1230,20 @@ var z = class e extends F {
|
|
|
1230
1230
|
return new e(n.pos, t.markFromJSON(n.mark));
|
|
1231
1231
|
}
|
|
1232
1232
|
};
|
|
1233
|
-
|
|
1234
|
-
var
|
|
1233
|
+
M.jsonID("addNodeMark", L);
|
|
1234
|
+
var R = class e extends M {
|
|
1235
1235
|
constructor(e, t) {
|
|
1236
1236
|
super(), this.pos = e, this.mark = t;
|
|
1237
1237
|
}
|
|
1238
1238
|
apply(e) {
|
|
1239
1239
|
let t = e.nodeAt(this.pos);
|
|
1240
|
-
if (!t) return
|
|
1240
|
+
if (!t) return N.fail("No node at mark step's position");
|
|
1241
1241
|
let r = t.type.create(t.attrs, null, this.mark.removeFromSet(t.marks));
|
|
1242
|
-
return
|
|
1242
|
+
return N.fromReplace(e, this.pos, this.pos + 1, new c(n.from(r), 0, +!t.isLeaf));
|
|
1243
1243
|
}
|
|
1244
1244
|
invert(e) {
|
|
1245
1245
|
let t = e.nodeAt(this.pos);
|
|
1246
|
-
return !t || !this.mark.isInSet(t.marks) ? this : new
|
|
1246
|
+
return !t || !this.mark.isInSet(t.marks) ? this : new L(this.pos, this.mark);
|
|
1247
1247
|
}
|
|
1248
1248
|
map(t) {
|
|
1249
1249
|
let n = t.mapResult(this.pos, 1);
|
|
@@ -1261,16 +1261,16 @@ var B = class e extends F {
|
|
|
1261
1261
|
return new e(n.pos, t.markFromJSON(n.mark));
|
|
1262
1262
|
}
|
|
1263
1263
|
};
|
|
1264
|
-
|
|
1265
|
-
var
|
|
1264
|
+
M.jsonID("removeNodeMark", R);
|
|
1265
|
+
var z = class e extends M {
|
|
1266
1266
|
constructor(e, t, n, r = !1) {
|
|
1267
1267
|
super(), this.from = e, this.to = t, this.slice = n, this.structure = r;
|
|
1268
1268
|
}
|
|
1269
1269
|
apply(e) {
|
|
1270
|
-
return this.structure &&
|
|
1270
|
+
return this.structure && V(e, this.from, this.to) ? N.fail("Structure replace would overwrite content") : N.fromReplace(e, this.from, this.to, this.slice);
|
|
1271
1271
|
}
|
|
1272
1272
|
getMap() {
|
|
1273
|
-
return new
|
|
1273
|
+
return new A([
|
|
1274
1274
|
this.from,
|
|
1275
1275
|
this.to - this.from,
|
|
1276
1276
|
this.slice.size
|
|
@@ -1306,20 +1306,20 @@ var V = class e extends F {
|
|
|
1306
1306
|
return new e(n.from, n.to, c.fromJSON(t, n.slice), !!n.structure);
|
|
1307
1307
|
}
|
|
1308
1308
|
};
|
|
1309
|
-
|
|
1310
|
-
var
|
|
1309
|
+
M.jsonID("replace", z);
|
|
1310
|
+
var B = class e extends M {
|
|
1311
1311
|
constructor(e, t, n, r, i, a, o = !1) {
|
|
1312
1312
|
super(), this.from = e, this.to = t, this.gapFrom = n, this.gapTo = r, this.slice = i, this.insert = a, this.structure = o;
|
|
1313
1313
|
}
|
|
1314
1314
|
apply(e) {
|
|
1315
|
-
if (this.structure && (
|
|
1315
|
+
if (this.structure && (V(e, this.from, this.gapFrom) || V(e, this.gapTo, this.to))) return N.fail("Structure gap-replace would overwrite content");
|
|
1316
1316
|
let t = e.slice(this.gapFrom, this.gapTo);
|
|
1317
|
-
if (t.openStart || t.openEnd) return
|
|
1317
|
+
if (t.openStart || t.openEnd) return N.fail("Gap is not a flat range");
|
|
1318
1318
|
let n = this.slice.insertAt(this.insert, t.content);
|
|
1319
|
-
return n ?
|
|
1319
|
+
return n ? N.fromReplace(e, this.from, this.to, n) : N.fail("Content does not fit in gap");
|
|
1320
1320
|
}
|
|
1321
1321
|
getMap() {
|
|
1322
|
-
return new
|
|
1322
|
+
return new A([
|
|
1323
1323
|
this.from,
|
|
1324
1324
|
this.gapFrom - this.from,
|
|
1325
1325
|
this.insert,
|
|
@@ -1352,8 +1352,8 @@ var H = class e extends F {
|
|
|
1352
1352
|
return new e(n.from, n.to, n.gapFrom, n.gapTo, c.fromJSON(t, n.slice), n.insert, !!n.structure);
|
|
1353
1353
|
}
|
|
1354
1354
|
};
|
|
1355
|
-
|
|
1356
|
-
function
|
|
1355
|
+
M.jsonID("replaceAround", B);
|
|
1356
|
+
function V(e, t, n) {
|
|
1357
1357
|
let r = e.resolve(t), i = n - t, a = r.depth;
|
|
1358
1358
|
for (; i > 0 && a > 0 && r.indexAfter(a) == r.node(a).childCount;) a--, i--;
|
|
1359
1359
|
if (i > 0) {
|
|
@@ -1365,21 +1365,21 @@ function U(e, t, n) {
|
|
|
1365
1365
|
}
|
|
1366
1366
|
return !1;
|
|
1367
1367
|
}
|
|
1368
|
-
var
|
|
1368
|
+
var Ce = class e extends M {
|
|
1369
1369
|
constructor(e, t, n) {
|
|
1370
1370
|
super(), this.pos = e, this.attr = t, this.value = n;
|
|
1371
1371
|
}
|
|
1372
1372
|
apply(e) {
|
|
1373
1373
|
let t = e.nodeAt(this.pos);
|
|
1374
|
-
if (!t) return
|
|
1374
|
+
if (!t) return N.fail("No node at attribute step's position");
|
|
1375
1375
|
let r = Object.create(null);
|
|
1376
1376
|
for (let e in t.attrs) r[e] = t.attrs[e];
|
|
1377
1377
|
r[this.attr] = this.value;
|
|
1378
1378
|
let i = t.type.create(r, null, t.marks);
|
|
1379
|
-
return
|
|
1379
|
+
return N.fromReplace(e, this.pos, this.pos + 1, new c(n.from(i), 0, +!t.isLeaf));
|
|
1380
1380
|
}
|
|
1381
1381
|
getMap() {
|
|
1382
|
-
return
|
|
1382
|
+
return A.empty;
|
|
1383
1383
|
}
|
|
1384
1384
|
invert(t) {
|
|
1385
1385
|
return new e(this.pos, this.attr, t.nodeAt(this.pos).attrs[this.attr]);
|
|
@@ -1401,8 +1401,8 @@ var xe = class e extends F {
|
|
|
1401
1401
|
return new e(n.pos, n.attr, n.value);
|
|
1402
1402
|
}
|
|
1403
1403
|
};
|
|
1404
|
-
|
|
1405
|
-
var
|
|
1404
|
+
M.jsonID("attr", Ce);
|
|
1405
|
+
var we = class e extends M {
|
|
1406
1406
|
constructor(e, t) {
|
|
1407
1407
|
super(), this.attr = e, this.value = t;
|
|
1408
1408
|
}
|
|
@@ -1411,10 +1411,10 @@ var Se = class e extends F {
|
|
|
1411
1411
|
for (let n in e.attrs) t[n] = e.attrs[n];
|
|
1412
1412
|
t[this.attr] = this.value;
|
|
1413
1413
|
let n = e.type.create(t, e.content, e.marks);
|
|
1414
|
-
return
|
|
1414
|
+
return N.ok(n);
|
|
1415
1415
|
}
|
|
1416
1416
|
getMap() {
|
|
1417
|
-
return
|
|
1417
|
+
return A.empty;
|
|
1418
1418
|
}
|
|
1419
1419
|
invert(t) {
|
|
1420
1420
|
return new e(this.attr, t.attrs[this.attr]);
|
|
@@ -1434,15 +1434,15 @@ var Se = class e extends F {
|
|
|
1434
1434
|
return new e(n.attr, n.value);
|
|
1435
1435
|
}
|
|
1436
1436
|
};
|
|
1437
|
-
|
|
1438
|
-
var
|
|
1439
|
-
|
|
1437
|
+
M.jsonID("docAttr", we);
|
|
1438
|
+
var H = class extends Error {};
|
|
1439
|
+
H = function e(t) {
|
|
1440
1440
|
let n = Error.call(this, t);
|
|
1441
1441
|
return n.__proto__ = e.prototype, n;
|
|
1442
|
-
},
|
|
1443
|
-
var
|
|
1442
|
+
}, H.prototype = Object.create(Error.prototype), H.prototype.constructor = H, H.prototype.name = "TransformError";
|
|
1443
|
+
var U = Object.create(null), W = class {
|
|
1444
1444
|
constructor(e, t, n) {
|
|
1445
|
-
this.$anchor = e, this.$head = t, this.ranges = n || [new
|
|
1445
|
+
this.$anchor = e, this.$head = t, this.ranges = n || [new Te(e.min(t), e.max(t))];
|
|
1446
1446
|
}
|
|
1447
1447
|
get anchor() {
|
|
1448
1448
|
return this.$anchor.pos;
|
|
@@ -1476,67 +1476,67 @@ var G = Object.create(null), K = class {
|
|
|
1476
1476
|
let i = e.steps.length, a = this.ranges;
|
|
1477
1477
|
for (let o = 0; o < a.length; o++) {
|
|
1478
1478
|
let { $from: s, $to: l } = a[o], u = e.mapping.slice(i);
|
|
1479
|
-
e.replaceRange(u.map(s.pos), u.map(l.pos), o ? c.empty : t), o == 0 &&
|
|
1479
|
+
e.replaceRange(u.map(s.pos), u.map(l.pos), o ? c.empty : t), o == 0 && ke(e, i, (n ? n.isInline : r && r.isTextblock) ? -1 : 1);
|
|
1480
1480
|
}
|
|
1481
1481
|
}
|
|
1482
1482
|
replaceWith(e, t) {
|
|
1483
1483
|
let n = e.steps.length, r = this.ranges;
|
|
1484
1484
|
for (let i = 0; i < r.length; i++) {
|
|
1485
1485
|
let { $from: a, $to: o } = r[i], s = e.mapping.slice(n), c = s.map(a.pos), l = s.map(o.pos);
|
|
1486
|
-
i ? e.deleteRange(c, l) : (e.replaceRangeWith(c, l, t),
|
|
1486
|
+
i ? e.deleteRange(c, l) : (e.replaceRangeWith(c, l, t), ke(e, n, t.isInline ? -1 : 1));
|
|
1487
1487
|
}
|
|
1488
1488
|
}
|
|
1489
1489
|
static findFrom(e, t, n = !1) {
|
|
1490
|
-
let r = e.parent.inlineContent ? new
|
|
1490
|
+
let r = e.parent.inlineContent ? new K(e) : X(e.node(0), e.parent, e.pos, e.index(), t, n);
|
|
1491
1491
|
if (r) return r;
|
|
1492
1492
|
for (let r = e.depth - 1; r >= 0; r--) {
|
|
1493
|
-
let i = t < 0 ?
|
|
1493
|
+
let i = t < 0 ? X(e.node(0), e.node(r), e.before(r + 1), e.index(r), t, n) : X(e.node(0), e.node(r), e.after(r + 1), e.index(r) + 1, t, n);
|
|
1494
1494
|
if (i) return i;
|
|
1495
1495
|
}
|
|
1496
1496
|
return null;
|
|
1497
1497
|
}
|
|
1498
1498
|
static near(e, t = 1) {
|
|
1499
|
-
return this.findFrom(e, t) || this.findFrom(e, -t) || new
|
|
1499
|
+
return this.findFrom(e, t) || this.findFrom(e, -t) || new Y(e.node(0));
|
|
1500
1500
|
}
|
|
1501
1501
|
static atStart(e) {
|
|
1502
|
-
return
|
|
1502
|
+
return X(e, e, 0, 0, 1) || new Y(e);
|
|
1503
1503
|
}
|
|
1504
1504
|
static atEnd(e) {
|
|
1505
|
-
return
|
|
1505
|
+
return X(e, e, e.content.size, e.childCount, -1) || new Y(e);
|
|
1506
1506
|
}
|
|
1507
1507
|
static fromJSON(e, t) {
|
|
1508
1508
|
if (!t || !t.type) throw RangeError("Invalid input for Selection.fromJSON");
|
|
1509
|
-
let n =
|
|
1509
|
+
let n = U[t.type];
|
|
1510
1510
|
if (!n) throw RangeError(`No selection type ${t.type} defined`);
|
|
1511
1511
|
return n.fromJSON(e, t);
|
|
1512
1512
|
}
|
|
1513
1513
|
static jsonID(e, t) {
|
|
1514
|
-
if (e in
|
|
1515
|
-
return
|
|
1514
|
+
if (e in U) throw RangeError("Duplicate use of selection JSON ID " + e);
|
|
1515
|
+
return U[e] = t, t.prototype.jsonID = e, t;
|
|
1516
1516
|
}
|
|
1517
1517
|
getBookmark() {
|
|
1518
|
-
return
|
|
1518
|
+
return K.between(this.$anchor, this.$head).getBookmark();
|
|
1519
1519
|
}
|
|
1520
1520
|
};
|
|
1521
|
-
|
|
1522
|
-
var
|
|
1521
|
+
W.prototype.visible = !0;
|
|
1522
|
+
var Te = class {
|
|
1523
1523
|
constructor(e, t) {
|
|
1524
1524
|
this.$from = e, this.$to = t;
|
|
1525
1525
|
}
|
|
1526
|
-
},
|
|
1527
|
-
function
|
|
1528
|
-
!
|
|
1526
|
+
}, G = !1;
|
|
1527
|
+
function Ee(e) {
|
|
1528
|
+
!G && !e.parent.inlineContent && (G = !0, console.warn("TextSelection endpoint not pointing into a node with inline content (" + e.parent.type.name + ")"));
|
|
1529
1529
|
}
|
|
1530
|
-
var
|
|
1530
|
+
var K = class e extends W {
|
|
1531
1531
|
constructor(e, t = e) {
|
|
1532
|
-
|
|
1532
|
+
Ee(e), Ee(t), super(e, t);
|
|
1533
1533
|
}
|
|
1534
1534
|
get $cursor() {
|
|
1535
1535
|
return this.$anchor.pos == this.$head.pos ? this.$head : null;
|
|
1536
1536
|
}
|
|
1537
1537
|
map(t, n) {
|
|
1538
1538
|
let r = t.resolve(n.map(this.head));
|
|
1539
|
-
if (!r.parent.inlineContent) return
|
|
1539
|
+
if (!r.parent.inlineContent) return W.near(r);
|
|
1540
1540
|
let i = t.resolve(n.map(this.anchor));
|
|
1541
1541
|
return new e(i.parent.inlineContent ? i : r, r);
|
|
1542
1542
|
}
|
|
@@ -1550,7 +1550,7 @@ var q = class e extends K {
|
|
|
1550
1550
|
return t instanceof e && t.anchor == this.anchor && t.head == this.head;
|
|
1551
1551
|
}
|
|
1552
1552
|
getBookmark() {
|
|
1553
|
-
return new
|
|
1553
|
+
return new q(this.anchor, this.head);
|
|
1554
1554
|
}
|
|
1555
1555
|
toJSON() {
|
|
1556
1556
|
return {
|
|
@@ -1570,15 +1570,15 @@ var q = class e extends K {
|
|
|
1570
1570
|
static between(t, n, r) {
|
|
1571
1571
|
let i = t.pos - n.pos;
|
|
1572
1572
|
if ((!r || i) && (r = i >= 0 ? 1 : -1), !n.parent.inlineContent) {
|
|
1573
|
-
let e =
|
|
1573
|
+
let e = W.findFrom(n, r, !0) || W.findFrom(n, -r, !0);
|
|
1574
1574
|
if (e) n = e.$head;
|
|
1575
|
-
else return
|
|
1575
|
+
else return W.near(n, r);
|
|
1576
1576
|
}
|
|
1577
|
-
return t.parent.inlineContent || (i == 0 ? t = n : (t = (
|
|
1577
|
+
return t.parent.inlineContent || (i == 0 ? t = n : (t = (W.findFrom(t, -r, !0) || W.findFrom(t, r, !0)).$anchor, t.pos < n.pos != i < 0 && (t = n))), new e(t, n);
|
|
1578
1578
|
}
|
|
1579
1579
|
};
|
|
1580
|
-
|
|
1581
|
-
var
|
|
1580
|
+
W.jsonID("text", K);
|
|
1581
|
+
var q = class e {
|
|
1582
1582
|
constructor(e, t) {
|
|
1583
1583
|
this.anchor = e, this.head = t;
|
|
1584
1584
|
}
|
|
@@ -1586,16 +1586,16 @@ var J = class e {
|
|
|
1586
1586
|
return new e(t.map(this.anchor), t.map(this.head));
|
|
1587
1587
|
}
|
|
1588
1588
|
resolve(e) {
|
|
1589
|
-
return
|
|
1589
|
+
return K.between(e.resolve(this.anchor), e.resolve(this.head));
|
|
1590
1590
|
}
|
|
1591
|
-
},
|
|
1591
|
+
}, J = class e extends W {
|
|
1592
1592
|
constructor(e) {
|
|
1593
1593
|
let t = e.nodeAfter, n = e.node(0).resolve(e.pos + t.nodeSize);
|
|
1594
1594
|
super(e, n), this.node = t;
|
|
1595
1595
|
}
|
|
1596
1596
|
map(t, n) {
|
|
1597
1597
|
let { deleted: r, pos: i } = n.mapResult(this.anchor), a = t.resolve(i);
|
|
1598
|
-
return r ?
|
|
1598
|
+
return r ? W.near(a) : new e(a);
|
|
1599
1599
|
}
|
|
1600
1600
|
content() {
|
|
1601
1601
|
return new c(n.from(this.node), 0, 0);
|
|
@@ -1610,7 +1610,7 @@ var J = class e {
|
|
|
1610
1610
|
};
|
|
1611
1611
|
}
|
|
1612
1612
|
getBookmark() {
|
|
1613
|
-
return new
|
|
1613
|
+
return new De(this.anchor);
|
|
1614
1614
|
}
|
|
1615
1615
|
static fromJSON(t, n) {
|
|
1616
1616
|
if (typeof n.anchor != "number") throw RangeError("Invalid input for NodeSelection.fromJSON");
|
|
@@ -1623,27 +1623,27 @@ var J = class e {
|
|
|
1623
1623
|
return !e.isText && e.type.spec.selectable !== !1;
|
|
1624
1624
|
}
|
|
1625
1625
|
};
|
|
1626
|
-
|
|
1627
|
-
var
|
|
1626
|
+
J.prototype.visible = !1, W.jsonID("node", J);
|
|
1627
|
+
var De = class e {
|
|
1628
1628
|
constructor(e) {
|
|
1629
1629
|
this.anchor = e;
|
|
1630
1630
|
}
|
|
1631
1631
|
map(t) {
|
|
1632
1632
|
let { deleted: n, pos: r } = t.mapResult(this.anchor);
|
|
1633
|
-
return n ? new
|
|
1633
|
+
return n ? new q(r, r) : new e(r);
|
|
1634
1634
|
}
|
|
1635
1635
|
resolve(e) {
|
|
1636
1636
|
let t = e.resolve(this.anchor), n = t.nodeAfter;
|
|
1637
|
-
return n &&
|
|
1637
|
+
return n && J.isSelectable(n) ? new J(t) : W.near(t);
|
|
1638
1638
|
}
|
|
1639
|
-
},
|
|
1639
|
+
}, Y = class e extends W {
|
|
1640
1640
|
constructor(e) {
|
|
1641
1641
|
super(e.resolve(0), e.resolve(e.content.size));
|
|
1642
1642
|
}
|
|
1643
1643
|
replace(e, t = c.empty) {
|
|
1644
1644
|
if (t == c.empty) {
|
|
1645
1645
|
e.delete(0, e.doc.content.size);
|
|
1646
|
-
let t =
|
|
1646
|
+
let t = W.atStart(e.doc);
|
|
1647
1647
|
t.eq(e.selection) || e.setSelection(t);
|
|
1648
1648
|
} else super.replace(e, t);
|
|
1649
1649
|
}
|
|
@@ -1660,46 +1660,46 @@ var Ee = class e {
|
|
|
1660
1660
|
return t instanceof e;
|
|
1661
1661
|
}
|
|
1662
1662
|
getBookmark() {
|
|
1663
|
-
return
|
|
1663
|
+
return Oe;
|
|
1664
1664
|
}
|
|
1665
1665
|
};
|
|
1666
|
-
|
|
1667
|
-
var
|
|
1666
|
+
W.jsonID("all", Y);
|
|
1667
|
+
var Oe = {
|
|
1668
1668
|
map() {
|
|
1669
1669
|
return this;
|
|
1670
1670
|
},
|
|
1671
1671
|
resolve(e) {
|
|
1672
|
-
return new
|
|
1672
|
+
return new Y(e);
|
|
1673
1673
|
}
|
|
1674
1674
|
};
|
|
1675
|
-
function
|
|
1676
|
-
if (t.inlineContent) return
|
|
1675
|
+
function X(e, t, n, r, i, a = !1) {
|
|
1676
|
+
if (t.inlineContent) return K.create(e, n);
|
|
1677
1677
|
for (let o = r - (i > 0 ? 0 : 1); i > 0 ? o < t.childCount : o >= 0; o += i) {
|
|
1678
1678
|
let r = t.child(o);
|
|
1679
1679
|
if (!r.isAtom) {
|
|
1680
|
-
let t =
|
|
1680
|
+
let t = X(e, r, n + i, i < 0 ? r.childCount : 0, i, a);
|
|
1681
1681
|
if (t) return t;
|
|
1682
|
-
} else if (!a &&
|
|
1682
|
+
} else if (!a && J.isSelectable(r)) return J.create(e, n - (i < 0 ? r.nodeSize : 0));
|
|
1683
1683
|
n += r.nodeSize * i;
|
|
1684
1684
|
}
|
|
1685
1685
|
return null;
|
|
1686
1686
|
}
|
|
1687
|
-
function
|
|
1687
|
+
function ke(e, t, n) {
|
|
1688
1688
|
let r = e.steps.length - 1;
|
|
1689
1689
|
if (r < t) return;
|
|
1690
1690
|
let i = e.steps[r];
|
|
1691
|
-
if (!(i instanceof
|
|
1691
|
+
if (!(i instanceof z || i instanceof B)) return;
|
|
1692
1692
|
let a = e.mapping.maps[r], o;
|
|
1693
1693
|
a.forEach((e, t, n, r) => {
|
|
1694
1694
|
o ??= r;
|
|
1695
|
-
}), e.setSelection(
|
|
1695
|
+
}), e.setSelection(W.near(e.doc.resolve(o), n));
|
|
1696
1696
|
}
|
|
1697
|
-
function
|
|
1697
|
+
function Z(e, t) {
|
|
1698
1698
|
return !t || !e ? e : e.bind(t);
|
|
1699
1699
|
}
|
|
1700
1700
|
var Q = class {
|
|
1701
1701
|
constructor(e, t, n) {
|
|
1702
|
-
this.name = e, this.init =
|
|
1702
|
+
this.name = e, this.init = Z(t.init, n), this.apply = Z(t.apply, n);
|
|
1703
1703
|
}
|
|
1704
1704
|
};
|
|
1705
1705
|
new Q("doc", {
|
|
@@ -1711,7 +1711,7 @@ new Q("doc", {
|
|
|
1711
1711
|
}
|
|
1712
1712
|
}), new Q("selection", {
|
|
1713
1713
|
init(e, t) {
|
|
1714
|
-
return e.selection ||
|
|
1714
|
+
return e.selection || W.atStart(t.doc);
|
|
1715
1715
|
},
|
|
1716
1716
|
apply(e) {
|
|
1717
1717
|
return e.selection;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createContext as e, useCallback as t, useContext as n, useMemo as r, useState as i } from "react";
|
|
2
2
|
import { jsx as a } from "react/jsx-runtime";
|
|
3
|
-
var o =
|
|
3
|
+
var o = /*#__PURE__*/ e(void 0), s = ({ value: e, children: n }) => {
|
|
4
4
|
let [s, c] = i(null), l = t(async (e, t) => {
|
|
5
5
|
requestAnimationFrame(() => {
|
|
6
6
|
c(e);
|
package/dist/esm/lib/components/message-editor/editor-extensions/custom-mention/useMentionState.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { useMemo as e, useState as t } from "react";
|
|
2
2
|
var n = /* @__PURE__ */ function(e) {
|
|
3
3
|
return e.ARROW_DOWN = "ArrowDown", e.ARROW_UP = "ArrowUp", e.ENTER = "Enter", e;
|
|
4
|
-
}({}), r = (
|
|
5
|
-
let [
|
|
4
|
+
}({}), r = (n) => {
|
|
5
|
+
let [r, i] = t(!1), [a, o] = t(""), [s, c] = t(null);
|
|
6
6
|
return {
|
|
7
|
-
isActive:
|
|
8
|
-
query:
|
|
9
|
-
command:
|
|
7
|
+
isActive: r,
|
|
8
|
+
query: a,
|
|
9
|
+
command: s,
|
|
10
10
|
suggestionCallbacks: e(() => ({
|
|
11
11
|
onSuggestionStart: (e) => {
|
|
12
|
-
|
|
12
|
+
i(!0), o(e.query), c(() => e.command);
|
|
13
13
|
},
|
|
14
14
|
onSuggestionUpdate: (e) => {
|
|
15
|
-
|
|
15
|
+
o(e.query), c(() => e.command);
|
|
16
16
|
},
|
|
17
|
-
onSuggestionKeyDown: (e) =>
|
|
17
|
+
onSuggestionKeyDown: (e) => n.current ? e.event.key === "ArrowDown" ? (n.current.selectNext(), !0) : e.event.key === "ArrowUp" ? (n.current.selectPrevious(), !0) : e.event.key === "Enter" ? (n.current.selectItem(), !0) : !1 : !1,
|
|
18
18
|
onSuggestionExit: () => {
|
|
19
|
-
|
|
19
|
+
i(!1);
|
|
20
20
|
}
|
|
21
|
-
}), [
|
|
21
|
+
}), [n])
|
|
22
22
|
};
|
|
23
23
|
};
|
|
24
24
|
export { n as KeyEvents, r as useMentionState };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
var e = /* @__PURE__ */ function(e) {
|
|
2
2
|
return e.Placeholder = "placeholder", e;
|
|
3
|
-
}({}), t = 1, n = (
|
|
4
|
-
let { content:
|
|
5
|
-
|
|
3
|
+
}({}), t = 1, n = (e) => {
|
|
4
|
+
let { content: t, paragraphNumber: n } = s(e);
|
|
5
|
+
n === 1 && t.length === 0 && e.commands.setContent([{ type: "placeholder" }]);
|
|
6
6
|
}, r = (e, t) => {
|
|
7
7
|
let n = e.getJSON(), r = i(n, t);
|
|
8
8
|
o(n) !== o(r) && e.commands.setContent(r, !0);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createContext as e, useContext as t } from "react";
|
|
2
2
|
import { jsx as n } from "react/jsx-runtime";
|
|
3
|
-
var r =
|
|
3
|
+
var r = /*#__PURE__*/ e(void 0), i = ({ value: e, children: t }) => /* @__PURE__ */ n(r.Provider, {
|
|
4
4
|
value: e,
|
|
5
5
|
children: t
|
|
6
6
|
}), a = () => t(r) ?? {};
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import { useCallback as e, useMemo as t, useState as n } from "react";
|
|
2
2
|
var r = /* @__PURE__ */ function(e) {
|
|
3
3
|
return e.ARROW_DOWN = "ArrowDown", e.ARROW_UP = "ArrowUp", e.ENTER = "Enter", e;
|
|
4
|
-
}({}), i = (
|
|
5
|
-
let [
|
|
4
|
+
}({}), i = (r) => {
|
|
5
|
+
let [i, a] = n(!1), [o, s] = n(""), [c, l] = n(null);
|
|
6
6
|
return {
|
|
7
|
-
isActive:
|
|
8
|
-
query:
|
|
9
|
-
command:
|
|
7
|
+
isActive: i,
|
|
8
|
+
query: o,
|
|
9
|
+
command: c,
|
|
10
10
|
suggestionCallbacks: t(() => ({
|
|
11
11
|
onSuggestionStart: (e) => {
|
|
12
|
-
|
|
12
|
+
a(!0), s(e.query), l(() => e.command);
|
|
13
13
|
},
|
|
14
14
|
onSuggestionUpdate: (e) => {
|
|
15
|
-
|
|
15
|
+
a(!0), s(e.query), l(() => e.command);
|
|
16
16
|
},
|
|
17
|
-
onSuggestionKeyDown: (e) =>
|
|
17
|
+
onSuggestionKeyDown: (e) => r.current ? e.event.key === "ArrowDown" ? (r.current.selectNext(), !0) : e.event.key === "ArrowUp" ? (r.current.selectPrevious(), !0) : e.event.key === "Enter" ? (r.current.selectItem(), !0) : !1 : !1,
|
|
18
18
|
onSuggestionExit: () => {
|
|
19
|
-
|
|
19
|
+
a(!1);
|
|
20
20
|
}
|
|
21
|
-
}), [
|
|
21
|
+
}), [r]),
|
|
22
22
|
close: e(() => {
|
|
23
|
-
|
|
23
|
+
a(!1), s(""), l(null);
|
|
24
24
|
}, [])
|
|
25
25
|
};
|
|
26
26
|
};
|
|
@@ -4,8 +4,8 @@ var r = 32, i = 10, a = 2, o = 2, s = (s, c) => {
|
|
|
4
4
|
return e(() => {
|
|
5
5
|
if (!s.current) return;
|
|
6
6
|
let e = s.current, t = e.firstElementChild ?? e, n = () => {
|
|
7
|
-
let n = t.scrollHeight, s = h.current, l = (c?.state.doc.childCount ?? 0) > 1
|
|
8
|
-
|
|
7
|
+
let n = t.scrollHeight, s = h.current, l = (c?.state.doc.childCount ?? 0) > 1 || n > (s ? r - i : 42);
|
|
8
|
+
l !== h.current && (h.current = l, u(l)), f(e.scrollHeight - e.clientHeight > a), m(e.scrollTop + e.clientHeight >= e.scrollHeight - o);
|
|
9
9
|
}, l = () => requestAnimationFrame(n);
|
|
10
10
|
n();
|
|
11
11
|
let d = new ResizeObserver(n);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createContext as e, useContext as t, useState as n } from "react";
|
|
2
2
|
import { jsx as r } from "react/jsx-runtime";
|
|
3
|
-
var i =
|
|
3
|
+
var i = /*#__PURE__*/ e(void 0), a = ({ children: e }) => {
|
|
4
4
|
let [t, a] = n(null), [o, s] = n(!1);
|
|
5
5
|
return /* @__PURE__ */ r(i.Provider, {
|
|
6
6
|
value: {
|
|
@@ -2,55 +2,55 @@ import { createContext as e, useCallback as t, useContext as n, useEffect as r,
|
|
|
2
2
|
import { jsx as o } from "react/jsx-runtime";
|
|
3
3
|
var s = /* @__PURE__ */ function(e) {
|
|
4
4
|
return e.Collapsed = "collapsed", e.RepliesOnly = "repliesOnly", e.Composing = "composing", e;
|
|
5
|
-
}({}), c =
|
|
6
|
-
let [
|
|
5
|
+
}({}), c = /*#__PURE__*/ e(void 0), l = ({ children: e, defaultExpanded: n = !1, isReplyDisabled: s = !1, isEditDisabled: l = !1, collapsed: u = !1, isAnnotations: d = !1 }) => {
|
|
6
|
+
let [f, p] = a(() => n ? s ? "repliesOnly" : "composing" : "collapsed"), [m, h] = a(null), [g, _] = a(null);
|
|
7
7
|
r(() => {
|
|
8
|
-
|
|
8
|
+
s ? (p((e) => e === "composing" ? "collapsed" : e), h(null)) : p((e) => e === "repliesOnly" ? "composing" : e);
|
|
9
|
+
}, [s]), r(() => {
|
|
10
|
+
l && _(null);
|
|
9
11
|
}, [l]), r(() => {
|
|
10
|
-
u &&
|
|
11
|
-
}, [u])
|
|
12
|
-
|
|
13
|
-
}, [d]);
|
|
14
|
-
let y = t((e) => {
|
|
12
|
+
u && (p("collapsed"), h(null), _(null));
|
|
13
|
+
}, [u]);
|
|
14
|
+
let v = t((e) => {
|
|
15
15
|
switch (e.type) {
|
|
16
16
|
case "EXPAND":
|
|
17
|
-
|
|
17
|
+
p((e) => e === "collapsed" ? s ? "repliesOnly" : "composing" : e);
|
|
18
18
|
break;
|
|
19
19
|
case "REPLY":
|
|
20
|
-
|
|
20
|
+
s || (h(e.author), p("composing"));
|
|
21
21
|
break;
|
|
22
22
|
case "EDIT":
|
|
23
|
-
|
|
23
|
+
l || _(e.id);
|
|
24
24
|
break;
|
|
25
25
|
case "CLEAR_EDIT":
|
|
26
|
-
|
|
26
|
+
_(null);
|
|
27
27
|
break;
|
|
28
28
|
case "COLLAPSE":
|
|
29
|
-
|
|
29
|
+
p("collapsed"), h(null), _(null);
|
|
30
30
|
break;
|
|
31
31
|
case "CLEAR_MENTION":
|
|
32
|
-
|
|
32
|
+
h(null);
|
|
33
33
|
break;
|
|
34
34
|
}
|
|
35
|
-
}, [
|
|
36
|
-
viewState:
|
|
37
|
-
replyMention:
|
|
38
|
-
editingMessageId:
|
|
39
|
-
isAnnotations:
|
|
40
|
-
isReplyDisabled:
|
|
41
|
-
isEditDisabled:
|
|
42
|
-
dispatch:
|
|
35
|
+
}, [s, l]), y = i(() => ({
|
|
36
|
+
viewState: f,
|
|
37
|
+
replyMention: m,
|
|
38
|
+
editingMessageId: g,
|
|
39
|
+
isAnnotations: d,
|
|
40
|
+
isReplyDisabled: s,
|
|
41
|
+
isEditDisabled: l,
|
|
42
|
+
dispatch: v
|
|
43
43
|
}), [
|
|
44
|
-
p,
|
|
45
|
-
h,
|
|
46
|
-
_,
|
|
47
44
|
f,
|
|
45
|
+
m,
|
|
46
|
+
g,
|
|
47
|
+
d,
|
|
48
|
+
s,
|
|
48
49
|
l,
|
|
49
|
-
|
|
50
|
-
y
|
|
50
|
+
v
|
|
51
51
|
]);
|
|
52
52
|
return /* @__PURE__ */ o(c.Provider, {
|
|
53
|
-
value:
|
|
53
|
+
value: y,
|
|
54
54
|
children: e
|
|
55
55
|
});
|
|
56
56
|
}, u = () => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@box/threaded-annotations",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.2",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@tanstack/react-virtual": "^3.10.8",
|
|
@@ -16,23 +16,23 @@
|
|
|
16
16
|
"uuid": "^9.0.1"
|
|
17
17
|
},
|
|
18
18
|
"peerDependencies": {
|
|
19
|
-
"@box/blueprint-web": "^16.
|
|
20
|
-
"@box/blueprint-web-assets": "^5.
|
|
21
|
-
"@box/collaboration-popover": "^2.
|
|
22
|
-
"@box/readable-time": "^2.
|
|
23
|
-
"@box/user-selector": "^2.
|
|
19
|
+
"@box/blueprint-web": "^16.1.1",
|
|
20
|
+
"@box/blueprint-web-assets": "^5.1.1",
|
|
21
|
+
"@box/collaboration-popover": "^2.1.1",
|
|
22
|
+
"@box/readable-time": "^2.1.1",
|
|
23
|
+
"@box/user-selector": "^2.1.2",
|
|
24
24
|
"clsx": "^1.2.1",
|
|
25
25
|
"react": "^18.0.0",
|
|
26
26
|
"react-dom": "^18.0.0",
|
|
27
27
|
"react-intl": "^6.4.2"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@box/blueprint-web": "^16.
|
|
31
|
-
"@box/blueprint-web-assets": "^5.
|
|
32
|
-
"@box/eslint-plugin-blueprint": "2.
|
|
33
|
-
"@box/readable-time": "^2.
|
|
34
|
-
"@box/storybook-utils": "^1.
|
|
35
|
-
"@box/user-selector": "^2.
|
|
30
|
+
"@box/blueprint-web": "^16.1.1",
|
|
31
|
+
"@box/blueprint-web-assets": "^5.1.1",
|
|
32
|
+
"@box/eslint-plugin-blueprint": "2.1.1",
|
|
33
|
+
"@box/readable-time": "^2.1.1",
|
|
34
|
+
"@box/storybook-utils": "^1.1.1",
|
|
35
|
+
"@box/user-selector": "^2.1.2",
|
|
36
36
|
"react": "^18.0.0",
|
|
37
37
|
"react-dom": "^18.0.0"
|
|
38
38
|
},
|