chore: purge shadcn from codebase. Replace with bits-ui components and other tools

This commit is contained in:
Ilia Mashkov
2026-04-17 13:37:44 +03:00
parent 0004b81e40
commit 8a93c7b545
55 changed files with 90 additions and 351 deletions

View File

@@ -6,10 +6,10 @@
<script lang="ts">
import { fontStore } from '$entities/Font';
import type { ResponsiveManager } from '$shared/lib';
import { cn } from '$shared/shadcn/utils/shadcn-utils';
import { Button } from '$shared/ui';
import { Label } from '$shared/ui';
import RefreshCwIcon from '@lucide/svelte/icons/refresh-cw';
import clsx from 'clsx';
import {
getContext,
untrack,
@@ -45,7 +45,7 @@ function handleReset() {
</script>
<div
class={cn(
class={clsx(
'flex flex-col md:flex-row justify-between items-start md:items-center',
'gap-1 md:gap-6',
'pt-6 mt-6 md:pt-8 md:mt-8',
@@ -77,7 +77,7 @@ function handleReset() {
variant="ghost"
size={isMobileOrTabletPortrait ? 'xs' : 'sm'}
onclick={handleReset}
class={cn('group font-mono tracking-widest text-neutral-400', isMobileOrTabletPortrait && 'px-0')}
class={clsx('group font-mono tracking-widest text-neutral-400', isMobileOrTabletPortrait && 'px-0')}
iconPosition="left"
>
{#snippet icon()}

View File

@@ -12,7 +12,6 @@ import {
MULTIPLIER_S,
} from '$entities/Font';
import type { ResponsiveManager } from '$shared/lib';
import { cn } from '$shared/shadcn/utils/shadcn-utils';
import {
ComboControl,
ControlGroup,
@@ -21,6 +20,7 @@ import {
import Settings2Icon from '@lucide/svelte/icons/settings-2';
import XIcon from '@lucide/svelte/icons/x';
import { Popover } from 'bits-ui';
import clsx from 'clsx';
import { getContext } from 'svelte';
import { cubicOut } from 'svelte/easing';
import { fly } from 'svelte/transition';
@@ -74,7 +74,7 @@ $effect(() => {
{#snippet child({ props })}
<button
{...props}
class={cn(
class={clsx(
'inline-flex items-center justify-center',
'size-8 p-0',
'border border-transparent rounded-none',
@@ -95,7 +95,7 @@ $effect(() => {
side="top"
align="start"
sideOffset={8}
class={cn(
class={clsx(
'z-50 w-72',
'bg-surface dark:bg-dark-card',
'border border-subtle',
@@ -149,11 +149,11 @@ $effect(() => {
</Popover.Root>
{:else}
<div
class={cn('w-full md:w-auto', className)}
class={clsx('w-full md:w-auto', className)}
transition:fly={{ y: 100, duration: 200, easing: cubicOut }}
>
<div
class={cn(
class={clsx(
'flex items-center gap-1 md:gap-2 p-1.5 md:p-2',
'bg-surface/95 dark:bg-dark-bg/95 backdrop-blur-xl',
'border border-subtle',