f0144a2361
Set up shadcn-svelte components and adopt its design-token system as the base for modernizing the UI. Switch dark mode from the data-theme attribute to the .dark class so shadcn primitives theme correctly. - add components.json, $lib alias (tsconfig + vite), cn() util - install shadcn primitives under src/lib/components/ui - rewrite index.css with shadcn tokens (zinc + brand teal accent) - keep legacy utility/class aliases as a transitional shim - toggle .dark class from theme store in App.svelte Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UmuGqwNBJNEAMaWsdCDqUC
21 lines
531 B
Svelte
21 lines
531 B
Svelte
<script lang="ts">
|
|
import type { HTMLAttributes } from "svelte/elements";
|
|
import { cn, type WithElementRef } from "$lib/utils.js";
|
|
|
|
let {
|
|
ref = $bindable(null),
|
|
class: className,
|
|
children,
|
|
...restProps
|
|
}: WithElementRef<HTMLAttributes<HTMLSpanElement>> = $props();
|
|
</script>
|
|
|
|
<span
|
|
bind:this={ref}
|
|
data-slot="dropdown-menu-shortcut"
|
|
class={cn("text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest", className)}
|
|
{...restProps}
|
|
>
|
|
{@render children?.()}
|
|
</span>
|