From 0562b94b0391d44ab8fb4fbaee41fc89f11b46db Mon Sep 17 00:00:00 2001 From: Ilia Mashkov Date: Fri, 17 Apr 2026 08:55:10 +0300 Subject: [PATCH] feat(Label): add font prop to purge custom classes --- src/shared/ui/Label/Label.svelte | 8 ++++++++ src/shared/ui/Label/config.ts | 2 ++ src/widgets/ComparisonView/ui/FontList/FontList.svelte | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/shared/ui/Label/Label.svelte b/src/shared/ui/Label/Label.svelte index 908af2d..beda71a 100644 --- a/src/shared/ui/Label/Label.svelte +++ b/src/shared/ui/Label/Label.svelte @@ -6,6 +6,7 @@ import { cn } from '$shared/shadcn/utils/shadcn-utils'; import type { Snippet } from 'svelte'; import { + type LabelFont, type LabelSize, type LabelVariant, labelSizeConfig, @@ -28,6 +29,11 @@ interface Props { * @default true */ uppercase?: boolean; + /** + * Font family + * @default 'mono' + */ + font?: LabelFont; /** * Bold text * @default false @@ -55,6 +61,7 @@ interface Props { let { variant = 'default', size = 'sm', + font = 'mono', uppercase = true, bold = false, icon, @@ -68,6 +75,7 @@ let { class={cn( 'font-mono tracking-widest leading-none', 'inline-flex items-center gap-1.5', + font === 'primary' && 'font-primary tracking-tight', labelSizeConfig[size], labelVariantConfig[variant], uppercase && 'uppercase', diff --git a/src/shared/ui/Label/config.ts b/src/shared/ui/Label/config.ts index d76f73b..1ee02c7 100644 --- a/src/shared/ui/Label/config.ts +++ b/src/shared/ui/Label/config.ts @@ -3,6 +3,8 @@ * Import from here in each component to keep maps DRY. */ +export type LabelFont = 'mono' | 'primary'; + export type LabelVariant = | 'default' | 'accent' diff --git a/src/widgets/ComparisonView/ui/FontList/FontList.svelte b/src/widgets/ComparisonView/ui/FontList/FontList.svelte index 7f67562..5471d8d 100644 --- a/src/widgets/ComparisonView/ui/FontList/FontList.svelte +++ b/src/widgets/ComparisonView/ui/FontList/FontList.svelte @@ -72,7 +72,7 @@ $effect(() => {
-