@nextclaw/agent-chat-ui 0.4.10 → 0.4.12

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.ts CHANGED
@@ -384,7 +384,14 @@ type UseStickyBottomScrollParams = {
384
384
  type UseStickyBottomScrollResult = {
385
385
  onScroll: () => void;
386
386
  };
387
- declare function useStickyBottomScroll(params: UseStickyBottomScrollParams): UseStickyBottomScrollResult;
387
+ declare function useStickyBottomScroll({
388
+ contentVersion,
389
+ hasContent,
390
+ isLoading,
391
+ resetKey,
392
+ scrollRef,
393
+ stickyThresholdPx
394
+ }: UseStickyBottomScrollParams): UseStickyBottomScrollResult;
388
395
  //#endregion
389
396
  //#region src/components/chat/utils/copy-text.d.ts
390
397
  declare function copyText(text: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/components/chat/view-models/chat-ui.types.ts","../src/components/chat/ui/chat-input-bar/chat-input-bar.tsx","../src/components/chat/ui/chat-message-list/chat-message-list.tsx","../src/components/chat/ui/chat-message-list/chat-message-markdown.tsx","../src/components/chat/ui/chat-message-list/tool-card/tool-card-file-operation-lines.tsx","../src/components/chat/hooks/use-active-item-scroll.ts","../src/components/chat/hooks/use-copy-feedback.ts","../src/components/chat/hooks/use-element-width.ts","../src/components/chat/hooks/use-sticky-bottom-scroll.ts","../src/components/chat/utils/copy-text.ts","../src/components/chat/ui/chat-input-bar/chat-composer.utils.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/components/chat/view-models/chat-ui.types.ts","../src/components/chat/ui/chat-input-bar/chat-input-bar.tsx","../src/components/chat/ui/chat-message-list/chat-message-list.tsx","../src/components/chat/ui/chat-message-list/chat-message-markdown.tsx","../src/components/chat/ui/chat-message-list/tool-card/tool-card-file-operation-lines.tsx","../src/components/chat/hooks/use-active-item-scroll.ts","../src/components/chat/hooks/use-copy-feedback.ts","../src/components/chat/hooks/use-element-width.ts","../src/components/chat/hooks/use-sticky-bottom-scroll.ts","../src/components/chat/utils/copy-text.ts","../src/components/chat/ui/chat-input-bar/chat-composer.utils.ts"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -2912,73 +2912,67 @@ function useReasoningBlockOpenState(params) {
2912
2912
  //#endregion
2913
2913
  //#region src/components/chat/hooks/use-sticky-bottom-scroll.ts
2914
2914
  const DEFAULT_STICKY_THRESHOLD_PX = 10;
2915
- function scrollElementToBottom(element) {
2916
- element.scrollTop = element.scrollHeight;
2917
- }
2918
- function queueScrollToBottom(params) {
2919
- if (!params.scrollRef.current) return;
2920
- if (params.scheduledScrollFrameRef.current !== null) cancelAnimationFrame(params.scheduledScrollFrameRef.current);
2921
- params.scheduledScrollFrameRef.current = requestAnimationFrame(() => {
2922
- params.scheduledScrollFrameRef.current = null;
2923
- const currentElement = params.scrollRef.current;
2924
- if (!currentElement) return;
2925
- params.isProgrammaticScrollRef.current = true;
2926
- scrollElementToBottom(currentElement);
2927
- });
2928
- }
2929
- function useStickyBottomScroll(params) {
2915
+ function useStickyBottomScroll({ contentVersion, hasContent, isLoading, resetKey, scrollRef, stickyThresholdPx }) {
2930
2916
  const isStickyRef = useRef(true);
2931
2917
  const isProgrammaticScrollRef = useRef(false);
2932
2918
  const previousResetKeyRef = useRef(null);
2933
2919
  const pendingInitialScrollRef = useRef(false);
2934
2920
  const scheduledScrollFrameRef = useRef(null);
2921
+ const queueScrollToBottom = useCallback(() => {
2922
+ if (!scrollRef.current) return;
2923
+ if (scheduledScrollFrameRef.current !== null) cancelAnimationFrame(scheduledScrollFrameRef.current);
2924
+ scheduledScrollFrameRef.current = requestAnimationFrame(() => {
2925
+ scheduledScrollFrameRef.current = null;
2926
+ const currentElement = scrollRef.current;
2927
+ if (!currentElement) return;
2928
+ isProgrammaticScrollRef.current = true;
2929
+ currentElement.scrollTop = currentElement.scrollHeight;
2930
+ });
2931
+ }, [scrollRef]);
2935
2932
  const onScroll = () => {
2936
2933
  if (isProgrammaticScrollRef.current) {
2937
2934
  isProgrammaticScrollRef.current = false;
2938
2935
  return;
2939
2936
  }
2940
- const element = params.scrollRef.current;
2937
+ const element = scrollRef.current;
2941
2938
  if (!element) return;
2942
- isStickyRef.current = element.scrollHeight - element.scrollTop - element.clientHeight <= (params.stickyThresholdPx ?? DEFAULT_STICKY_THRESHOLD_PX);
2939
+ isStickyRef.current = element.scrollHeight - element.scrollTop - element.clientHeight <= (stickyThresholdPx ?? DEFAULT_STICKY_THRESHOLD_PX);
2943
2940
  };
2944
2941
  useEffect(() => {
2945
- if (previousResetKeyRef.current === params.resetKey) return;
2946
- previousResetKeyRef.current = params.resetKey;
2942
+ if (previousResetKeyRef.current === resetKey) return;
2943
+ previousResetKeyRef.current = resetKey;
2947
2944
  isStickyRef.current = true;
2948
2945
  pendingInitialScrollRef.current = true;
2949
- }, [params.resetKey]);
2946
+ }, [resetKey]);
2950
2947
  useEffect(() => {
2951
- const scheduledScrollFrame = scheduledScrollFrameRef.current;
2952
2948
  return () => {
2953
- if (scheduledScrollFrame !== null) cancelAnimationFrame(scheduledScrollFrame);
2949
+ const scheduledScrollFrame = scheduledScrollFrameRef.current;
2950
+ if (scheduledScrollFrame !== null) {
2951
+ cancelAnimationFrame(scheduledScrollFrame);
2952
+ scheduledScrollFrameRef.current = null;
2953
+ }
2954
2954
  };
2955
2955
  }, []);
2956
2956
  useLayoutEffect(() => {
2957
- if (!pendingInitialScrollRef.current || params.isLoading || !params.hasContent) return;
2958
- if (!params.scrollRef.current) return;
2957
+ if (!pendingInitialScrollRef.current || isLoading || !hasContent) return;
2958
+ if (!scrollRef.current) return;
2959
2959
  pendingInitialScrollRef.current = false;
2960
- queueScrollToBottom({
2961
- scrollRef: params.scrollRef,
2962
- scheduledScrollFrameRef,
2963
- isProgrammaticScrollRef
2964
- });
2960
+ queueScrollToBottom();
2965
2961
  }, [
2966
- params.hasContent,
2967
- params.isLoading,
2968
- params.scrollRef
2962
+ hasContent,
2963
+ isLoading,
2964
+ queueScrollToBottom,
2965
+ scrollRef
2969
2966
  ]);
2970
2967
  useLayoutEffect(() => {
2971
- if (!isStickyRef.current || !params.hasContent) return;
2972
- if (!params.scrollRef.current) return;
2973
- queueScrollToBottom({
2974
- scrollRef: params.scrollRef,
2975
- scheduledScrollFrameRef,
2976
- isProgrammaticScrollRef
2977
- });
2968
+ if (!isStickyRef.current || !hasContent) return;
2969
+ if (!scrollRef.current) return;
2970
+ queueScrollToBottom();
2978
2971
  }, [
2979
- params.contentVersion,
2980
- params.hasContent,
2981
- params.scrollRef
2972
+ contentVersion,
2973
+ hasContent,
2974
+ queueScrollToBottom,
2975
+ scrollRef
2982
2976
  ]);
2983
2977
  return { onScroll };
2984
2978
  }