From 490bf920b6450de683a208030fae920731504d85 Mon Sep 17 00:00:00 2001 From: Samuel K Date: Fri, 17 Jul 2026 15:42:15 -0500 Subject: [PATCH] feat(desktop): add shadcn-svelte config and Toggle/ToggleGroup components Add components.json and tsconfig path aliases so the shadcn-svelte CLI can resolve $lib and add future components consistently. Include the Toggle and ToggleGroup UI primitives (wrapping the existing bits-ui dependency), matching the repo's generated-component conventions. No behavior change to existing screens. --- desktop/components.json | 16 ++++++ .../lib/components/ui/toggle-group/index.ts | 10 ++++ .../ui/toggle-group/toggle-group-item.svelte | 33 ++++++++++++ .../ui/toggle-group/toggle-group.svelte | 48 +++++++++++++++++ .../src/lib/components/ui/toggle/index.ts | 15 ++++++ .../lib/components/ui/toggle/toggle.svelte | 52 +++++++++++++++++++ desktop/tsconfig.json | 7 ++- 7 files changed, 180 insertions(+), 1 deletion(-) create mode 100644 desktop/components.json create mode 100644 desktop/src/renderer/src/lib/components/ui/toggle-group/index.ts create mode 100644 desktop/src/renderer/src/lib/components/ui/toggle-group/toggle-group-item.svelte create mode 100644 desktop/src/renderer/src/lib/components/ui/toggle-group/toggle-group.svelte create mode 100644 desktop/src/renderer/src/lib/components/ui/toggle/index.ts create mode 100644 desktop/src/renderer/src/lib/components/ui/toggle/toggle.svelte diff --git a/desktop/components.json b/desktop/components.json new file mode 100644 index 000000000..bc0571108 --- /dev/null +++ b/desktop/components.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://shadcn-svelte.com/schema.json", + "tailwind": { + "css": "src/renderer/src/app.css", + "baseColor": "zinc" + }, + "aliases": { + "lib": "$lib", + "utils": "$lib/utils", + "components": "$lib/components", + "ui": "$lib/components/ui", + "hooks": "$lib/hooks" + }, + "typescript": true, + "registry": "https://shadcn-svelte.com/registry" +} diff --git a/desktop/src/renderer/src/lib/components/ui/toggle-group/index.ts b/desktop/src/renderer/src/lib/components/ui/toggle-group/index.ts new file mode 100644 index 000000000..3206defe1 --- /dev/null +++ b/desktop/src/renderer/src/lib/components/ui/toggle-group/index.ts @@ -0,0 +1,10 @@ +import Root, { type ToggleGroupContext } from "./toggle-group.svelte" +import Item from "./toggle-group-item.svelte" + +export { + Item, + Item as ToggleGroupItem, + Root, + Root as ToggleGroup, + type ToggleGroupContext, +} diff --git a/desktop/src/renderer/src/lib/components/ui/toggle-group/toggle-group-item.svelte b/desktop/src/renderer/src/lib/components/ui/toggle-group/toggle-group-item.svelte new file mode 100644 index 000000000..88fea41b8 --- /dev/null +++ b/desktop/src/renderer/src/lib/components/ui/toggle-group/toggle-group-item.svelte @@ -0,0 +1,33 @@ + + + diff --git a/desktop/src/renderer/src/lib/components/ui/toggle-group/toggle-group.svelte b/desktop/src/renderer/src/lib/components/ui/toggle-group/toggle-group.svelte new file mode 100644 index 000000000..5dba8a593 --- /dev/null +++ b/desktop/src/renderer/src/lib/components/ui/toggle-group/toggle-group.svelte @@ -0,0 +1,48 @@ + + + + + + {@render children?.()} + diff --git a/desktop/src/renderer/src/lib/components/ui/toggle/index.ts b/desktop/src/renderer/src/lib/components/ui/toggle/index.ts new file mode 100644 index 000000000..57ca8b24b --- /dev/null +++ b/desktop/src/renderer/src/lib/components/ui/toggle/index.ts @@ -0,0 +1,15 @@ +import Root, { + type ToggleSize, + type ToggleVariant, + type ToggleVariants, + toggleVariants, +} from "./toggle.svelte" + +export { + Root, + Root as Toggle, + type ToggleSize, + type ToggleVariant, + type ToggleVariants, + toggleVariants, +} diff --git a/desktop/src/renderer/src/lib/components/ui/toggle/toggle.svelte b/desktop/src/renderer/src/lib/components/ui/toggle/toggle.svelte new file mode 100644 index 000000000..e64bcd413 --- /dev/null +++ b/desktop/src/renderer/src/lib/components/ui/toggle/toggle.svelte @@ -0,0 +1,52 @@ + + + + + diff --git a/desktop/tsconfig.json b/desktop/tsconfig.json index 50309b1c0..8d9742720 100644 --- a/desktop/tsconfig.json +++ b/desktop/tsconfig.json @@ -6,7 +6,12 @@ "esModuleInterop": true, "strict": true, "skipLibCheck": true, - "outDir": "dist" + "outDir": "dist", + "paths": { + "$lib": ["./src/renderer/src/lib"], + "$lib/*": ["./src/renderer/src/lib/*"], + "$shared/*": ["./src/shared/*"] + } }, "include": ["src/main/**/*", "src/preload/**/*", "src/shared/**/*"] }