@agent-native/toolkit 0.9.0 → 0.10.0
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/README.md +12 -3
- package/agent-native.eject.json +71 -0
- package/dist/chat-history/ChatHistoryRail.d.ts +33 -0
- package/dist/chat-history/ChatHistoryRail.d.ts.map +1 -0
- package/dist/chat-history/ChatHistoryRail.js +35 -0
- package/dist/chat-history/ChatHistoryRail.js.map +1 -0
- package/dist/chat-history/ChatHistoryRail.spec.d.ts +2 -0
- package/dist/chat-history/ChatHistoryRail.spec.d.ts.map +1 -0
- package/dist/chat-history/ChatHistoryRail.spec.js +157 -0
- package/dist/chat-history/ChatHistoryRail.spec.js.map +1 -0
- package/dist/chat-history/index.d.ts +2 -0
- package/dist/chat-history/index.d.ts.map +1 -1
- package/dist/chat-history/index.js +2 -0
- package/dist/chat-history/index.js.map +1 -1
- package/dist/chat-history/useChatHistoryRailController.d.ts +26 -0
- package/dist/chat-history/useChatHistoryRailController.d.ts.map +1 -0
- package/dist/chat-history/useChatHistoryRailController.js +36 -0
- package/dist/chat-history/useChatHistoryRailController.js.map +1 -0
- package/dist/chat-history/useChatHistoryRailController.spec.d.ts +2 -0
- package/dist/chat-history/useChatHistoryRailController.spec.d.ts.map +1 -0
- package/dist/chat-history/useChatHistoryRailController.spec.js +101 -0
- package/dist/chat-history/useChatHistoryRailController.spec.js.map +1 -0
- package/dist/chat-history.css +61 -0
- package/dist/composer/ComposerPlusMenu.js +1 -1
- package/dist/composer/ComposerPlusMenu.js.map +1 -1
- package/dist/composer/PromptComposer.d.ts.map +1 -1
- package/dist/composer/PromptComposer.js +22 -4
- package/dist/composer/PromptComposer.js.map +1 -1
- package/dist/composer/RealtimeVoiceMode.d.ts +5 -1
- package/dist/composer/RealtimeVoiceMode.d.ts.map +1 -1
- package/dist/composer/RealtimeVoiceMode.js +27 -8
- package/dist/composer/RealtimeVoiceMode.js.map +1 -1
- package/dist/composer/RealtimeVoiceMode.spec.js +51 -11
- package/dist/composer/RealtimeVoiceMode.spec.js.map +1 -1
- package/dist/composer/VoiceButton.d.ts +2 -0
- package/dist/composer/VoiceButton.d.ts.map +1 -1
- package/dist/composer/VoiceButton.js +33 -1
- package/dist/composer/VoiceButton.js.map +1 -1
- package/dist/composer/VoiceButton.spec.js +9 -1
- package/dist/composer/VoiceButton.spec.js.map +1 -1
- package/dist/composer/realtime-voice-audio-level.d.ts.map +1 -1
- package/dist/composer/realtime-voice-audio-level.js +2 -1
- package/dist/composer/realtime-voice-audio-level.js.map +1 -1
- package/dist/composer/realtime-voice-audio-level.spec.js +7 -0
- package/dist/composer/realtime-voice-audio-level.spec.js.map +1 -1
- package/dist/composer/useRealtimeVoiceMode.d.ts +7 -0
- package/dist/composer/useRealtimeVoiceMode.d.ts.map +1 -1
- package/dist/composer/useRealtimeVoiceMode.js +95 -23
- package/dist/composer/useRealtimeVoiceMode.js.map +1 -1
- package/dist/composer/useRealtimeVoiceMode.spec.js +58 -9
- package/dist/composer/useRealtimeVoiceMode.spec.js.map +1 -1
- package/dist/conformance/__fixtures__/css-in-js-adapter.d.ts +7 -0
- package/dist/conformance/__fixtures__/css-in-js-adapter.d.ts.map +1 -0
- package/dist/conformance/__fixtures__/css-in-js-adapter.js +84 -0
- package/dist/conformance/__fixtures__/css-in-js-adapter.js.map +1 -0
- package/dist/conformance/conformance.spec.d.ts +2 -0
- package/dist/conformance/conformance.spec.d.ts.map +1 -0
- package/dist/conformance/conformance.spec.js +58 -0
- package/dist/conformance/conformance.spec.js.map +1 -0
- package/dist/conformance/index.d.ts +4 -0
- package/dist/conformance/index.d.ts.map +1 -0
- package/dist/conformance/index.js +4 -0
- package/dist/conformance/index.js.map +1 -0
- package/dist/conformance/runner.d.ts +12 -0
- package/dist/conformance/runner.d.ts.map +1 -0
- package/dist/conformance/runner.js +441 -0
- package/dist/conformance/runner.js.map +1 -0
- package/dist/conformance/types.d.ts +26 -0
- package/dist/conformance/types.d.ts.map +1 -0
- package/dist/conformance/types.js +13 -0
- package/dist/conformance/types.js.map +1 -0
- package/dist/conformance/version.d.ts +6 -0
- package/dist/conformance/version.d.ts.map +1 -0
- package/dist/conformance/version.js +14 -0
- package/dist/conformance/version.js.map +1 -0
- package/dist/design-system/components.d.ts +64 -0
- package/dist/design-system/components.d.ts.map +1 -0
- package/dist/design-system/components.js +50 -0
- package/dist/design-system/components.js.map +1 -0
- package/dist/design-system/context.d.ts +11 -0
- package/dist/design-system/context.d.ts.map +1 -0
- package/dist/design-system/context.js +17 -0
- package/dist/design-system/context.js.map +1 -0
- package/dist/design-system/default-adapter.d.ts +3 -0
- package/dist/design-system/default-adapter.d.ts.map +1 -0
- package/dist/design-system/default-adapter.js +166 -0
- package/dist/design-system/default-adapter.js.map +1 -0
- package/dist/design-system/default-adapter.spec.d.ts +2 -0
- package/dist/design-system/default-adapter.spec.d.ts.map +1 -0
- package/dist/design-system/default-adapter.spec.js +96 -0
- package/dist/design-system/default-adapter.spec.js.map +1 -0
- package/dist/design-system/definition.d.ts +9 -0
- package/dist/design-system/definition.d.ts.map +1 -0
- package/dist/design-system/definition.js +4 -0
- package/dist/design-system/definition.js.map +1 -0
- package/dist/design-system/design-system.spec.d.ts +2 -0
- package/dist/design-system/design-system.spec.d.ts.map +1 -0
- package/dist/design-system/design-system.spec.js +121 -0
- package/dist/design-system/design-system.spec.js.map +1 -0
- package/dist/design-system/error-boundary.d.ts +18 -0
- package/dist/design-system/error-boundary.d.ts.map +1 -0
- package/dist/design-system/error-boundary.js +16 -0
- package/dist/design-system/error-boundary.js.map +1 -0
- package/dist/design-system/index.d.ts +8 -0
- package/dist/design-system/index.d.ts.map +1 -0
- package/dist/design-system/index.js +8 -0
- package/dist/design-system/index.js.map +1 -0
- package/dist/design-system/theme.d.ts +30 -0
- package/dist/design-system/theme.d.ts.map +1 -0
- package/dist/design-system/theme.js +95 -0
- package/dist/design-system/theme.js.map +1 -0
- package/dist/design-system/theme.spec.d.ts +2 -0
- package/dist/design-system/theme.spec.d.ts.map +1 -0
- package/dist/design-system/theme.spec.js +43 -0
- package/dist/design-system/theme.spec.js.map +1 -0
- package/dist/design-system/types.d.ts +288 -0
- package/dist/design-system/types.d.ts.map +1 -0
- package/dist/design-system/types.js +2 -0
- package/dist/design-system/types.js.map +1 -0
- package/dist/provider.d.ts +4 -3
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +46 -4
- package/dist/provider.js.map +1 -1
- package/dist/styles.css +35 -0
- package/dist/ui/button.d.ts +5 -0
- package/dist/ui/button.d.ts.map +1 -1
- package/dist/ui/button.js +25 -4
- package/dist/ui/button.js.map +1 -1
- package/dist/ui/dialog.d.ts +4 -0
- package/dist/ui/dialog.d.ts.map +1 -1
- package/dist/ui/dialog.js +2 -2
- package/dist/ui/dialog.js.map +1 -1
- package/dist/ui/popover.d.ts +1 -0
- package/dist/ui/popover.d.ts.map +1 -1
- package/dist/ui/popover.js +2 -2
- package/dist/ui/popover.js.map +1 -1
- package/dist/ui/select.d.ts +3 -1
- package/dist/ui/select.d.ts.map +1 -1
- package/dist/ui/select.js +1 -1
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/sidebar.d.ts +6 -2
- package/dist/ui/sidebar.d.ts.map +1 -1
- package/dist/ui/sidebar.js +12 -15
- package/dist/ui/sidebar.js.map +1 -1
- package/dist/ui/tooltip.d.ts +3 -1
- package/dist/ui/tooltip.d.ts.map +1 -1
- package/dist/ui/tooltip.js +2 -2
- package/dist/ui/tooltip.js.map +1 -1
- package/package.json +31 -1
- package/src/chat-history/ChatHistoryRail.spec.tsx +312 -0
- package/src/chat-history/ChatHistoryRail.tsx +150 -0
- package/src/chat-history/index.ts +14 -0
- package/src/chat-history/useChatHistoryRailController.spec.tsx +131 -0
- package/src/chat-history/useChatHistoryRailController.ts +76 -0
- package/src/chat-history.css +61 -0
- package/src/composer/ComposerPlusMenu.tsx +11 -8
- package/src/composer/PromptComposer.tsx +27 -6
- package/src/composer/RealtimeVoiceMode.spec.tsx +116 -11
- package/src/composer/RealtimeVoiceMode.tsx +106 -36
- package/src/composer/VoiceButton.spec.ts +17 -1
- package/src/composer/VoiceButton.tsx +49 -0
- package/src/composer/realtime-voice-audio-level.spec.ts +15 -0
- package/src/composer/realtime-voice-audio-level.ts +2 -1
- package/src/composer/useRealtimeVoiceMode.spec.ts +82 -8
- package/src/composer/useRealtimeVoiceMode.tsx +112 -25
- package/src/conformance/__fixtures__/css-in-js-adapter.tsx +401 -0
- package/src/conformance/conformance.spec.tsx +83 -0
- package/src/conformance/index.ts +3 -0
- package/src/conformance/runner.tsx +710 -0
- package/src/conformance/types.ts +45 -0
- package/src/conformance/version.ts +22 -0
- package/src/design-system/components.tsx +146 -0
- package/src/design-system/context.tsx +31 -0
- package/src/design-system/default-adapter.spec.tsx +143 -0
- package/src/design-system/default-adapter.tsx +915 -0
- package/src/design-system/definition.ts +14 -0
- package/src/design-system/design-system.spec.tsx +183 -0
- package/src/design-system/error-boundary.tsx +37 -0
- package/src/design-system/index.ts +7 -0
- package/src/design-system/theme.spec.ts +61 -0
- package/src/design-system/theme.ts +145 -0
- package/src/design-system/types.ts +363 -0
- package/src/provider.tsx +98 -5
- package/src/styles.css +35 -0
- package/src/ui/button.tsx +95 -6
- package/src/ui/dialog.tsx +48 -23
- package/src/ui/popover.tsx +16 -2
- package/src/ui/select.tsx +7 -3
- package/src/ui/sidebar.tsx +47 -48
- package/src/ui/tooltip.tsx +7 -3
package/src/ui/dialog.tsx
CHANGED
|
@@ -47,34 +47,59 @@ interface DialogContentProps extends React.ComponentPropsWithoutRef<
|
|
|
47
47
|
hideClose?: boolean;
|
|
48
48
|
// High-frequency keyboard surfaces can opt out without changing ordinary dialogs.
|
|
49
49
|
motion?: DialogMotion;
|
|
50
|
+
container?: React.ComponentPropsWithoutRef<
|
|
51
|
+
typeof DialogPrimitive.Portal
|
|
52
|
+
>["container"];
|
|
53
|
+
closeLabel?: string;
|
|
54
|
+
overlayClassName?: string;
|
|
55
|
+
overlayStyle?: React.CSSProperties;
|
|
50
56
|
}
|
|
51
57
|
|
|
52
58
|
const DialogContent = React.forwardRef<
|
|
53
59
|
React.ElementRef<typeof DialogPrimitive.Content>,
|
|
54
60
|
DialogContentProps
|
|
55
|
-
>(
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
61
|
+
>(
|
|
62
|
+
(
|
|
63
|
+
{
|
|
64
|
+
className,
|
|
65
|
+
children,
|
|
66
|
+
hideClose,
|
|
67
|
+
motion = "default",
|
|
68
|
+
container,
|
|
69
|
+
closeLabel = "Close",
|
|
70
|
+
overlayClassName,
|
|
71
|
+
overlayStyle,
|
|
72
|
+
...props
|
|
73
|
+
},
|
|
74
|
+
ref,
|
|
75
|
+
) => (
|
|
76
|
+
<DialogPortal container={container}>
|
|
77
|
+
<DialogOverlay
|
|
78
|
+
motion={motion}
|
|
79
|
+
className={overlayClassName}
|
|
80
|
+
style={overlayStyle}
|
|
81
|
+
/>
|
|
82
|
+
<DialogPrimitive.Content
|
|
83
|
+
ref={ref}
|
|
84
|
+
className={cn(
|
|
85
|
+
"fixed left-1/2 top-1/2 z-[280] grid max-h-[min(760px,calc(100vh-32px))] w-[calc(100vw-24px)] max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 overflow-hidden rounded-lg border border-border bg-background p-6 text-foreground shadow-lg outline-none",
|
|
86
|
+
motion === "default" &&
|
|
87
|
+
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-150 data-[state=open]:duration-200 data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
|
|
88
|
+
className,
|
|
89
|
+
)}
|
|
90
|
+
{...props}
|
|
91
|
+
>
|
|
92
|
+
{children}
|
|
93
|
+
{!hideClose && (
|
|
94
|
+
<DialogPrimitive.Close className="absolute end-3 top-3 flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring">
|
|
95
|
+
<IconX className="h-4 w-4" />
|
|
96
|
+
<span className="sr-only">{closeLabel}</span>
|
|
97
|
+
</DialogPrimitive.Close>
|
|
98
|
+
)}
|
|
99
|
+
</DialogPrimitive.Content>
|
|
100
|
+
</DialogPortal>
|
|
101
|
+
),
|
|
102
|
+
);
|
|
78
103
|
DialogContent.displayName = DialogPrimitive.Content.displayName;
|
|
79
104
|
|
|
80
105
|
const DialogHeader = ({
|
package/src/ui/popover.tsx
CHANGED
|
@@ -15,10 +15,20 @@ const PopoverContent = React.forwardRef<
|
|
|
15
15
|
// When false, renders inline without a portal — useful inside overflow-hidden
|
|
16
16
|
// containers where a portalled overlay would escape the clip boundary.
|
|
17
17
|
portalled?: boolean;
|
|
18
|
+
container?: React.ComponentPropsWithoutRef<
|
|
19
|
+
typeof PopoverPrimitive.Portal
|
|
20
|
+
>["container"];
|
|
18
21
|
}
|
|
19
22
|
>(
|
|
20
23
|
(
|
|
21
|
-
{
|
|
24
|
+
{
|
|
25
|
+
className,
|
|
26
|
+
align = "center",
|
|
27
|
+
sideOffset = 4,
|
|
28
|
+
portalled = true,
|
|
29
|
+
container,
|
|
30
|
+
...props
|
|
31
|
+
},
|
|
22
32
|
ref,
|
|
23
33
|
) => {
|
|
24
34
|
const content = (
|
|
@@ -36,7 +46,11 @@ const PopoverContent = React.forwardRef<
|
|
|
36
46
|
|
|
37
47
|
if (!portalled) return content;
|
|
38
48
|
|
|
39
|
-
return
|
|
49
|
+
return (
|
|
50
|
+
<PopoverPrimitive.Portal container={container}>
|
|
51
|
+
{content}
|
|
52
|
+
</PopoverPrimitive.Portal>
|
|
53
|
+
);
|
|
40
54
|
},
|
|
41
55
|
);
|
|
42
56
|
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
package/src/ui/select.tsx
CHANGED
|
@@ -67,9 +67,13 @@ SelectScrollDownButton.displayName =
|
|
|
67
67
|
|
|
68
68
|
const SelectContent = React.forwardRef<
|
|
69
69
|
React.ElementRef<typeof SelectPrimitive.Content>,
|
|
70
|
-
React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content> & {
|
|
71
|
+
container?: React.ComponentPropsWithoutRef<
|
|
72
|
+
typeof SelectPrimitive.Portal
|
|
73
|
+
>["container"];
|
|
74
|
+
}
|
|
75
|
+
>(({ className, children, position = "popper", container, ...props }, ref) => (
|
|
76
|
+
<SelectPrimitive.Portal container={container}>
|
|
73
77
|
<SelectPrimitive.Content
|
|
74
78
|
ref={ref}
|
|
75
79
|
className={cn(
|
package/src/ui/sidebar.tsx
CHANGED
|
@@ -3,19 +3,22 @@ import { IconLayoutSidebar } from "@tabler/icons-react";
|
|
|
3
3
|
import { VariantProps, cva } from "class-variance-authority";
|
|
4
4
|
import * as React from "react";
|
|
5
5
|
|
|
6
|
+
import {
|
|
7
|
+
Skeleton as DesignSystemSkeleton,
|
|
8
|
+
Tooltip as DesignSystemTooltip,
|
|
9
|
+
} from "../design-system/components.js";
|
|
6
10
|
import { useIsMobile } from "../hooks/use-mobile.js";
|
|
7
11
|
import { cn } from "../utils.js";
|
|
8
12
|
import { Button } from "./button.js";
|
|
9
13
|
import { Input } from "./input.js";
|
|
10
14
|
import { Separator } from "./separator.js";
|
|
11
15
|
import { Sheet, SheetContent, SheetDescription, SheetTitle } from "./sheet.js";
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
} from "./tooltip.js";
|
|
16
|
+
|
|
17
|
+
type SidebarTooltip = {
|
|
18
|
+
children?: React.ReactNode;
|
|
19
|
+
hidden?: boolean;
|
|
20
|
+
[key: string]: unknown;
|
|
21
|
+
};
|
|
19
22
|
|
|
20
23
|
const SIDEBAR_COOKIE_NAME = "sidebar:state";
|
|
21
24
|
const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
|
|
@@ -137,25 +140,23 @@ const SidebarProvider = React.forwardRef<
|
|
|
137
140
|
|
|
138
141
|
return (
|
|
139
142
|
<SidebarContext.Provider value={contextValue}>
|
|
140
|
-
<
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
</div>
|
|
158
|
-
</TooltipProvider>
|
|
143
|
+
<div
|
|
144
|
+
style={
|
|
145
|
+
{
|
|
146
|
+
"--sidebar-width": SIDEBAR_WIDTH,
|
|
147
|
+
"--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
|
|
148
|
+
...style,
|
|
149
|
+
} as React.CSSProperties
|
|
150
|
+
}
|
|
151
|
+
className={cn(
|
|
152
|
+
"group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",
|
|
153
|
+
className,
|
|
154
|
+
)}
|
|
155
|
+
ref={ref}
|
|
156
|
+
{...props}
|
|
157
|
+
>
|
|
158
|
+
{children}
|
|
159
|
+
</div>
|
|
159
160
|
</SidebarContext.Provider>
|
|
160
161
|
);
|
|
161
162
|
},
|
|
@@ -302,8 +303,8 @@ const SidebarRail = React.forwardRef<
|
|
|
302
303
|
const { toggleSidebar } = useSidebar();
|
|
303
304
|
|
|
304
305
|
return (
|
|
305
|
-
<
|
|
306
|
-
|
|
306
|
+
<DesignSystemTooltip
|
|
307
|
+
trigger={
|
|
307
308
|
<button
|
|
308
309
|
ref={ref}
|
|
309
310
|
data-sidebar="rail"
|
|
@@ -321,9 +322,10 @@ const SidebarRail = React.forwardRef<
|
|
|
321
322
|
)}
|
|
322
323
|
{...props}
|
|
323
324
|
/>
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
325
|
+
}
|
|
326
|
+
content="Toggle Sidebar"
|
|
327
|
+
placement="top"
|
|
328
|
+
/>
|
|
327
329
|
);
|
|
328
330
|
});
|
|
329
331
|
SidebarRail.displayName = "SidebarRail";
|
|
@@ -552,7 +554,7 @@ const SidebarMenuButton = React.forwardRef<
|
|
|
552
554
|
React.ComponentProps<"button"> & {
|
|
553
555
|
asChild?: boolean;
|
|
554
556
|
isActive?: boolean;
|
|
555
|
-
tooltip?: string |
|
|
557
|
+
tooltip?: string | SidebarTooltip;
|
|
556
558
|
} & VariantProps<typeof sidebarMenuButtonVariants>
|
|
557
559
|
>(
|
|
558
560
|
(
|
|
@@ -585,22 +587,17 @@ const SidebarMenuButton = React.forwardRef<
|
|
|
585
587
|
return button;
|
|
586
588
|
}
|
|
587
589
|
|
|
588
|
-
|
|
589
|
-
tooltip
|
|
590
|
-
|
|
591
|
-
};
|
|
592
|
-
}
|
|
590
|
+
const tooltipText =
|
|
591
|
+
typeof tooltip === "string" ? tooltip : tooltip.children;
|
|
592
|
+
if (!tooltipText || state !== "collapsed" || isMobile) return button;
|
|
593
593
|
|
|
594
594
|
return (
|
|
595
|
-
<
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
{...tooltip}
|
|
602
|
-
/>
|
|
603
|
-
</Tooltip>
|
|
595
|
+
<DesignSystemTooltip
|
|
596
|
+
trigger={button}
|
|
597
|
+
content={tooltipText}
|
|
598
|
+
placement="right"
|
|
599
|
+
align="center"
|
|
600
|
+
/>
|
|
604
601
|
);
|
|
605
602
|
},
|
|
606
603
|
);
|
|
@@ -677,13 +674,15 @@ const SidebarMenuSkeleton = React.forwardRef<
|
|
|
677
674
|
{...props}
|
|
678
675
|
>
|
|
679
676
|
{showIcon && (
|
|
680
|
-
<
|
|
677
|
+
<DesignSystemSkeleton
|
|
681
678
|
className="size-4 rounded-md"
|
|
679
|
+
shape="rectangle"
|
|
682
680
|
data-sidebar="menu-skeleton-icon"
|
|
683
681
|
/>
|
|
684
682
|
)}
|
|
685
|
-
<
|
|
683
|
+
<DesignSystemSkeleton
|
|
686
684
|
className="h-4 flex-1 max-w-[--skeleton-width]"
|
|
685
|
+
shape="line"
|
|
687
686
|
data-sidebar="menu-skeleton-text"
|
|
688
687
|
style={
|
|
689
688
|
{
|
package/src/ui/tooltip.tsx
CHANGED
|
@@ -21,12 +21,16 @@ function normalizeTooltipText(text: string): string {
|
|
|
21
21
|
|
|
22
22
|
const TooltipContent = React.forwardRef<
|
|
23
23
|
React.ElementRef<typeof TooltipPrimitive.Content>,
|
|
24
|
-
React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>
|
|
25
|
-
|
|
24
|
+
React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> & {
|
|
25
|
+
container?: React.ComponentPropsWithoutRef<
|
|
26
|
+
typeof TooltipPrimitive.Portal
|
|
27
|
+
>["container"];
|
|
28
|
+
}
|
|
29
|
+
>(({ className, sideOffset = 6, children, container, ...props }, ref) => {
|
|
26
30
|
const normalizedChildren =
|
|
27
31
|
typeof children === "string" ? normalizeTooltipText(children) : children;
|
|
28
32
|
return (
|
|
29
|
-
<TooltipPrimitive.Portal>
|
|
33
|
+
<TooltipPrimitive.Portal container={container}>
|
|
30
34
|
<TooltipPrimitive.Content
|
|
31
35
|
ref={ref}
|
|
32
36
|
sideOffset={sideOffset}
|