Svelte 5 + shadcn-svelte + Tailwind CSS v4 chat interface for Hermes Agent with Monaco editor, file drag/drop, artifacts, image preview, and real session management. - SSE streaming via hermes CLI proxy - File upload + drag/drop with image preview - Code artifacts with Monaco editor - Markdown + highlight.js syntax highlighting - Full settings (model, provider, temp, system prompt) - 12 shadcn UI components - Dark/light theme
29 lines
879 B
Svelte
29 lines
879 B
Svelte
<script lang="ts">
|
|
import { Tooltip as TooltipPrimitive } from "bits-ui";
|
|
import { cn } from "$lib/utils.ts";
|
|
|
|
let {
|
|
class: className = "",
|
|
children,
|
|
sideOffset = 4,
|
|
...restProps
|
|
}: {
|
|
class?: string;
|
|
children?: import("svelte").Snippet;
|
|
sideOffset?: number;
|
|
[key: string]: unknown;
|
|
} = $props();
|
|
</script>
|
|
|
|
<TooltipPrimitive.Content
|
|
{sideOffset}
|
|
class={cn(
|
|
"z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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",
|
|
className
|
|
)}
|
|
{...restProps}
|
|
>
|
|
{#if children}
|
|
{@render children()}
|
|
{/if}
|
|
</TooltipPrimitive.Content> |