stream-chat-react 13.6.6 → 13.7.0
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/components/ChannelPreview/utils.js +3 -1
- package/dist/components/Chat/hooks/useChat.js +1 -1
- package/dist/components/Message/renderText/remarkPlugins/imageToLink.d.ts +12 -0
- package/dist/components/Message/renderText/remarkPlugins/imageToLink.js +27 -0
- package/dist/components/Message/renderText/remarkPlugins/index.d.ts +2 -0
- package/dist/components/Message/renderText/remarkPlugins/index.js +2 -0
- package/dist/components/Message/renderText/remarkPlugins/plusPlusToEmphasis.d.ts +6 -0
- package/dist/components/Message/renderText/remarkPlugins/plusPlusToEmphasis.js +64 -0
- package/dist/components/Message/renderText/renderText.js +4 -1
- package/dist/experimental/index.browser.cjs +105 -44
- package/dist/experimental/index.browser.cjs.map +4 -4
- package/dist/experimental/index.node.cjs +105 -44
- package/dist/experimental/index.node.cjs.map +4 -4
- package/dist/index.browser.cjs +157 -91
- package/dist/index.browser.cjs.map +4 -4
- package/dist/index.node.cjs +159 -91
- package/dist/index.node.cjs.map +4 -4
- package/package.json +1 -1
|
@@ -5489,7 +5489,7 @@ function resolveAllAttention(events, context) {
|
|
|
5489
5489
|
let index2 = -1;
|
|
5490
5490
|
let open;
|
|
5491
5491
|
let group;
|
|
5492
|
-
let
|
|
5492
|
+
let text8;
|
|
5493
5493
|
let openingSequence;
|
|
5494
5494
|
let closingSequence;
|
|
5495
5495
|
let use;
|
|
@@ -5527,7 +5527,7 @@ function resolveAllAttention(events, context) {
|
|
|
5527
5527
|
},
|
|
5528
5528
|
end
|
|
5529
5529
|
};
|
|
5530
|
-
|
|
5530
|
+
text8 = {
|
|
5531
5531
|
type: use > 1 ? "strongText" : "emphasisText",
|
|
5532
5532
|
start: {
|
|
5533
5533
|
...events[open][1].end
|
|
@@ -5555,9 +5555,9 @@ function resolveAllAttention(events, context) {
|
|
|
5555
5555
|
if (events[open][1].end.offset - events[open][1].start.offset) {
|
|
5556
5556
|
nextEvents = push(nextEvents, [["enter", events[open][1], context], ["exit", events[open][1], context]]);
|
|
5557
5557
|
}
|
|
5558
|
-
nextEvents = push(nextEvents, [["enter", group, context], ["enter", openingSequence, context], ["exit", openingSequence, context], ["enter",
|
|
5558
|
+
nextEvents = push(nextEvents, [["enter", group, context], ["enter", openingSequence, context], ["exit", openingSequence, context], ["enter", text8, context]]);
|
|
5559
5559
|
nextEvents = push(nextEvents, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + 1, index2), context));
|
|
5560
|
-
nextEvents = push(nextEvents, [["exit",
|
|
5560
|
+
nextEvents = push(nextEvents, [["exit", text8, context], ["enter", closingSequence, context], ["exit", closingSequence, context], ["exit", group, context]]);
|
|
5561
5561
|
if (events[index2][1].end.offset - events[index2][1].start.offset) {
|
|
5562
5562
|
offset = 2;
|
|
5563
5563
|
nextEvents = push(nextEvents, [["enter", events[index2][1], context], ["exit", events[index2][1], context]]);
|
|
@@ -6999,7 +6999,7 @@ function resolveHeadingAtx(events, context) {
|
|
|
6999
6999
|
let contentEnd = events.length - 2;
|
|
7000
7000
|
let contentStart = 3;
|
|
7001
7001
|
let content3;
|
|
7002
|
-
let
|
|
7002
|
+
let text8;
|
|
7003
7003
|
if (events[contentStart][1].type === "whitespace") {
|
|
7004
7004
|
contentStart += 2;
|
|
7005
7005
|
}
|
|
@@ -7015,13 +7015,13 @@ function resolveHeadingAtx(events, context) {
|
|
|
7015
7015
|
start: events[contentStart][1].start,
|
|
7016
7016
|
end: events[contentEnd][1].end
|
|
7017
7017
|
};
|
|
7018
|
-
|
|
7018
|
+
text8 = {
|
|
7019
7019
|
type: "chunkText",
|
|
7020
7020
|
start: events[contentStart][1].start,
|
|
7021
7021
|
end: events[contentEnd][1].end,
|
|
7022
7022
|
contentType: "text"
|
|
7023
7023
|
};
|
|
7024
|
-
splice(events, contentStart, contentEnd - contentStart + 1, [["enter", content3, context], ["enter",
|
|
7024
|
+
splice(events, contentStart, contentEnd - contentStart + 1, [["enter", content3, context], ["enter", text8, context], ["exit", text8, context], ["exit", content3, context]]);
|
|
7025
7025
|
}
|
|
7026
7026
|
return events;
|
|
7027
7027
|
}
|
|
@@ -7911,7 +7911,7 @@ function resolveToLabelEnd(events, context) {
|
|
|
7911
7911
|
...events[close][1].end
|
|
7912
7912
|
}
|
|
7913
7913
|
};
|
|
7914
|
-
const
|
|
7914
|
+
const text8 = {
|
|
7915
7915
|
type: "labelText",
|
|
7916
7916
|
start: {
|
|
7917
7917
|
...events[open + offset + 2][1].end
|
|
@@ -7922,9 +7922,9 @@ function resolveToLabelEnd(events, context) {
|
|
|
7922
7922
|
};
|
|
7923
7923
|
media = [["enter", group, context], ["enter", label, context]];
|
|
7924
7924
|
media = push(media, events.slice(open + 1, open + offset + 3));
|
|
7925
|
-
media = push(media, [["enter",
|
|
7925
|
+
media = push(media, [["enter", text8, context]]);
|
|
7926
7926
|
media = push(media, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + offset + 4, close - 3), context));
|
|
7927
|
-
media = push(media, [["exit",
|
|
7927
|
+
media = push(media, [["exit", text8, context], events[close - 2], events[close - 1], ["exit", label, context]]);
|
|
7928
7928
|
media = push(media, events.slice(close + 1));
|
|
7929
7929
|
media = push(media, [["exit", group, context]]);
|
|
7930
7930
|
splice(events, open, events.length, media);
|
|
@@ -8304,7 +8304,7 @@ var setextUnderline = {
|
|
|
8304
8304
|
function resolveToSetextUnderline(events, context) {
|
|
8305
8305
|
let index2 = events.length;
|
|
8306
8306
|
let content3;
|
|
8307
|
-
let
|
|
8307
|
+
let text8;
|
|
8308
8308
|
let definition3;
|
|
8309
8309
|
while (index2--) {
|
|
8310
8310
|
if (events[index2][0] === "enter") {
|
|
@@ -8313,7 +8313,7 @@ function resolveToSetextUnderline(events, context) {
|
|
|
8313
8313
|
break;
|
|
8314
8314
|
}
|
|
8315
8315
|
if (events[index2][1].type === "paragraph") {
|
|
8316
|
-
|
|
8316
|
+
text8 = index2;
|
|
8317
8317
|
}
|
|
8318
8318
|
} else {
|
|
8319
8319
|
if (events[index2][1].type === "content") {
|
|
@@ -8327,15 +8327,15 @@ function resolveToSetextUnderline(events, context) {
|
|
|
8327
8327
|
const heading3 = {
|
|
8328
8328
|
type: "setextHeading",
|
|
8329
8329
|
start: {
|
|
8330
|
-
...events[
|
|
8330
|
+
...events[text8][1].start
|
|
8331
8331
|
},
|
|
8332
8332
|
end: {
|
|
8333
8333
|
...events[events.length - 1][1].end
|
|
8334
8334
|
}
|
|
8335
8335
|
};
|
|
8336
|
-
events[
|
|
8336
|
+
events[text8][1].type = "setextHeadingText";
|
|
8337
8337
|
if (definition3) {
|
|
8338
|
-
events.splice(
|
|
8338
|
+
events.splice(text8, 0, ["enter", heading3, context]);
|
|
8339
8339
|
events.splice(definition3 + 1, 0, ["exit", events[content3][1], context]);
|
|
8340
8340
|
events[content3][1].end = {
|
|
8341
8341
|
...events[definition3][1].end
|
|
@@ -8439,10 +8439,10 @@ function initializeFactory(field) {
|
|
|
8439
8439
|
function initializeText(effects) {
|
|
8440
8440
|
const self2 = this;
|
|
8441
8441
|
const constructs2 = this.parser.constructs[field];
|
|
8442
|
-
const
|
|
8442
|
+
const text8 = effects.attempt(constructs2, start2, notText);
|
|
8443
8443
|
return start2;
|
|
8444
8444
|
function start2(code4) {
|
|
8445
|
-
return atBreak(code4) ?
|
|
8445
|
+
return atBreak(code4) ? text8(code4) : notText(code4);
|
|
8446
8446
|
}
|
|
8447
8447
|
function notText(code4) {
|
|
8448
8448
|
if (code4 === null) {
|
|
@@ -8456,7 +8456,7 @@ function initializeFactory(field) {
|
|
|
8456
8456
|
function data(code4) {
|
|
8457
8457
|
if (atBreak(code4)) {
|
|
8458
8458
|
effects.exit("data");
|
|
8459
|
-
return
|
|
8459
|
+
return text8(code4);
|
|
8460
8460
|
}
|
|
8461
8461
|
effects.consume(code4);
|
|
8462
8462
|
return data;
|
|
@@ -9475,7 +9475,7 @@ function compiler(options) {
|
|
|
9475
9475
|
const siblings = node2.children;
|
|
9476
9476
|
let tail = siblings[siblings.length - 1];
|
|
9477
9477
|
if (!tail || tail.type !== "text") {
|
|
9478
|
-
tail =
|
|
9478
|
+
tail = text8();
|
|
9479
9479
|
tail.position = {
|
|
9480
9480
|
start: point3(token.start),
|
|
9481
9481
|
// @ts-expect-error: we’ll add `end` later.
|
|
@@ -9720,7 +9720,7 @@ function compiler(options) {
|
|
|
9720
9720
|
children: []
|
|
9721
9721
|
};
|
|
9722
9722
|
}
|
|
9723
|
-
function
|
|
9723
|
+
function text8() {
|
|
9724
9724
|
return {
|
|
9725
9725
|
type: "text",
|
|
9726
9726
|
value: ""
|
|
@@ -10002,13 +10002,13 @@ function image(state, node2) {
|
|
|
10002
10002
|
|
|
10003
10003
|
// node_modules/mdast-util-to-hast/lib/handlers/inline-code.js
|
|
10004
10004
|
function inlineCode(state, node2) {
|
|
10005
|
-
const
|
|
10006
|
-
state.patch(node2,
|
|
10005
|
+
const text8 = { type: "text", value: node2.value.replace(/\r?\n|\r/g, " ") };
|
|
10006
|
+
state.patch(node2, text8);
|
|
10007
10007
|
const result = {
|
|
10008
10008
|
type: "element",
|
|
10009
10009
|
tagName: "code",
|
|
10010
10010
|
properties: {},
|
|
10011
|
-
children: [
|
|
10011
|
+
children: [text8]
|
|
10012
10012
|
};
|
|
10013
10013
|
state.patch(node2, result);
|
|
10014
10014
|
return state.applyData(node2, result);
|
|
@@ -12838,6 +12838,65 @@ var transform = (tree) => {
|
|
|
12838
12838
|
};
|
|
12839
12839
|
var htmlToTextPlugin = () => transform;
|
|
12840
12840
|
|
|
12841
|
+
// src/components/Message/renderText/remarkPlugins/imageToLink.ts
|
|
12842
|
+
var text5 = (value) => ({ type: "text", value });
|
|
12843
|
+
function imageToLink({ getTextLabelFrom = "url" } = {}) {
|
|
12844
|
+
return (tree) => {
|
|
12845
|
+
const visitor2 = (node2, index2, parent) => {
|
|
12846
|
+
if (parent == null || index2 == null) return;
|
|
12847
|
+
const label = node2[getTextLabelFrom] ?? node2.url;
|
|
12848
|
+
const link3 = {
|
|
12849
|
+
children: [text5(label)],
|
|
12850
|
+
title: node2.title ?? node2.alt ?? node2.url,
|
|
12851
|
+
type: "link",
|
|
12852
|
+
url: node2.url
|
|
12853
|
+
};
|
|
12854
|
+
parent.children.splice(index2, 1, link3);
|
|
12855
|
+
return [SKIP, index2 + 1];
|
|
12856
|
+
};
|
|
12857
|
+
visit(tree, "image", visitor2);
|
|
12858
|
+
};
|
|
12859
|
+
}
|
|
12860
|
+
|
|
12861
|
+
// src/components/Message/renderText/remarkPlugins/plusPlusToEmphasis.ts
|
|
12862
|
+
var INS_REGEX = /\+\+(\S(?:[\s\S]*?\S)?)\+\+/g;
|
|
12863
|
+
var IGNORE_NODE_TYPES = /* @__PURE__ */ new Set([
|
|
12864
|
+
"code",
|
|
12865
|
+
"inlineCode",
|
|
12866
|
+
"link",
|
|
12867
|
+
"linkReference",
|
|
12868
|
+
"definition",
|
|
12869
|
+
"math",
|
|
12870
|
+
"inlineMath"
|
|
12871
|
+
]);
|
|
12872
|
+
var plusPlusToEmphasis = () => {
|
|
12873
|
+
const visitor2 = (node2, index2, parent) => {
|
|
12874
|
+
if (IGNORE_NODE_TYPES.has(node2.type)) return SKIP;
|
|
12875
|
+
if (node2.type !== "text" || parent == null || typeof index2 !== "number") return;
|
|
12876
|
+
const value = node2.value;
|
|
12877
|
+
INS_REGEX.lastIndex = 0;
|
|
12878
|
+
let match;
|
|
12879
|
+
let last = 0;
|
|
12880
|
+
const out = [];
|
|
12881
|
+
while (match = INS_REGEX.exec(value)) {
|
|
12882
|
+
const [full, inner] = match;
|
|
12883
|
+
const start2 = match.index;
|
|
12884
|
+
if (start2 > last) out.push({ type: "text", value: value.slice(last, start2) });
|
|
12885
|
+
out.push({
|
|
12886
|
+
children: [{ type: "text", value: inner }],
|
|
12887
|
+
data: { hName: "ins" },
|
|
12888
|
+
type: "emphasis"
|
|
12889
|
+
});
|
|
12890
|
+
last = start2 + full.length;
|
|
12891
|
+
}
|
|
12892
|
+
if (out.length === 0) return;
|
|
12893
|
+
if (last < value.length) out.push({ type: "text", value: value.slice(last) });
|
|
12894
|
+
parent.children.splice(index2, 1, ...out);
|
|
12895
|
+
return [SKIP, index2 + out.length];
|
|
12896
|
+
};
|
|
12897
|
+
return (tree) => visit(tree, visitor2);
|
|
12898
|
+
};
|
|
12899
|
+
|
|
12841
12900
|
// node_modules/ccount/index.js
|
|
12842
12901
|
function ccount(value, character) {
|
|
12843
12902
|
const source = String(value);
|
|
@@ -14026,12 +14085,12 @@ function linkReference2(node2, _, state, info) {
|
|
|
14026
14085
|
let subexit = state.enter("label");
|
|
14027
14086
|
const tracker = state.createTracker(info);
|
|
14028
14087
|
let value = tracker.move("[");
|
|
14029
|
-
const
|
|
14088
|
+
const text8 = state.containerPhrasing(node2, {
|
|
14030
14089
|
before: value,
|
|
14031
14090
|
after: "]",
|
|
14032
14091
|
...tracker.current()
|
|
14033
14092
|
});
|
|
14034
|
-
value += tracker.move(
|
|
14093
|
+
value += tracker.move(text8 + "][");
|
|
14035
14094
|
subexit();
|
|
14036
14095
|
const stack = state.stack;
|
|
14037
14096
|
state.stack = [];
|
|
@@ -14044,7 +14103,7 @@ function linkReference2(node2, _, state, info) {
|
|
|
14044
14103
|
subexit();
|
|
14045
14104
|
state.stack = stack;
|
|
14046
14105
|
exit3();
|
|
14047
|
-
if (type === "full" || !
|
|
14106
|
+
if (type === "full" || !text8 || text8 !== reference) {
|
|
14048
14107
|
value += tracker.move(reference + "]");
|
|
14049
14108
|
} else if (type === "shortcut") {
|
|
14050
14109
|
value = value.slice(0, -1);
|
|
@@ -14289,7 +14348,7 @@ function strongPeek(_, _1, state) {
|
|
|
14289
14348
|
}
|
|
14290
14349
|
|
|
14291
14350
|
// node_modules/mdast-util-to-markdown/lib/handle/text.js
|
|
14292
|
-
function
|
|
14351
|
+
function text6(node2, _, state, info) {
|
|
14293
14352
|
return state.safe(node2.value, info);
|
|
14294
14353
|
}
|
|
14295
14354
|
|
|
@@ -14330,7 +14389,7 @@ var handle = {
|
|
|
14330
14389
|
paragraph: paragraph2,
|
|
14331
14390
|
root: root3,
|
|
14332
14391
|
strong: strong2,
|
|
14333
|
-
text:
|
|
14392
|
+
text: text6,
|
|
14334
14393
|
thematicBreak: thematicBreak3
|
|
14335
14394
|
};
|
|
14336
14395
|
|
|
@@ -14618,27 +14677,27 @@ var emailAutolink = {
|
|
|
14618
14677
|
tokenize: tokenizeEmailAutolink,
|
|
14619
14678
|
previous: previousEmail
|
|
14620
14679
|
};
|
|
14621
|
-
var
|
|
14680
|
+
var text7 = {};
|
|
14622
14681
|
function gfmAutolinkLiteral() {
|
|
14623
14682
|
return {
|
|
14624
|
-
text:
|
|
14683
|
+
text: text7
|
|
14625
14684
|
};
|
|
14626
14685
|
}
|
|
14627
14686
|
var code3 = 48;
|
|
14628
14687
|
while (code3 < 123) {
|
|
14629
|
-
|
|
14688
|
+
text7[code3] = emailAutolink;
|
|
14630
14689
|
code3++;
|
|
14631
14690
|
if (code3 === 58) code3 = 65;
|
|
14632
14691
|
else if (code3 === 91) code3 = 97;
|
|
14633
14692
|
}
|
|
14634
|
-
|
|
14635
|
-
|
|
14636
|
-
|
|
14637
|
-
|
|
14638
|
-
|
|
14639
|
-
|
|
14640
|
-
|
|
14641
|
-
|
|
14693
|
+
text7[43] = emailAutolink;
|
|
14694
|
+
text7[45] = emailAutolink;
|
|
14695
|
+
text7[46] = emailAutolink;
|
|
14696
|
+
text7[95] = emailAutolink;
|
|
14697
|
+
text7[72] = [emailAutolink, protocolAutolink];
|
|
14698
|
+
text7[104] = [emailAutolink, protocolAutolink];
|
|
14699
|
+
text7[87] = [emailAutolink, wwwAutolink];
|
|
14700
|
+
text7[119] = [emailAutolink, wwwAutolink];
|
|
14642
14701
|
function tokenizeEmailAutolink(effects, ok3, nok) {
|
|
14643
14702
|
const self2 = this;
|
|
14644
14703
|
let dot;
|
|
@@ -15237,17 +15296,17 @@ function gfmStrikethrough(options) {
|
|
|
15237
15296
|
start: Object.assign({}, events[open][1].start),
|
|
15238
15297
|
end: Object.assign({}, events[index2][1].end)
|
|
15239
15298
|
};
|
|
15240
|
-
const
|
|
15299
|
+
const text8 = {
|
|
15241
15300
|
type: "strikethroughText",
|
|
15242
15301
|
start: Object.assign({}, events[open][1].end),
|
|
15243
15302
|
end: Object.assign({}, events[index2][1].start)
|
|
15244
15303
|
};
|
|
15245
|
-
const nextEvents = [["enter", strikethrough2, context], ["enter", events[open][1], context], ["exit", events[open][1], context], ["enter",
|
|
15304
|
+
const nextEvents = [["enter", strikethrough2, context], ["enter", events[open][1], context], ["exit", events[open][1], context], ["enter", text8, context]];
|
|
15246
15305
|
const insideSpan2 = context.parser.constructs.insideSpan.null;
|
|
15247
15306
|
if (insideSpan2) {
|
|
15248
15307
|
splice(nextEvents, nextEvents.length, 0, resolveAll(insideSpan2, events.slice(open + 1, index2), context));
|
|
15249
15308
|
}
|
|
15250
|
-
splice(nextEvents, nextEvents.length, 0, [["exit",
|
|
15309
|
+
splice(nextEvents, nextEvents.length, 0, [["exit", text8, context], ["enter", events[index2][1], context], ["exit", events[index2][1], context], ["exit", strikethrough2, context]]);
|
|
15251
15310
|
splice(events, open - 1, index2 - open + 3, nextEvents);
|
|
15252
15311
|
index2 = open + nextEvents.length - 2;
|
|
15253
15312
|
break;
|
|
@@ -16288,9 +16347,11 @@ var InfiniteScrollPaginator = (props) => {
|
|
|
16288
16347
|
// src/components/ChannelPreview/utils.tsx
|
|
16289
16348
|
var remarkPlugins = [
|
|
16290
16349
|
htmlToTextPlugin,
|
|
16291
|
-
[remarkGfm, { singleTilde: false }]
|
|
16350
|
+
[remarkGfm, { singleTilde: false }],
|
|
16351
|
+
plusPlusToEmphasis,
|
|
16352
|
+
imageToLink
|
|
16292
16353
|
];
|
|
16293
|
-
var renderPreviewText = (
|
|
16354
|
+
var renderPreviewText = (text8) => /* @__PURE__ */ import_react32.default.createElement(Markdown, { remarkPlugins, skipHtml: true }, text8);
|
|
16294
16355
|
var getLatestPollVote = (latestVotesByOption) => {
|
|
16295
16356
|
let latestVote;
|
|
16296
16357
|
for (const optionVotes of Object.values(latestVotesByOption)) {
|