From 3358dc1eac76635dffffa98705835da8d8a856db Mon Sep 17 00:00:00 2001 From: Yuri Tatishchev Date: Wed, 25 Dec 2024 17:22:22 -0800 Subject: [PATCH] update shadcn --- bun.lockb | Bin 168033 -> 168469 bytes components.json | 11 +++++---- package.json | 5 ++-- src/app.css | 18 +++++++++++++++ src/lib/utils.ts | 56 --------------------------------------------- tailwind.config.ts | 38 +++++++++++++++++++++++++++--- 6 files changed, 63 insertions(+), 65 deletions(-) diff --git a/bun.lockb b/bun.lockb index 2ae68a2415dbe717cf20159aa5cf62fa53a36f44..6fbf7911c3808afbd87403298ab1ab0efecada11 100755 GIT binary patch delta 26535 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 hM0tKK{Iz^*n_Q1dbL897NfA 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 diff --git a/components.json b/components.json index f95a168..bbb95e8 100644 --- a/components.json +++ b/components.json @@ -1,5 +1,5 @@ { - "$schema": "https://shadcn-svelte.com/schema.json", + "$schema": "https://next.shadcn-svelte.com/schema.json", "style": "default", "tailwind": { "config": "tailwind.config.ts", @@ -8,7 +8,10 @@ }, "aliases": { "components": "$lib/components", - "utils": "$lib/utils" + "utils": "$lib/utils", + "ui": "$lib/components/ui", + "hooks": "$lib/hooks" }, - "typescript": true -} \ No newline at end of file + "typescript": true, + "registry": "https://next.shadcn-svelte.com/registry" +} diff --git a/package.json b/package.json index acc72b5..95089d9 100644 --- a/package.json +++ b/package.json @@ -45,9 +45,10 @@ "qrcode-svg": "^1.1.0", "svelte": "^5.0.0", "svelte-check": "^4.0.0", - "tailwind-merge": "^2.5.4", - "tailwind-variants": "^0.2.1", + "tailwind-merge": "^2.6.0", + "tailwind-variants": "^0.3.0", "tailwindcss": "^3.4.9", + "tailwindcss-animate": "^1.0.7", "typescript": "^5.0.0", "typescript-eslint": "^8.0.0", "vite": "^5.0.3" diff --git a/src/app.css b/src/app.css index 65a17a1..f199fdb 100644 --- a/src/app.css +++ b/src/app.css @@ -35,6 +35,15 @@ --ring: 222.2 84% 4.9%; --radius: 0.5rem; + + --sidebar-background: 0 0% 98%; + --sidebar-foreground: 240 5.3% 26.1%; + --sidebar-primary: 240 5.9% 10%; + --sidebar-primary-foreground: 0 0% 98%; + --sidebar-accent: 240 4.8% 95.9%; + --sidebar-accent-foreground: 240 5.9% 10%; + --sidebar-border: 220 13% 91%; + --sidebar-ring: 217.2 91.2% 59.8%; } @media (prefers-color-scheme: dark) { @@ -67,6 +76,15 @@ --destructive-foreground: 210 40% 90%; --ring: 212.7 26.8% 83.9%; + + --sidebar-background: 240 5.9% 10%; + --sidebar-foreground: 240 4.8% 95.9%; + --sidebar-primary: 224.3 76.3% 48%; + --sidebar-primary-foreground: 0 0% 100%; + --sidebar-accent: 240 3.7% 15.9%; + --sidebar-accent-foreground: 240 4.8% 95.9%; + --sidebar-border: 240 3.7% 15.9%; + --sidebar-ring: 217.2 91.2% 59.8%; } } } diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 8871245..ac680b3 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -1,62 +1,6 @@ import { type ClassValue, clsx } from "clsx"; import { twMerge } from "tailwind-merge"; -import { cubicOut } from "svelte/easing"; -import type { TransitionConfig } from "svelte/transition"; export function cn(...inputs: ClassValue[]) { return twMerge(clsx(inputs)); } - -type FlyAndScaleParams = { - y?: number; - x?: number; - start?: number; - duration?: number; -}; - -export const flyAndScale = ( - node: Element, - params: FlyAndScaleParams = { y: -8, x: 0, start: 0.95, duration: 150 } -): TransitionConfig => { - const style = getComputedStyle(node); - const transform = style.transform === "none" ? "" : style.transform; - - const scaleConversion = ( - valueA: number, - scaleA: [number, number], - scaleB: [number, number] - ) => { - const [minA, maxA] = scaleA; - const [minB, maxB] = scaleB; - - const percentage = (valueA - minA) / (maxA - minA); - const valueB = percentage * (maxB - minB) + minB; - - return valueB; - }; - - const styleToString = ( - style: Record - ): string => { - return Object.keys(style).reduce((str, key) => { - if (style[key] === undefined) return str; - return str + `${key}:${style[key]};`; - }, ""); - }; - - return { - duration: params.duration ?? 200, - delay: 0, - css: (t) => { - const y = scaleConversion(t, [0, 1], [params.y ?? 5, 0]); - const x = scaleConversion(t, [0, 1], [params.x ?? 0, 0]); - const scale = scaleConversion(t, [0, 1], [params.start ?? 0.95, 1]); - - return styleToString({ - transform: `${transform} translate3d(${x}px, ${y}px, 0) scale(${scale})`, - opacity: t - }); - }, - easing: cubicOut - }; -}; \ No newline at end of file diff --git a/tailwind.config.ts b/tailwind.config.ts index c4bf235..d91ff63 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -1,5 +1,6 @@ import { fontFamily } from "tailwindcss/defaultTheme"; import type { Config } from "tailwindcss"; +import tailwindcssAnimate from "tailwindcss-animate"; const config: Config = { darkMode: ["class"], @@ -47,18 +48,49 @@ const config: Config = { card: { DEFAULT: "hsl(var(--card) / )", foreground: "hsl(var(--card-foreground) / )" - } + }, + sidebar: { + DEFAULT: "hsl(var(--sidebar-background))", + foreground: "hsl(var(--sidebar-foreground))", + primary: "hsl(var(--sidebar-primary))", + "primary-foreground": "hsl(var(--sidebar-primary-foreground))", + accent: "hsl(var(--sidebar-accent))", + "accent-foreground": "hsl(var(--sidebar-accent-foreground))", + border: "hsl(var(--sidebar-border))", + ring: "hsl(var(--sidebar-ring))", + }, }, borderRadius: { + xl: "calc(var(--radius) + 4px)", lg: "var(--radius)", md: "calc(var(--radius) - 2px)", sm: "calc(var(--radius) - 4px)" }, fontFamily: { sans: [...fontFamily.sans] - } - } + }, + keyframes: { + "accordion-down": { + from: { height: "0" }, + to: { height: "var(--bits-accordion-content-height)" }, + }, + "accordion-up": { + from: { height: "var(--bits-accordion-content-height)" }, + to: { height: "0" }, + }, + "caret-blink": { + "0%,70%,100%": { opacity: "1" }, + "20%,50%": { opacity: "0" }, + }, + }, + animation: { + "accordion-down": "accordion-down 0.2s ease-out", + "accordion-up": "accordion-up 0.2s ease-out", + "caret-blink": "caret-blink 1.25s ease-out infinite", + }, + }, }, + plugins: [tailwindcssAnimate], }; export default config;