@zero-library/chat-agent 2.3.5 → 2.3.6

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/index.d.mts CHANGED
@@ -1161,8 +1161,6 @@ interface ChatLayoutSender {
1161
1161
  footerBelow?: RenderControl<void, void>;
1162
1162
  /** 发送按钮属性配置函数 */
1163
1163
  sendBtnProps?: () => ButtonProps;
1164
- /** 是否显示推荐问题 */
1165
- prompts?: boolean;
1166
1164
  }
1167
1165
  /**
1168
1166
  * 消息列表欢迎信息配置
package/dist/index.d.ts CHANGED
@@ -1161,8 +1161,6 @@ interface ChatLayoutSender {
1161
1161
  footerBelow?: RenderControl<void, void>;
1162
1162
  /** 发送按钮属性配置函数 */
1163
1163
  sendBtnProps?: () => ButtonProps;
1164
- /** 是否显示推荐问题 */
1165
- prompts?: boolean;
1166
1164
  }
1167
1165
  /**
1168
1166
  * 消息列表欢迎信息配置
package/dist/index.esm.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { createSecureManager, createTokenManager, useRefState, useDebounce, useSyncInput, markdownToText, RenderWrapper, shouldRender, isFunction, useDeepEffect, useWebSocket, downloadFile, FilePreview, MarkdownEditor, isObject, isNullOrUnDef, isNumber, getFileSuffixName, isBoolean, UserAvatar, htmlToMarkdown, copyText, deepCopy, transforms, deepMerge, createRequest, HttpStatus, isArray, isString, isEmptyObj, RenderMarkdown, transform, emit, buildUrlParams, getWebSocketUrl, useCreateValtioContext, FileIcon, isExternal, LazyComponent } from '@zero-library/common';
2
- import { App, Badge, Button, Flex, Typography, Spin, Splitter, Tag, Popover, List, Avatar, Space, Input, Popconfirm, message, Empty, Tooltip, Form, Modal, AutoComplete, Row, Col, Collapse, Skeleton, Alert, Drawer } from 'antd';
2
+ import { App, Badge, Button, Flex, Typography, Spin, Splitter, Tag, Popover, Avatar, Space, Input, Popconfirm, message, Empty, Tooltip, Form, Modal, AutoComplete, Row, Col, Collapse, Skeleton, Alert, Drawer } from 'antd';
3
3
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
4
  import { forwardRef, useRef, useEffect, useImperativeHandle, useMemo, useState } from 'react';
5
5
  import { useSnapshot, proxy } from 'valtio';
6
6
  import { CloudUploadOutlined, PaperClipOutlined, EnterOutlined, CloseOutlined, FileSearchOutlined, UserSwitchOutlined, PlusOutlined, CommentOutlined, OpenAIOutlined, CopyOutlined, LikeOutlined, DislikeOutlined, SearchOutlined, PushpinOutlined, EditOutlined, DeleteOutlined, StarFilled, StarOutlined, RedoOutlined, SignatureOutlined, PlayCircleOutlined, DotChartOutlined } from '@ant-design/icons';
7
- import classNames12 from 'classnames';
7
+ import classNames11 from 'classnames';
8
8
  import { Attachments, Sender, Suggestion, XProvider, Prompts, Bubble, Conversations, Welcome } from '@ant-design/x';
9
9
  import dayjs from 'dayjs';
10
10
  import InfiniteScroll from 'react-infinite-scroll-component';
@@ -303,7 +303,7 @@ var init_Charts = __esm({
303
303
  );
304
304
  Charts_default = ({ data, loading }) => {
305
305
  const { type, config } = data;
306
- return /* @__PURE__ */ jsx("div", { className: classNames12(styles_module_default.chart, "scroll-fade-in"), children: loading ? (
306
+ return /* @__PURE__ */ jsx("div", { className: classNames11(styles_module_default.chart, "scroll-fade-in"), children: loading ? (
307
307
  // Antd 骨架屏
308
308
  /* @__PURE__ */ jsx(Skeleton.Node, { active: true, className: styles_module_default.chartSkeleton, children: /* @__PURE__ */ jsx(DotChartOutlined, { className: styles_module_default.chartSkeletonIcon }) })
309
309
  ) : /* @__PURE__ */ jsx(
@@ -1308,7 +1308,7 @@ var MessageRender_default = ({ message: message2, placement, onFilePreview, cust
1308
1308
  Bubble,
1309
1309
  {
1310
1310
  placement,
1311
- className: classNames12({ [styles_module_default2.loadingMessage]: message2.type }),
1311
+ className: classNames11({ [styles_module_default2.loadingMessage]: message2.type }),
1312
1312
  content: /* @__PURE__ */ jsx(RenderMarkdown, { content: replaceMarkdownTags(msgContent), customComponents: mergedCustomComponents, message: message2 })
1313
1313
  }
1314
1314
  ),
@@ -1391,10 +1391,6 @@ var styles_module_default3 = {
1391
1391
  chatWelcomeWrap: "styles_module_chatWelcomeWrap",
1392
1392
  chatWelcome: "styles_module_chatWelcome",
1393
1393
  chatWelcomePrompts: "styles_module_chatWelcomePrompts",
1394
- nsSenderListTitle: "styles_module_nsSenderListTitle",
1395
- nsSenderList: "styles_module_nsSenderList",
1396
- nsSenderListItem: "styles_module_nsSenderListItem",
1397
- nsSenderListFooter: "styles_module_nsSenderListFooter",
1398
1394
  nsChatUserName: "styles_module_nsChatUserName",
1399
1395
  nsSenderReferenceHeaderTitle: "styles_module_nsSenderReferenceHeaderTitle",
1400
1396
  nsSenderReferenceHeaderContent: "styles_module_nsSenderReferenceHeaderContent",
@@ -1415,7 +1411,7 @@ var WelcomeItem_default = ({ icon = true, title = true, description = true, prom
1415
1411
  /* @__PURE__ */ jsx(
1416
1412
  Welcome,
1417
1413
  {
1418
- className: classNames12(styles_module_default3.chatWelcome, "p-t-32"),
1414
+ className: classNames11(styles_module_default3.chatWelcome, "p-t-32"),
1419
1415
  variant: "borderless",
1420
1416
  icon: /* @__PURE__ */ jsx(RenderWrapper, { control: icon, DefaultComponent: /* @__PURE__ */ jsx(Avatar, { shape: "square", size: 58, src: receiverState.active.logo }) }),
1421
1417
  title: /* @__PURE__ */ jsx(RenderWrapper, { control: title, DefaultComponent: `\u4F60\u597D\uFF0C\u6211\u662F${receiverState.active.name || ""}` }),
@@ -1444,7 +1440,7 @@ var WelcomeItem_default = ({ icon = true, title = true, description = true, prom
1444
1440
  label: "\u{1F914} \u63A8\u8350\u95EE\u9898:",
1445
1441
  children: receiverState?.recommendQuestions.map((question) => ({
1446
1442
  key: question,
1447
- description: /* @__PURE__ */ jsx("span", { className: classNames12(styles_module_default3.chatWelcomePrompts, "text-ellipsis"), children: question })
1443
+ description: /* @__PURE__ */ jsx("span", { className: classNames11(styles_module_default3.chatWelcomePrompts, "text-ellipsis"), children: question })
1448
1444
  }))
1449
1445
  }
1450
1446
  ]
@@ -1682,7 +1678,7 @@ var BubbleListItems_default = ({
1682
1678
  autoScroll: false,
1683
1679
  ref: listRef,
1684
1680
  items: bubbleListItems,
1685
- className: classNames12(styles_module_default3.nsBubbleList, "height-full", "scroll-fade-in", "zero-chat-bubbles"),
1681
+ className: classNames11(styles_module_default3.nsBubbleList, "height-full", "scroll-fade-in", "zero-chat-bubbles"),
1686
1682
  onScroll: handleScroll
1687
1683
  },
1688
1684
  conversationState.active.id
@@ -1717,7 +1713,7 @@ var CharacterList_default = () => {
1717
1713
  /* @__PURE__ */ jsx(
1718
1714
  Avatar,
1719
1715
  {
1720
- className: classNames12(styles_module_default3.nsAvatarListItemIcon, "cursor-pointer", {
1716
+ className: classNames11(styles_module_default3.nsAvatarListItemIcon, "cursor-pointer", {
1721
1717
  [styles_module_default3.nsAvatarListItemIconActive]: activeCharacter.id === item.id
1722
1718
  }),
1723
1719
  size: 50,
@@ -1754,14 +1750,14 @@ var ConversationFavoritesList_default = () => {
1754
1750
  chatStore.getConversationFavorite();
1755
1751
  }, 300);
1756
1752
  const renderFavoriteList = useMemo(() => {
1757
- return /* @__PURE__ */ jsx("div", { className: classNames12("height-full", "scroll-fade-in"), children: favoriteState.list.items.length ? favoriteState.list.items.map((item) => /* @__PURE__ */ jsxs(
1753
+ return /* @__PURE__ */ jsx("div", { className: classNames11("height-full", "scroll-fade-in"), children: favoriteState.list.items.length ? favoriteState.list.items.map((item) => /* @__PURE__ */ jsxs(
1758
1754
  "div",
1759
1755
  {
1760
- className: classNames12(styles_module_default3.favoriteCard, { [styles_module_default3.favoriteCardActive]: conversationState.active.id === item.id }),
1756
+ className: classNames11(styles_module_default3.favoriteCard, { [styles_module_default3.favoriteCardActive]: conversationState.active.id === item.id }),
1761
1757
  onClick: () => chatStore.switchConversation(item.id),
1762
1758
  children: [
1763
1759
  /* @__PURE__ */ jsxs(Flex, { gap: 8, align: "center", children: [
1764
- /* @__PURE__ */ jsx(Flex, { flex: 1, className: classNames12(styles_module_default3.favoriteCardTitle, "text-ellipsis"), children: item.title }),
1760
+ /* @__PURE__ */ jsx(Flex, { flex: 1, className: classNames11(styles_module_default3.favoriteCardTitle, "text-ellipsis"), children: item.title }),
1765
1761
  /* @__PURE__ */ jsx(Flex, { gap: 8, align: "center", className: styles_module_default3.favoriteCardActions, children: /* @__PURE__ */ jsx(
1766
1762
  Popconfirm,
1767
1763
  {
@@ -1888,7 +1884,7 @@ var ChatHeader_default = ({
1888
1884
  const chatStore = useChatStore();
1889
1885
  const receiverState = useSnapshot(chatStore.receiver);
1890
1886
  const configState = useSnapshot(chatStore.config);
1891
- return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(Flex, { justify: "space-between", align: "center", className: classNames12(styles_module_default3.nsChatHeader, "zero-chat-header"), children: [
1887
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(Flex, { justify: "space-between", align: "center", className: classNames11(styles_module_default3.nsChatHeader, "zero-chat-header"), children: [
1892
1888
  /* @__PURE__ */ jsxs(Flex, { gap: 4, align: "center", children: [
1893
1889
  /* @__PURE__ */ jsx(RenderWrapper, { control: avatar, DefaultComponent: /* @__PURE__ */ jsx(Avatar, { size: 22, src: receiverState.active.logo, alt: receiverState.active.name }) }),
1894
1890
  /* @__PURE__ */ jsx(RenderWrapper, { control: title, DefaultComponent: /* @__PURE__ */ jsx("div", { className: styles_module_default3.nsChatTitle, children: receiverState.active.name }) }),
@@ -2383,7 +2379,7 @@ var QuickAskPanel_default = () => {
2383
2379
  }
2384
2380
  ) : /* @__PURE__ */ jsx(Button, { icon: /* @__PURE__ */ jsx(SearchOutlined, {}), onClick: () => setSearchExpanded(true) })
2385
2381
  ] }),
2386
- /* @__PURE__ */ jsxs(Flex, { align: "center", className: classNames12("scroll-fade-in", "m-b-16", styles_module_default4.tagContainer), children: [
2382
+ /* @__PURE__ */ jsxs(Flex, { align: "center", className: classNames11("scroll-fade-in", "m-b-16", styles_module_default4.tagContainer), children: [
2387
2383
  /* @__PURE__ */ jsx(
2388
2384
  Tag,
2389
2385
  {
@@ -2424,7 +2420,7 @@ var QuickAskPanel_default = () => {
2424
2420
  },
2425
2421
  children: [
2426
2422
  /* @__PURE__ */ jsxs(Flex, { gap: 8, justify: "space-between", align: "center", className: styles_module_default4.quickAskItemHeader, children: [
2427
- /* @__PURE__ */ jsx("div", { className: classNames12("flex-1 text-ellipsis", styles_module_default4.quickAskItemTitle), children: item.title }),
2423
+ /* @__PURE__ */ jsx("div", { className: classNames11("flex-1 text-ellipsis", styles_module_default4.quickAskItemTitle), children: item.title }),
2428
2424
  /* @__PURE__ */ jsxs(Space, { size: 4, className: styles_module_default4.quickAskItemHeaderActions, children: [
2429
2425
  /* @__PURE__ */ jsx(
2430
2426
  Button,
@@ -2491,7 +2487,7 @@ var QuickAskPanel_default = () => {
2491
2487
  )
2492
2488
  ] })
2493
2489
  ] }),
2494
- /* @__PURE__ */ jsx("div", { className: classNames12(styles_module_default4.quickAskItemBody), children: /* @__PURE__ */ jsx("div", { className: "text-ellipsis-3", children: item.content }) })
2490
+ /* @__PURE__ */ jsx("div", { className: classNames11(styles_module_default4.quickAskItemBody), children: /* @__PURE__ */ jsx("div", { className: "text-ellipsis-3", children: item.content }) })
2495
2491
  ]
2496
2492
  },
2497
2493
  item.id
@@ -2562,47 +2558,8 @@ var FeaturesRenderer_default = () => {
2562
2558
  )
2563
2559
  ] });
2564
2560
  };
2565
-
2566
- // src/ui/common/SenderPromptsItems.tsx
2567
- init_Context();
2568
- var SenderPromptsItems_default = () => {
2569
- const chatStore = useChatStore();
2570
- const receiverState = useSnapshot(chatStore.receiver);
2571
- const component = useMemo(
2572
- () => receiverState.active.config?.labels?.length > 0 && /* @__PURE__ */ jsxs(Flex, { gap: 4, wrap: true, children: [
2573
- /* @__PURE__ */ jsx(Button, { disabled: true, color: "default", variant: "text", children: "\u968F\u4FBF\u804A\u804A" }),
2574
- receiverState.active.config.labels.slice(0, 6).map((question) => /* @__PURE__ */ jsx(
2575
- Popover,
2576
- {
2577
- content: /* @__PURE__ */ jsx(
2578
- List,
2579
- {
2580
- itemLayout: "horizontal",
2581
- split: false,
2582
- className: styles_module_default3.nsSenderList,
2583
- dataSource: question.items,
2584
- renderItem: (item) => /* @__PURE__ */ jsx(List.Item, { onClick: () => chatStore.sendMessage(item.question), className: styles_module_default3.nsSenderListItem, children: /* @__PURE__ */ jsx("div", { className: "text-ellipsis", children: item.question }) }),
2585
- footer: /* @__PURE__ */ jsx(Flex, { justify: "end", className: styles_module_default3.nsSenderListFooter, children: "(\u60A8\u53EF\u70B9\u51FB\u4EE5\u4E0A\u95EE\u9898\u5F00\u542FAI\u4F53\u9A8C)" })
2586
- }
2587
- ),
2588
- title: /* @__PURE__ */ jsx(
2589
- "div",
2590
- {
2591
- className: classNames12(styles_module_default3.nsSenderListTitle, "text-ellipsis"),
2592
- children: `${receiverState.active.name}\u5F00\u59CB\u5173\u6CE8${question.name}\u5185\u5BB9\uFF01`
2593
- }
2594
- ),
2595
- children: /* @__PURE__ */ jsx(Button, { color: "default", variant: "filled", children: question.name })
2596
- },
2597
- question.id
2598
- ))
2599
- ] }),
2600
- [receiverState.active.config?.labels]
2601
- );
2602
- return component;
2603
- };
2604
2561
  var ChatSender_default2 = forwardRef(
2605
- ({ placeholder, extraBtn = false, referencesBtn = false, sendBtnProps, footerBelow = false, prompts = true }, ref) => {
2562
+ ({ placeholder, extraBtn = false, referencesBtn = false, sendBtnProps, footerBelow = false }, ref) => {
2606
2563
  const chatStore = useChatStore();
2607
2564
  const configState = useSnapshot(chatStore.config);
2608
2565
  const receiverState = useSnapshot(chatStore.receiver);
@@ -2622,61 +2579,58 @@ var ChatSender_default2 = forwardRef(
2622
2579
  chatStore.setContent(con);
2623
2580
  chatStore.sendMessage();
2624
2581
  };
2625
- return /* @__PURE__ */ jsxs(Flex, { vertical: true, gap: 8, className: "zero-chat-sender", children: [
2626
- /* @__PURE__ */ jsx(RenderWrapper, { control: prompts, DefaultComponent: SenderPromptsItems_default }),
2627
- /* @__PURE__ */ jsx(
2628
- ChatSender_default,
2629
- {
2630
- ref,
2631
- placeholder,
2632
- content: chatMessage.content,
2633
- fileList: chatMessage.files,
2634
- headerOpen: chatMessage.headerOpen,
2635
- loading: chatMessage.loading,
2636
- onContentChange: chatStore.setContent,
2637
- onFileListChange: chatStore.setFileList,
2638
- onHeaderOpenChange: chatStore.setHeaderOpen,
2639
- onSend: () => chatStore.sendMessage(),
2640
- onCancel: chatStore.cancelReceive,
2641
- onFocus: chatStore.config.hooks?.onSenderFocus,
2642
- fileUpload: {
2643
- request: configState.services.request?.fileUpload,
2644
- config: receiverState.active.config?.fileUpload
2645
- },
2646
- sendBtnProps: isFunction(sendBtnProps) ? sendBtnProps() : {},
2647
- extraFooterBelow: /* @__PURE__ */ jsx(RenderWrapper, { control: footerBelow }),
2648
- extraFooter: /* @__PURE__ */ jsxs(Fragment, { children: [
2649
- /* @__PURE__ */ jsx(FeaturesRenderer_default, {}),
2650
- /* @__PURE__ */ jsx(RenderWrapper, { control: extraBtn })
2651
- ] }),
2652
- extraHeader: /* @__PURE__ */ jsx(
2653
- Sender.Header,
2654
- {
2655
- title: /* @__PURE__ */ jsxs(Flex, { gap: 4, children: [
2656
- /* @__PURE__ */ jsx(EnterOutlined, {}),
2657
- /* @__PURE__ */ jsx(Typography.Text, { type: "secondary", ellipsis: true, children: referenceContent })
2658
- ] }),
2659
- open: !!referenceContent,
2660
- onOpenChange: () => chatStore.setReferences(),
2661
- classNames: {
2662
- header: styles_module_default3.nsSenderReferenceHeaderTitle,
2663
- content: shouldRender(referencesBtn) ? "" : styles_module_default3.nsSenderReferenceHeaderContent
2664
- },
2665
- children: /* @__PURE__ */ jsx(
2666
- RenderWrapper,
2667
- {
2668
- control: referencesBtn,
2669
- DefaultComponent: /* @__PURE__ */ jsx(Flex, { gap: 8, children: ["\u6DF1\u5EA6\u89E3\u8BFB", "\u6982\u8981\u89E3\u8BFB"].map((con) => /* @__PURE__ */ jsxs(Button, { color: "primary", variant: "filled", onClick: () => referenceHandle(con), children: [
2670
- con,
2671
- " \u2192"
2672
- ] }, con)) })
2673
- }
2674
- )
2675
- }
2676
- )
2677
- }
2678
- )
2679
- ] });
2582
+ return /* @__PURE__ */ jsx(Flex, { vertical: true, gap: 8, className: "zero-chat-sender", children: /* @__PURE__ */ jsx(
2583
+ ChatSender_default,
2584
+ {
2585
+ ref,
2586
+ placeholder,
2587
+ content: chatMessage.content,
2588
+ fileList: chatMessage.files,
2589
+ headerOpen: chatMessage.headerOpen,
2590
+ loading: chatMessage.loading,
2591
+ onContentChange: chatStore.setContent,
2592
+ onFileListChange: chatStore.setFileList,
2593
+ onHeaderOpenChange: chatStore.setHeaderOpen,
2594
+ onSend: () => chatStore.sendMessage(),
2595
+ onCancel: chatStore.cancelReceive,
2596
+ onFocus: chatStore.config.hooks?.onSenderFocus,
2597
+ fileUpload: {
2598
+ request: configState.services.request?.fileUpload,
2599
+ config: receiverState.active.config?.fileUpload
2600
+ },
2601
+ sendBtnProps: isFunction(sendBtnProps) ? sendBtnProps() : {},
2602
+ extraFooterBelow: /* @__PURE__ */ jsx(RenderWrapper, { control: footerBelow }),
2603
+ extraFooter: /* @__PURE__ */ jsxs(Fragment, { children: [
2604
+ /* @__PURE__ */ jsx(FeaturesRenderer_default, {}),
2605
+ /* @__PURE__ */ jsx(RenderWrapper, { control: extraBtn })
2606
+ ] }),
2607
+ extraHeader: /* @__PURE__ */ jsx(
2608
+ Sender.Header,
2609
+ {
2610
+ title: /* @__PURE__ */ jsxs(Flex, { gap: 4, children: [
2611
+ /* @__PURE__ */ jsx(EnterOutlined, {}),
2612
+ /* @__PURE__ */ jsx(Typography.Text, { type: "secondary", ellipsis: true, children: referenceContent })
2613
+ ] }),
2614
+ open: !!referenceContent,
2615
+ onOpenChange: () => chatStore.setReferences(),
2616
+ classNames: {
2617
+ header: styles_module_default3.nsSenderReferenceHeaderTitle,
2618
+ content: shouldRender(referencesBtn) ? "" : styles_module_default3.nsSenderReferenceHeaderContent
2619
+ },
2620
+ children: /* @__PURE__ */ jsx(
2621
+ RenderWrapper,
2622
+ {
2623
+ control: referencesBtn,
2624
+ DefaultComponent: /* @__PURE__ */ jsx(Flex, { gap: 8, children: ["\u6DF1\u5EA6\u89E3\u8BFB", "\u6982\u8981\u89E3\u8BFB"].map((con) => /* @__PURE__ */ jsxs(Button, { color: "primary", variant: "filled", onClick: () => referenceHandle(con), children: [
2625
+ con,
2626
+ " \u2192"
2627
+ ] }, con)) })
2628
+ }
2629
+ )
2630
+ }
2631
+ )
2632
+ }
2633
+ ) });
2680
2634
  }
2681
2635
  );
2682
2636
 
@@ -2692,7 +2646,7 @@ var ConversationListHeader_default = ({ title = true, avatar = true, newConversa
2692
2646
  RenderWrapper,
2693
2647
  {
2694
2648
  control: title,
2695
- DefaultComponent: /* @__PURE__ */ jsx("span", { className: classNames12(styles_module_default3.nsChatUserName, "flex-1 text-ellipsis"), children: receiverState.active.name })
2649
+ DefaultComponent: /* @__PURE__ */ jsx("span", { className: classNames11(styles_module_default3.nsChatUserName, "flex-1 text-ellipsis"), children: receiverState.active.name })
2696
2650
  }
2697
2651
  ),
2698
2652
  /* @__PURE__ */ jsx(RenderWrapper, { control: conversationListFavoriteBtn, DefaultComponent: /* @__PURE__ */ jsx(ConversationFavoritesList_default, {}) })
@@ -2708,7 +2662,7 @@ var ConversationListHeader_default = ({ title = true, avatar = true, newConversa
2708
2662
  type: "primary",
2709
2663
  shape: "round",
2710
2664
  onClick: () => chatStore.createConversation(),
2711
- className: classNames12("m-t-16"),
2665
+ className: classNames11("m-t-16"),
2712
2666
  icon: /* @__PURE__ */ jsx(PlusOutlined, {}),
2713
2667
  children: "\u65B0\u5EFA\u4F1A\u8BDD"
2714
2668
  }
@@ -2718,7 +2672,7 @@ var ConversationListHeader_default = ({ title = true, avatar = true, newConversa
2718
2672
  ] });
2719
2673
  };
2720
2674
  var ConversationListPanel_default = ({ header }) => {
2721
- return /* @__PURE__ */ jsxs(Flex, { vertical: true, className: classNames12("height-full", "zero-chat-conversations", styles_module_default3.nsConversationListPanel), children: [
2675
+ return /* @__PURE__ */ jsxs(Flex, { vertical: true, className: classNames11("height-full", "zero-chat-conversations", styles_module_default3.nsConversationListPanel), children: [
2722
2676
  /* @__PURE__ */ jsx(RenderWrapper, { control: header, DefaultComponent: ConversationListHeader_default }),
2723
2677
  /* @__PURE__ */ jsx("div", { className: "full-scroll", children: /* @__PURE__ */ jsx(ConversationList_default, {}) })
2724
2678
  ] });
@@ -2812,7 +2766,7 @@ var layouts_default = forwardRef(({ theme, params, userInfo, hooks, layout, conf
2812
2766
  useEffect(() => {
2813
2767
  configState.hooks?.onBeforeInit?.();
2814
2768
  }, []);
2815
- return /* @__PURE__ */ jsx(XProvider, { theme: { cssVar: true, ...theme }, children: /* @__PURE__ */ jsx(ChatProvider, { store: chatStore, children: /* @__PURE__ */ jsx(Spin, { spinning: receiverState.loading, wrapperClassName: "full-spin", children: /* @__PURE__ */ jsxs(Flex, { vertical: true, className: classNames12(styles_module_default5.nsChatLayout, "zero-chat-layout", "height-full"), children: [
2769
+ return /* @__PURE__ */ jsx(XProvider, { theme: { cssVar: true, ...theme }, children: /* @__PURE__ */ jsx(ChatProvider, { store: chatStore, children: /* @__PURE__ */ jsx(Spin, { spinning: receiverState.loading, wrapperClassName: "full-spin", children: /* @__PURE__ */ jsxs(Flex, { vertical: true, className: classNames11(styles_module_default5.nsChatLayout, "zero-chat-layout", "height-full"), children: [
2816
2770
  /* @__PURE__ */ jsx(RenderWrapper, { control: configState.layout.globalHeader, DefaultComponent: ChatHeader_default }),
2817
2771
  /* @__PURE__ */ jsxs(Flex, { className: "full-scroll", children: [
2818
2772
  /* @__PURE__ */ jsx(RenderWrapper, { control: configState.layout.leftPanel }),
@@ -2821,7 +2775,7 @@ var layouts_default = forwardRef(({ theme, params, userInfo, hooks, layout, conf
2821
2775
  /* @__PURE__ */ jsx(Splitter.Panel, { collapsible: false, min: 600, size: sizes[0], children: hasPreView && /* @__PURE__ */ jsxs(Fragment, { children: [
2822
2776
  configState.preview.file.fileUrl && /* @__PURE__ */ jsxs(Flex, { vertical: true, className: "height-full", children: [
2823
2777
  /* @__PURE__ */ jsxs(Flex, { justify: "space-between", align: "center", gap: 16, className: styles_module_default5.nsPreviewHeader, children: [
2824
- /* @__PURE__ */ jsx("div", { className: classNames12(styles_module_default5.nsPreviewHeaderTitle, "text-ellipsis"), title: configState.preview.file.fileName, children: configState.preview.file.fileName }),
2778
+ /* @__PURE__ */ jsx("div", { className: classNames11(styles_module_default5.nsPreviewHeaderTitle, "text-ellipsis"), title: configState.preview.file.fileName, children: configState.preview.file.fileName }),
2825
2779
  /* @__PURE__ */ jsxs(Flex, { gap: 8, justify: "center", align: "center", children: [
2826
2780
  /* @__PURE__ */ jsx(
2827
2781
  Button,
@@ -2865,15 +2819,15 @@ var layouts_default = forwardRef(({ theme, params, userInfo, hooks, layout, conf
2865
2819
  }
2866
2820
  )
2867
2821
  ] }) }),
2868
- /* @__PURE__ */ jsx(Splitter.Panel, { collapsible: false, max: 800, min: 400, size: sizes[1], children: /* @__PURE__ */ jsxs(Flex, { vertical: true, className: classNames12("height-full"), children: [
2822
+ /* @__PURE__ */ jsx(Splitter.Panel, { collapsible: false, max: 800, min: 400, size: sizes[1], children: /* @__PURE__ */ jsxs(Flex, { vertical: true, className: classNames11("height-full"), children: [
2869
2823
  /* @__PURE__ */ jsx(RenderWrapper, { control: configState.layout.chatHeader, DefaultComponent: ChatHeader_default }),
2870
- /* @__PURE__ */ jsx(Flex, { vertical: true, className: classNames12("full-scroll"), children: /* @__PURE__ */ jsxs(
2824
+ /* @__PURE__ */ jsx(Flex, { vertical: true, className: classNames11("full-scroll"), children: /* @__PURE__ */ jsxs(
2871
2825
  Flex,
2872
2826
  {
2873
2827
  justify: "center",
2874
2828
  vertical: true,
2875
2829
  gap: 24,
2876
- className: classNames12("height-full", styles_module_default5.nsChatBody, "zero-chat-body", styles_module_default5.nsBodyWidth),
2830
+ className: classNames11("height-full", styles_module_default5.nsChatBody, "zero-chat-body", styles_module_default5.nsBodyWidth),
2877
2831
  children: [
2878
2832
  shouldRender(configState.layout.messageList) && /* @__PURE__ */ jsx("div", { className: "full-scroll", children: /* @__PURE__ */ jsx(RenderWrapper, { control: configState.layout.messageList, DefaultComponent: BubbleListItems_default }) }),
2879
2833
  /* @__PURE__ */ jsxs(Flex, { vertical: true, gap: 8, children: [