@gram-ai/elements 1.27.4 → 1.27.5
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 +72 -60
- package/README.typedoc.md +6 -6
- package/bin/cli.js +74 -74
- package/dist/compat-shims-CO9JXXV4.cjs.map +1 -1
- package/dist/{compat-shims-BPJ7Q68c.js → compat-shims-DxtUrORi.js} +4 -2
- package/dist/compat-shims-DxtUrORi.js.map +1 -0
- package/dist/components/ShareButton/index.d.ts +2 -2
- package/dist/components/assistant-ui/message-feedback.d.ts +1 -1
- package/dist/components/assistant-ui/tooltip-icon-button.d.ts +2 -2
- package/dist/components/ui/avatar.d.ts +2 -2
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/calendar.d.ts +1 -1
- package/dist/components/ui/collapsible.d.ts +1 -1
- package/dist/components/ui/dialog.d.ts +4 -4
- package/dist/components/ui/popover.d.ts +2 -2
- package/dist/components/ui/skeleton.d.ts +1 -1
- package/dist/components/ui/time-range-picker.d.ts +1 -1
- package/dist/components/ui/tool-ui.d.ts +7 -7
- package/dist/components/ui/tooltip.d.ts +2 -2
- package/dist/contexts/ConnectionStatusContext.d.ts +1 -1
- package/dist/elements.cjs +1 -1
- package/dist/elements.js +2 -2
- package/dist/hooks/useDensity.d.ts +73 -73
- package/dist/hooks/useMCPTools.d.ts +1 -1
- package/dist/hooks/useRadius.d.ts +1 -1
- package/dist/{index-BpJstUh1.cjs → index-C4bFBGfl.cjs} +4 -4
- package/dist/{index-BpJstUh1.cjs.map → index-C4bFBGfl.cjs.map} +1 -1
- package/dist/{index-CUitXazZ.js → index-D93pV0_o.js} +55 -55
- package/dist/{index-CUitXazZ.js.map → index-D93pV0_o.js.map} +1 -1
- package/dist/{index-D0bAYNQy.js → index-DuCQRbcQ.js} +279 -265
- package/dist/index-DuCQRbcQ.js.map +1 -0
- package/dist/{index-KSX4Qjip.cjs → index-y_PNN5vK.cjs} +10 -10
- package/dist/index-y_PNN5vK.cjs.map +1 -0
- package/dist/lib/cassette.d.ts +4 -4
- package/dist/lib/errorTracking.d.ts +1 -1
- package/dist/lib/messageConverter.d.ts +1 -1
- package/dist/lib/models.d.ts +1 -1
- package/dist/plugins/chart/ui/bar-chart.d.ts +1 -1
- package/dist/plugins/generative-ui/ui/accordion-wrapper.d.ts +2 -2
- package/dist/plugins/generative-ui/ui/accordion.d.ts +1 -1
- package/dist/plugins/generative-ui/ui/action-button.d.ts +2 -2
- package/dist/plugins/generative-ui/ui/alert-wrapper.d.ts +1 -1
- package/dist/plugins/generative-ui/ui/alert.d.ts +4 -4
- package/dist/plugins/generative-ui/ui/avatar.d.ts +5 -5
- package/dist/plugins/generative-ui/ui/badge.d.ts +2 -2
- package/dist/plugins/generative-ui/ui/button-wrapper.d.ts +2 -2
- package/dist/plugins/generative-ui/ui/button.d.ts +2 -2
- package/dist/plugins/generative-ui/ui/card-wrapper.d.ts +2 -2
- package/dist/plugins/generative-ui/ui/card.d.ts +8 -8
- package/dist/plugins/generative-ui/ui/checkbox.d.ts +1 -1
- package/dist/plugins/generative-ui/ui/data-table.d.ts +2 -2
- package/dist/plugins/generative-ui/ui/dialog.d.ts +3 -3
- package/dist/plugins/generative-ui/ui/dropdown-menu.d.ts +3 -3
- package/dist/plugins/generative-ui/ui/grid.d.ts +3 -3
- package/dist/plugins/generative-ui/ui/input-wrapper.d.ts +1 -1
- package/dist/plugins/generative-ui/ui/input.d.ts +2 -2
- package/dist/plugins/generative-ui/ui/label.d.ts +1 -1
- package/dist/plugins/generative-ui/ui/metric.d.ts +3 -3
- package/dist/plugins/generative-ui/ui/pagination.d.ts +6 -6
- package/dist/plugins/generative-ui/ui/popover.d.ts +4 -4
- package/dist/plugins/generative-ui/ui/progress.d.ts +2 -2
- package/dist/plugins/generative-ui/ui/radio-group.d.ts +1 -1
- package/dist/plugins/generative-ui/ui/select.d.ts +2 -2
- package/dist/plugins/generative-ui/ui/separator.d.ts +1 -1
- package/dist/plugins/generative-ui/ui/skeleton.d.ts +1 -1
- package/dist/plugins/generative-ui/ui/stack.d.ts +6 -6
- package/dist/plugins/generative-ui/ui/switch.d.ts +2 -2
- package/dist/plugins/generative-ui/ui/table.d.ts +9 -9
- package/dist/plugins/generative-ui/ui/tabs-wrapper.d.ts +1 -1
- package/dist/plugins/generative-ui/ui/tabs.d.ts +1 -1
- package/dist/plugins/generative-ui/ui/text.d.ts +3 -3
- package/dist/plugins/generative-ui/ui/textarea.d.ts +2 -2
- package/dist/plugins/generative-ui/ui/tooltip.d.ts +1 -1
- package/dist/plugins.cjs +1 -1
- package/dist/plugins.js +1 -1
- package/dist/{profiler-BFkhZRxj.js → profiler-FpBY9eRv.js} +2 -2
- package/dist/{profiler-BFkhZRxj.js.map → profiler-FpBY9eRv.js.map} +1 -1
- package/dist/{profiler-CyzxBxVz.cjs → profiler-_mthyjvo.cjs} +2 -2
- package/dist/{profiler-CyzxBxVz.cjs.map → profiler-_mthyjvo.cjs.map} +1 -1
- package/dist/react-shim.js +1 -1
- package/dist/server/express.cjs.map +1 -1
- package/dist/server/express.js.map +1 -1
- package/dist/{startRecording-Dq92sEHf.cjs → startRecording-NJcpiHw-.cjs} +2 -2
- package/dist/{startRecording-Dq92sEHf.cjs.map → startRecording-NJcpiHw-.cjs.map} +1 -1
- package/dist/{startRecording-C-PPAs_Z.js → startRecording-r5MXQ2Dm.js} +2 -2
- package/dist/{startRecording-C-PPAs_Z.js.map → startRecording-r5MXQ2Dm.js.map} +1 -1
- package/dist/types/index.d.ts +2 -2
- package/package.json +1 -5
- package/src/compat-plugin.ts +14 -14
- package/src/compat-shims.ts +33 -31
- package/src/compat.test.ts +48 -48
- package/src/compat.ts +6 -6
- package/src/components/Chat/index.tsx +17 -17
- package/src/components/Chat/stories/Charts.stories.tsx +98 -98
- package/src/components/Chat/stories/Composer.stories.tsx +15 -15
- package/src/components/Chat/stories/ConnectionConfiguration.stories.tsx +44 -44
- package/src/components/Chat/stories/CustomComponents.stories.tsx +17 -17
- package/src/components/Chat/stories/Density.stories.tsx +20 -20
- package/src/components/Chat/stories/ErrorBoundary.stories.tsx +47 -47
- package/src/components/Chat/stories/FrontendTools.stories.tsx +39 -39
- package/src/components/Chat/stories/GenerativeUI.stories.tsx +48 -48
- package/src/components/Chat/stories/MessageFeedback.stories.tsx +52 -52
- package/src/components/Chat/stories/Modal.stories.tsx +28 -28
- package/src/components/Chat/stories/Model.stories.tsx +11 -11
- package/src/components/Chat/stories/Radius.stories.tsx +20 -20
- package/src/components/Chat/stories/Sidecar.stories.tsx +13 -13
- package/src/components/Chat/stories/StyleIsolation.stories.tsx +11 -11
- package/src/components/Chat/stories/Theme.stories.tsx +25 -25
- package/src/components/Chat/stories/Thread.stories.tsx +25 -25
- package/src/components/Chat/stories/ToolApproval.stories.tsx +55 -55
- package/src/components/Chat/stories/ToolMentions.stories.tsx +17 -17
- package/src/components/Chat/stories/Tools.stories.tsx +88 -88
- package/src/components/Chat/stories/Variants.stories.tsx +32 -32
- package/src/components/Chat/stories/Welcome.stories.tsx +14 -14
- package/src/components/ChatHistory.tsx +7 -7
- package/src/components/FrontendTools/index.tsx +5 -5
- package/src/components/Replay.stories.tsx +157 -157
- package/src/components/Replay.tsx +76 -73
- package/src/components/ShadowRoot.tsx +40 -40
- package/src/components/ShareButton/index.tsx +32 -32
- package/src/components/assistant-ui/assistant-modal.tsx +92 -87
- package/src/components/assistant-ui/assistant-sidecar.tsx +35 -35
- package/src/components/assistant-ui/attachment.tsx +80 -80
- package/src/components/assistant-ui/connection-status-indicator.tsx +33 -33
- package/src/components/assistant-ui/error-boundary.tsx +34 -34
- package/src/components/assistant-ui/follow-on-suggestions.tsx +26 -26
- package/src/components/assistant-ui/markdown-text.tsx +69 -69
- package/src/components/assistant-ui/mentioned-tools-badges.tsx +38 -38
- package/src/components/assistant-ui/message-feedback.tsx +57 -50
- package/src/components/assistant-ui/reasoning.tsx +83 -83
- package/src/components/assistant-ui/thread-list.tsx +45 -45
- package/src/components/assistant-ui/thread.tsx +278 -278
- package/src/components/assistant-ui/tool-fallback.tsx +37 -37
- package/src/components/assistant-ui/tool-group.tsx +26 -26
- package/src/components/assistant-ui/tool-mention-autocomplete.tsx +122 -122
- package/src/components/assistant-ui/tooltip-icon-button.tsx +18 -18
- package/src/components/ui/avatar.tsx +12 -12
- package/src/components/ui/button.tsx +12 -12
- package/src/components/ui/buttonVariants.ts +17 -17
- package/src/components/ui/calendar.tsx +106 -106
- package/src/components/ui/charts.stories.tsx +56 -56
- package/src/components/ui/collapsible.tsx +5 -5
- package/src/components/ui/dialog.tsx +30 -30
- package/src/components/ui/generative-ui.stories.tsx +200 -200
- package/src/components/ui/generative-ui.tsx +26 -26
- package/src/components/ui/popover.tsx +14 -14
- package/src/components/ui/skeleton.tsx +5 -5
- package/src/components/ui/time-range-picker.stories.tsx +80 -80
- package/src/components/ui/time-range-picker.tsx +245 -244
- package/src/components/ui/tool-ui.stories.tsx +37 -37
- package/src/components/ui/tool-ui.tsx +221 -215
- package/src/components/ui/tooltip.tsx +15 -15
- package/src/constants/tailwind.ts +1 -1
- package/src/contexts/ChatIdContext.tsx +7 -7
- package/src/contexts/ConnectionStatusContext.tsx +64 -64
- package/src/contexts/ElementsProvider.tsx +214 -213
- package/src/contexts/ReplayContext.ts +3 -3
- package/src/contexts/ToolApprovalContext.tsx +54 -54
- package/src/contexts/ToolExecutionContext.tsx +34 -34
- package/src/contexts/contexts.ts +7 -7
- package/src/contexts/portal-container-context.ts +2 -2
- package/src/contexts/portal-container.tsx +7 -7
- package/src/embedded.ts +1 -1
- package/src/global.css +25 -25
- package/src/hooks/useAuth.ts +72 -72
- package/src/hooks/useDensity.ts +79 -79
- package/src/hooks/useElements.ts +6 -6
- package/src/hooks/useExpanded.ts +12 -12
- package/src/hooks/useFollowOnSuggestions.ts +83 -83
- package/src/hooks/useGramThreadListAdapter.tsx +99 -99
- package/src/hooks/useMCPTools.ts +47 -47
- package/src/hooks/useModel.ts +14 -14
- package/src/hooks/usePluginComponents.ts +11 -11
- package/src/hooks/usePortalContainer.ts +5 -5
- package/src/hooks/useRadius.ts +23 -23
- package/src/hooks/useRecordCassette.ts +34 -34
- package/src/hooks/useSession.ts +11 -11
- package/src/hooks/useThemeProps.ts +13 -13
- package/src/hooks/useThreadId.ts +4 -4
- package/src/hooks/useToolApproval.ts +7 -7
- package/src/hooks/useToolMentions.ts +40 -40
- package/src/index.ts +26 -26
- package/src/lib/api.test.ts +61 -61
- package/src/lib/api.ts +4 -3
- package/src/lib/auth.ts +13 -13
- package/src/lib/cassette.ts +84 -84
- package/src/lib/easing.ts +1 -1
- package/src/lib/errorTracking.config.ts +5 -5
- package/src/lib/errorTracking.ts +29 -29
- package/src/lib/generative-ui.ts +7 -7
- package/src/lib/humanize.ts +3 -3
- package/src/lib/messageConverter.test.ts +130 -127
- package/src/lib/messageConverter.ts +196 -196
- package/src/lib/models.ts +21 -20
- package/src/lib/token.test.ts +56 -56
- package/src/lib/token.ts +14 -14
- package/src/lib/tool-mentions.ts +45 -45
- package/src/lib/tools.ts +66 -62
- package/src/lib/utils.ts +5 -5
- package/src/lib.d.ts +1 -1
- package/src/plugins/README.md +5 -5
- package/src/plugins/chart/catalog.ts +18 -18
- package/src/plugins/chart/chart.test.ts +31 -31
- package/src/plugins/chart/component.tsx +34 -34
- package/src/plugins/chart/index.ts +4 -4
- package/src/plugins/chart/ui/area-chart.tsx +42 -42
- package/src/plugins/chart/ui/bar-chart.tsx +46 -46
- package/src/plugins/chart/ui/donut-chart.tsx +48 -48
- package/src/plugins/chart/ui/index.ts +7 -7
- package/src/plugins/chart/ui/line-chart.tsx +43 -43
- package/src/plugins/chart/ui/pie-chart.tsx +44 -44
- package/src/plugins/chart/ui/radar-chart.tsx +33 -33
- package/src/plugins/chart/ui/scatter-chart.tsx +43 -43
- package/src/plugins/components/MacOSWindowFrame.tsx +15 -15
- package/src/plugins/components/PluginLoadingState.tsx +10 -10
- package/src/plugins/components/index.ts +1 -1
- package/src/plugins/generative-ui/catalog.ts +54 -54
- package/src/plugins/generative-ui/component.tsx +85 -85
- package/src/plugins/generative-ui/index.ts +4 -4
- package/src/plugins/generative-ui/ui/accordion-wrapper.tsx +16 -16
- package/src/plugins/generative-ui/ui/accordion.tsx +16 -16
- package/src/plugins/generative-ui/ui/action-button.tsx +28 -28
- package/src/plugins/generative-ui/ui/alert-wrapper.tsx +8 -8
- package/src/plugins/generative-ui/ui/alert.tsx +20 -20
- package/src/plugins/generative-ui/ui/avatar-wrapper.tsx +7 -7
- package/src/plugins/generative-ui/ui/avatar.tsx +30 -30
- package/src/plugins/generative-ui/ui/badge.tsx +22 -22
- package/src/plugins/generative-ui/ui/button-wrapper.tsx +12 -12
- package/src/plugins/generative-ui/ui/button.tsx +28 -28
- package/src/plugins/generative-ui/ui/card-wrapper.tsx +8 -8
- package/src/plugins/generative-ui/ui/card.tsx +27 -27
- package/src/plugins/generative-ui/ui/checkbox-wrapper.tsx +9 -9
- package/src/plugins/generative-ui/ui/checkbox.tsx +9 -9
- package/src/plugins/generative-ui/ui/data-table.tsx +8 -8
- package/src/plugins/generative-ui/ui/dialog.tsx +31 -31
- package/src/plugins/generative-ui/ui/dropdown-menu.tsx +44 -44
- package/src/plugins/generative-ui/ui/grid.tsx +12 -12
- package/src/plugins/generative-ui/ui/index.ts +40 -40
- package/src/plugins/generative-ui/ui/input-wrapper.tsx +11 -11
- package/src/plugins/generative-ui/ui/input.tsx +9 -9
- package/src/plugins/generative-ui/ui/label.tsx +8 -8
- package/src/plugins/generative-ui/ui/list.tsx +11 -11
- package/src/plugins/generative-ui/ui/metric.tsx +23 -23
- package/src/plugins/generative-ui/ui/pagination.tsx +28 -28
- package/src/plugins/generative-ui/ui/popover.tsx +21 -21
- package/src/plugins/generative-ui/ui/progress.tsx +13 -13
- package/src/plugins/generative-ui/ui/radio-group.tsx +12 -12
- package/src/plugins/generative-ui/ui/select-wrapper.tsx +7 -7
- package/src/plugins/generative-ui/ui/select.tsx +37 -37
- package/src/plugins/generative-ui/ui/separator.tsx +9 -9
- package/src/plugins/generative-ui/ui/skeleton-wrapper.tsx +10 -10
- package/src/plugins/generative-ui/ui/skeleton.tsx +5 -5
- package/src/plugins/generative-ui/ui/stack.tsx +28 -28
- package/src/plugins/generative-ui/ui/switch.tsx +11 -11
- package/src/plugins/generative-ui/ui/table.tsx +32 -32
- package/src/plugins/generative-ui/ui/tabs-wrapper.tsx +11 -11
- package/src/plugins/generative-ui/ui/tabs.tsx +26 -26
- package/src/plugins/generative-ui/ui/text.tsx +12 -12
- package/src/plugins/generative-ui/ui/textarea.tsx +7 -7
- package/src/plugins/generative-ui/ui/tooltip.tsx +12 -12
- package/src/plugins/index.ts +7 -7
- package/src/react-shim.ts +6 -6
- package/src/server/bun.ts +12 -12
- package/src/server/core.ts +25 -25
- package/src/server/express.ts +17 -15
- package/src/server/fastify.ts +14 -14
- package/src/server/hono.ts +9 -9
- package/src/server/nextjs.ts +12 -12
- package/src/server/tanstack-start.ts +12 -12
- package/src/server.ts +27 -27
- package/src/storybook.d.ts +4 -4
- package/src/types/index.ts +122 -122
- package/src/types/plugins.ts +7 -7
- package/src/vite-env.d.ts +12 -12
- package/dist/compat-shims-BPJ7Q68c.js.map +0 -1
- package/dist/index-D0bAYNQy.js.map +0 -1
- package/dist/index-KSX4Qjip.cjs.map +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
"use client";
|
|
2
2
|
|
|
3
|
-
import * as React from
|
|
4
|
-
import { Skeleton } from
|
|
5
|
-
import { cn } from
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { Skeleton } from "./skeleton";
|
|
5
|
+
import { cn } from "@/lib/utils";
|
|
6
6
|
|
|
7
7
|
export interface SkeletonWrapperProps {
|
|
8
|
-
width?: string
|
|
9
|
-
height?: string
|
|
10
|
-
className?: string
|
|
8
|
+
width?: string;
|
|
9
|
+
height?: string;
|
|
10
|
+
className?: string;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
/**
|
|
@@ -22,9 +22,9 @@ export function SkeletonWrapper({
|
|
|
22
22
|
<Skeleton
|
|
23
23
|
className={cn(className)}
|
|
24
24
|
style={{
|
|
25
|
-
width: width ??
|
|
26
|
-
height: height ??
|
|
25
|
+
width: width ?? "100%",
|
|
26
|
+
height: height ?? "1rem",
|
|
27
27
|
}}
|
|
28
28
|
/>
|
|
29
|
-
)
|
|
29
|
+
);
|
|
30
30
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { cn } from
|
|
1
|
+
import { cn } from "@/lib/utils";
|
|
2
2
|
|
|
3
|
-
function Skeleton({ className, ...props }: React.ComponentProps<
|
|
3
|
+
function Skeleton({ className, ...props }: React.ComponentProps<"div">) {
|
|
4
4
|
return (
|
|
5
5
|
<div
|
|
6
6
|
data-slot="skeleton"
|
|
7
|
-
className={cn(
|
|
7
|
+
className={cn("animate-pulse rounded-md bg-accent", className)}
|
|
8
8
|
{...props}
|
|
9
9
|
/>
|
|
10
|
-
)
|
|
10
|
+
);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
export { Skeleton }
|
|
13
|
+
export { Skeleton };
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import * as React from
|
|
2
|
-
import { cn } from
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { cn } from "@/lib/utils";
|
|
3
3
|
|
|
4
|
-
export interface StackProps extends React.ComponentProps<
|
|
5
|
-
direction?:
|
|
6
|
-
gap?:
|
|
7
|
-
align?:
|
|
8
|
-
justify?:
|
|
4
|
+
export interface StackProps extends React.ComponentProps<"div"> {
|
|
5
|
+
direction?: "horizontal" | "vertical";
|
|
6
|
+
gap?: "sm" | "md" | "lg";
|
|
7
|
+
align?: "start" | "center" | "end" | "stretch";
|
|
8
|
+
justify?: "start" | "center" | "end" | "between" | "around";
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
const gapClasses = {
|
|
12
|
-
sm:
|
|
13
|
-
md:
|
|
14
|
-
lg:
|
|
15
|
-
}
|
|
12
|
+
sm: "gap-2",
|
|
13
|
+
md: "gap-4",
|
|
14
|
+
lg: "gap-6",
|
|
15
|
+
};
|
|
16
16
|
|
|
17
17
|
const alignClasses = {
|
|
18
|
-
start:
|
|
19
|
-
center:
|
|
20
|
-
end:
|
|
21
|
-
stretch:
|
|
22
|
-
}
|
|
18
|
+
start: "items-start",
|
|
19
|
+
center: "items-center",
|
|
20
|
+
end: "items-end",
|
|
21
|
+
stretch: "items-stretch",
|
|
22
|
+
};
|
|
23
23
|
|
|
24
24
|
const justifyClasses = {
|
|
25
|
-
start:
|
|
26
|
-
center:
|
|
27
|
-
end:
|
|
28
|
-
between:
|
|
29
|
-
around:
|
|
30
|
-
}
|
|
25
|
+
start: "justify-start",
|
|
26
|
+
center: "justify-center",
|
|
27
|
+
end: "justify-end",
|
|
28
|
+
between: "justify-between",
|
|
29
|
+
around: "justify-around",
|
|
30
|
+
};
|
|
31
31
|
|
|
32
32
|
export function Stack({
|
|
33
|
-
direction =
|
|
34
|
-
gap =
|
|
33
|
+
direction = "vertical",
|
|
34
|
+
gap = "md",
|
|
35
35
|
align,
|
|
36
36
|
justify,
|
|
37
37
|
className,
|
|
@@ -41,14 +41,14 @@ export function Stack({
|
|
|
41
41
|
<div
|
|
42
42
|
data-slot="stack"
|
|
43
43
|
className={cn(
|
|
44
|
-
|
|
45
|
-
direction ===
|
|
44
|
+
"flex",
|
|
45
|
+
direction === "horizontal" ? "flex-row" : "flex-col",
|
|
46
46
|
gapClasses[gap],
|
|
47
47
|
align && alignClasses[align],
|
|
48
48
|
justify && justifyClasses[justify],
|
|
49
|
-
className
|
|
49
|
+
className,
|
|
50
50
|
)}
|
|
51
51
|
{...props}
|
|
52
52
|
/>
|
|
53
|
-
)
|
|
53
|
+
);
|
|
54
54
|
}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
|
|
1
|
+
"use client";
|
|
2
2
|
|
|
3
|
-
import * as React from
|
|
4
|
-
import { Switch as SwitchPrimitive } from
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { Switch as SwitchPrimitive } from "radix-ui";
|
|
5
5
|
|
|
6
|
-
import { cn } from
|
|
6
|
+
import { cn } from "@/lib/utils";
|
|
7
7
|
|
|
8
8
|
function Switch({
|
|
9
9
|
className,
|
|
10
|
-
size =
|
|
10
|
+
size = "default",
|
|
11
11
|
...props
|
|
12
12
|
}: React.ComponentProps<typeof SwitchPrimitive.Root> & {
|
|
13
|
-
size?:
|
|
13
|
+
size?: "sm" | "default";
|
|
14
14
|
}) {
|
|
15
15
|
return (
|
|
16
16
|
<SwitchPrimitive.Root
|
|
17
17
|
data-slot="switch"
|
|
18
18
|
data-size={size}
|
|
19
19
|
className={cn(
|
|
20
|
-
|
|
21
|
-
className
|
|
20
|
+
"peer group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80",
|
|
21
|
+
className,
|
|
22
22
|
)}
|
|
23
23
|
{...props}
|
|
24
24
|
>
|
|
25
25
|
<SwitchPrimitive.Thumb
|
|
26
26
|
data-slot="switch-thumb"
|
|
27
27
|
className={cn(
|
|
28
|
-
|
|
28
|
+
"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground",
|
|
29
29
|
)}
|
|
30
30
|
/>
|
|
31
31
|
</SwitchPrimitive.Root>
|
|
32
|
-
)
|
|
32
|
+
);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
export { Switch }
|
|
35
|
+
export { Switch };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
"use client";
|
|
2
2
|
|
|
3
|
-
import * as React from
|
|
3
|
+
import * as React from "react";
|
|
4
4
|
|
|
5
|
-
import { cn } from
|
|
5
|
+
import { cn } from "@/lib/utils";
|
|
6
6
|
|
|
7
|
-
function Table({ className, ...props }: React.ComponentProps<
|
|
7
|
+
function Table({ className, ...props }: React.ComponentProps<"table">) {
|
|
8
8
|
return (
|
|
9
9
|
<div
|
|
10
10
|
data-slot="table-container"
|
|
@@ -12,96 +12,96 @@ function Table({ className, ...props }: React.ComponentProps<'table'>) {
|
|
|
12
12
|
>
|
|
13
13
|
<table
|
|
14
14
|
data-slot="table"
|
|
15
|
-
className={cn(
|
|
15
|
+
className={cn("w-full caption-bottom text-sm", className)}
|
|
16
16
|
{...props}
|
|
17
17
|
/>
|
|
18
18
|
</div>
|
|
19
|
-
)
|
|
19
|
+
);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
function TableHeader({ className, ...props }: React.ComponentProps<
|
|
22
|
+
function TableHeader({ className, ...props }: React.ComponentProps<"thead">) {
|
|
23
23
|
return (
|
|
24
24
|
<thead
|
|
25
25
|
data-slot="table-header"
|
|
26
|
-
className={cn(
|
|
26
|
+
className={cn("[&_tr]:border-b", className)}
|
|
27
27
|
{...props}
|
|
28
28
|
/>
|
|
29
|
-
)
|
|
29
|
+
);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
function TableBody({ className, ...props }: React.ComponentProps<
|
|
32
|
+
function TableBody({ className, ...props }: React.ComponentProps<"tbody">) {
|
|
33
33
|
return (
|
|
34
34
|
<tbody
|
|
35
35
|
data-slot="table-body"
|
|
36
|
-
className={cn(
|
|
36
|
+
className={cn("[&_tr:last-child]:border-0", className)}
|
|
37
37
|
{...props}
|
|
38
38
|
/>
|
|
39
|
-
)
|
|
39
|
+
);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
function TableFooter({ className, ...props }: React.ComponentProps<
|
|
42
|
+
function TableFooter({ className, ...props }: React.ComponentProps<"tfoot">) {
|
|
43
43
|
return (
|
|
44
44
|
<tfoot
|
|
45
45
|
data-slot="table-footer"
|
|
46
46
|
className={cn(
|
|
47
|
-
|
|
48
|
-
className
|
|
47
|
+
"border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
|
|
48
|
+
className,
|
|
49
49
|
)}
|
|
50
50
|
{...props}
|
|
51
51
|
/>
|
|
52
|
-
)
|
|
52
|
+
);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
function TableRow({ className, ...props }: React.ComponentProps<
|
|
55
|
+
function TableRow({ className, ...props }: React.ComponentProps<"tr">) {
|
|
56
56
|
return (
|
|
57
57
|
<tr
|
|
58
58
|
data-slot="table-row"
|
|
59
59
|
className={cn(
|
|
60
|
-
|
|
61
|
-
className
|
|
60
|
+
"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
|
|
61
|
+
className,
|
|
62
62
|
)}
|
|
63
63
|
{...props}
|
|
64
64
|
/>
|
|
65
|
-
)
|
|
65
|
+
);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
function TableHead({ className, ...props }: React.ComponentProps<
|
|
68
|
+
function TableHead({ className, ...props }: React.ComponentProps<"th">) {
|
|
69
69
|
return (
|
|
70
70
|
<th
|
|
71
71
|
data-slot="table-head"
|
|
72
72
|
className={cn(
|
|
73
|
-
|
|
74
|
-
className
|
|
73
|
+
"h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
74
|
+
className,
|
|
75
75
|
)}
|
|
76
76
|
{...props}
|
|
77
77
|
/>
|
|
78
|
-
)
|
|
78
|
+
);
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
function TableCell({ className, ...props }: React.ComponentProps<
|
|
81
|
+
function TableCell({ className, ...props }: React.ComponentProps<"td">) {
|
|
82
82
|
return (
|
|
83
83
|
<td
|
|
84
84
|
data-slot="table-cell"
|
|
85
85
|
className={cn(
|
|
86
|
-
|
|
87
|
-
className
|
|
86
|
+
"p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
|
|
87
|
+
className,
|
|
88
88
|
)}
|
|
89
89
|
{...props}
|
|
90
90
|
/>
|
|
91
|
-
)
|
|
91
|
+
);
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
function TableCaption({
|
|
95
95
|
className,
|
|
96
96
|
...props
|
|
97
|
-
}: React.ComponentProps<
|
|
97
|
+
}: React.ComponentProps<"caption">) {
|
|
98
98
|
return (
|
|
99
99
|
<caption
|
|
100
100
|
data-slot="table-caption"
|
|
101
|
-
className={cn(
|
|
101
|
+
className={cn("mt-4 text-sm text-muted-foreground", className)}
|
|
102
102
|
{...props}
|
|
103
103
|
/>
|
|
104
|
-
)
|
|
104
|
+
);
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
export {
|
|
@@ -113,4 +113,4 @@ export {
|
|
|
113
113
|
TableRow,
|
|
114
114
|
TableCell,
|
|
115
115
|
TableCaption,
|
|
116
|
-
}
|
|
116
|
+
};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
"use client";
|
|
2
2
|
|
|
3
|
-
import * as React from
|
|
3
|
+
import * as React from "react";
|
|
4
4
|
import {
|
|
5
5
|
Tabs as TabsPrimitive,
|
|
6
6
|
TabsList,
|
|
7
7
|
TabsTrigger,
|
|
8
8
|
TabsContent as TabsContentPrimitive,
|
|
9
|
-
} from
|
|
9
|
+
} from "./tabs";
|
|
10
10
|
|
|
11
11
|
export interface TabsWrapperProps {
|
|
12
|
-
defaultValue?: string
|
|
13
|
-
tabs: Array<{ value: string; label: string }
|
|
14
|
-
children?: React.ReactNode
|
|
12
|
+
defaultValue?: string;
|
|
13
|
+
tabs: Array<{ value: string; label: string }>;
|
|
14
|
+
children?: React.ReactNode;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
/**
|
|
@@ -22,7 +22,7 @@ export function TabsWrapper({
|
|
|
22
22
|
tabs,
|
|
23
23
|
children,
|
|
24
24
|
}: TabsWrapperProps) {
|
|
25
|
-
const defaultTab = defaultValue ?? tabs[0]?.value
|
|
25
|
+
const defaultTab = defaultValue ?? tabs[0]?.value;
|
|
26
26
|
|
|
27
27
|
return (
|
|
28
28
|
<TabsPrimitive defaultValue={defaultTab}>
|
|
@@ -35,17 +35,17 @@ export function TabsWrapper({
|
|
|
35
35
|
</TabsList>
|
|
36
36
|
{children}
|
|
37
37
|
</TabsPrimitive>
|
|
38
|
-
)
|
|
38
|
+
);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
export interface TabContentWrapperProps {
|
|
42
|
-
value: string
|
|
43
|
-
children?: React.ReactNode
|
|
42
|
+
value: string;
|
|
43
|
+
children?: React.ReactNode;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
/**
|
|
47
47
|
* TabContent wrapper - passes through to TabsContent.
|
|
48
48
|
*/
|
|
49
49
|
export function TabContentWrapper({ value, children }: TabContentWrapperProps) {
|
|
50
|
-
return <TabsContentPrimitive value={value}>{children}</TabsContentPrimitive
|
|
50
|
+
return <TabsContentPrimitive value={value}>{children}</TabsContentPrimitive>;
|
|
51
51
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
"use client";
|
|
2
2
|
|
|
3
|
-
import * as React from
|
|
4
|
-
import { cva, type VariantProps } from
|
|
5
|
-
import { Tabs as TabsPrimitive } from
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { cva, type VariantProps } from "class-variance-authority";
|
|
5
|
+
import { Tabs as TabsPrimitive } from "radix-ui";
|
|
6
6
|
|
|
7
|
-
import { cn } from
|
|
7
|
+
import { cn } from "@/lib/utils";
|
|
8
8
|
|
|
9
9
|
function Tabs({
|
|
10
10
|
className,
|
|
11
|
-
orientation =
|
|
11
|
+
orientation = "horizontal",
|
|
12
12
|
...props
|
|
13
13
|
}: React.ComponentProps<typeof TabsPrimitive.Root>) {
|
|
14
14
|
return (
|
|
@@ -17,32 +17,32 @@ function Tabs({
|
|
|
17
17
|
data-orientation={orientation}
|
|
18
18
|
orientation={orientation}
|
|
19
19
|
className={cn(
|
|
20
|
-
|
|
21
|
-
className
|
|
20
|
+
"group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",
|
|
21
|
+
className,
|
|
22
22
|
)}
|
|
23
23
|
{...props}
|
|
24
24
|
/>
|
|
25
|
-
)
|
|
25
|
+
);
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
const tabsListVariants = cva(
|
|
29
|
-
|
|
29
|
+
"rounded-lg p-[3px] group-data-[orientation=horizontal]/tabs:h-9 data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col",
|
|
30
30
|
{
|
|
31
31
|
variants: {
|
|
32
32
|
variant: {
|
|
33
|
-
default:
|
|
34
|
-
line:
|
|
33
|
+
default: "bg-muted",
|
|
34
|
+
line: "gap-1 bg-transparent",
|
|
35
35
|
},
|
|
36
36
|
},
|
|
37
37
|
defaultVariants: {
|
|
38
|
-
variant:
|
|
38
|
+
variant: "default",
|
|
39
39
|
},
|
|
40
|
-
}
|
|
41
|
-
)
|
|
40
|
+
},
|
|
41
|
+
);
|
|
42
42
|
|
|
43
43
|
function TabsList({
|
|
44
44
|
className,
|
|
45
|
-
variant =
|
|
45
|
+
variant = "default",
|
|
46
46
|
...props
|
|
47
47
|
}: React.ComponentProps<typeof TabsPrimitive.List> &
|
|
48
48
|
VariantProps<typeof tabsListVariants>) {
|
|
@@ -53,7 +53,7 @@ function TabsList({
|
|
|
53
53
|
className={cn(tabsListVariants({ variant }), className)}
|
|
54
54
|
{...props}
|
|
55
55
|
/>
|
|
56
|
-
)
|
|
56
|
+
);
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
function TabsTrigger({
|
|
@@ -64,15 +64,15 @@ function TabsTrigger({
|
|
|
64
64
|
<TabsPrimitive.Trigger
|
|
65
65
|
data-slot="tabs-trigger"
|
|
66
66
|
className={cn(
|
|
67
|
-
"
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
className
|
|
67
|
+
"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
68
|
+
"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent",
|
|
69
|
+
"data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground",
|
|
70
|
+
"after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",
|
|
71
|
+
className,
|
|
72
72
|
)}
|
|
73
73
|
{...props}
|
|
74
74
|
/>
|
|
75
|
-
)
|
|
75
|
+
);
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
function TabsContent({
|
|
@@ -82,11 +82,11 @@ function TabsContent({
|
|
|
82
82
|
return (
|
|
83
83
|
<TabsPrimitive.Content
|
|
84
84
|
data-slot="tabs-content"
|
|
85
|
-
className={cn(
|
|
85
|
+
className={cn("flex-1 outline-none", className)}
|
|
86
86
|
{...props}
|
|
87
87
|
/>
|
|
88
|
-
)
|
|
88
|
+
);
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
// eslint-disable-next-line react-refresh/only-export-components
|
|
92
|
-
export { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants }
|
|
92
|
+
export { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants };
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import * as React from
|
|
2
|
-
import { cn } from
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { cn } from "@/lib/utils";
|
|
3
3
|
|
|
4
|
-
export interface TextProps extends React.ComponentProps<
|
|
5
|
-
content?: string
|
|
4
|
+
export interface TextProps extends React.ComponentProps<"span"> {
|
|
5
|
+
content?: string;
|
|
6
6
|
/** Matches LLM prompt variants: heading, body, caption, code */
|
|
7
|
-
variant?:
|
|
7
|
+
variant?: "heading" | "body" | "caption" | "code";
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
const variantClasses = {
|
|
11
|
-
heading:
|
|
12
|
-
body:
|
|
13
|
-
caption:
|
|
14
|
-
code:
|
|
15
|
-
}
|
|
11
|
+
heading: "text-foreground text-lg font-semibold",
|
|
12
|
+
body: "text-foreground text-sm",
|
|
13
|
+
caption: "text-muted-foreground text-xs",
|
|
14
|
+
code: "text-foreground font-mono text-sm bg-muted px-1 rounded",
|
|
15
|
+
};
|
|
16
16
|
|
|
17
17
|
export function Text({
|
|
18
18
|
content,
|
|
19
|
-
variant =
|
|
19
|
+
variant = "body",
|
|
20
20
|
className,
|
|
21
21
|
children,
|
|
22
22
|
...props
|
|
@@ -29,5 +29,5 @@ export function Text({
|
|
|
29
29
|
>
|
|
30
30
|
{content ?? children}
|
|
31
31
|
</span>
|
|
32
|
-
)
|
|
32
|
+
);
|
|
33
33
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import * as React from
|
|
1
|
+
import * as React from "react";
|
|
2
2
|
|
|
3
|
-
import { cn } from
|
|
3
|
+
import { cn } from "@/lib/utils";
|
|
4
4
|
|
|
5
|
-
function Textarea({ className, ...props }: React.ComponentProps<
|
|
5
|
+
function Textarea({ className, ...props }: React.ComponentProps<"textarea">) {
|
|
6
6
|
return (
|
|
7
7
|
<textarea
|
|
8
8
|
data-slot="textarea"
|
|
9
9
|
className={cn(
|
|
10
|
-
|
|
11
|
-
className
|
|
10
|
+
"flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40",
|
|
11
|
+
className,
|
|
12
12
|
)}
|
|
13
13
|
{...props}
|
|
14
14
|
/>
|
|
15
|
-
)
|
|
15
|
+
);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
export { Textarea }
|
|
18
|
+
export { Textarea };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
"use client";
|
|
2
2
|
|
|
3
|
-
import * as React from
|
|
4
|
-
import { Tooltip as TooltipPrimitive } from
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { Tooltip as TooltipPrimitive } from "radix-ui";
|
|
5
5
|
|
|
6
|
-
import { cn } from
|
|
6
|
+
import { cn } from "@/lib/utils";
|
|
7
7
|
|
|
8
8
|
function TooltipProvider({
|
|
9
9
|
delayDuration = 0,
|
|
@@ -15,19 +15,19 @@ function TooltipProvider({
|
|
|
15
15
|
delayDuration={delayDuration}
|
|
16
16
|
{...props}
|
|
17
17
|
/>
|
|
18
|
-
)
|
|
18
|
+
);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
function Tooltip({
|
|
22
22
|
...props
|
|
23
23
|
}: React.ComponentProps<typeof TooltipPrimitive.Root>) {
|
|
24
|
-
return <TooltipPrimitive.Root data-slot="tooltip" {...props}
|
|
24
|
+
return <TooltipPrimitive.Root data-slot="tooltip" {...props} />;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
function TooltipTrigger({
|
|
28
28
|
...props
|
|
29
29
|
}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {
|
|
30
|
-
return <TooltipPrimitive.Trigger data-slot="tooltip-trigger" {...props}
|
|
30
|
+
return <TooltipPrimitive.Trigger data-slot="tooltip-trigger" {...props} />;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
function TooltipContent({
|
|
@@ -42,16 +42,16 @@ function TooltipContent({
|
|
|
42
42
|
data-slot="tooltip-content"
|
|
43
43
|
sideOffset={sideOffset}
|
|
44
44
|
className={cn(
|
|
45
|
-
|
|
46
|
-
className
|
|
45
|
+
"z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
|
|
46
|
+
className,
|
|
47
47
|
)}
|
|
48
48
|
{...props}
|
|
49
49
|
>
|
|
50
50
|
{children}
|
|
51
|
-
<TooltipPrimitive.Arrow className="
|
|
51
|
+
<TooltipPrimitive.Arrow className="z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground" />
|
|
52
52
|
</TooltipPrimitive.Content>
|
|
53
53
|
</TooltipPrimitive.Portal>
|
|
54
|
-
)
|
|
54
|
+
);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }
|
|
57
|
+
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
|
package/src/plugins/index.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { Plugin } from
|
|
2
|
-
import { chart } from
|
|
3
|
-
import { generativeUI } from
|
|
1
|
+
import type { Plugin } from "@/types/plugins";
|
|
2
|
+
import { chart } from "./chart";
|
|
3
|
+
import { generativeUI } from "./generative-ui";
|
|
4
4
|
|
|
5
|
-
export const recommended: Plugin[] = [chart, generativeUI]
|
|
6
|
-
export { chart } from
|
|
7
|
-
export { generativeUI } from
|
|
5
|
+
export const recommended: Plugin[] = [chart, generativeUI];
|
|
6
|
+
export { chart } from "./chart";
|
|
7
|
+
export { generativeUI } from "./generative-ui";
|
|
8
8
|
|
|
9
|
-
export type { Plugin } from
|
|
9
|
+
export type { Plugin } from "@/types/plugins";
|