k2-im 0.1.38 → 0.1.39
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/browser.js +1 -1
- package/dist/chat-kit-pinia.d.ts +131 -81
- package/dist/chat-kit-pinia.js +1 -1
- package/dist/chat-kit-vue.d.ts +4 -2
- package/dist/chat-kit-vue.js +1 -1
- package/dist/chat-kit.d.ts +200 -142
- package/dist/chat-kit.js +1 -1
- package/dist/chunk-2EB5ZELD.js +1 -0
- package/dist/chunk-54HSPG2Z.js +2 -0
- package/dist/chunk-5KHSKIN3.js +2 -0
- package/dist/{chunk-GHFHAGJ7.js → chunk-A5WA7S7J.js} +1 -1
- package/dist/{chunk-HWA7NOXG.js → chunk-I7RLO6MT.js} +1 -1
- package/dist/{chunk-ZERTVCH2.js → chunk-SRMSBFOP.js} +1 -1
- package/dist/chunk-WISC6Q2S.js +2 -0
- package/dist/i18n.js +1 -1
- package/dist/index.d.ts +185 -142
- package/dist/index.js +1 -1
- package/dist/sdk.d.ts +27 -3
- package/dist/sdk.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-3ST5E6YS.js +0 -1
- package/dist/chunk-4I23ADH2.js +0 -2
- package/dist/chunk-ITOAFWZU.js +0 -2
- package/dist/chunk-LMP34HNC.js +0 -2
package/dist/chat-kit.d.ts
CHANGED
|
@@ -2434,6 +2434,11 @@ type ImEvent = {
|
|
|
2434
2434
|
| {
|
|
2435
2435
|
type: 'receiving:changed';
|
|
2436
2436
|
receiving: boolean;
|
|
2437
|
+
}
|
|
2438
|
+
/** 全局会话与离线消息同步;不包含当前会话的打开或历史分页。 */
|
|
2439
|
+
| {
|
|
2440
|
+
type: 'syncing:changed';
|
|
2441
|
+
syncing: boolean;
|
|
2437
2442
|
} | {
|
|
2438
2443
|
type: 'auth:invalid';
|
|
2439
2444
|
issue: ImAuthIssue;
|
|
@@ -2568,6 +2573,21 @@ interface ImTextSearchMatch {
|
|
|
2568
2573
|
method: 'direct' | 'pinyin';
|
|
2569
2574
|
ranges: readonly ImTextSearchRange[];
|
|
2570
2575
|
}
|
|
2576
|
+
/** 单次文本匹配选项。 */
|
|
2577
|
+
interface ImTextSearchMatchOptions {
|
|
2578
|
+
/** 是否允许中文拼音匹配;用户名、业务 ID 等非自然语言字段可显式关闭。 */
|
|
2579
|
+
pinyin?: boolean;
|
|
2580
|
+
}
|
|
2581
|
+
/**
|
|
2582
|
+
* 针对一个关键词预备的可复用文本 matcher。
|
|
2583
|
+
*
|
|
2584
|
+
* @remarks matcher 不持有账号或目录状态,可连续匹配联系人名称、消息正文等任意可见文本。
|
|
2585
|
+
*/
|
|
2586
|
+
interface ImTextSearchMatcher {
|
|
2587
|
+
/** 去除首尾空白并统一小写后的搜索关键词。 */
|
|
2588
|
+
readonly keyword: string;
|
|
2589
|
+
match: (text: string, options?: ImTextSearchMatchOptions) => ImTextSearchMatch | null;
|
|
2590
|
+
}
|
|
2571
2591
|
|
|
2572
2592
|
/**
|
|
2573
2593
|
* 内联富文本展示段(泛型 `Extra` = 宿主注入的应用段类型,默认 `never`):
|
|
@@ -4005,6 +4025,8 @@ interface ImLifecycleSnapshot {
|
|
|
4005
4025
|
authenticated: boolean;
|
|
4006
4026
|
/** 会话同步或前台内容读取仍在进行;不包含后台预取、媒体下载和写操作,也不代表同步成功。 */
|
|
4007
4027
|
receiving: boolean;
|
|
4028
|
+
/** 全局会话与离线消息同步仍在进行;前台会话读取由 receiving 和窗口 loading 表示。 */
|
|
4029
|
+
syncing: boolean;
|
|
4008
4030
|
}
|
|
4009
4031
|
/** logout 的本地数据与在途消息策略。 */
|
|
4010
4032
|
interface ImLogoutOptions {
|
|
@@ -5177,8 +5199,10 @@ interface ConversationHandle<TType extends ProductHandleConversationType = Produ
|
|
|
5177
5199
|
resolveMessage: (messageId: string) => Promise<ImMessageView | null>;
|
|
5178
5200
|
history: {
|
|
5179
5201
|
loadLatest: () => Promise<void>;
|
|
5180
|
-
/**
|
|
5181
|
-
loadEntryUnread: (
|
|
5202
|
+
/** 读取进入时冻结边界;signal 取消会停止查询且不替换窗口,可重新发起。不可定位返回 false,失败抛错。 */
|
|
5203
|
+
loadEntryUnread: (options?: {
|
|
5204
|
+
signal?: AbortSignal;
|
|
5205
|
+
}) => Promise<boolean>;
|
|
5182
5206
|
loadOlder: () => Promise<void>;
|
|
5183
5207
|
/** 历史定位窗口向更新方向连续翻页;接回最新端后 `hasNewer` 变为 false。 */
|
|
5184
5208
|
loadNewer: () => Promise<void>;
|
|
@@ -5650,6 +5674,10 @@ interface ImProductEventMap {
|
|
|
5650
5674
|
'receiving:changed': Readonly<{
|
|
5651
5675
|
receiving: boolean;
|
|
5652
5676
|
}>;
|
|
5677
|
+
/** 全局同步所有支路的汇总状态;不包含打开会话、历史分页或后台预取。 */
|
|
5678
|
+
'syncing:changed': Readonly<{
|
|
5679
|
+
syncing: boolean;
|
|
5680
|
+
}>;
|
|
5653
5681
|
/** `lastLoginTime` 为服务端记录的上次登录时间(毫秒),仅被踢且走登录 ACK 的路径才有值。 */
|
|
5654
5682
|
'auth:invalid': Readonly<{
|
|
5655
5683
|
code: string;
|
|
@@ -5966,7 +5994,18 @@ interface ProductMessageSearchResult<TContent extends MessageContentType = Messa
|
|
|
5966
5994
|
createdAt: number;
|
|
5967
5995
|
contentType: TContent;
|
|
5968
5996
|
preview: string;
|
|
5997
|
+
/** 展示用片段;正文/配文携带提及信息,文件名等业务字段保持普通文本。拼接后与 preview 相同。 */
|
|
5998
|
+
previewParts: readonly ProductMessageSearchPreviewPart[];
|
|
5969
5999
|
}
|
|
6000
|
+
/** 搜索摘要的最小内容投影;不携带完整消息、媒体资源或协议字段。 */
|
|
6001
|
+
type ProductMessageSearchPreviewPart = {
|
|
6002
|
+
kind: 'plain';
|
|
6003
|
+
text: string;
|
|
6004
|
+
} | {
|
|
6005
|
+
kind: 'rich-text';
|
|
6006
|
+
text: string;
|
|
6007
|
+
mention?: ImMessageMention;
|
|
6008
|
+
};
|
|
5970
6009
|
/** 产品消息搜索页;底层 `beforeSortKey` 仅存在于账号 runtime token registry。 */
|
|
5971
6010
|
interface ProductMessageSearchPage<TContent extends MessageContentType = MessageContentType> {
|
|
5972
6011
|
items: readonly ProductMessageSearchResult<TContent>[];
|
|
@@ -6944,6 +6983,163 @@ type MessageNotificationDecision = {
|
|
|
6944
6983
|
/** PC/H5 共用的实时消息提醒规则;离线历史回放不逐条弹通知。 */
|
|
6945
6984
|
declare function resolveMessageNotificationDecision(input: MessageNotificationInput): MessageNotificationDecision;
|
|
6946
6985
|
|
|
6986
|
+
/** Emoji 最近使用列表的固定上限,与 iOS `maxLatelyEmoji` 保持一致。 */
|
|
6987
|
+
declare const MAX_RECENT_EMOJI_COUNT = 14;
|
|
6988
|
+
/** 石头剪刀布入口的稳定身份;游戏结果不参与最近列表去重。 */
|
|
6989
|
+
declare const EMOJI_GAME_RPS_STABLE_KEY = "game:rps";
|
|
6990
|
+
/** 骰子入口的稳定身份;游戏结果不参与最近列表去重。 */
|
|
6991
|
+
declare const EMOJI_GAME_DICE_STABLE_KEY = "game:dice";
|
|
6992
|
+
/** 最近使用规则所需的最小表情合同。 */
|
|
6993
|
+
interface EmojiRecentItem {
|
|
6994
|
+
readonly stableKey: string;
|
|
6995
|
+
}
|
|
6996
|
+
/**
|
|
6997
|
+
* 将一次表情选择置顶,并返回最多 14 项的新列表。
|
|
6998
|
+
*
|
|
6999
|
+
* 相同 `stableKey` 只保留最新传入项,其余历史项按原顺序全量去重。函数不修改输入数组,也不负责
|
|
7000
|
+
* 持久化、账号隔离或网络上报;这些副作用由调用方在正确层级处理。
|
|
7001
|
+
*
|
|
7002
|
+
* @template TItem 具体表情 DTO,必须提供跨表情类型稳定且唯一的 `stableKey`。
|
|
7003
|
+
*/
|
|
7004
|
+
declare function prependRecentEmoji<TItem extends EmojiRecentItem>(recent: readonly TItem[], selected: TItem): readonly TItem[];
|
|
7005
|
+
|
|
7006
|
+
/** 面板可直接消费的一枚 Unicode 表情稳定 DTO。 */
|
|
7007
|
+
interface UnicodeEmojiEntry {
|
|
7008
|
+
/** 与其它表情类型不冲突的最近使用去重键。 */
|
|
7009
|
+
readonly stableKey: string;
|
|
7010
|
+
/** 从 iOS 文本预生成的 canonical code;多个 scalar 以单个空格分隔。 */
|
|
7011
|
+
readonly code: string;
|
|
7012
|
+
/** 已验证的 Unicode scalar sequence。 */
|
|
7013
|
+
readonly codePoints: readonly number[];
|
|
7014
|
+
/** 由 `codePoints` 生成的实际输入文本。 */
|
|
7015
|
+
readonly text: string;
|
|
7016
|
+
readonly kind: 'unicode';
|
|
7017
|
+
}
|
|
7018
|
+
/**
|
|
7019
|
+
* 把显式 code sequence 转成 Unicode scalar 数组。
|
|
7020
|
+
*
|
|
7021
|
+
* 本函数只解析由空格分隔的 `0x...` scalar,不用正则或字符外观猜测 grapheme。空段、代理项、
|
|
7022
|
+
* 越界值和非十六进制输入都会 fail-fast,避免坏目录在面板运行后才暴露。
|
|
7023
|
+
*/
|
|
7024
|
+
declare function parseUnicodeEmojiCode(code: string): readonly number[];
|
|
7025
|
+
/** 根据一个或多个显式 Unicode scalar 生成输入文本。 */
|
|
7026
|
+
declare function unicodeEmojiTextFromCode(code: string): string;
|
|
7027
|
+
/** iOS `emoji_string.json` 的 301 枚 Unicode 表情,只读且顺序稳定。 */
|
|
7028
|
+
declare const UNICODE_EMOJI_CATALOG: readonly UnicodeEmojiEntry[];
|
|
7029
|
+
/**
|
|
7030
|
+
* 按 canonical code 或实际 Unicode 文本解析目录项。
|
|
7031
|
+
*
|
|
7032
|
+
* 合法但不在目录中的 code/text 返回 `undefined`;以 `0x` 开头但格式非法的 code 会 fail-fast。
|
|
7033
|
+
* 文本仅做精确查表,并显式兼容末尾 U+FE0F,不扫描或推测 grapheme 边界。
|
|
7034
|
+
*/
|
|
7035
|
+
declare function resolveUnicodeEmoji(codeOrText: string): UnicodeEmojiEntry | undefined;
|
|
7036
|
+
|
|
7037
|
+
/**
|
|
7038
|
+
* IM 文本表情目录和识别工具。
|
|
7039
|
+
*
|
|
7040
|
+
* 输入框与消息正文使用 `[Anger]`、`[愤怒]`、`[666]` 这类 token 表示自定义表情。本文件读取同目录
|
|
7041
|
+
* `emoji-catalog.json`;该 JSON 是标准纯数据文件,格式不允许注释,每项字段含义统一记录在
|
|
7042
|
+
* `EmojiEntry`。当前目录来自 Android 同一套 110 枚图片,以保证跨端 token 和资源一致。
|
|
7043
|
+
*
|
|
7044
|
+
* 发送时保留原 token 文本,其他端或图片缺失时仍可显示;渲染时 matcher 只把目录中存在的 token
|
|
7045
|
+
* 转成图片段。未知 `[xxx]`、`@` 使用的方括号内容和不完整 token 保持普通文本。本文件不创建组件,
|
|
7046
|
+
* 表情面板与消息渲染器通过 `emojiAssetUrl` / `emojiUrlByCode` 取得图片地址。
|
|
7047
|
+
*/
|
|
7048
|
+
|
|
7049
|
+
/**
|
|
7050
|
+
* `emoji-catalog.json` 中的一枚表情。
|
|
7051
|
+
*
|
|
7052
|
+
* `code` 是跨端稳定标识;`tokens` 是正文中可识别的英文名和中文别名,均包含方括号且大小写敏感;
|
|
7053
|
+
* `file` 是静态图片文件名。
|
|
7054
|
+
*/
|
|
7055
|
+
type EmojiEntry = ImEmojiCatalogEntry;
|
|
7056
|
+
/** 可发送的完整表情目录,当前共 110 枚。 */
|
|
7057
|
+
declare const EMOJI_CATALOG: readonly ImEmojiCatalogEntry[];
|
|
7058
|
+
/**
|
|
7059
|
+
* PC Web 发送面板使用的当前版表情目录。
|
|
7060
|
+
*
|
|
7061
|
+
* H5 或 CDN 路径不同时,在 `emojiAssetUrl` / `emojiUrlByCode` 传入自己的 base,无需修改目录数据。
|
|
7062
|
+
* PC 消息回显会在当前版资源加载失败时显式尝试 `/images/emoji/v2`,因此旧目录不能复用这个默认值。
|
|
7063
|
+
*/
|
|
7064
|
+
declare const DEFAULT_EMOJI_ASSET_BASE = "/images/emoji/v1";
|
|
7065
|
+
/**
|
|
7066
|
+
* 按完整且大小写敏感的 token 查找表情,例如 `[愤怒]`。
|
|
7067
|
+
*
|
|
7068
|
+
* 未命中返回 `undefined`,消息渲染器继续把原 token 当普通文本显示。
|
|
7069
|
+
*/
|
|
7070
|
+
declare function resolveEmojiToken(token: string): EmojiEntry | undefined;
|
|
7071
|
+
/** 生成表情图片 URL;未传 base 时使用 PC Web 默认目录。 */
|
|
7072
|
+
declare function emojiAssetUrl(entry: EmojiEntry, base?: string): string;
|
|
7073
|
+
/**
|
|
7074
|
+
* 扫描正文中 1 到 20 个字符的 `[xxx]` 候选。
|
|
7075
|
+
*
|
|
7076
|
+
* 正则命中只表示“可能是表情”,必须再经 `resolveEmojiToken` 查目录;未命中的候选仍是普通文本。
|
|
7077
|
+
*/
|
|
7078
|
+
declare const EMOJI_TOKEN_RE: RegExp;
|
|
7079
|
+
/** 按稳定 code 取得图片 URL;未知 code 返回 `undefined`。 */
|
|
7080
|
+
declare function emojiUrlByCode(code: string, base?: string): string | undefined;
|
|
7081
|
+
/** 快速判断正文是否可能包含 `[表情名]` 候选。 */
|
|
7082
|
+
declare function hasEmojiCandidate(text: string): boolean;
|
|
7083
|
+
/** 当前目录中存在图片资源的表情片段。 */
|
|
7084
|
+
interface EmojiAssetSegment {
|
|
7085
|
+
kind: 'emoji';
|
|
7086
|
+
text: string;
|
|
7087
|
+
code: string;
|
|
7088
|
+
}
|
|
7089
|
+
/** 历史目录中存在、但当前版本没有图片映射的 token;宿主用默认表情占位呈现。 */
|
|
7090
|
+
interface LegacyEmojiPlaceholderSegment {
|
|
7091
|
+
kind: 'legacy-emoji-placeholder';
|
|
7092
|
+
text: string;
|
|
7093
|
+
}
|
|
7094
|
+
/**
|
|
7095
|
+
* 消息渲染器使用的表情片段。
|
|
7096
|
+
*
|
|
7097
|
+
* 当前表情保留稳定 `code` 以解析图片;历史表情只保留原 token 和占位语义。图片加载、候选切换与
|
|
7098
|
+
* 最终占位图标仍由宿主管理。
|
|
7099
|
+
*/
|
|
7100
|
+
type EmojiSegment = EmojiAssetSegment | LegacyEmojiPlaceholderSegment;
|
|
7101
|
+
/** 仅由已知 `[表情]` token 组成的文本消息展示信息。 */
|
|
7102
|
+
interface StandaloneEmojiMessage {
|
|
7103
|
+
/** 按正文顺序排列的 current/legacy 表情段。 */
|
|
7104
|
+
segments: readonly EmojiSegment[];
|
|
7105
|
+
/** 表情数量;宿主据此选择 1/2/3/4+ 的展示尺寸。 */
|
|
7106
|
+
count: number;
|
|
7107
|
+
}
|
|
7108
|
+
/**
|
|
7109
|
+
* 创建消息文本表情分段器。
|
|
7110
|
+
*
|
|
7111
|
+
* 当前目录优先于历史目录:当前 token 产出带 `code` 的图片片段,old-only token 产出无资源 URL 的
|
|
7112
|
+
* 占位片段。普通 `[123]`、`@` 的用户 ID、不完整 token 和两个目录都未知的内容继续显示为普通文本。
|
|
7113
|
+
*/
|
|
7114
|
+
declare function createEmojiMatcher(): SegmentMatcher<EmojiSegment>;
|
|
7115
|
+
/**
|
|
7116
|
+
* 判断一条文本消息是否完全由已知 `[表情]` token 组成。
|
|
7117
|
+
*
|
|
7118
|
+
* token 之间出现空格、换行、普通文本或未知 `[xxx]` 时返回 `null`,让宿主继续使用普通文本气泡。
|
|
7119
|
+
* 携带 mention metadata 的消息也返回 `null`,因为协议 mention 的解释优先于同形 token(例如 `[666]`)。
|
|
7120
|
+
* 本函数只提供无 UI 的分段和数量,不决定气泡颜色、尺寸或 DOM。
|
|
7121
|
+
*/
|
|
7122
|
+
declare function resolveStandaloneEmojiMessage(message: Pick<ImMessageView, 'body' | 'contentType' | 'encryption' | 'mention'>): StandaloneEmojiMessage | null;
|
|
7123
|
+
|
|
7124
|
+
/** 搜索摘要段保留表情与提及类型;hit 只控制宿主高亮,不产生点击行为。 */
|
|
7125
|
+
type MessageSearchPreviewSegment = TextSegment<EmojiSegment> & {
|
|
7126
|
+
hit: boolean;
|
|
7127
|
+
};
|
|
7128
|
+
/** 搜索预览与正文共用名称解析和接收端语言;matcher 使用最终显示文本计算命中位置。 */
|
|
7129
|
+
interface MessageSearchPreviewOptions {
|
|
7130
|
+
locale: ImLocale;
|
|
7131
|
+
resolveName: (userId: string, fallbackName?: string) => string;
|
|
7132
|
+
matcher: ImTextSearchMatcher | null;
|
|
7133
|
+
/** 没有可搜索正文时,由宿主提供本地化消息类型标签。 */
|
|
7134
|
+
emptyText: string;
|
|
7135
|
+
}
|
|
7136
|
+
/**
|
|
7137
|
+
* PC/H5 搜索摘要复用正文的提及解析与表情目录。先解析再匹配整个显示文本,保证 @ 名称长度变化、
|
|
7138
|
+
* 跨片段关键词和拼音高亮的坐标正确;表情命中时整枚高亮,不把 token 切碎而丢失图片。
|
|
7139
|
+
* 链接保留可读文字,整行仍只执行定位原消息,避免在结果按钮内嵌套链接和提及按钮。
|
|
7140
|
+
*/
|
|
7141
|
+
declare function resolveMessageSearchPreview(result: ProductMessageSearchResult, options: MessageSearchPreviewOptions): readonly MessageSearchPreviewSegment[];
|
|
7142
|
+
|
|
6947
7143
|
/**
|
|
6948
7144
|
* 小程序游戏预览卡(消息 22 且 `showType=game-preview`)的呈现判定。
|
|
6949
7145
|
*
|
|
@@ -8890,144 +9086,6 @@ type ImQuotedMessagePresentation = 'hidden'
|
|
|
8890
9086
|
*/
|
|
8891
9087
|
declare function resolveQuotedMessagePresentation(original: ImMessageView): ImQuotedMessagePresentation;
|
|
8892
9088
|
|
|
8893
|
-
/** Emoji 最近使用列表的固定上限,与 iOS `maxLatelyEmoji` 保持一致。 */
|
|
8894
|
-
declare const MAX_RECENT_EMOJI_COUNT = 14;
|
|
8895
|
-
/** 石头剪刀布入口的稳定身份;游戏结果不参与最近列表去重。 */
|
|
8896
|
-
declare const EMOJI_GAME_RPS_STABLE_KEY = "game:rps";
|
|
8897
|
-
/** 骰子入口的稳定身份;游戏结果不参与最近列表去重。 */
|
|
8898
|
-
declare const EMOJI_GAME_DICE_STABLE_KEY = "game:dice";
|
|
8899
|
-
/** 最近使用规则所需的最小表情合同。 */
|
|
8900
|
-
interface EmojiRecentItem {
|
|
8901
|
-
readonly stableKey: string;
|
|
8902
|
-
}
|
|
8903
|
-
/**
|
|
8904
|
-
* 将一次表情选择置顶,并返回最多 14 项的新列表。
|
|
8905
|
-
*
|
|
8906
|
-
* 相同 `stableKey` 只保留最新传入项,其余历史项按原顺序全量去重。函数不修改输入数组,也不负责
|
|
8907
|
-
* 持久化、账号隔离或网络上报;这些副作用由调用方在正确层级处理。
|
|
8908
|
-
*
|
|
8909
|
-
* @template TItem 具体表情 DTO,必须提供跨表情类型稳定且唯一的 `stableKey`。
|
|
8910
|
-
*/
|
|
8911
|
-
declare function prependRecentEmoji<TItem extends EmojiRecentItem>(recent: readonly TItem[], selected: TItem): readonly TItem[];
|
|
8912
|
-
|
|
8913
|
-
/** 面板可直接消费的一枚 Unicode 表情稳定 DTO。 */
|
|
8914
|
-
interface UnicodeEmojiEntry {
|
|
8915
|
-
/** 与其它表情类型不冲突的最近使用去重键。 */
|
|
8916
|
-
readonly stableKey: string;
|
|
8917
|
-
/** 从 iOS 文本预生成的 canonical code;多个 scalar 以单个空格分隔。 */
|
|
8918
|
-
readonly code: string;
|
|
8919
|
-
/** 已验证的 Unicode scalar sequence。 */
|
|
8920
|
-
readonly codePoints: readonly number[];
|
|
8921
|
-
/** 由 `codePoints` 生成的实际输入文本。 */
|
|
8922
|
-
readonly text: string;
|
|
8923
|
-
readonly kind: 'unicode';
|
|
8924
|
-
}
|
|
8925
|
-
/**
|
|
8926
|
-
* 把显式 code sequence 转成 Unicode scalar 数组。
|
|
8927
|
-
*
|
|
8928
|
-
* 本函数只解析由空格分隔的 `0x...` scalar,不用正则或字符外观猜测 grapheme。空段、代理项、
|
|
8929
|
-
* 越界值和非十六进制输入都会 fail-fast,避免坏目录在面板运行后才暴露。
|
|
8930
|
-
*/
|
|
8931
|
-
declare function parseUnicodeEmojiCode(code: string): readonly number[];
|
|
8932
|
-
/** 根据一个或多个显式 Unicode scalar 生成输入文本。 */
|
|
8933
|
-
declare function unicodeEmojiTextFromCode(code: string): string;
|
|
8934
|
-
/** iOS `emoji_string.json` 的 301 枚 Unicode 表情,只读且顺序稳定。 */
|
|
8935
|
-
declare const UNICODE_EMOJI_CATALOG: readonly UnicodeEmojiEntry[];
|
|
8936
|
-
/**
|
|
8937
|
-
* 按 canonical code 或实际 Unicode 文本解析目录项。
|
|
8938
|
-
*
|
|
8939
|
-
* 合法但不在目录中的 code/text 返回 `undefined`;以 `0x` 开头但格式非法的 code 会 fail-fast。
|
|
8940
|
-
* 文本仅做精确查表,并显式兼容末尾 U+FE0F,不扫描或推测 grapheme 边界。
|
|
8941
|
-
*/
|
|
8942
|
-
declare function resolveUnicodeEmoji(codeOrText: string): UnicodeEmojiEntry | undefined;
|
|
8943
|
-
|
|
8944
|
-
/**
|
|
8945
|
-
* IM 文本表情目录和识别工具。
|
|
8946
|
-
*
|
|
8947
|
-
* 输入框与消息正文使用 `[Anger]`、`[愤怒]`、`[666]` 这类 token 表示自定义表情。本文件读取同目录
|
|
8948
|
-
* `emoji-catalog.json`;该 JSON 是标准纯数据文件,格式不允许注释,每项字段含义统一记录在
|
|
8949
|
-
* `EmojiEntry`。当前目录来自 Android 同一套 110 枚图片,以保证跨端 token 和资源一致。
|
|
8950
|
-
*
|
|
8951
|
-
* 发送时保留原 token 文本,其他端或图片缺失时仍可显示;渲染时 matcher 只把目录中存在的 token
|
|
8952
|
-
* 转成图片段。未知 `[xxx]`、`@` 使用的方括号内容和不完整 token 保持普通文本。本文件不创建组件,
|
|
8953
|
-
* 表情面板与消息渲染器通过 `emojiAssetUrl` / `emojiUrlByCode` 取得图片地址。
|
|
8954
|
-
*/
|
|
8955
|
-
|
|
8956
|
-
/**
|
|
8957
|
-
* `emoji-catalog.json` 中的一枚表情。
|
|
8958
|
-
*
|
|
8959
|
-
* `code` 是跨端稳定标识;`tokens` 是正文中可识别的英文名和中文别名,均包含方括号且大小写敏感;
|
|
8960
|
-
* `file` 是静态图片文件名。
|
|
8961
|
-
*/
|
|
8962
|
-
type EmojiEntry = ImEmojiCatalogEntry;
|
|
8963
|
-
/** 可发送的完整表情目录,当前共 110 枚。 */
|
|
8964
|
-
declare const EMOJI_CATALOG: readonly ImEmojiCatalogEntry[];
|
|
8965
|
-
/**
|
|
8966
|
-
* PC Web 发送面板使用的当前版表情目录。
|
|
8967
|
-
*
|
|
8968
|
-
* H5 或 CDN 路径不同时,在 `emojiAssetUrl` / `emojiUrlByCode` 传入自己的 base,无需修改目录数据。
|
|
8969
|
-
* PC 消息回显会在当前版资源加载失败时显式尝试 `/images/emoji/v2`,因此旧目录不能复用这个默认值。
|
|
8970
|
-
*/
|
|
8971
|
-
declare const DEFAULT_EMOJI_ASSET_BASE = "/images/emoji/v1";
|
|
8972
|
-
/**
|
|
8973
|
-
* 按完整且大小写敏感的 token 查找表情,例如 `[愤怒]`。
|
|
8974
|
-
*
|
|
8975
|
-
* 未命中返回 `undefined`,消息渲染器继续把原 token 当普通文本显示。
|
|
8976
|
-
*/
|
|
8977
|
-
declare function resolveEmojiToken(token: string): EmojiEntry | undefined;
|
|
8978
|
-
/** 生成表情图片 URL;未传 base 时使用 PC Web 默认目录。 */
|
|
8979
|
-
declare function emojiAssetUrl(entry: EmojiEntry, base?: string): string;
|
|
8980
|
-
/**
|
|
8981
|
-
* 扫描正文中 1 到 20 个字符的 `[xxx]` 候选。
|
|
8982
|
-
*
|
|
8983
|
-
* 正则命中只表示“可能是表情”,必须再经 `resolveEmojiToken` 查目录;未命中的候选仍是普通文本。
|
|
8984
|
-
*/
|
|
8985
|
-
declare const EMOJI_TOKEN_RE: RegExp;
|
|
8986
|
-
/** 按稳定 code 取得图片 URL;未知 code 返回 `undefined`。 */
|
|
8987
|
-
declare function emojiUrlByCode(code: string, base?: string): string | undefined;
|
|
8988
|
-
/** 快速判断正文是否可能包含 `[表情名]` 候选。 */
|
|
8989
|
-
declare function hasEmojiCandidate(text: string): boolean;
|
|
8990
|
-
/** 当前目录中存在图片资源的表情片段。 */
|
|
8991
|
-
interface EmojiAssetSegment {
|
|
8992
|
-
kind: 'emoji';
|
|
8993
|
-
text: string;
|
|
8994
|
-
code: string;
|
|
8995
|
-
}
|
|
8996
|
-
/** 历史目录中存在、但当前版本没有图片映射的 token;宿主用默认表情占位呈现。 */
|
|
8997
|
-
interface LegacyEmojiPlaceholderSegment {
|
|
8998
|
-
kind: 'legacy-emoji-placeholder';
|
|
8999
|
-
text: string;
|
|
9000
|
-
}
|
|
9001
|
-
/**
|
|
9002
|
-
* 消息渲染器使用的表情片段。
|
|
9003
|
-
*
|
|
9004
|
-
* 当前表情保留稳定 `code` 以解析图片;历史表情只保留原 token 和占位语义。图片加载、候选切换与
|
|
9005
|
-
* 最终占位图标仍由宿主管理。
|
|
9006
|
-
*/
|
|
9007
|
-
type EmojiSegment = EmojiAssetSegment | LegacyEmojiPlaceholderSegment;
|
|
9008
|
-
/** 仅由已知 `[表情]` token 组成的文本消息展示信息。 */
|
|
9009
|
-
interface StandaloneEmojiMessage {
|
|
9010
|
-
/** 按正文顺序排列的 current/legacy 表情段。 */
|
|
9011
|
-
segments: readonly EmojiSegment[];
|
|
9012
|
-
/** 表情数量;宿主据此选择 1/2/3/4+ 的展示尺寸。 */
|
|
9013
|
-
count: number;
|
|
9014
|
-
}
|
|
9015
|
-
/**
|
|
9016
|
-
* 创建消息文本表情分段器。
|
|
9017
|
-
*
|
|
9018
|
-
* 当前目录优先于历史目录:当前 token 产出带 `code` 的图片片段,old-only token 产出无资源 URL 的
|
|
9019
|
-
* 占位片段。普通 `[123]`、`@` 的用户 ID、不完整 token 和两个目录都未知的内容继续显示为普通文本。
|
|
9020
|
-
*/
|
|
9021
|
-
declare function createEmojiMatcher(): SegmentMatcher<EmojiSegment>;
|
|
9022
|
-
/**
|
|
9023
|
-
* 判断一条文本消息是否完全由已知 `[表情]` token 组成。
|
|
9024
|
-
*
|
|
9025
|
-
* token 之间出现空格、换行、普通文本或未知 `[xxx]` 时返回 `null`,让宿主继续使用普通文本气泡。
|
|
9026
|
-
* 携带 mention metadata 的消息也返回 `null`,因为协议 mention 的解释优先于同形 token(例如 `[666]`)。
|
|
9027
|
-
* 本函数只提供无 UI 的分段和数量,不决定气泡颜色、尺寸或 DOM。
|
|
9028
|
-
*/
|
|
9029
|
-
declare function resolveStandaloneEmojiMessage(message: Pick<ImMessageView, 'body' | 'contentType' | 'encryption' | 'mention'>): StandaloneEmojiMessage | null;
|
|
9030
|
-
|
|
9031
9089
|
/**
|
|
9032
9090
|
* 把一段文本按搜索命中位置切成普通片段和高亮片段。
|
|
9033
9091
|
*
|
|
@@ -9368,5 +9426,5 @@ declare function resampleWaveform(data: readonly number[], targetCount: number):
|
|
|
9368
9426
|
*/
|
|
9369
9427
|
declare function placeholderWaveform(seed: string, count: number): number[];
|
|
9370
9428
|
|
|
9371
|
-
export { DEFAULT_EMOJI_ASSET_BASE, DEFAULT_LOADING_MINIMUM_VISIBLE_MS, DEFAULT_LOADING_SHOW_DELAY_MS, EMOJI_CATALOG, EMOJI_GAME_DICE_STABLE_KEY, EMOJI_GAME_RPS_STABLE_KEY, EMOJI_TOKEN_RE, MAX_BATCH_FILES, MAX_RECENT_EMOJI_COUNT, MINI_PROGRAM_GAME_PREVIEW_FALLBACK_HEIGHT, MINI_PROGRAM_GAME_PREVIEW_FALLBACK_WIDTH, MINI_PROGRAM_LANG_NUMBERS, SPIKE_STEP, UNICODE_EMOJI_CATALOG, blockReasonForChannelSession, blockReasonForChannelState, blockReasonForGroupState, blockReasonForSession, calculateMediaBox, canCopyMessageImage, canEditMessage, canPinChannelMessage, canPinGroupMessage, canPinMessage, canPromoteMediaPresentationSource, canRecallMessage, canTransmit, canTransmitByType, canTransmitContent, cancelMediaUpload, captureRuntimeClientOperation, captureRuntimeOperation, channelMiniProgramRelKey, classifyGifFile, classifyMediaFile, countUnreadConversations, createChatRuntime, createConversationPrefetchController, createDelayedLoadingIndicator, createEmojiMatcher, createLinkMatcher, createMessageImageCopySource, createNewMessageBadgeController, createThreadItems, csvIncludes, decideChannelMiniProgramRelOpen, decideConversationAction, decideMemberTargetAction, decideMessageAction, emojiAssetUrl, emojiUrlByCode, fetchConversationFileBatch, fetchConversationImageBatch, fetchConversationMessageBatch, fetchConversationVideoBatch, fetchConversationVoiceBatch, fetchNextConversationSearchBatch, formatChatDateSeparator, formatConversationDisplayTime, formatConversationUnreadBadge, formatFileSize, formatMediaDuration, forward_service as forwardService, getFileExtension, getLocalDayKey, getMessageCopyImageUrl, getMessageCopyText, hasEmojiCandidate, hasLinkCandidate, highlightSegments, isGifFile, isMessageLocateScrollProtected, isMessageTailChangeFromOlderWindowTrim, isMessageViewportMeasurable, isMessageVisibleForNewMessageBadge, isMiniProgramShowTypeOpenable, isPinnedMessageProtected, isVoiceStorageConfigured, loadOlderUntilBoundary, mediaBatchBudgetBytes, media_service as mediaService, message_service as messageService, normalizeLinkHref, parseUnicodeEmojiCode, pinnedMessage_service as pinnedMessageService, placeholderWaveform, prependRecentEmoji, profile_service as profileService, read_service as readService, refreshPrependMessageAnchorPosition, replaceInterruptedMediaFile, requiresConversationEncryption, requiresForwardTypeConfirmation, resampleWaveform, resolveBestMediaPresentationSource, resolveCenteredMessageScrollTop, resolveChannelMemberAvatarUrl, resolveChannelMemberDisplayName, resolveChannelMiniProgramRelIcon, resolveChannelMiniProgramRelName, resolveChannelMiniProgramRelOpenSurface, resolveChannelMiniProgramRelUrl, resolveChannelPinnedGameCopy, resolveConversationListPresentation, resolveDisplayTimestamp, resolveEmojiToken, resolveFriendDisplayName, resolveImProfileAccessDestination, resolveImThreadActiveDate, resolveMediaPresentation, resolveMediaTransferPresentation, resolveMemberDisplayName, resolveMessageBodyKind, resolveMessageNotificationDecision, resolveMessageTimelineTimestamp, resolveMiniProgramFloatLinkUrl, resolveMiniProgramGamePreviewLayout, resolveMiniProgramOpenUrl, resolvePrependMessageAnchor, resolvePrependMessageAnchorAdjustment, resolvePrependMessageAnchorPosition, resolvePublicNickname, resolveQuotedMessagePresentation, resolveSenderAvatarUrl, resolveStandaloneEmojiMessage, resolveSurvivingMessageAnchorAdjustment, resolveUnicodeEmoji, resolveVisibleChannelMiniProgramRels, resolveVisibleMessageAnchorPositions, retryMessage, runMediaSendBatch, sendAsFilesBatch, sendBlockReasonForDecision, sendMediaAlbum, sendMediaFile, sendMediaFilesBatch, sendText, sendVoice, shouldCompleteInitialViewport, shouldFillInitialHistoryViewport, shouldFollowIncomingMessage, shouldLoadNewerHistoryPage, shouldPrefetchOlderHistory, shouldRestoreMessageViewportFocus, shouldShowChatDateSeparator, shouldTrackRemoteMessageForBadge, sortChannelMiniProgramFloatingItems, spikeCountForDuration, supportsConversationMention, unicodeEmojiTextFromCode };
|
|
9372
|
-
export type { ApplySessionResult, BrowseMessagesInput, CanPinMessageInput, CenteredMessageScrollInput, ChannelMiniProgramOpenGame, ChannelMiniProgramRelOpenDecision, ChannelMiniProgramRelOpenSurface, ChatMediaMessageRef, ChatProfileAdapter, ChatRuntime, ChatRuntimeCredentials, ChatRuntimeFactories, ChatRuntimeHostDeps, ChatRuntimeOpResult, ConversationCapabilityAction, ConversationListPresentation, ConversationListPresentationLabels, ConversationListPresentationOptions, ConversationListPreviewMediaKind, ConversationListPreviewSegment, ConversationPrefetchController, ConversationPrefetchControllerOptions, ConversationSearchCategory, CreateThreadItemsInput, DelayedLoadingIndicator, DelayedLoadingIndicatorOptions, EmojiEntry, EmojiRecentItem, EmojiSegment, FormatTimeDisplayContext, ForwardCommandHooks, GifFileClassification, HighlightSegment, ImChannelMemberPresentation, ImChannelMentionPresentation, ImChannelProfilePresentation, ImForwardOperationResult, ImGroupMemberPresentation, ImMediaBatchSendResult, ImMessageActionResult, ImMessageBodyKind, ImMessageView, ImPinnedMessageActionResult, ImPinnedMessageSnapshot, ImProfileAccessDestination, ImQuotedMessagePresentation, ImTextResolver, ImThreadActiveDateSnapshot, ImThreadDateMarkerMetric, ImThreadDecoration, ImThreadEncryptionItem, ImThreadIntent, ImThreadItem, ImThreadPresentationAdapter, ImThreadReadActions, ImThreadReadTargetResolver, ImThreadViewportMetrics, IncomingMessageFollowInput, InitialHistoryViewportFillInput, InitialViewportCompletionInput, LinkSegment, MediaBatchBudgetOptions, MediaBatchLimitInfo, MediaFileClassification, MediaLimitItem, MediaObjectUrlLease, MediaPresentationFit, MediaPresentationPolicy, MediaPresentationRule, MediaPresentationSourceCandidate, MediaPresentationSourceQuality, MediaSendBatchResult, MediaTransferPresentation, MemberTargetCapabilityAction, MemberTargetCapabilityInput, MessageCapabilityAction, MessageCapabilityInput, MessageLocateScrollProtectionInput, MessageNotificationDecision, MessageNotificationInput, MiniProgramGamePreviewInput, MiniProgramGamePreviewLayout, MiniProgramHostLocale, MiniProgramOpenUrlInput, NewMessageBadgeController, NewMessageBadgeCountListener, NewMessageBadgeVisibilityInput, NewerHistoryPageTriggerInput, OlderHistoryPrefetchInput, PrependAnchorCandidate, PrependAnchorViewport, PrependMessageAnchorPosition, RemoteMessageBadgeTrackingInput, ResolveMediaPresentationInput, ResolvedMediaPresentation, RichExtraSegment, RuntimeClientOperation, RuntimeOperation, SearchBatchResult, SearchFilesInput, SearchMessagesInput, SearchTextMessagesInput, SendCapabilityMode, SendCommandHooks, SendVoicePayload, SenderProfileEntry, ServiceNoteHooks, StandaloneEmojiMessage, UnicodeEmojiEntry, VisibleChannelMiniProgramRels };
|
|
9429
|
+
export { DEFAULT_EMOJI_ASSET_BASE, DEFAULT_LOADING_MINIMUM_VISIBLE_MS, DEFAULT_LOADING_SHOW_DELAY_MS, EMOJI_CATALOG, EMOJI_GAME_DICE_STABLE_KEY, EMOJI_GAME_RPS_STABLE_KEY, EMOJI_TOKEN_RE, MAX_BATCH_FILES, MAX_RECENT_EMOJI_COUNT, MINI_PROGRAM_GAME_PREVIEW_FALLBACK_HEIGHT, MINI_PROGRAM_GAME_PREVIEW_FALLBACK_WIDTH, MINI_PROGRAM_LANG_NUMBERS, SPIKE_STEP, UNICODE_EMOJI_CATALOG, blockReasonForChannelSession, blockReasonForChannelState, blockReasonForGroupState, blockReasonForSession, calculateMediaBox, canCopyMessageImage, canEditMessage, canPinChannelMessage, canPinGroupMessage, canPinMessage, canPromoteMediaPresentationSource, canRecallMessage, canTransmit, canTransmitByType, canTransmitContent, cancelMediaUpload, captureRuntimeClientOperation, captureRuntimeOperation, channelMiniProgramRelKey, classifyGifFile, classifyMediaFile, countUnreadConversations, createChatRuntime, createConversationPrefetchController, createDelayedLoadingIndicator, createEmojiMatcher, createLinkMatcher, createMessageImageCopySource, createNewMessageBadgeController, createThreadItems, csvIncludes, decideChannelMiniProgramRelOpen, decideConversationAction, decideMemberTargetAction, decideMessageAction, emojiAssetUrl, emojiUrlByCode, fetchConversationFileBatch, fetchConversationImageBatch, fetchConversationMessageBatch, fetchConversationVideoBatch, fetchConversationVoiceBatch, fetchNextConversationSearchBatch, formatChatDateSeparator, formatConversationDisplayTime, formatConversationUnreadBadge, formatFileSize, formatMediaDuration, forward_service as forwardService, getFileExtension, getLocalDayKey, getMessageCopyImageUrl, getMessageCopyText, hasEmojiCandidate, hasLinkCandidate, highlightSegments, isGifFile, isMessageLocateScrollProtected, isMessageTailChangeFromOlderWindowTrim, isMessageViewportMeasurable, isMessageVisibleForNewMessageBadge, isMiniProgramShowTypeOpenable, isPinnedMessageProtected, isVoiceStorageConfigured, loadOlderUntilBoundary, mediaBatchBudgetBytes, media_service as mediaService, message_service as messageService, normalizeLinkHref, parseUnicodeEmojiCode, pinnedMessage_service as pinnedMessageService, placeholderWaveform, prependRecentEmoji, profile_service as profileService, read_service as readService, refreshPrependMessageAnchorPosition, replaceInterruptedMediaFile, requiresConversationEncryption, requiresForwardTypeConfirmation, resampleWaveform, resolveBestMediaPresentationSource, resolveCenteredMessageScrollTop, resolveChannelMemberAvatarUrl, resolveChannelMemberDisplayName, resolveChannelMiniProgramRelIcon, resolveChannelMiniProgramRelName, resolveChannelMiniProgramRelOpenSurface, resolveChannelMiniProgramRelUrl, resolveChannelPinnedGameCopy, resolveConversationListPresentation, resolveDisplayTimestamp, resolveEmojiToken, resolveFriendDisplayName, resolveImProfileAccessDestination, resolveImThreadActiveDate, resolveMediaPresentation, resolveMediaTransferPresentation, resolveMemberDisplayName, resolveMessageBodyKind, resolveMessageNotificationDecision, resolveMessageSearchPreview, resolveMessageTimelineTimestamp, resolveMiniProgramFloatLinkUrl, resolveMiniProgramGamePreviewLayout, resolveMiniProgramOpenUrl, resolvePrependMessageAnchor, resolvePrependMessageAnchorAdjustment, resolvePrependMessageAnchorPosition, resolvePublicNickname, resolveQuotedMessagePresentation, resolveSenderAvatarUrl, resolveStandaloneEmojiMessage, resolveSurvivingMessageAnchorAdjustment, resolveUnicodeEmoji, resolveVisibleChannelMiniProgramRels, resolveVisibleMessageAnchorPositions, retryMessage, runMediaSendBatch, sendAsFilesBatch, sendBlockReasonForDecision, sendMediaAlbum, sendMediaFile, sendMediaFilesBatch, sendText, sendVoice, shouldCompleteInitialViewport, shouldFillInitialHistoryViewport, shouldFollowIncomingMessage, shouldLoadNewerHistoryPage, shouldPrefetchOlderHistory, shouldRestoreMessageViewportFocus, shouldShowChatDateSeparator, shouldTrackRemoteMessageForBadge, sortChannelMiniProgramFloatingItems, spikeCountForDuration, supportsConversationMention, unicodeEmojiTextFromCode };
|
|
9430
|
+
export type { ApplySessionResult, BrowseMessagesInput, CanPinMessageInput, CenteredMessageScrollInput, ChannelMiniProgramOpenGame, ChannelMiniProgramRelOpenDecision, ChannelMiniProgramRelOpenSurface, ChatMediaMessageRef, ChatProfileAdapter, ChatRuntime, ChatRuntimeCredentials, ChatRuntimeFactories, ChatRuntimeHostDeps, ChatRuntimeOpResult, ConversationCapabilityAction, ConversationListPresentation, ConversationListPresentationLabels, ConversationListPresentationOptions, ConversationListPreviewMediaKind, ConversationListPreviewSegment, ConversationPrefetchController, ConversationPrefetchControllerOptions, ConversationSearchCategory, CreateThreadItemsInput, DelayedLoadingIndicator, DelayedLoadingIndicatorOptions, EmojiEntry, EmojiRecentItem, EmojiSegment, FormatTimeDisplayContext, ForwardCommandHooks, GifFileClassification, HighlightSegment, ImChannelMemberPresentation, ImChannelMentionPresentation, ImChannelProfilePresentation, ImForwardOperationResult, ImGroupMemberPresentation, ImMediaBatchSendResult, ImMessageActionResult, ImMessageBodyKind, ImMessageView, ImPinnedMessageActionResult, ImPinnedMessageSnapshot, ImProfileAccessDestination, ImQuotedMessagePresentation, ImTextResolver, ImThreadActiveDateSnapshot, ImThreadDateMarkerMetric, ImThreadDecoration, ImThreadEncryptionItem, ImThreadIntent, ImThreadItem, ImThreadPresentationAdapter, ImThreadReadActions, ImThreadReadTargetResolver, ImThreadViewportMetrics, IncomingMessageFollowInput, InitialHistoryViewportFillInput, InitialViewportCompletionInput, LinkSegment, MediaBatchBudgetOptions, MediaBatchLimitInfo, MediaFileClassification, MediaLimitItem, MediaObjectUrlLease, MediaPresentationFit, MediaPresentationPolicy, MediaPresentationRule, MediaPresentationSourceCandidate, MediaPresentationSourceQuality, MediaSendBatchResult, MediaTransferPresentation, MemberTargetCapabilityAction, MemberTargetCapabilityInput, MessageCapabilityAction, MessageCapabilityInput, MessageLocateScrollProtectionInput, MessageNotificationDecision, MessageNotificationInput, MessageSearchPreviewOptions, MessageSearchPreviewSegment, MiniProgramGamePreviewInput, MiniProgramGamePreviewLayout, MiniProgramHostLocale, MiniProgramOpenUrlInput, NewMessageBadgeController, NewMessageBadgeCountListener, NewMessageBadgeVisibilityInput, NewerHistoryPageTriggerInput, OlderHistoryPrefetchInput, PrependAnchorCandidate, PrependAnchorViewport, PrependMessageAnchorPosition, RemoteMessageBadgeTrackingInput, ResolveMediaPresentationInput, ResolvedMediaPresentation, RichExtraSegment, RuntimeClientOperation, RuntimeOperation, SearchBatchResult, SearchFilesInput, SearchMessagesInput, SearchTextMessagesInput, SendCapabilityMode, SendCommandHooks, SendVoicePayload, SenderProfileEntry, ServiceNoteHooks, StandaloneEmojiMessage, UnicodeEmojiEntry, VisibleChannelMiniProgramRels };
|
package/dist/chat-kit.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{q as DEFAULT_LOADING_MINIMUM_VISIBLE_MS,p as DEFAULT_LOADING_SHOW_DELAY_MS,
|
|
1
|
+
export{q as DEFAULT_LOADING_MINIMUM_VISIBLE_MS,p as DEFAULT_LOADING_SHOW_DELAY_MS,x as MINI_PROGRAM_GAME_PREVIEW_FALLBACK_HEIGHT,w as MINI_PROGRAM_GAME_PREVIEW_FALLBACK_WIDTH,e as MINI_PROGRAM_LANG_NUMBERS,S as SPIKE_STEP,N as calculateMediaBox,E as canCopyMessageImage,t as canPromoteMediaPresentationSource,B as captureRuntimeClientOperation,A as captureRuntimeOperation,n as channelMiniProgramRelKey,z as createConversationPrefetchController,r as createDelayedLoadingIndicator,L as createLinkMatcher,F as createMessageImageCopySource,f as csvIncludes,d as decideChannelMiniProgramRelOpen,P as formatFileSize,O as formatMediaDuration,Q as getFileExtension,D as getMessageCopyImageUrl,C as getMessageCopyText,K as hasLinkCandidate,u as highlightSegments,a as isMiniProgramShowTypeOpenable,G as mediaService,J as normalizeLinkHref,V as placeholderWaveform,H as readService,U as resampleWaveform,s as resolveBestMediaPresentationSource,h as resolveChannelMiniProgramRelIcon,g as resolveChannelMiniProgramRelName,j as resolveChannelMiniProgramRelOpenSurface,i as resolveChannelMiniProgramRelUrl,k as resolveChannelPinnedGameCopy,o as resolveConversationListPresentation,M as resolveMediaPresentation,R as resolveMediaTransferPresentation,v as resolveMessageSearchPreview,c as resolveMiniProgramFloatLinkUrl,y as resolveMiniProgramGamePreviewLayout,b as resolveMiniProgramOpenUrl,I as resolveQuotedMessagePresentation,m as resolveVisibleChannelMiniProgramRels,l as sortChannelMiniProgramFloatingItems,T as spikeCountForDuration}from'./chunk-WISC6Q2S.js';export{j as DEFAULT_EMOJI_ASSET_BASE,i as EMOJI_CATALOG,c as EMOJI_GAME_DICE_STABLE_KEY,b as EMOJI_GAME_RPS_STABLE_KEY,m as EMOJI_TOKEN_RE,P as MAX_BATCH_FILES,a as MAX_RECENT_EMOJI_COUNT,g as UNICODE_EMOJI_CATALOG,O as blockReasonForChannelSession,N as blockReasonForChannelState,V as blockReasonForGroupState,Y as blockReasonForSession,I as canEditMessage,w as canPinChannelMessage,v as canPinGroupMessage,x as canPinMessage,H as canRecallMessage,fa as cancelMediaUpload,T as classifyGifFile,S as classifyMediaFile,s as countUnreadConversations,u as createChatRuntime,p as createEmojiMatcher,K as decideConversationAction,M as decideMemberTargetAction,L as decideMessageAction,l as emojiAssetUrl,n as emojiUrlByCode,Fa as fetchConversationFileBatch,Ga as fetchConversationImageBatch,Da as fetchConversationMessageBatch,Ha as fetchConversationVideoBatch,Ia as fetchConversationVoiceBatch,Ja as fetchNextConversationSearchBatch,r as formatConversationUnreadBadge,ia as forwardService,o as hasEmojiCandidate,U as isGifFile,y as isPinnedMessageProtected,aa as isVoiceStorageConfigured,Q as mediaBatchBudgetBytes,na as messageService,e as parseUnicodeEmojiCode,sa as pinnedMessageService,d as prependRecentEmoji,Ca as profileService,$ as replaceInterruptedMediaFile,W as requiresConversationEncryption,D as resolveChannelMemberAvatarUrl,C as resolveChannelMemberDisplayName,k as resolveEmojiToken,G as resolveFriendDisplayName,ta as resolveImProfileAccessDestination,A as resolveMemberDisplayName,t as resolveMessageNotificationDecision,F as resolvePublicNickname,E as resolveSenderAvatarUrl,q as resolveStandaloneEmojiMessage,h as resolveUnicodeEmoji,ga as retryMessage,R as runMediaSendBatch,ea as sendAsFilesBatch,J as sendBlockReasonForDecision,ca as sendMediaAlbum,_ as sendMediaFile,da as sendMediaFilesBatch,Z as sendText,ba as sendVoice,X as supportsConversationMention,f as unicodeEmojiTextFromCode}from'./chunk-2EB5ZELD.js';export{C as createNewMessageBadgeController,i as createThreadItems,f as formatChatDateSeparator,e as formatConversationDisplayTime,c as getLocalDayKey,l as isMessageLocateScrollProtected,v as isMessageTailChangeFromOlderWindowTrim,k as isMessageViewportMeasurable,B as isMessageVisibleForNewMessageBadge,x as loadOlderUntilBoundary,p as refreshPrependMessageAnchorPosition,j as resolveCenteredMessageScrollTop,a as resolveDisplayTimestamp,g as resolveImThreadActiveDate,h as resolveMessageBodyKind,b as resolveMessageTimelineTimestamp,n as resolvePrependMessageAnchor,q as resolvePrependMessageAnchorAdjustment,o as resolvePrependMessageAnchorPosition,s as resolveSurvivingMessageAnchorAdjustment,r as resolveVisibleMessageAnchorPositions,t as shouldCompleteInitialViewport,y as shouldFillInitialHistoryViewport,u as shouldFollowIncomingMessage,z as shouldLoadNewerHistoryPage,m as shouldPrefetchOlderHistory,w as shouldRestoreMessageViewportFocus,d as shouldShowChatDateSeparator,A as shouldTrackRemoteMessageForBadge}from'./chunk-I7RLO6MT.js';import'./chunk-A5WA7S7J.js';import'./chunk-5KHSKIN3.js';import'./chunk-SRMSBFOP.js';export{va as canTransmit,ta as canTransmitByType,ua as canTransmitContent,sa as requiresForwardTypeConfirmation}from'./chunk-54HSPG2Z.js';import'./chunk-WOT6VMZA.js';
|