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
446 B
Svelte
21 lines
446 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<HTMLDivElement>> = $props();
|
|
</script>
|
|
|
|
<div
|
|
bind:this={ref}
|
|
data-slot="card-content"
|
|
class={cn("px-4 group-data-[size=sm]/card:px-3", className)}
|
|
{...restProps}
|
|
>
|
|
{@render children?.()}
|
|
</div>
|