chore(react): consolidate @radix-ui/* deps into radix-ui/internal (#6192)

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
Simon Farshid
2026-08-20 11:43:09 -07:00
committed by GitHub
parent 75e3ef71be
commit 08611a01b9
47 changed files with 66 additions and 88 deletions
@@ -0,0 +1,5 @@
---
"@assistant-ui/react": patch
---
chore: import Radix internals from `radix-ui/internal` and drop the individual `@radix-ui/*` dependencies
+2 -2
View File
@@ -1,9 +1,9 @@
import "@radix-ui/react-primitive";
import { StandardSchemaV1 } from "@standard-schema/spec";
import "radix-ui";
import "radix-ui/internal";
import { CSSProperties, ComponentType, ReactNode } from "react";
import "react-textarea-autosize";
@@ -1,9 +1,9 @@
import "@radix-ui/react-primitive";
import { StandardSchemaV1 } from "@standard-schema/spec";
import "radix-ui";
import "radix-ui/internal";
import { ComponentType, ReactNode } from "react";
import "react-textarea-autosize";
@@ -4,6 +4,8 @@ import "@standard-schema/spec";
import "radix-ui";
import "radix-ui/internal";
import { ComponentProps, ComponentPropsWithoutRef, ComponentType, ElementType, ForwardRefExoticComponent, RefAttributes } from "react";
import { Options } from "react-markdown";
+2 -2
View File
@@ -1,11 +1,11 @@
import { AssistantMessage, Event, FilePart, GlobalSession, Message as Message$1, Message as Message$2, Model, OpencodeClient, OpencodeClient as OpencodeClient$1, OpencodeClientConfig, Part, Part as Part$1, PermissionRequest, PermissionRequest as PermissionRequest$1, Provider, QuestionAnswer, QuestionAnswer as QuestionAnswer$1, QuestionRequest, QuestionRequest as QuestionRequest$1, ReasoningPart, Session, Session as Session$1, SessionStatus, SessionStatus as SessionStatus$1, SnapshotPart, StepFinishPart, StepStartPart, TextPart, ToolPart, ToolState, UserMessage, createOpencodeClient as createOpencodeClient$1 } from "@opencode-ai/sdk/v2/client";
import "@radix-ui/react-primitive";
import { StandardSchemaV1 } from "@standard-schema/spec";
import "radix-ui";
import "radix-ui/internal";
import "react-textarea-autosize";
import "zustand";
+2 -2
View File
@@ -1,11 +1,11 @@
import { createAgentSession } from "@earendil-works/pi-coding-agent";
import "@radix-ui/react-primitive";
import { StandardSchemaV1 } from "@standard-schema/spec";
import "radix-ui";
import "radix-ui/internal";
import "react-textarea-autosize";
import "zustand";
@@ -1,9 +1,9 @@
import "@radix-ui/react-primitive";
import "@standard-schema/spec";
import "radix-ui";
import "radix-ui/internal";
import { ComponentPropsWithoutRef, ComponentType, ReactNode } from "react";
import "react-textarea-autosize";
@@ -4,6 +4,8 @@ import "@standard-schema/spec";
import "radix-ui";
import "radix-ui/internal";
import { ComponentPropsWithoutRef, ComponentType } from "react";
import "react-markdown";
+2 -2
View File
@@ -1,9 +1,9 @@
import { Primitive } from "@radix-ui/react-primitive";
import { StandardSchemaV1 } from "@standard-schema/spec";
import { DropdownMenu, Popover } from "radix-ui";
import { Primitive } from "radix-ui/internal";
import React, { CSSProperties, ComponentPropsWithoutRef, ComponentRef, ComponentType, ElementRef, ElementType, FC, ForwardRefExoticComponent, KeyboardEventHandler, PropsWithChildren, ReactElement, ReactNode, RefAttributes, RefCallback, RefObject } from "react";
import { TextareaAutosizeProps } from "react-textarea-autosize";
-8
View File
@@ -65,14 +65,6 @@
"@assistant-ui/core": "^0.3.15",
"@assistant-ui/store": "^0.3.10",
"@assistant-ui/tap": "^0.9.14",
"@radix-ui/primitive": "^1.1.7",
"@radix-ui/react-collection": "^1.1.15",
"@radix-ui/react-compose-refs": "^1.1.5",
"@radix-ui/react-context": "^1.2.2",
"@radix-ui/react-primitive": "^2.1.10",
"@radix-ui/react-use-callback-ref": "^1.1.4",
"@radix-ui/react-use-controllable-state": "^1.2.6",
"@radix-ui/react-use-escape-keydown": "^1.1.5",
"assistant-cloud": "^0.1.41",
"assistant-stream": "^0.3.39",
"radix-ui": "^1.6.7",
@@ -12,7 +12,7 @@ import {
useContext,
} from "react";
import { useAui } from "@assistant-ui/store";
import { useComposedRefs } from "@radix-ui/react-compose-refs";
import { useComposedRefs } from "radix-ui/internal";
import { tool } from "@assistant-ui/core";
const click = tool({
@@ -2,7 +2,7 @@
import { forwardRef } from "react";
import type { ActionButtonProps } from "../../utils/createActionButton";
import { composeEventHandlers } from "@radix-ui/primitive";
import { composeEventHandlers } from "radix-ui/internal";
import { Primitive } from "../../utils/Primitive";
import { useActionBarCopy } from "@assistant-ui/core/react";
import { useAuiState } from "@assistant-ui/store";
@@ -2,7 +2,7 @@
import { forwardRef, useCallback } from "react";
import type { ActionButtonProps } from "../../utils/createActionButton";
import { composeEventHandlers } from "@radix-ui/primitive";
import { composeEventHandlers } from "radix-ui/internal";
import { Primitive } from "../../utils/Primitive";
import { useAuiState, useAui } from "@assistant-ui/store";
@@ -2,7 +2,7 @@
import { forwardRef } from "react";
import type { ActionButtonProps } from "../../utils/createActionButton";
import { composeEventHandlers } from "@radix-ui/primitive";
import { composeEventHandlers } from "radix-ui/internal";
import { Primitive } from "../../utils/Primitive";
import { useAuiState } from "@assistant-ui/store";
import { useActionBarFeedbackNegative as useActionBarFeedbackNegativeBehavior } from "@assistant-ui/core/react";
@@ -2,7 +2,7 @@
import { forwardRef } from "react";
import type { ActionButtonProps } from "../../utils/createActionButton";
import { composeEventHandlers } from "@radix-ui/primitive";
import { composeEventHandlers } from "radix-ui/internal";
import { useAuiState } from "@assistant-ui/store";
import { Primitive } from "../../utils/Primitive";
import { useActionBarFeedbackPositive as useActionBarFeedbackPositiveBehavior } from "@assistant-ui/core/react";
@@ -3,7 +3,7 @@
import { forwardRef } from "react";
import type { ActionButtonProps } from "../../utils/createActionButton";
import { Primitive } from "../../utils/Primitive";
import { composeEventHandlers } from "@radix-ui/primitive";
import { composeEventHandlers } from "radix-ui/internal";
import { useActionBarStopSpeaking as useActionBarStopSpeakingBehavior } from "@assistant-ui/core/react";
const useActionBarStopSpeaking = () => {
@@ -1,8 +1,8 @@
import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
import type { Scope } from "@radix-ui/react-context";
import type { Context } from "radix-ui/internal";
export const useDropdownMenuScope: ReturnType<
typeof DropdownMenuPrimitive.createDropdownMenuScope
> = DropdownMenuPrimitive.createDropdownMenuScope();
export type ScopedProps<P> = P & { __scopeActionBarMore?: Scope };
export type ScopedProps<P> = P & { __scopeActionBarMore?: Context.Scope };
@@ -6,7 +6,7 @@ import {
forwardRef,
} from "react";
import { Popover as PopoverPrimitive } from "radix-ui";
import { composeEventHandlers } from "@radix-ui/primitive";
import { composeEventHandlers } from "radix-ui/internal";
import type { WithRenderPropProps } from "../../utils/Primitive";
import { PopoverRenderContent } from "./popoverRenderPrimitives";
import { type ScopedProps, usePopoverScope } from "./scope";
@@ -1,7 +1,7 @@
import { Popover as PopoverPrimitive } from "radix-ui";
import type { Scope } from "@radix-ui/react-context";
import type { Context } from "radix-ui/internal";
export const usePopoverScope: ReturnType<
typeof PopoverPrimitive.createPopoverScope
> = PopoverPrimitive.createPopoverScope();
export type ScopedProps<P> = P & { __scopeAssistantModal?: Scope };
export type ScopedProps<P> = P & { __scopeAssistantModal?: Context.Scope };
@@ -9,7 +9,7 @@ import {
isValidElement,
} from "react";
import { composeEventHandlers } from "@radix-ui/primitive";
import { composeEventHandlers } from "radix-ui/internal";
import { Slot } from "radix-ui";
import type React from "react";
import { useAui } from "@assistant-ui/store";
@@ -81,7 +81,8 @@ vi.mock("./trigger/TriggerPopoverRootContext", () => ({
let escapeKeydownHandler: ((event: KeyboardEvent) => void) | null = null;
vi.mock("@radix-ui/react-use-escape-keydown", () => ({
vi.mock("radix-ui/internal", async (importOriginal) => ({
...(await importOriginal<typeof import("radix-ui/internal")>()),
useEscapeKeydown: (handler: (event: KeyboardEvent) => void) => {
escapeKeydownHandler = handler;
},
@@ -1,7 +1,7 @@
"use client";
import { composeEventHandlers } from "@radix-ui/primitive";
import { useComposedRefs } from "@radix-ui/react-compose-refs";
import { composeEventHandlers } from "radix-ui/internal";
import { useComposedRefs } from "radix-ui/internal";
import { Slot } from "radix-ui";
import {
type ClipboardEvent,
@@ -19,7 +19,7 @@ import TextareaAutosize, {
type TextareaAutosizeProps,
type TextareaHeightChangeMeta,
} from "react-textarea-autosize";
import { useEscapeKeydown } from "@radix-ui/react-use-escape-keydown";
import { useEscapeKeydown } from "radix-ui/internal";
import { useOnScrollToBottom } from "../../utils/hooks/useOnScrollToBottom";
import { useMediaQuery } from "../../utils/hooks/useMediaQuery";
import { useAui } from "@assistant-ui/store";
@@ -8,7 +8,7 @@ import {
useCallback,
} from "react";
import { useAui, useAuiState } from "@assistant-ui/store";
import { composeEventHandlers } from "@radix-ui/primitive";
import { composeEventHandlers } from "radix-ui/internal";
// ---- Root ----
@@ -1,6 +1,6 @@
"use client";
import { composeEventHandlers } from "@radix-ui/primitive";
import { composeEventHandlers } from "radix-ui/internal";
import { useAuiState } from "@assistant-ui/store";
import { Primitive } from "../../utils/Primitive";
import {
@@ -6,7 +6,7 @@ import {
type ComponentPropsWithoutRef,
forwardRef,
} from "react";
import { composeEventHandlers } from "@radix-ui/primitive";
import { composeEventHandlers } from "radix-ui/internal";
import { useTriggerPopoverScopeContext } from "./TriggerPopover";
export namespace ComposerPrimitiveTriggerPopoverBack {
@@ -8,7 +8,7 @@ import {
forwardRef,
useCallback,
} from "react";
import { composeEventHandlers } from "@radix-ui/primitive";
import { composeEventHandlers } from "radix-ui/internal";
import { useTriggerPopoverScopeContext } from "./TriggerPopover";
import type { Unstable_TriggerCategory } from "@assistant-ui/core";
@@ -8,7 +8,7 @@ import {
forwardRef,
useCallback,
} from "react";
import { composeEventHandlers } from "@radix-ui/primitive";
import { composeEventHandlers } from "radix-ui/internal";
import { useTriggerPopoverScopeContext } from "./TriggerPopover";
import type { Unstable_TriggerItem } from "@assistant-ui/core";
@@ -10,7 +10,7 @@ import {
} from "react";
import { useAui, useAuiState } from "@assistant-ui/store";
import { useManagedRef } from "../../utils/hooks/useManagedRef";
import { useComposedRefs } from "@radix-ui/react-compose-refs";
import { useComposedRefs } from "radix-ui/internal";
import {
useThreadViewport,
useThreadViewportStore,
@@ -1,7 +1,7 @@
"use client";
import { Primitive } from "../../utils/Primitive";
import { composeEventHandlers } from "@radix-ui/primitive";
import { composeEventHandlers } from "radix-ui/internal";
import {
type ComponentPropsWithoutRef,
type ComponentRef,
@@ -1,7 +1,7 @@
"use client";
import { Primitive } from "../../utils/Primitive";
import { composeEventHandlers } from "@radix-ui/primitive";
import { composeEventHandlers } from "radix-ui/internal";
import {
type ComponentPropsWithoutRef,
type ComponentRef,
@@ -1,6 +1,6 @@
"use client";
import { useComposedRefs } from "@radix-ui/react-compose-refs";
import { useComposedRefs } from "radix-ui/internal";
import { Primitive } from "../../utils/Primitive";
import {
type ComponentRef,
@@ -1,6 +1,6 @@
"use client";
import { useComposedRefs } from "@radix-ui/react-compose-refs";
import { useComposedRefs } from "radix-ui/internal";
import { Primitive } from "../../utils/Primitive";
import {
type ComponentRef,
@@ -1,6 +1,6 @@
"use client";
import { useComposedRefs } from "@radix-ui/react-compose-refs";
import { useComposedRefs } from "radix-ui/internal";
import { useCallback, useLayoutEffect, useRef, type RefCallback } from "react";
import { useAuiEvent, useAuiState } from "@assistant-ui/store";
import { isUserScrollUp } from "@assistant-ui/store/client";
@@ -6,7 +6,7 @@ import type {
} from "../../utils/createActionButton";
import { forwardRef } from "react";
import { Primitive } from "../../utils/Primitive";
import { composeEventHandlers } from "@radix-ui/primitive";
import { composeEventHandlers } from "radix-ui/internal";
import { useAuiState } from "@assistant-ui/store";
import { useThreadListNew as useThreadListNewBehavior } from "@assistant-ui/core/react";
@@ -1,10 +1,10 @@
"use client";
import { createCollection } from "@radix-ui/react-collection";
import { Collection } from "radix-ui/internal";
import { createContext, useContext, type RefObject } from "react";
const [collection, useThreadListCollection] =
createCollection<HTMLButtonElement>("ThreadList");
Collection.createCollection<HTMLButtonElement>("ThreadList");
export const ThreadListCollection = collection;
export { useThreadListCollection };
@@ -10,7 +10,7 @@ import {
useRef,
} from "react";
import { useAuiState } from "@assistant-ui/store";
import { composeEventHandlers } from "@radix-ui/primitive";
import { composeEventHandlers } from "radix-ui/internal";
import { Direction } from "radix-ui";
import {
ThreadListItemFocusProvider,
@@ -1,7 +1,7 @@
"use client";
import { forwardRef } from "react";
import { useComposedRefs } from "@radix-ui/react-compose-refs";
import { useComposedRefs } from "radix-ui/internal";
import {
type ActionButtonElement,
type ActionButtonProps,
@@ -6,7 +6,7 @@ import {
forwardRef,
} from "react";
import { Direction, DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
import { composeEventHandlers } from "@radix-ui/primitive";
import { composeEventHandlers } from "radix-ui/internal";
import type { WithRenderPropProps } from "../../utils/Primitive";
import { DropdownMenuRenderContent } from "../dropdownMenuRenderPrimitives";
import { useThreadListItemFocus } from "../threadListFocusGroup";
@@ -8,7 +8,7 @@ import {
useContext,
} from "react";
import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
import { useControllableState } from "@radix-ui/react-use-controllable-state";
import { useControllableState } from "radix-ui/internal";
import { type ScopedProps, useDropdownMenuScope } from "./scope";
const ThreadListItemMoreSetOpenContext = createContext<
@@ -5,8 +5,8 @@ import {
Direction,
type DropdownMenu as DropdownMenuPrimitive,
} from "radix-ui";
import { useComposedRefs } from "@radix-ui/react-compose-refs";
import { composeEventHandlers } from "@radix-ui/primitive";
import { useComposedRefs } from "radix-ui/internal";
import { composeEventHandlers } from "radix-ui/internal";
import type { WithRenderPropProps } from "../../utils/Primitive";
import { DropdownMenuRenderTrigger } from "../dropdownMenuRenderPrimitives";
import { useThreadListItemFocus } from "../threadListFocusGroup";
@@ -1,8 +1,8 @@
import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
import type { Scope } from "@radix-ui/react-context";
import type { Context } from "radix-ui/internal";
export const useDropdownMenuScope: ReturnType<
typeof DropdownMenuPrimitive.createDropdownMenuScope
> = DropdownMenuPrimitive.createDropdownMenuScope();
export type ScopedProps<P> = P & { __scopeThreadListItemMore?: Scope };
export type ScopedProps<P> = P & { __scopeThreadListItemMore?: Context.Scope };
+2 -2
View File
@@ -11,10 +11,10 @@ import {
forwardRef,
isValidElement,
} from "react";
import { Primitive as RadixPrimitive } from "@radix-ui/react-primitive";
import { Primitive as RadixPrimitive } from "radix-ui/internal";
/**
* Thin wrapper around `@radix-ui/react-primitive` that adds `render` prop support.
* Thin wrapper around Radix `Primitive` that adds `render` prop support.
*
* When `render` is provided, it is converted to the equivalent `asChild` pattern:
* render={<Comp props />} + children → asChild + <Comp props>{children}</Comp>
@@ -5,7 +5,7 @@ import {
type MouseEventHandler,
} from "react";
import { Primitive } from "./Primitive";
import { composeEventHandlers } from "@radix-ui/primitive";
import { composeEventHandlers } from "radix-ui/internal";
type ActionButtonCallback<TProps> = (
props: TProps,
@@ -1,4 +1,4 @@
import { useCallbackRef } from "@radix-ui/react-use-callback-ref";
import { useCallbackRef } from "radix-ui/internal";
import { useCallback } from "react";
import { useManagedRef } from "./useManagedRef";
@@ -1,6 +1,6 @@
"use client";
import { useCallbackRef } from "@radix-ui/react-use-callback-ref";
import { useCallbackRef } from "radix-ui/internal";
import { useEffect } from "react";
import { useThreadViewport } from "../../context/react/ThreadViewportContext";
+1 -1
View File
@@ -8,7 +8,7 @@ import type {
TextMessagePart,
MessagePartState,
} from "@assistant-ui/core";
import { useCallbackRef } from "@radix-ui/react-use-callback-ref";
import { useCallbackRef } from "radix-ui/internal";
import { useMediaQuery } from "../hooks/useMediaQuery";
import { useSmoothStatusStore } from "./SmoothContext";
import { writableStore } from "../../context/ReadonlyStore";
-24
View File
@@ -4006,30 +4006,6 @@ importers:
'@assistant-ui/tap':
specifier: ^0.9.14
version: link:../tap
'@radix-ui/primitive':
specifier: ^1.1.7
version: 1.1.7
'@radix-ui/react-collection':
specifier: ^1.1.15
version: 1.1.15(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
'@radix-ui/react-compose-refs':
specifier: ^1.1.5
version: 1.1.5(@types/react@19.2.18)(react@19.2.8)
'@radix-ui/react-context':
specifier: ^1.2.2
version: 1.2.2(@types/react@19.2.18)(react@19.2.8)
'@radix-ui/react-primitive':
specifier: ^2.1.10
version: 2.1.10(@types/react-dom@19.2.4(@types/react@19.2.18))(@types/react@19.2.18)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
'@radix-ui/react-use-callback-ref':
specifier: ^1.1.4
version: 1.1.4(@types/react@19.2.18)(react@19.2.8)
'@radix-ui/react-use-controllable-state':
specifier: ^1.2.6
version: 1.2.6(@types/react@19.2.18)(react@19.2.8)
'@radix-ui/react-use-escape-keydown':
specifier: ^1.1.5
version: 1.1.5(@types/react@19.2.18)(react@19.2.8)
assistant-cloud:
specifier: ^0.1.41
version: link:../cloud