From 3d31f108bf5dad35242b244da918a1f3abae2a19 Mon Sep 17 00:00:00 2001 From: Simon Farshid Date: Thu, 10 Oct 2024 10:46:13 -0700 Subject: [PATCH] refactor: deprecate primitive-hooks (#961) * refactor: deprecate primitive-hooks * changeset --- .changeset/fresh-books-greet.md | 5 ++++ .../src/primitive-hooks/actionBar/index.ts | 29 +++++++++++++++++++ .../src/primitive-hooks/branchPicker/index.ts | 14 +++++++++ .../branchPicker/useBranchPickerNext.tsx | 14 ++++----- .../branchPicker/useBranchPickerPrevious.tsx | 11 ++----- .../src/primitive-hooks/composer/index.ts | 10 +++++++ .../react/src/primitive-hooks/thread/index.ts | 6 ++++ 7 files changed, 71 insertions(+), 18 deletions(-) create mode 100644 .changeset/fresh-books-greet.md diff --git a/.changeset/fresh-books-greet.md b/.changeset/fresh-books-greet.md new file mode 100644 index 0000000000..292a2530f4 --- /dev/null +++ b/.changeset/fresh-books-greet.md @@ -0,0 +1,5 @@ +--- +"@assistant-ui/react": patch +--- + +refactor: deprecate primitive-hooks diff --git a/packages/react/src/primitive-hooks/actionBar/index.ts b/packages/react/src/primitive-hooks/actionBar/index.ts index 6e1faed36b..c82789cf79 100644 --- a/packages/react/src/primitive-hooks/actionBar/index.ts +++ b/packages/react/src/primitive-hooks/actionBar/index.ts @@ -1,10 +1,39 @@ export { + /** + * @deprecated Use `useMessageRuntime().copy()` instead. This will be removed in 0.6. + */ useActionBarCopy, + /** + * @deprecated Use `useMessageRuntime().copy()` instead. This will be removed in 0.6. + */ type UseActionBarCopyProps, } from "./useActionBarCopy"; +/** + * @deprecated Use `useMessageRuntime().composer.beginEdit()` instead. This will be removed in 0.6. + */ export { useActionBarEdit } from "./useActionBarEdit"; + +/** + * @deprecated Use `useMessageRuntime().reload()` instead. This will be removed in 0.6. + */ export { useActionBarReload } from "./useActionBarReload"; + +/** + * @deprecated Use `useMessageRuntime().speak()` instead. This will be removed in 0.6. + */ export { useActionBarSpeak } from "./useActionBarSpeak"; + +/** + * @deprecated Use `useMessageRuntime().stopSpeaking()` instead. This will be removed in 0.6. + */ export { useActionBarStopSpeaking } from "./useActionBarStopSpeaking"; + +/** + * @deprecated Use `useMessageRuntime().submitFeedback()` instead. This will be removed in 0.6. + */ export { useActionBarFeedbackPositive } from "./useActionBarFeedbackPositive"; + +/** + * @deprecated Use `useMessageRuntime().submitFeedback()` instead. This will be removed in 0.6. + */ export { useActionBarFeedbackNegative } from "./useActionBarFeedbackNegative"; diff --git a/packages/react/src/primitive-hooks/branchPicker/index.ts b/packages/react/src/primitive-hooks/branchPicker/index.ts index c9eabf6537..93ec8020f1 100644 --- a/packages/react/src/primitive-hooks/branchPicker/index.ts +++ b/packages/react/src/primitive-hooks/branchPicker/index.ts @@ -1,4 +1,18 @@ +/** + * @deprecated Use `useMessage(m => m.branhcCount)` instead. This will be removed in 0.6. + */ export { useBranchPickerCount } from "./useBranchPickerCount"; + +/** + * @deprecated Use `useMessageRuntime().switchToBranch({ position: "next" })` instead. This will be removed in 0.6. + */ export { useBranchPickerNext } from "./useBranchPickerNext"; +/** + * @deprecated Use `useMessage(m => m.branchNumber)` instead. This will be removed in 0.6. + */ export { useBranchPickerNumber } from "./useBranchPickerNumber"; + +/** + * @deprecated Use `useMessageRuntime().switchToBranch({ position: "previous" })` instead. This will be removed in 0.6. + */ export { useBranchPickerPrevious } from "./useBranchPickerPrevious"; diff --git a/packages/react/src/primitive-hooks/branchPicker/useBranchPickerNext.tsx b/packages/react/src/primitive-hooks/branchPicker/useBranchPickerNext.tsx index e0b9179df0..e641ce0522 100644 --- a/packages/react/src/primitive-hooks/branchPicker/useBranchPickerNext.tsx +++ b/packages/react/src/primitive-hooks/branchPicker/useBranchPickerNext.tsx @@ -1,16 +1,12 @@ import { useCallback } from "react"; -import { useCombinedStore } from "../../utils/combined/useCombinedStore"; -import { useEditComposerStore, useMessageStore } from "../../context"; -import { useMessageRuntime } from "../../context/react/MessageContext"; +import { + useMessage, + useMessageRuntime, +} from "../../context/react/MessageContext"; export const useBranchPickerNext = () => { const messageRuntime = useMessageRuntime(); - const messageStore = useMessageStore(); - const editComposerStore = useEditComposerStore(); - const disabled = useCombinedStore( - [messageStore, editComposerStore], - (m, c) => c.isEditing || m.branchNumber >= m.branchCount, - ); + const disabled = useMessage((m) => m.branchNumber >= m.branchCount); const callback = useCallback(() => { messageRuntime.switchToBranch({ position: "next" }); diff --git a/packages/react/src/primitive-hooks/branchPicker/useBranchPickerPrevious.tsx b/packages/react/src/primitive-hooks/branchPicker/useBranchPickerPrevious.tsx index 8428b4742f..22c8536b0a 100644 --- a/packages/react/src/primitive-hooks/branchPicker/useBranchPickerPrevious.tsx +++ b/packages/react/src/primitive-hooks/branchPicker/useBranchPickerPrevious.tsx @@ -1,19 +1,12 @@ import { useCallback } from "react"; import { - useEditComposerStore, + useMessage, useMessageRuntime, - useMessageStore, } from "../../context/react/MessageContext"; -import { useCombinedStore } from "../../utils/combined/useCombinedStore"; export const useBranchPickerPrevious = () => { const messageRuntime = useMessageRuntime(); - const messageStore = useMessageStore(); - const editComposerStore = useEditComposerStore(); - const disabled = useCombinedStore( - [messageStore, editComposerStore], - (m, c) => c.isEditing || m.branchNumber <= 1, - ); + const disabled = useMessage((m) => m.branchNumber <= 1); const callback = useCallback(() => { messageRuntime.switchToBranch({ position: "previous" }); diff --git a/packages/react/src/primitive-hooks/composer/index.ts b/packages/react/src/primitive-hooks/composer/index.ts index ce83b58faa..d7f49544e5 100644 --- a/packages/react/src/primitive-hooks/composer/index.ts +++ b/packages/react/src/primitive-hooks/composer/index.ts @@ -1,4 +1,14 @@ +/** + * @deprecated Use `useComposerRuntime().cancel()` instead. This will be removed in 0.6. + */ export { useComposerCancel } from "./useComposerCancel"; export { useComposerIf } from "./useComposerIf"; +/** + * @deprecated Use `useComposerRuntime().send()` instead. This will be removed in 0.6. + */ export { useComposerSend } from "./useComposerSend"; + +/** + * @deprecated Use `useComposerRuntime().addAttachment()` instead. This will be removed in 0.6. + */ export { useComposerAddAttachment } from "./useComposerAddAttachment"; diff --git a/packages/react/src/primitive-hooks/thread/index.ts b/packages/react/src/primitive-hooks/thread/index.ts index 782df78326..a496727395 100644 --- a/packages/react/src/primitive-hooks/thread/index.ts +++ b/packages/react/src/primitive-hooks/thread/index.ts @@ -1,4 +1,10 @@ export { useThreadEmpty } from "./useThreadEmpty"; export { useThreadIf } from "./useThreadIf"; +/** + * @deprecated Use `useThreadViewport().scrollToBottom()` instead. This will be removed in 0.6. + */ export { useThreadScrollToBottom } from "./useThreadScrollToBottom"; +/** + * @deprecated Use `useThreadRuntime().append()` instead. This will be removed in 0.6. + */ export { useThreadSuggestion } from "./useThreadSuggestion";