@sonny-ui/core 0.1.0-alpha.11 → 0.1.0-alpha.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"sonny-ui-core.mjs","sources":["../../../projects/core/src/lib/core/utils/cn.ts","../../../projects/core/src/lib/core/providers/sonny-config.ts","../../../projects/core/src/lib/core/providers/theme.service.ts","../../../projects/core/src/lib/button/button.variants.ts","../../../projects/core/src/lib/button/button.directive.ts","../../../projects/core/src/lib/card/card.variants.ts","../../../projects/core/src/lib/card/card.directives.ts","../../../projects/core/src/lib/input/input.variants.ts","../../../projects/core/src/lib/input/input.directive.ts","../../../projects/core/src/lib/input/label.directive.ts","../../../projects/core/src/lib/toast/toast.service.ts","../../../projects/core/src/lib/toast/toast.variants.ts","../../../projects/core/src/lib/toast/toaster.component.ts","../../../projects/core/src/lib/modal/dialog-ref.ts","../../../projects/core/src/lib/modal/dialog.types.ts","../../../projects/core/src/lib/modal/dialog.service.ts","../../../projects/core/src/lib/modal/dialog.directives.ts","../../../projects/core/src/lib/accordion/accordion.directives.ts","../../../projects/core/src/lib/avatar/avatar.variants.ts","../../../projects/core/src/lib/avatar/avatar.component.ts","../../../projects/core/src/lib/badge/badge.variants.ts","../../../projects/core/src/lib/badge/badge.directive.ts","../../../projects/core/src/lib/breadcrumb/breadcrumb.directives.ts","../../../projects/core/src/lib/button-group/button-group.variants.ts","../../../projects/core/src/lib/button-group/button-group.directive.ts","../../../projects/core/src/lib/checkbox/checkbox.variants.ts","../../../projects/core/src/lib/checkbox/checkbox.directive.ts","../../../projects/core/src/lib/combobox/combobox.variants.ts","../../../projects/core/src/lib/combobox/combobox.component.ts","../../../projects/core/src/lib/skeleton/skeleton.variants.ts","../../../projects/core/src/lib/skeleton/skeleton.directive.ts","../../../projects/core/src/lib/radio/radio.variants.ts","../../../projects/core/src/lib/radio/radio.directive.ts","../../../projects/core/src/lib/switch/switch.variants.ts","../../../projects/core/src/lib/switch/switch.component.ts","../../../projects/core/src/lib/toggle/toggle.variants.ts","../../../projects/core/src/lib/toggle/toggle.directive.ts","../../../projects/core/src/lib/slider/slider.variants.ts","../../../projects/core/src/lib/slider/slider.component.ts","../../../projects/core/src/lib/loader/loader.variants.ts","../../../projects/core/src/lib/loader/loader.component.ts","../../../projects/core/src/lib/tabs/tabs.directives.ts","../../../projects/core/src/lib/tabs/tabs.variants.ts","../../../projects/core/src/lib/select/select.variants.ts","../../../projects/core/src/lib/select/select.component.ts","../../../projects/core/src/lib/table/table.variants.ts","../../../projects/core/src/lib/table/table.directives.ts","../../../projects/core/src/lib/sheet/sheet-ref.ts","../../../projects/core/src/lib/sheet/sheet.types.ts","../../../projects/core/src/lib/sheet/sheet.service.ts","../../../projects/core/src/lib/sheet/sheet.directives.ts","../../../projects/core/src/lib/alert/alert.variants.ts","../../../projects/core/src/lib/alert/alert.directives.ts","../../../projects/core/src/lib/textarea/textarea.variants.ts","../../../projects/core/src/lib/textarea/textarea.directive.ts","../../../projects/core/src/lib/progress/progress.variants.ts","../../../projects/core/src/lib/progress/progress.component.ts","../../../projects/core/src/lib/tooltip/tooltip.variants.ts","../../../projects/core/src/lib/tooltip/tooltip.directive.ts","../../../projects/core/src/lib/dropdown/dropdown.variants.ts","../../../projects/core/src/lib/dropdown/dropdown.directives.ts","../../../projects/core/src/lib/file-input/file-input.variants.ts","../../../projects/core/src/lib/file-input/file-input.component.ts","../../../projects/core/src/lib/fieldset/fieldset.variants.ts","../../../projects/core/src/lib/fieldset/fieldset.directives.ts","../../../projects/core/src/lib/rating/rating.variants.ts","../../../projects/core/src/lib/rating/rating.component.ts","../../../projects/core/src/lib/navbar/navbar.directives.ts","../../../projects/core/src/lib/drawer/drawer.directives.ts","../../../projects/core/src/lib/pagination/pagination.variants.ts","../../../projects/core/src/lib/pagination/pagination.component.ts","../../../projects/core/src/lib/divider/divider.variants.ts","../../../projects/core/src/lib/divider/divider.component.ts","../../../projects/core/src/lib/steps/steps.directives.ts","../../../projects/core/src/lib/stat/stat.directives.ts","../../../projects/core/src/lib/timeline/timeline.directives.ts","../../../projects/core/src/lib/kbd/kbd.variants.ts","../../../projects/core/src/lib/kbd/kbd.directive.ts","../../../projects/core/src/lib/list/list.directives.ts","../../../projects/core/src/lib/status/status.variants.ts","../../../projects/core/src/lib/status/status.directive.ts","../../../projects/core/src/lib/indicator/indicator.directives.ts","../../../projects/core/src/lib/chat-bubble/chat-bubble.directives.ts","../../../projects/core/src/lib/carousel/carousel.directives.ts","../../../projects/core/src/lib/dock/dock.directives.ts","../../../projects/core/src/lib/fab/fab.directives.ts","../../../projects/core/src/lib/radial-progress/radial-progress.component.ts","../../../projects/core/src/lib/diff/diff.component.ts","../../../projects/core/src/lib/link/link.variants.ts","../../../projects/core/src/lib/link/link.directive.ts","../../../projects/core/src/lib/calendar/calendar.component.ts","../../../projects/core/src/lib/validator/validator.directives.ts","../../../projects/core/src/public-api.ts","../../../projects/core/src/sonny-ui-core.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]): string {\n return twMerge(clsx(inputs));\n}\n","import { type EnvironmentProviders, InjectionToken, makeEnvironmentProviders } from '@angular/core';\n\nexport interface SonnyConfig {\n prefix?: string;\n defaultTheme?: 'light' | 'dark' | 'corporate';\n}\n\nconst DEFAULT_CONFIG: SonnyConfig = { prefix: 'sny', defaultTheme: 'light' };\n\nexport const SNY_CONFIG = new InjectionToken<SonnyConfig>('SNY_CONFIG', {\n providedIn: 'root',\n factory: () => DEFAULT_CONFIG,\n});\n\nexport function provideSonnyUI(config: Partial<SonnyConfig> = {}): EnvironmentProviders {\n return makeEnvironmentProviders([\n { provide: SNY_CONFIG, useValue: { ...DEFAULT_CONFIG, ...config } },\n ]);\n}\n","import { Injectable, signal, computed, inject, PLATFORM_ID } from '@angular/core';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\n\nexport type Theme = 'light' | 'dark' | 'corporate';\n\n@Injectable({ providedIn: 'root' })\nexport class ThemeService {\n private readonly document = inject(DOCUMENT);\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n\n private readonly _theme = signal<Theme>('light');\n\n readonly theme = this._theme.asReadonly();\n readonly isDark = computed(() => this._theme() === 'dark');\n\n setTheme(theme: Theme): void {\n this._theme.set(theme);\n\n if (!this.isBrowser) return;\n\n const root = this.document.documentElement;\n root.classList.remove('dark');\n root.removeAttribute('data-theme');\n\n if (theme === 'dark') {\n root.classList.add('dark');\n root.setAttribute('data-theme', 'dark');\n } else if (theme !== 'light') {\n root.setAttribute('data-theme', theme);\n }\n }\n\n toggleDark(): void {\n this.setTheme(this._theme() === 'dark' ? 'light' : 'dark');\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-sm text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground hover:bg-primary/90',\n destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive/90',\n outline: 'border border-border bg-background hover:bg-accent hover:text-accent-foreground',\n secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n sm: 'h-9 rounded-sm px-3',\n md: 'h-10 px-4 py-2',\n lg: 'h-11 rounded-sm px-8',\n icon: 'h-10 w-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n }\n);\n\nexport type ButtonVariant = 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link';\nexport type ButtonSize = 'sm' | 'md' | 'lg' | 'icon';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { buttonVariants, type ButtonVariant, type ButtonSize } from './button.variants';\n\n@Directive({\n selector: 'button[snyBtn], a[snyBtn]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[attr.aria-disabled]': 'disabled() || loading() || null',\n '[attr.disabled]': 'disabled() || loading() || null',\n '[attr.tabindex]': '(disabled() || loading()) ? -1 : null',\n },\n})\nexport class SnyButtonDirective {\n readonly variant = input<ButtonVariant>('default');\n readonly size = input<ButtonSize>('md');\n readonly disabled = input(false);\n readonly loading = input(false);\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(\n buttonVariants({ variant: this.variant(), size: this.size() }),\n this.loading() && 'relative cursor-wait',\n this.class()\n )\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const cardVariants = cva(\n 'rounded-sm text-card-foreground',\n {\n variants: {\n variant: {\n default: 'bg-card border border-border',\n outline: 'border-2 border-border bg-transparent',\n elevated: 'bg-card shadow-lg',\n ghost: 'bg-transparent',\n },\n padding: {\n none: '',\n sm: 'p-4',\n md: 'p-6',\n lg: 'p-8',\n },\n },\n defaultVariants: {\n variant: 'default',\n padding: 'none',\n },\n }\n);\n\nexport type CardVariant = 'default' | 'outline' | 'elevated' | 'ghost';\nexport type CardPadding = 'none' | 'sm' | 'md' | 'lg';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { cardVariants, type CardVariant, type CardPadding } from './card.variants';\n\n@Directive({\n selector: '[snyCard]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyCardDirective {\n readonly variant = input<CardVariant>('default');\n readonly padding = input<CardPadding>('none');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(cardVariants({ variant: this.variant(), padding: this.padding() }), this.class())\n );\n}\n\n@Directive({\n selector: '[snyCardHeader]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyCardHeaderDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex flex-col space-y-1.5 p-6', this.class())\n );\n}\n\n@Directive({\n selector: '[snyCardTitle]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyCardTitleDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-2xl font-semibold leading-none tracking-tight', this.class())\n );\n}\n\n@Directive({\n selector: '[snyCardDescription]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyCardDescriptionDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-sm text-muted-foreground', this.class())\n );\n}\n\n@Directive({\n selector: '[snyCardContent]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyCardContentDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('p-6 pt-0', this.class())\n );\n}\n\n@Directive({\n selector: '[snyCardFooter]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyCardFooterDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex items-center p-6 pt-0', this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const inputVariants = cva(\n 'flex w-full rounded-sm border bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n {\n variants: {\n variant: {\n default: 'border-input',\n error: 'border-destructive focus-visible:ring-destructive',\n success: 'border-green-500 focus-visible:ring-green-500',\n },\n inputSize: {\n sm: 'h-9 text-xs',\n md: 'h-10',\n lg: 'h-11 text-base',\n },\n },\n defaultVariants: {\n variant: 'default',\n inputSize: 'md',\n },\n }\n);\n\nexport const labelVariants = cva(\n 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n {\n variants: {\n variant: {\n default: '',\n error: 'text-destructive',\n success: 'text-green-600',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type InputVariant = 'default' | 'error' | 'success';\nexport type InputSize = 'sm' | 'md' | 'lg';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { inputVariants, type InputVariant, type InputSize } from './input.variants';\n\n@Directive({\n selector: 'input[snyInput], textarea[snyInput]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[attr.aria-invalid]': 'variant() === \"error\" || null',\n '[attr.aria-describedby]': 'ariaDescribedBy() || null',\n },\n})\nexport class SnyInputDirective {\n readonly variant = input<InputVariant>('default');\n readonly inputSize = input<InputSize>('md');\n readonly class = input<string>('');\n readonly ariaDescribedBy = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(\n inputVariants({ variant: this.variant(), inputSize: this.inputSize() }),\n this.class()\n )\n );\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { labelVariants, type InputVariant } from './input.variants';\n\n@Directive({\n selector: 'label[snyLabel]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyLabelDirective {\n readonly variant = input<InputVariant>('default');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(labelVariants({ variant: this.variant() }), this.class())\n );\n}\n","import { Injectable, signal, computed } from '@angular/core';\nimport type { ToastConfig, ToastData } from './toast.variants';\n\n@Injectable({ providedIn: 'root' })\nexport class SnyToastService {\n private readonly _toasts = signal<ToastData[]>([]);\n private readonly _timers = new Map<string, ReturnType<typeof setTimeout>>();\n private _idCounter = 0;\n\n readonly toasts = this._toasts.asReadonly();\n readonly count = computed(() => this._toasts().length);\n\n show(config: ToastConfig): string {\n const id = `sny-toast-${++this._idCounter}`;\n const toast: ToastData = {\n id,\n variant: 'default',\n duration: 5000,\n ...config,\n };\n\n this._toasts.update(toasts => [...toasts, toast]);\n\n if (toast.duration && toast.duration > 0) {\n const timer = setTimeout(() => this.dismiss(id), toast.duration);\n this._timers.set(id, timer);\n }\n\n return id;\n }\n\n dismiss(id: string): void {\n const timer = this._timers.get(id);\n if (timer) {\n clearTimeout(timer);\n this._timers.delete(id);\n }\n this._toasts.update(toasts => toasts.filter(t => t.id !== id));\n }\n\n dismissAll(): void {\n for (const timer of this._timers.values()) {\n clearTimeout(timer);\n }\n this._timers.clear();\n this._toasts.set([]);\n }\n\n success(title: string, description?: string): string {\n return this.show({ title, description, variant: 'success' });\n }\n\n error(title: string, description?: string): string {\n return this.show({ title, description, variant: 'destructive' });\n }\n\n warning(title: string, description?: string): string {\n return this.show({ title, description, variant: 'warning' });\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const toastVariants = cva(\n 'group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-sm border p-6 pr-8 shadow-lg transition-all',\n {\n variants: {\n variant: {\n default: 'bg-background border-border text-foreground',\n destructive: 'bg-destructive border-destructive text-destructive-foreground',\n success: 'bg-green-600 border-green-600 text-white',\n warning: 'bg-yellow-500 border-yellow-500 text-white',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type ToastVariant = 'default' | 'destructive' | 'success' | 'warning';\nexport type ToastPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top-center' | 'bottom-center';\n\nexport interface ToastAction {\n label: string;\n onClick: () => void;\n}\n\nexport interface ToastConfig {\n title: string;\n description?: string;\n variant?: ToastVariant;\n duration?: number;\n action?: ToastAction;\n}\n\nexport interface ToastData extends ToastConfig {\n id: string;\n}\n","import { ChangeDetectionStrategy, Component, inject, input, computed } from '@angular/core';\nimport { SnyToastService } from './toast.service';\nimport { toastVariants, type ToastPosition, type ToastVariant } from './toast.variants';\nimport { cn } from '../core/utils/cn';\n\n@Component({\n selector: 'sny-toaster',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div [class]=\"containerClass()\" role=\"region\" aria-label=\"Notifications\" tabindex=\"-1\">\n @for (toast of visibleToasts(); track toast.id) {\n <div\n [class]=\"toastClasses[toast.variant ?? 'default']\"\n role=\"alert\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n <div class=\"grid gap-1\">\n <div class=\"text-sm font-semibold\">{{ toast.title }}</div>\n @if (toast.description) {\n <div class=\"text-sm opacity-90\">{{ toast.description }}</div>\n }\n </div>\n <div class=\"flex items-center gap-2\">\n @if (toast.action) {\n <button\n class=\"inline-flex h-8 shrink-0 items-center justify-center rounded-sm border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary\"\n (click)=\"toast.action!.onClick()\"\n >\n {{ toast.action!.label }}\n </button>\n }\n <button\n class=\"absolute right-2 top-2 rounded-sm p-1 opacity-0 transition-opacity hover:opacity-100 group-hover:opacity-100 focus:opacity-100\"\n aria-label=\"Close\"\n (click)=\"dismiss(toast.id)\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 6 6 18\"/><path d=\"m6 6 12 12\"/></svg>\n </button>\n </div>\n </div>\n }\n </div>\n `,\n})\nexport class SnyToasterComponent {\n private readonly toastService = inject(SnyToastService);\n\n readonly position = input<ToastPosition>('bottom-right');\n readonly maxToasts = input(5);\n\n readonly visibleToasts = computed(() =>\n this.toastService.toasts().slice(-this.maxToasts())\n );\n\n readonly containerClass = computed(() => {\n const pos = this.position();\n const base = 'fixed z-[100] flex max-h-screen w-full flex-col-reverse gap-2 p-4 sm:max-w-[420px]';\n const posMap: Record<ToastPosition, string> = {\n 'top-right': 'top-0 right-0',\n 'top-left': 'top-0 left-0',\n 'bottom-right': 'bottom-0 right-0',\n 'bottom-left': 'bottom-0 left-0',\n 'top-center': 'top-0 left-1/2 -translate-x-1/2',\n 'bottom-center': 'bottom-0 left-1/2 -translate-x-1/2',\n };\n return cn(base, posMap[pos]);\n });\n\n /** Pre-computed toast classes by variant — avoids method calls in the template. */\n readonly toastClasses: Record<ToastVariant, string> = {\n default: cn(toastVariants({ variant: 'default' })),\n destructive: cn(toastVariants({ variant: 'destructive' })),\n success: cn(toastVariants({ variant: 'success' })),\n warning: cn(toastVariants({ variant: 'warning' })),\n };\n\n dismiss(id: string): void {\n this.toastService.dismiss(id);\n }\n}\n","import type { Observable } from 'rxjs';\n\n/** Structural interface for the subset of CDK DialogRef we consume. */\ninterface CdkDialogRefLike<R> {\n close(result?: R): void;\n readonly closed: Observable<R | undefined>;\n}\n\nexport class SnyDialogRef<R = unknown> {\n constructor(private readonly cdkRef: CdkDialogRefLike<R>) {}\n\n close(result?: R): void {\n this.cdkRef.close(result);\n }\n\n get closed(): Observable<R | undefined> {\n return this.cdkRef.closed;\n }\n}\n","export interface SnyDialogConfig {\n width?: string;\n maxWidth?: string;\n closeOnBackdrop?: boolean;\n closeOnEsc?: boolean;\n data?: unknown;\n ariaLabelledBy?: string;\n ariaDescribedBy?: string;\n}\n\nexport const DEFAULT_DIALOG_CONFIG: SnyDialogConfig = {\n width: '28rem',\n maxWidth: '90vw',\n closeOnBackdrop: true,\n closeOnEsc: true,\n};\n","import { Injectable, inject, InjectionToken } from '@angular/core';\nimport { Dialog, DialogRef as CdkDialogRef } from '@angular/cdk/dialog';\nimport type { ComponentType } from '@angular/cdk/overlay';\nimport { SnyDialogRef } from './dialog-ref';\nimport { DEFAULT_DIALOG_CONFIG, type SnyDialogConfig } from './dialog.types';\n\nexport const SNY_DIALOG_DATA = new InjectionToken<unknown>('SNY_DIALOG_DATA');\n\n@Injectable({ providedIn: 'root' })\nexport class SnyDialogService {\n private readonly cdkDialog = inject(Dialog);\n\n open<T, R = unknown>(\n component: ComponentType<T>,\n config: SnyDialogConfig = {}\n ): SnyDialogRef<R> {\n const merged = { ...DEFAULT_DIALOG_CONFIG, ...config };\n\n // CDK's disableClose controls both backdrop and ESC together.\n // To support independent closeOnBackdrop / closeOnEsc, we disable both\n // at the CDK level and handle them manually.\n const disableClose = !merged.closeOnBackdrop || !merged.closeOnEsc;\n\n const cdkRef: CdkDialogRef<R, T> = this.cdkDialog.open(component, {\n width: merged.width,\n maxWidth: merged.maxWidth,\n disableClose,\n hasBackdrop: true,\n backdropClass: 'sny-dialog-backdrop',\n panelClass: 'sny-dialog-panel',\n ariaLabelledBy: merged.ariaLabelledBy,\n ariaDescribedBy: merged.ariaDescribedBy,\n data: merged.data,\n providers: merged.data != null\n ? [{ provide: SNY_DIALOG_DATA, useValue: merged.data }]\n : [],\n });\n\n // When CDK disableClose is true, manually handle backdrop/ESC based on config\n if (disableClose) {\n if (merged.closeOnBackdrop) {\n const sub = cdkRef.backdropClick.subscribe(() => cdkRef.close());\n cdkRef.closed.subscribe(() => sub.unsubscribe());\n }\n if (merged.closeOnEsc) {\n const sub = cdkRef.keydownEvents.subscribe(event => {\n if (event.key === 'Escape') {\n cdkRef.close();\n }\n });\n cdkRef.closed.subscribe(() => sub.unsubscribe());\n }\n }\n\n return new SnyDialogRef<R>(cdkRef);\n }\n\n closeAll(): void {\n this.cdkDialog.closeAll();\n }\n}\n","import { Directive, computed, input, inject } from '@angular/core';\nimport { DialogRef } from '@angular/cdk/dialog';\nimport { cn } from '../core/utils/cn';\n\n@Directive({\n selector: '[snyDialogHeader]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyDialogHeaderDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex flex-col space-y-1.5 text-center sm:text-left', this.class())\n );\n}\n\n@Directive({\n selector: '[snyDialogTitle]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyDialogTitleDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-lg font-semibold leading-none tracking-tight', this.class())\n );\n}\n\n@Directive({\n selector: '[snyDialogDescription]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyDialogDescriptionDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-sm text-muted-foreground', this.class())\n );\n}\n\n@Directive({\n selector: '[snyDialogContent]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyDialogContentDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn(\n 'relative bg-background rounded-sm border border-border shadow-lg p-6 w-full max-w-lg mx-auto',\n this.class()\n )\n );\n}\n\n@Directive({\n selector: '[snyDialogFooter]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyDialogFooterDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', this.class())\n );\n}\n\n@Directive({\n selector: '[snyDialogClose]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '(click)': 'onClick()',\n },\n})\nexport class SnyDialogCloseDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn(\n 'absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none',\n this.class()\n )\n );\n\n private readonly dialogRef = inject(DialogRef, { optional: true });\n\n onClick(): void {\n this.dialogRef?.close();\n }\n}\n","import { Directive, ElementRef, computed, inject, input, signal, InjectionToken } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport const SNY_ACCORDION = new InjectionToken<SnyAccordionDirective>('SnyAccordion');\nexport const SNY_ACCORDION_ITEM = new InjectionToken<SnyAccordionItemDirective>('SnyAccordionItem');\n\n@Directive({\n selector: '[snyAccordion]',\n standalone: true,\n exportAs: 'snyAccordion',\n providers: [{ provide: SNY_ACCORDION, useExisting: SnyAccordionDirective }],\n host: {\n '[class]': 'computedClass()',\n '(keydown)': 'onKeydown($event)',\n },\n})\nexport class SnyAccordionDirective {\n readonly multi = input(false);\n readonly class = input<string>('');\n\n private readonly elRef = inject(ElementRef);\n private readonly _openItems = signal(new Set<string>());\n\n protected readonly computedClass = computed(() =>\n cn('divide-y divide-border', this.class())\n );\n\n isOpen(id: string): boolean {\n return this._openItems().has(id);\n }\n\n toggle(id: string): void {\n this._openItems.update(set => {\n const next = new Set(set);\n if (next.has(id)) {\n next.delete(id);\n } else {\n if (!this.multi()) next.clear();\n next.add(id);\n }\n return next;\n });\n }\n\n onKeydown(event: KeyboardEvent): void {\n const target = event.target as HTMLElement;\n if (!target.hasAttribute('snyaccordiontrigger') && !target.closest('[snyAccordionTrigger]')) return;\n\n const triggers = Array.from(\n (this.elRef.nativeElement as HTMLElement).querySelectorAll<HTMLElement>('[snyAccordionTrigger]')\n );\n if (triggers.length === 0) return;\n\n const currentIndex = triggers.indexOf(target.closest('[snyAccordionTrigger]') as HTMLElement || target);\n if (currentIndex === -1) return;\n\n let nextIndex: number | null = null;\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n nextIndex = (currentIndex + 1) % triggers.length;\n break;\n case 'ArrowUp':\n event.preventDefault();\n nextIndex = (currentIndex - 1 + triggers.length) % triggers.length;\n break;\n case 'Home':\n event.preventDefault();\n nextIndex = 0;\n break;\n case 'End':\n event.preventDefault();\n nextIndex = triggers.length - 1;\n break;\n }\n if (nextIndex !== null) {\n triggers[nextIndex].focus();\n }\n }\n}\n\n@Directive({\n selector: '[snyAccordionItem]',\n standalone: true,\n exportAs: 'snyAccordionItem',\n providers: [{ provide: SNY_ACCORDION_ITEM, useExisting: SnyAccordionItemDirective }],\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyAccordionItemDirective {\n readonly value = input.required<string>();\n readonly class = input<string>('');\n private readonly accordion = inject(SNY_ACCORDION);\n\n readonly isOpen = computed(() => this.accordion.isOpen(this.value()));\n\n protected readonly computedClass = computed(() =>\n cn('', this.class())\n );\n\n toggle(): void {\n this.accordion.toggle(this.value());\n }\n}\n\n@Directive({\n selector: '[snyAccordionTrigger]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[attr.aria-expanded]': 'item.isOpen()',\n 'tabindex': '0',\n '(click)': 'item.toggle()',\n },\n})\nexport class SnyAccordionTriggerDirective {\n readonly class = input<string>('');\n readonly item = inject(SNY_ACCORDION_ITEM);\n\n protected readonly computedClass = computed(() =>\n cn(\n 'flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline cursor-pointer [&>svg]:transition-transform',\n this.item.isOpen() && '[&>svg]:rotate-180',\n this.class()\n )\n );\n}\n\n@Directive({\n selector: '[snyAccordionContent]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n role: 'region',\n },\n})\nexport class SnyAccordionContentDirective {\n readonly class = input<string>('');\n readonly item = inject(SNY_ACCORDION_ITEM);\n\n protected readonly computedClass = computed(() =>\n cn(\n 'grid transition-all duration-200',\n this.item.isOpen() ? 'grid-rows-[1fr] opacity-100 pb-4' : 'grid-rows-[0fr] opacity-0 overflow-hidden',\n this.class()\n )\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const avatarVariants = cva(\n 'relative inline-flex shrink-0 items-center justify-center overflow-hidden bg-muted',\n {\n variants: {\n size: {\n sm: 'h-8 w-8 text-xs',\n md: 'h-10 w-10 text-sm',\n lg: 'h-12 w-12 text-base',\n xl: 'h-16 w-16 text-lg',\n },\n variant: {\n circle: 'rounded-full',\n rounded: 'rounded-md',\n },\n },\n defaultVariants: {\n size: 'md',\n variant: 'circle',\n },\n }\n);\n\nexport type AvatarSize = 'sm' | 'md' | 'lg' | 'xl';\nexport type AvatarVariant = 'circle' | 'rounded';\n","import { ChangeDetectionStrategy, Component, computed, input, signal } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { avatarVariants, type AvatarSize, type AvatarVariant } from './avatar.variants';\n\n@Component({\n selector: 'sny-avatar',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { '[class]': 'computedClass()' },\n template: `\n @if (src() && !error()) {\n <img\n [src]=\"src()\"\n [alt]=\"alt()\"\n class=\"aspect-square h-full w-full object-cover\"\n (error)=\"error.set(true)\"\n />\n } @else {\n <span class=\"font-medium text-muted-foreground\">{{ fallbackText() }}</span>\n }\n `,\n})\nexport class SnyAvatarComponent {\n readonly src = input<string>('');\n readonly alt = input<string>('');\n readonly fallback = input<string>('');\n readonly size = input<AvatarSize>('md');\n readonly variant = input<AvatarVariant>('circle');\n readonly class = input<string>('');\n\n readonly error = signal(false);\n\n protected readonly fallbackText = computed(() => {\n const fb = this.fallback();\n if (fb) return fb;\n const a = this.alt();\n if (a) return a.split(' ').map(w => w[0]).join('').toUpperCase().slice(0, 2);\n return '?';\n });\n\n protected readonly computedClass = computed(() =>\n cn(avatarVariants({ size: this.size(), variant: this.variant() }), this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const badgeVariants = cva(\n 'inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n {\n variants: {\n variant: {\n default: 'border-transparent bg-primary text-primary-foreground',\n secondary: 'border-transparent bg-secondary text-secondary-foreground',\n outline: 'border-border text-foreground',\n destructive: 'border-transparent bg-destructive text-destructive-foreground',\n success: 'border-transparent bg-green-600 text-white dark:bg-green-500',\n warning: 'border-transparent bg-yellow-500 text-white dark:bg-yellow-400 dark:text-black',\n },\n size: {\n sm: 'px-2 py-0.5 text-[10px]',\n md: 'px-2.5 py-0.5 text-xs',\n lg: 'px-3 py-1 text-sm',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n }\n);\n\nexport type BadgeVariant = 'default' | 'secondary' | 'outline' | 'destructive' | 'success' | 'warning';\nexport type BadgeSize = 'sm' | 'md' | 'lg';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { badgeVariants, type BadgeVariant, type BadgeSize } from './badge.variants';\n\n@Directive({\n selector: '[snyBadge]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyBadgeDirective {\n readonly variant = input<BadgeVariant>('default');\n readonly size = input<BadgeSize>('md');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(badgeVariants({ variant: this.variant(), size: this.size() }), this.class())\n );\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\n@Directive({\n selector: 'nav[snyBreadcrumb]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n 'aria-label': 'Breadcrumb',\n },\n})\nexport class SnyBreadcrumbDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() => cn('', this.class()));\n}\n\n@Directive({\n selector: 'ol[snyBreadcrumbList]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyBreadcrumbListDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5', this.class())\n );\n}\n\n@Directive({\n selector: 'li[snyBreadcrumbItem]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyBreadcrumbItemDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('inline-flex items-center gap-1.5', this.class())\n );\n}\n\n@Directive({\n selector: '[snyBreadcrumbLink]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyBreadcrumbLinkDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('transition-colors hover:text-foreground', this.class())\n );\n}\n\n@Directive({\n selector: '[snyBreadcrumbSeparator]',\n standalone: true,\n host: {\n role: 'presentation',\n '[aria-hidden]': 'true',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyBreadcrumbSeparatorDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('[&>svg]:size-3.5', this.class())\n );\n}\n\n@Directive({\n selector: '[snyBreadcrumbPage]',\n standalone: true,\n host: {\n role: 'link',\n 'aria-disabled': 'true',\n '[attr.aria-current]': '\"page\"',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyBreadcrumbPageDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('font-normal text-foreground', this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const buttonGroupVariants = cva(\n 'inline-flex [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child:not(:last-child)]:rounded-r-none [&>*:last-child:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:-ml-px',\n {\n variants: {\n orientation: {\n horizontal: 'flex-row',\n vertical: 'flex-col [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child:not(:last-child)]:rounded-b-none [&>*:first-child:not(:last-child)]:rounded-r-sm [&>*:last-child:not(:first-child)]:rounded-t-none [&>*:last-child:not(:first-child)]:rounded-l-sm [&>*:not(:first-child)]:-mt-px [&>*:not(:first-child)]:ml-0',\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n },\n }\n);\n\nexport type ButtonGroupOrientation = 'horizontal' | 'vertical';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { buttonGroupVariants, type ButtonGroupOrientation } from './button-group.variants';\n\n@Directive({\n selector: '[snyButtonGroup]',\n standalone: true,\n host: {\n role: 'group',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyButtonGroupDirective {\n readonly orientation = input<ButtonGroupOrientation>('horizontal');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(buttonGroupVariants({ orientation: this.orientation() }), this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const checkboxVariants = cva(\n 'peer appearance-none shrink-0 rounded-sm border border-border bg-background transition-colors checked:bg-primary checked:border-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n {\n variants: {\n size: {\n sm: 'h-3.5 w-3.5',\n md: 'h-4 w-4',\n lg: 'h-5 w-5',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport type CheckboxSize = 'sm' | 'md' | 'lg';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { checkboxVariants, type CheckboxSize } from './checkbox.variants';\n\n@Directive({\n selector: 'input[type=\"checkbox\"][snyCheckbox]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyCheckboxDirective {\n readonly size = input<CheckboxSize>('md');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(checkboxVariants({ size: this.size() }), this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const comboboxTriggerVariants = cva(\n 'inline-flex w-full items-center justify-between whitespace-nowrap rounded-sm border border-border bg-background px-3 py-2 text-sm ring-offset-background transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n size: {\n sm: 'h-9 text-xs',\n md: 'h-10 text-sm',\n lg: 'h-11 text-base',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport type ComboboxSize = 'sm' | 'md' | 'lg';\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n HostListener,\n inject,\n input,\n model,\n OnDestroy,\n signal,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cn } from '../core/utils/cn';\nimport { comboboxTriggerVariants, type ComboboxSize } from './combobox.variants';\n\nexport interface ComboboxOption {\n value: string;\n label: string;\n}\n\n@Component({\n selector: 'sny-combobox',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'relative inline-block w-full',\n },\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SnyComboboxComponent), multi: true },\n ],\n template: `\n <!-- Trigger button -->\n <button\n #triggerEl\n type=\"button\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open()\"\n aria-haspopup=\"listbox\"\n [class]=\"triggerClass()\"\n (click)=\"toggle()\"\n (blur)=\"onTouched()\"\n >\n <span [class]=\"selectedLabel() ? '' : 'text-muted-foreground'\">\n {{ selectedLabel() || placeholder() }}\n </span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"shrink-0 opacity-50\"><path d=\"m7 15 5 5 5-5\"/><path d=\"m7 9 5-5 5 5\"/></svg>\n </button>\n\n <!-- Dropdown popover -->\n @if (open()) {\n <div\n #dropdownEl\n class=\"fixed z-50 rounded-sm border border-border bg-popover text-popover-foreground shadow-md\"\n >\n <!-- Search input -->\n <div class=\"flex items-center border-b border-border px-3\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"mr-2 shrink-0 opacity-50\"><circle cx=\"11\" cy=\"11\" r=\"8\"/><path d=\"m21 21-4.3-4.3\"/></svg>\n <input\n #searchEl\n type=\"text\"\n class=\"flex h-10 w-full bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground\"\n [placeholder]=\"searchPlaceholder()\"\n [value]=\"query()\"\n (input)=\"onSearchInput($event)\"\n (keydown)=\"onKeydown($event)\"\n />\n </div>\n\n <!-- Options list -->\n @if (filtered().length > 0) {\n <ul role=\"listbox\" class=\"max-h-60 overflow-auto p-1\">\n @for (opt of filtered(); track opt.value; let i = $index) {\n <li\n role=\"option\"\n [id]=\"'sny-cb-opt-' + opt.value\"\n [attr.aria-selected]=\"value() === opt.value\"\n [class]=\"optionClass(i)\"\n (mousedown)=\"select(opt); $event.preventDefault()\"\n (mouseenter)=\"activeIndex.set(i)\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\"\n fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n [class]=\"value() === opt.value ? 'mr-2 shrink-0 opacity-100' : 'mr-2 shrink-0 opacity-0'\"\n ><path d=\"M20 6 9 17l-5-5\"/></svg>\n {{ opt.label }}\n </li>\n }\n </ul>\n } @else {\n <div class=\"py-6 text-center text-sm text-muted-foreground\">No results found.</div>\n }\n </div>\n }\n `,\n})\nexport class SnyComboboxComponent implements ControlValueAccessor, OnDestroy {\n readonly options = input<ComboboxOption[]>([]);\n readonly placeholder = input('Select...');\n readonly searchPlaceholder = input('Search...');\n readonly size = input<ComboboxSize>('md');\n readonly class = input<string>('');\n readonly value = model<string>('');\n\n readonly open = signal(false);\n readonly query = signal('');\n readonly activeIndex = signal(0);\n\n private readonly _disabledByCva = signal(false);\n\n private readonly triggerRef = viewChild<ElementRef<HTMLButtonElement>>('triggerEl');\n private readonly searchRef = viewChild<ElementRef<HTMLInputElement>>('searchEl');\n private readonly dropdownRef = viewChild<ElementRef<HTMLDivElement>>('dropdownEl');\n private readonly elRef = inject(ElementRef);\n\n private scrollHandler: (() => void) | null = null;\n private resizeHandler: (() => void) | null = null;\n\n private _onChange: (value: string) => void = () => {};\n protected onTouched: () => void = () => {};\n private _writing = false;\n\n constructor() {\n effect(() => {\n const val = this.value();\n if (this._writing) {\n this._writing = false;\n return;\n }\n this._onChange(val);\n });\n }\n\n writeValue(val: string): void {\n this._writing = true;\n this.value.set(val ?? '');\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(_isDisabled: boolean): void {\n this._disabledByCva.set(_isDisabled);\n }\n\n readonly selectedLabel = computed(() => {\n const v = this.value();\n if (!v) return '';\n const opt = this.options().find(o => o.value === v);\n return opt?.label ?? '';\n });\n\n readonly filtered = computed(() => {\n const q = this.query().toLowerCase();\n if (!q) return this.options();\n return this.options().filter(o => o.label.toLowerCase().includes(q));\n });\n\n protected readonly triggerClass = computed(() =>\n cn(comboboxTriggerVariants({ size: this.size() }), this.class())\n );\n\n optionClass(index: number): string {\n const base = 'relative flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors';\n const active = index === this.activeIndex() ? 'bg-accent text-accent-foreground' : 'hover:bg-accent/50';\n return cn(base, active);\n }\n\n private updateDropdownPosition(): void {\n const trigger = this.triggerRef()?.nativeElement;\n if (!trigger) return;\n const rect = trigger.getBoundingClientRect();\n const dropdown = this.dropdownRef()?.nativeElement;\n if (dropdown) {\n dropdown.style.top = `${rect.bottom + 4}px`;\n dropdown.style.left = `${rect.left}px`;\n dropdown.style.width = `${rect.width}px`;\n }\n }\n\n private addGlobalListeners(): void {\n this.removeGlobalListeners();\n this.scrollHandler = () => {\n requestAnimationFrame(() => this.updateDropdownPosition());\n };\n this.resizeHandler = () => {\n requestAnimationFrame(() => this.updateDropdownPosition());\n };\n document.addEventListener('scroll', this.scrollHandler, { capture: true, passive: true });\n window.addEventListener('resize', this.resizeHandler, { passive: true });\n }\n\n private removeGlobalListeners(): void {\n if (this.scrollHandler) {\n document.removeEventListener('scroll', this.scrollHandler, { capture: true } as EventListenerOptions);\n this.scrollHandler = null;\n }\n if (this.resizeHandler) {\n window.removeEventListener('resize', this.resizeHandler);\n this.resizeHandler = null;\n }\n }\n\n ngOnDestroy(): void {\n this.removeGlobalListeners();\n }\n\n toggle(): void {\n if (this.open()) {\n this.close();\n } else {\n this.updateDropdownPosition();\n this.open.set(true);\n this.query.set('');\n this.activeIndex.set(0);\n this.addGlobalListeners();\n setTimeout(() => {\n this.updateDropdownPosition();\n this.searchRef()?.nativeElement.focus();\n });\n }\n }\n\n close(): void {\n this.open.set(false);\n this.query.set('');\n this.removeGlobalListeners();\n }\n\n onSearchInput(event: Event): void {\n const val = (event.target as HTMLInputElement).value;\n this.query.set(val);\n this.activeIndex.set(0);\n }\n\n select(opt: ComboboxOption): void {\n this.value.set(opt.value);\n this.close();\n }\n\n onKeydown(event: KeyboardEvent): void {\n const items = this.filtered();\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n this.activeIndex.update(i => Math.min(i + 1, items.length - 1));\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.activeIndex.update(i => Math.max(i - 1, 0));\n break;\n case 'Enter':\n event.preventDefault();\n if (items[this.activeIndex()]) {\n this.select(items[this.activeIndex()]);\n }\n break;\n case 'Escape':\n this.close();\n break;\n }\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent): void {\n if (!this.elRef.nativeElement.contains(event.target)) {\n this.close();\n }\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const skeletonVariants = cva(\n 'animate-pulse bg-muted block',\n {\n variants: {\n variant: {\n line: 'rounded-sm',\n circular: 'rounded-full aspect-square',\n rounded: 'rounded-lg',\n },\n size: {\n sm: 'h-4',\n md: 'h-6',\n lg: 'h-8',\n xl: 'h-12',\n },\n },\n defaultVariants: {\n variant: 'line',\n size: 'md',\n },\n }\n);\n\nexport type SkeletonVariant = 'line' | 'circular' | 'rounded';\nexport type SkeletonSize = 'sm' | 'md' | 'lg' | 'xl';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { skeletonVariants, type SkeletonVariant, type SkeletonSize } from './skeleton.variants';\n\n@Directive({\n selector: '[snySkeleton]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n 'aria-busy': 'true',\n 'aria-hidden': 'true',\n },\n})\nexport class SnySkeletonDirective {\n readonly variant = input<SkeletonVariant>('line');\n readonly size = input<SkeletonSize>('md');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(skeletonVariants({ variant: this.variant(), size: this.size() }), this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const radioVariants = cva(\n 'appearance-none rounded-full border border-border bg-background transition-colors checked:border-primary checked:shadow-[inset_0_0_0_3px] checked:shadow-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n {\n variants: {\n size: {\n sm: 'h-3.5 w-3.5',\n md: 'h-4 w-4',\n lg: 'h-5 w-5',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport type RadioSize = 'sm' | 'md' | 'lg';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { radioVariants, type RadioSize } from './radio.variants';\n\n@Directive({\n selector: 'input[type=\"radio\"][snyRadio]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyRadioDirective {\n readonly size = input<RadioSize>('md');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(radioVariants({ size: this.size() }), this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const switchTrackVariants = cva(\n 'peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n {\n variants: {\n size: {\n sm: 'h-5 w-9',\n md: 'h-6 w-11',\n lg: 'h-7 w-14',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport const switchThumbSize: Record<string, string> = {\n sm: 'h-4 w-4',\n md: 'h-5 w-5',\n lg: 'h-6 w-6',\n};\n\nexport const switchThumbTranslate: Record<string, string> = {\n sm: 'translate-x-4',\n md: 'translate-x-5',\n lg: 'translate-x-7',\n};\n\nexport type SwitchSize = 'sm' | 'md' | 'lg';\n","import { ChangeDetectionStrategy, Component, computed, effect, forwardRef, input, model, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cn } from '../core/utils/cn';\nimport { switchTrackVariants, switchThumbSize, switchThumbTranslate, type SwitchSize } from './switch.variants';\n\n@Component({\n selector: 'sny-switch',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'inline-flex' },\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SnySwitchComponent), multi: true },\n ],\n template: `\n <button\n type=\"button\"\n role=\"switch\"\n [attr.aria-checked]=\"checked()\"\n [disabled]=\"isDisabled()\"\n [class]=\"trackClass()\"\n (click)=\"checked.set(!checked())\"\n (blur)=\"onTouched()\"\n >\n <span [class]=\"thumbClass()\"></span>\n </button>\n `,\n})\nexport class SnySwitchComponent implements ControlValueAccessor {\n readonly checked = model(false);\n readonly disabled = input(false);\n readonly size = input<SwitchSize>('md');\n readonly class = input<string>('');\n\n private readonly _disabledByCva = signal(false);\n protected readonly isDisabled = computed(() => this.disabled() || this._disabledByCva());\n\n private _onChange: (value: boolean) => void = () => {};\n protected onTouched: () => void = () => {};\n private _writing = false;\n\n constructor() {\n effect(() => {\n const val = this.checked();\n if (this._writing) {\n this._writing = false;\n return;\n }\n this._onChange(val);\n });\n }\n\n writeValue(val: boolean): void {\n this._writing = true;\n this.checked.set(val ?? false);\n }\n\n registerOnChange(fn: (value: boolean) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByCva.set(isDisabled);\n }\n\n protected readonly trackClass = computed(() =>\n cn(\n switchTrackVariants({ size: this.size() }),\n this.checked() ? 'bg-primary' : 'bg-input',\n this.class()\n )\n );\n\n protected readonly thumbClass = computed(() =>\n cn(\n 'pointer-events-none block rounded-full bg-background shadow-lg ring-0 transition-transform',\n switchThumbSize[this.size()],\n this.checked() ? switchThumbTranslate[this.size()] : 'translate-x-0'\n )\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const toggleVariants = cva(\n 'inline-flex items-center justify-center rounded-sm text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n variant: {\n default: 'bg-transparent hover:bg-muted hover:text-muted-foreground',\n outline: 'border border-border bg-transparent hover:bg-accent hover:text-accent-foreground',\n },\n size: {\n sm: 'h-9 px-2.5',\n md: 'h-10 px-3',\n lg: 'h-11 px-5',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n }\n);\n\nexport type ToggleVariant = 'default' | 'outline';\nexport type ToggleSize = 'sm' | 'md' | 'lg';\n","import { Directive, computed, effect, forwardRef, input, model, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cn } from '../core/utils/cn';\nimport { toggleVariants, type ToggleVariant, type ToggleSize } from './toggle.variants';\n\n@Directive({\n selector: 'button[snyToggle]',\n standalone: true,\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SnyToggleDirective), multi: true },\n ],\n host: {\n '[class]': 'computedClass()',\n '[attr.aria-pressed]': 'pressed()',\n '[attr.disabled]': 'isDisabled() || null',\n '(click)': 'toggle()',\n '(blur)': 'onTouched()',\n },\n})\nexport class SnyToggleDirective implements ControlValueAccessor {\n readonly variant = input<ToggleVariant>('default');\n readonly size = input<ToggleSize>('md');\n readonly pressed = model(false);\n readonly class = input<string>('');\n\n private readonly _disabledByCva = signal(false);\n protected readonly isDisabled = computed(() => this._disabledByCva());\n\n private _onChange: (value: boolean) => void = () => {};\n protected onTouched: () => void = () => {};\n private _writing = false;\n\n constructor() {\n effect(() => {\n const val = this.pressed();\n if (this._writing) {\n this._writing = false;\n return;\n }\n this._onChange(val);\n });\n }\n\n writeValue(val: boolean): void {\n this._writing = true;\n this.pressed.set(val ?? false);\n }\n\n registerOnChange(fn: (value: boolean) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByCva.set(isDisabled);\n }\n\n protected toggle(): void {\n if (this.isDisabled()) return;\n this.pressed.set(!this.pressed());\n }\n\n protected readonly computedClass = computed(() =>\n cn(\n toggleVariants({ variant: this.variant(), size: this.size() }),\n this.pressed() ? 'bg-accent text-accent-foreground' : '',\n this.class()\n )\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const sliderTrackVariants = cva(\n 'relative w-full rounded-full bg-secondary cursor-pointer',\n {\n variants: {\n size: {\n sm: 'h-1.5',\n md: 'h-2',\n lg: 'h-3',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport const sliderThumbSize: Record<string, string> = {\n sm: 'h-4 w-4',\n md: 'h-5 w-5',\n lg: 'h-6 w-6',\n};\n\nexport type SliderSize = 'sm' | 'md' | 'lg';\n","import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, forwardRef, input, model, OnDestroy, signal, viewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cn } from '../core/utils/cn';\nimport { sliderTrackVariants, sliderThumbSize, type SliderSize } from './slider.variants';\n\n@Component({\n selector: 'sny-slider',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'block',\n '(keydown)': 'onKeydown($event)',\n },\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SnySliderComponent), multi: true },\n ],\n template: `\n <div\n #trackEl\n [class]=\"trackClass()\"\n (mousedown)=\"onTrackMousedown($event)\"\n (touchstart)=\"onTrackTouchstart($event)\"\n >\n <div class=\"absolute h-full rounded-full bg-primary\" [style.width.%]=\"percentage()\"></div>\n <button\n type=\"button\"\n role=\"slider\"\n [attr.aria-valuemin]=\"min()\"\n [attr.aria-valuemax]=\"max()\"\n [attr.aria-valuenow]=\"value()\"\n [disabled]=\"isDisabled()\"\n [class]=\"thumbClass()\"\n [style.left.%]=\"percentage()\"\n tabindex=\"0\"\n (blur)=\"onTouched()\"\n ></button>\n </div>\n `,\n})\nexport class SnySliderComponent implements ControlValueAccessor, OnDestroy {\n readonly value = model(0);\n readonly min = input(0);\n readonly max = input(100);\n readonly step = input(1);\n readonly disabled = input(false);\n readonly size = input<SliderSize>('md');\n readonly class = input<string>('');\n\n private readonly _disabledByCva = signal(false);\n protected readonly isDisabled = computed(() => this.disabled() || this._disabledByCva());\n\n private readonly trackRef = viewChild<ElementRef<HTMLDivElement>>('trackEl');\n private moveHandler: ((e: MouseEvent | TouchEvent) => void) | null = null;\n private upHandler: (() => void) | null = null;\n\n private _onChange: (value: number) => void = () => {};\n protected onTouched: () => void = () => {};\n private _writing = false;\n\n constructor() {\n effect(() => {\n const val = this.value();\n if (this._writing) {\n this._writing = false;\n return;\n }\n this._onChange(val);\n });\n }\n\n writeValue(val: number): void {\n this._writing = true;\n this.value.set(val ?? 0);\n }\n\n registerOnChange(fn: (value: number) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByCva.set(isDisabled);\n }\n\n protected readonly percentage = computed(() => {\n const range = this.max() - this.min();\n if (range <= 0) return 0;\n return ((this.value() - this.min()) / range) * 100;\n });\n\n protected readonly trackClass = computed(() =>\n cn(sliderTrackVariants({ size: this.size() }), this.isDisabled() && 'opacity-50 cursor-not-allowed', this.class())\n );\n\n protected readonly thumbClass = computed(() =>\n cn(\n 'absolute top-1/2 -translate-x-1/2 -translate-y-1/2 block rounded-full border-2 border-primary bg-background shadow ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',\n sliderThumbSize[this.size()]\n )\n );\n\n private updateValueFromPosition(clientX: number): void {\n if (this.isDisabled()) return;\n const track = this.trackRef()?.nativeElement;\n if (!track) return;\n const rect = track.getBoundingClientRect();\n const percent = Math.max(0, Math.min(1, (clientX - rect.left) / rect.width));\n const raw = this.min() + percent * (this.max() - this.min());\n const stepped = Math.round(raw / this.step()) * this.step();\n this.value.set(Math.max(this.min(), Math.min(this.max(), stepped)));\n }\n\n onTrackMousedown(event: MouseEvent): void {\n if (this.isDisabled()) return;\n event.preventDefault();\n this.updateValueFromPosition(event.clientX);\n this.moveHandler = (e: MouseEvent | TouchEvent) => {\n const clientX = e instanceof MouseEvent ? e.clientX : e.touches[0].clientX;\n this.updateValueFromPosition(clientX);\n };\n this.upHandler = () => {\n this.onTouched();\n this.removeListeners();\n };\n document.addEventListener('mousemove', this.moveHandler as EventListener);\n document.addEventListener('mouseup', this.upHandler);\n }\n\n onTrackTouchstart(event: TouchEvent): void {\n if (this.isDisabled()) return;\n this.updateValueFromPosition(event.touches[0].clientX);\n this.moveHandler = (e: MouseEvent | TouchEvent) => {\n const clientX = e instanceof MouseEvent ? e.clientX : e.touches[0].clientX;\n this.updateValueFromPosition(clientX);\n };\n this.upHandler = () => {\n this.onTouched();\n this.removeListeners();\n };\n document.addEventListener('touchmove', this.moveHandler as EventListener, { passive: true });\n document.addEventListener('touchend', this.upHandler);\n }\n\n onKeydown(event: KeyboardEvent): void {\n if (this.isDisabled()) return;\n const step = this.step();\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowUp':\n event.preventDefault();\n this.value.set(Math.min(this.max(), this.value() + step));\n break;\n case 'ArrowLeft':\n case 'ArrowDown':\n event.preventDefault();\n this.value.set(Math.max(this.min(), this.value() - step));\n break;\n case 'Home':\n event.preventDefault();\n this.value.set(this.min());\n break;\n case 'End':\n event.preventDefault();\n this.value.set(this.max());\n break;\n }\n }\n\n private removeListeners(): void {\n if (this.moveHandler) {\n document.removeEventListener('mousemove', this.moveHandler as EventListener);\n document.removeEventListener('touchmove', this.moveHandler as EventListener);\n this.moveHandler = null;\n }\n if (this.upHandler) {\n document.removeEventListener('mouseup', this.upHandler);\n document.removeEventListener('touchend', this.upHandler);\n this.upHandler = null;\n }\n }\n\n ngOnDestroy(): void {\n this.removeListeners();\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const loaderVariants = cva(\n 'inline-flex items-center justify-center text-current',\n {\n variants: {\n size: {\n sm: 'h-4 w-4',\n md: 'h-6 w-6',\n lg: 'h-8 w-8',\n xl: 'h-12 w-12',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport type LoaderSize = 'sm' | 'md' | 'lg' | 'xl';\nexport type LoaderVariant = 'spinner' | 'dots' | 'bars';\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { loaderVariants, type LoaderSize, type LoaderVariant } from './loader.variants';\n\n@Component({\n selector: 'sny-loader',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'computedClass()',\n role: 'status',\n '[attr.aria-label]': '\"Loading\"',\n },\n template: `\n @switch (variant()) {\n @case ('spinner') {\n <svg class=\"animate-spin h-full w-full\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\">\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"></circle>\n <path class=\"opacity-75\" fill=\"currentColor\" d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"></path>\n </svg>\n }\n @case ('dots') {\n <span class=\"flex items-center gap-1\">\n <span class=\"h-1.5 w-1.5 rounded-full bg-current animate-bounce [animation-delay:-0.3s]\"></span>\n <span class=\"h-1.5 w-1.5 rounded-full bg-current animate-bounce [animation-delay:-0.15s]\"></span>\n <span class=\"h-1.5 w-1.5 rounded-full bg-current animate-bounce\"></span>\n </span>\n }\n @case ('bars') {\n <span class=\"flex items-end gap-0.5 h-full\">\n <span class=\"w-1 bg-current animate-pulse rounded-sm [animation-delay:-0.3s]\" style=\"height:60%\"></span>\n <span class=\"w-1 bg-current animate-pulse rounded-sm [animation-delay:-0.15s]\" style=\"height:100%\"></span>\n <span class=\"w-1 bg-current animate-pulse rounded-sm\" style=\"height:40%\"></span>\n <span class=\"w-1 bg-current animate-pulse rounded-sm [animation-delay:-0.2s]\" style=\"height:80%\"></span>\n </span>\n }\n }\n `,\n})\nexport class SnyLoaderComponent {\n readonly variant = input<LoaderVariant>('spinner');\n readonly size = input<LoaderSize>('md');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(loaderVariants({ size: this.size() }), this.class())\n );\n}\n","import { Directive, ElementRef, computed, inject, input, model, InjectionToken } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport const SNY_TABS = new InjectionToken<SnyTabsDirective>('SnyTabs');\n\n@Directive({\n selector: '[snyTabs]',\n standalone: true,\n exportAs: 'snyTabs',\n providers: [{ provide: SNY_TABS, useExisting: SnyTabsDirective }],\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTabsDirective {\n readonly value = model<string>('');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('', this.class())\n );\n\n select(value: string): void {\n this.value.set(value);\n }\n}\n\n@Directive({\n selector: '[snyTabsList]',\n standalone: true,\n host: {\n role: 'tablist',\n '[class]': 'computedClass()',\n '(keydown)': 'onKeydown($event)',\n },\n})\nexport class SnyTabsListDirective {\n readonly class = input<string>('');\n private readonly elRef = inject(ElementRef);\n\n protected readonly computedClass = computed(() =>\n cn(\n 'inline-flex h-10 items-center justify-center rounded-sm bg-muted p-1 text-muted-foreground',\n this.class()\n )\n );\n\n onKeydown(event: KeyboardEvent): void {\n const triggers = Array.from(\n (this.elRef.nativeElement as HTMLElement).querySelectorAll<HTMLElement>('[role=\"tab\"]')\n );\n if (triggers.length === 0) return;\n\n const currentIndex = triggers.indexOf(document.activeElement as HTMLElement);\n if (currentIndex === -1) return;\n\n let nextIndex: number | null = null;\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowDown':\n event.preventDefault();\n nextIndex = (currentIndex + 1) % triggers.length;\n break;\n case 'ArrowLeft':\n case 'ArrowUp':\n event.preventDefault();\n nextIndex = (currentIndex - 1 + triggers.length) % triggers.length;\n break;\n case 'Home':\n event.preventDefault();\n nextIndex = 0;\n break;\n case 'End':\n event.preventDefault();\n nextIndex = triggers.length - 1;\n break;\n }\n if (nextIndex !== null) {\n triggers[nextIndex].focus();\n }\n }\n}\n\n@Directive({\n selector: '[snyTabsTrigger]',\n standalone: true,\n host: {\n role: 'tab',\n '[class]': 'computedClass()',\n '[attr.aria-selected]': 'isActive()',\n '[attr.tabindex]': 'isActive() ? 0 : -1',\n '(click)': 'tabs.select(value())',\n },\n})\nexport class SnyTabsTriggerDirective {\n readonly value = input.required<string>();\n readonly class = input<string>('');\n readonly tabs = inject(SNY_TABS);\n\n readonly isActive = computed(() => this.tabs.value() === this.value());\n\n protected readonly computedClass = computed(() =>\n cn(\n 'inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 cursor-pointer',\n this.isActive()\n ? 'bg-background text-foreground shadow-sm'\n : 'hover:bg-background/50',\n this.class()\n )\n );\n}\n\n@Directive({\n selector: '[snyTabsContent]',\n standalone: true,\n host: {\n role: 'tabpanel',\n '[class]': 'computedClass()',\n '[style.display]': 'isActive() ? null : \"none\"',\n },\n})\nexport class SnyTabsContentDirective {\n readonly value = input.required<string>();\n readonly class = input<string>('');\n private readonly tabs = inject(SNY_TABS);\n\n readonly isActive = computed(() => this.tabs.value() === this.value());\n\n protected readonly computedClass = computed(() =>\n cn('mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2', this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const tabsListVariants = cva(\n 'inline-flex h-10 items-center justify-center rounded-sm bg-muted p-1 text-muted-foreground',\n {\n variants: {},\n defaultVariants: {},\n }\n);\n\nexport const tabsTriggerVariants = cva(\n 'inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {},\n defaultVariants: {},\n }\n);\n","import { cva } from 'class-variance-authority';\n\nexport const selectTriggerVariants = cva(\n 'inline-flex w-full items-center justify-between whitespace-nowrap rounded-sm border border-border bg-background px-3 py-2 text-sm ring-offset-background transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n size: {\n sm: 'h-9 text-xs',\n md: 'h-10 text-sm',\n lg: 'h-11 text-base',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport type SelectSize = 'sm' | 'md' | 'lg';\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n HostListener,\n inject,\n input,\n model,\n OnDestroy,\n signal,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cn } from '../core/utils/cn';\nimport { selectTriggerVariants, type SelectSize } from './select.variants';\n\nexport interface SelectOption {\n value: string;\n label: string;\n}\n\n@Component({\n selector: 'sny-select',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'relative inline-block w-full',\n },\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SnySelectComponent), multi: true },\n ],\n template: `\n <button\n #triggerEl\n type=\"button\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open()\"\n aria-haspopup=\"listbox\"\n [disabled]=\"isDisabled()\"\n [class]=\"triggerClass()\"\n (click)=\"toggle()\"\n (keydown)=\"onTriggerKeydown($event)\"\n (blur)=\"onTouched()\"\n >\n <span [class]=\"selectedLabel() ? '' : 'text-muted-foreground'\">\n {{ selectedLabel() || placeholder() }}\n </span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"shrink-0 opacity-50\"><path d=\"m6 9 6 6 6-6\"/></svg>\n </button>\n\n @if (open()) {\n <div\n #dropdownEl\n class=\"fixed z-50 rounded-sm border border-border bg-popover text-popover-foreground shadow-md\"\n >\n <ul role=\"listbox\" class=\"max-h-60 overflow-auto p-1\">\n @for (opt of options(); track opt.value; let i = $index) {\n <li\n role=\"option\"\n [attr.aria-selected]=\"value() === opt.value\"\n [class]=\"optionClass(i)\"\n (mousedown)=\"select(opt); $event.preventDefault()\"\n (mouseenter)=\"activeIndex.set(i)\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\"\n fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n [class]=\"value() === opt.value ? 'mr-2 shrink-0 opacity-100' : 'mr-2 shrink-0 opacity-0'\"\n ><path d=\"M20 6 9 17l-5-5\"/></svg>\n {{ opt.label }}\n </li>\n }\n </ul>\n </div>\n }\n `,\n})\nexport class SnySelectComponent implements ControlValueAccessor, OnDestroy {\n readonly options = input<SelectOption[]>([]);\n readonly placeholder = input('Select...');\n readonly size = input<SelectSize>('md');\n readonly disabled = input(false);\n readonly class = input<string>('');\n readonly value = model<string>('');\n\n readonly open = signal(false);\n readonly activeIndex = signal(0);\n\n private readonly _disabledByCva = signal(false);\n protected readonly isDisabled = computed(() => this.disabled() || this._disabledByCva());\n\n private readonly triggerRef = viewChild<ElementRef<HTMLButtonElement>>('triggerEl');\n private readonly dropdownRef = viewChild<ElementRef<HTMLDivElement>>('dropdownEl');\n private readonly elRef = inject(ElementRef);\n\n private scrollHandler: (() => void) | null = null;\n private resizeHandler: (() => void) | null = null;\n\n private _onChange: (value: string) => void = () => {};\n protected onTouched: () => void = () => {};\n private _writing = false;\n\n constructor() {\n effect(() => {\n const val = this.value();\n if (this._writing) {\n this._writing = false;\n return;\n }\n this._onChange(val);\n });\n }\n\n writeValue(val: string): void {\n this._writing = true;\n this.value.set(val ?? '');\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByCva.set(isDisabled);\n }\n\n readonly selectedLabel = computed(() => {\n const v = this.value();\n if (!v) return '';\n const opt = this.options().find(o => o.value === v);\n return opt?.label ?? '';\n });\n\n protected readonly triggerClass = computed(() =>\n cn(selectTriggerVariants({ size: this.size() }), this.class())\n );\n\n optionClass(index: number): string {\n const base = 'relative flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors';\n const active = index === this.activeIndex() ? 'bg-accent text-accent-foreground' : 'hover:bg-accent/50';\n return cn(base, active);\n }\n\n private updateDropdownPosition(): void {\n const trigger = this.triggerRef()?.nativeElement;\n if (!trigger) return;\n const rect = trigger.getBoundingClientRect();\n const dropdown = this.dropdownRef()?.nativeElement;\n if (dropdown) {\n dropdown.style.top = `${rect.bottom + 4}px`;\n dropdown.style.left = `${rect.left}px`;\n dropdown.style.width = `${rect.width}px`;\n }\n }\n\n private addGlobalListeners(): void {\n this.removeGlobalListeners();\n this.scrollHandler = () => {\n requestAnimationFrame(() => this.updateDropdownPosition());\n };\n this.resizeHandler = () => {\n requestAnimationFrame(() => this.updateDropdownPosition());\n };\n document.addEventListener('scroll', this.scrollHandler, { capture: true, passive: true });\n window.addEventListener('resize', this.resizeHandler, { passive: true });\n }\n\n private removeGlobalListeners(): void {\n if (this.scrollHandler) {\n document.removeEventListener('scroll', this.scrollHandler, { capture: true } as EventListenerOptions);\n this.scrollHandler = null;\n }\n if (this.resizeHandler) {\n window.removeEventListener('resize', this.resizeHandler);\n this.resizeHandler = null;\n }\n }\n\n ngOnDestroy(): void {\n this.removeGlobalListeners();\n }\n\n toggle(): void {\n if (this.open()) {\n this.close();\n } else {\n this.open.set(true);\n this.activeIndex.set(\n Math.max(0, this.options().findIndex(o => o.value === this.value()))\n );\n this.addGlobalListeners();\n setTimeout(() => this.updateDropdownPosition());\n }\n }\n\n close(): void {\n this.open.set(false);\n this.removeGlobalListeners();\n }\n\n select(opt: SelectOption): void {\n this.value.set(opt.value);\n this.close();\n }\n\n onTriggerKeydown(event: KeyboardEvent): void {\n const items = this.options();\n if (!this.open()) {\n if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.toggle();\n }\n return;\n }\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n this.activeIndex.update(i => Math.min(i + 1, items.length - 1));\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.activeIndex.update(i => Math.max(i - 1, 0));\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n if (items[this.activeIndex()]) {\n this.select(items[this.activeIndex()]);\n }\n break;\n case 'Escape':\n this.close();\n break;\n }\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent): void {\n if (!this.elRef.nativeElement.contains(event.target)) {\n this.close();\n }\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const tableVariants = cva(\n 'w-full caption-bottom text-sm border-collapse',\n {\n variants: {\n variant: {\n default: '',\n striped: '[&_tbody_tr:nth-child(even)]:bg-muted/50',\n bordered: 'border border-border [&_th]:border [&_th]:border-border [&_td]:border [&_td]:border-border',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport const tableCellVariants = cva(\n '',\n {\n variants: {\n density: {\n compact: 'px-2 py-1 text-xs',\n normal: 'px-4 py-3 text-sm',\n comfortable: 'px-6 py-4 text-base',\n },\n },\n defaultVariants: {\n density: 'normal',\n },\n }\n);\n\nexport type TableVariant = 'default' | 'striped' | 'bordered';\nexport type TableDensity = 'compact' | 'normal' | 'comfortable';\n","import { Directive, computed, inject, input, InjectionToken } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { tableVariants, tableCellVariants, type TableVariant, type TableDensity } from './table.variants';\n\nexport const SNY_TABLE = new InjectionToken<SnyTableDirective>('SnyTable');\n\n@Directive({\n selector: 'table[snyTable]',\n standalone: true,\n providers: [{ provide: SNY_TABLE, useExisting: SnyTableDirective }],\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTableDirective {\n readonly variant = input<TableVariant>('default');\n readonly density = input<TableDensity>('normal');\n readonly hoverable = input(false);\n readonly stickyHeader = input(false);\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(tableVariants({ variant: this.variant() }), this.class())\n );\n}\n\n@Directive({\n selector: 'thead[snyTableHeader]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTableHeaderDirective {\n readonly class = input<string>('');\n private readonly table = inject(SNY_TABLE, { optional: true });\n\n protected readonly computedClass = computed(() =>\n cn(\n '[&_tr]:border-b',\n this.table?.stickyHeader() ? 'sticky top-0 z-10 bg-background' : '',\n this.class()\n )\n );\n}\n\n@Directive({\n selector: 'tbody[snyTableBody]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTableBodyDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('[&_tr:last-child]:border-0', this.class())\n );\n}\n\n@Directive({\n selector: 'tr[snyTableRow]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTableRowDirective {\n readonly class = input<string>('');\n private readonly table = inject(SNY_TABLE, { optional: true });\n\n protected readonly computedClass = computed(() =>\n cn(\n 'border-b border-border transition-colors data-[state=selected]:bg-muted',\n this.table?.hoverable() ? 'hover:bg-muted/50' : '',\n this.class()\n )\n );\n}\n\n@Directive({\n selector: 'th[snyTableHead]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTableHeadDirective {\n readonly class = input<string>('');\n private readonly table = inject(SNY_TABLE, { optional: true });\n\n protected readonly computedClass = computed(() =>\n cn(\n 'text-left font-medium text-muted-foreground [&[align=center]]:text-center [&[align=right]]:text-right',\n tableCellVariants({ density: this.table?.density() ?? 'normal' }),\n this.class()\n )\n );\n}\n\n@Directive({\n selector: 'td[snyTableCell]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTableCellDirective {\n readonly class = input<string>('');\n private readonly table = inject(SNY_TABLE, { optional: true });\n\n protected readonly computedClass = computed(() =>\n cn(\n '[&[align=center]]:text-center [&[align=right]]:text-right',\n tableCellVariants({ density: this.table?.density() ?? 'normal' }),\n this.class()\n )\n );\n}\n\n@Directive({\n selector: 'tfoot[snyTableFooter]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTableFooterDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('border-t border-border font-medium [&>tr]:last:border-b-0', this.class())\n );\n}\n\n@Directive({\n selector: 'caption[snyTableCaption]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTableCaptionDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('mt-4 text-sm text-muted-foreground', this.class())\n );\n}\n","import type { Observable } from 'rxjs';\n\ninterface CdkDialogRefLike<R> {\n close(result?: R): void;\n readonly closed: Observable<R | undefined>;\n}\n\nexport class SnySheetRef<R = unknown> {\n constructor(private readonly cdkRef: CdkDialogRefLike<R>) {}\n\n close(result?: R): void {\n this.cdkRef.close(result);\n }\n\n get closed(): Observable<R | undefined> {\n return this.cdkRef.closed;\n }\n}\n","export type SheetSide = 'left' | 'right' | 'top' | 'bottom';\n\nexport interface SnySheetConfig {\n side?: SheetSide;\n closeOnBackdrop?: boolean;\n closeOnEsc?: boolean;\n data?: unknown;\n ariaLabelledBy?: string;\n ariaDescribedBy?: string;\n}\n\nexport const DEFAULT_SHEET_CONFIG: SnySheetConfig = {\n side: 'right',\n closeOnBackdrop: true,\n closeOnEsc: true,\n};\n\nexport const SHEET_PANEL_CLASS: Record<SheetSide, string> = {\n right: 'sny-sheet-right',\n left: 'sny-sheet-left',\n top: 'sny-sheet-top',\n bottom: 'sny-sheet-bottom',\n};\n","import { Injectable, inject, InjectionToken, Injector } from '@angular/core';\nimport { Dialog, DialogRef as CdkDialogRef } from '@angular/cdk/dialog';\nimport { type ComponentType, createGlobalPositionStrategy, type GlobalPositionStrategy } from '@angular/cdk/overlay';\nimport { SnySheetRef } from './sheet-ref';\nimport { DEFAULT_SHEET_CONFIG, SHEET_PANEL_CLASS, type SheetSide, type SnySheetConfig } from './sheet.types';\n\nexport const SNY_SHEET_DATA = new InjectionToken<unknown>('SNY_SHEET_DATA');\n\ninterface SheetOverlayConfig {\n positionStrategy: GlobalPositionStrategy;\n width?: string;\n maxWidth?: string;\n height?: string;\n maxHeight?: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class SnySheetService {\n private readonly cdkDialog = inject(Dialog);\n private readonly injector = inject(Injector);\n\n open<T, R = unknown>(component: ComponentType<T>, config: SnySheetConfig = {}): SnySheetRef<R> {\n const merged = { ...DEFAULT_SHEET_CONFIG, ...config };\n const side = merged.side ?? 'right';\n const disableClose = !merged.closeOnBackdrop || !merged.closeOnEsc;\n const overlay = this._getOverlayConfig(side);\n\n const cdkRef: CdkDialogRef<R, T> = this.cdkDialog.open(component, {\n disableClose,\n hasBackdrop: true,\n backdropClass: 'sny-dialog-backdrop',\n panelClass: ['sny-sheet-panel', SHEET_PANEL_CLASS[side]],\n positionStrategy: overlay.positionStrategy,\n width: overlay.width,\n maxWidth: overlay.maxWidth,\n height: overlay.height,\n maxHeight: overlay.maxHeight,\n ariaLabelledBy: merged.ariaLabelledBy,\n ariaDescribedBy: merged.ariaDescribedBy,\n data: merged.data,\n providers: merged.data != null\n ? [{ provide: SNY_SHEET_DATA, useValue: merged.data }]\n : [],\n });\n\n if (disableClose) {\n if (merged.closeOnBackdrop) {\n const sub = cdkRef.backdropClick.subscribe(() => cdkRef.close());\n cdkRef.closed.subscribe(() => sub.unsubscribe());\n }\n if (merged.closeOnEsc) {\n const sub = cdkRef.keydownEvents.subscribe(event => {\n if (event.key === 'Escape') cdkRef.close();\n });\n cdkRef.closed.subscribe(() => sub.unsubscribe());\n }\n }\n\n return new SnySheetRef<R>(cdkRef);\n }\n\n closeAll(): void {\n this.cdkDialog.closeAll();\n }\n\n private _getOverlayConfig(side: SheetSide): SheetOverlayConfig {\n const strategy = createGlobalPositionStrategy(this.injector);\n\n switch (side) {\n case 'right':\n return {\n positionStrategy: strategy.top('0').right('0'),\n width: '75%',\n maxWidth: '24rem',\n height: '100vh',\n maxHeight: '100vh',\n };\n case 'left':\n return {\n positionStrategy: strategy.top('0').left('0'),\n width: '75%',\n maxWidth: '24rem',\n height: '100vh',\n maxHeight: '100vh',\n };\n case 'top':\n return {\n positionStrategy: strategy.top('0').centerHorizontally(),\n width: '100vw',\n maxWidth: '100vw',\n };\n case 'bottom':\n return {\n positionStrategy: strategy.bottom('0').centerHorizontally(),\n width: '100vw',\n maxWidth: '100vw',\n };\n }\n }\n}\n","import { Directive, computed, input, inject } from '@angular/core';\nimport { DialogRef } from '@angular/cdk/dialog';\nimport { cn } from '../core/utils/cn';\n\n@Directive({\n selector: '[snySheetHeader]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnySheetHeaderDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex flex-col space-y-2', this.class())\n );\n}\n\n@Directive({\n selector: '[snySheetTitle]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnySheetTitleDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-lg font-semibold text-foreground', this.class())\n );\n}\n\n@Directive({\n selector: '[snySheetDescription]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnySheetDescriptionDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-sm text-muted-foreground', this.class())\n );\n}\n\n@Directive({\n selector: '[snySheetContent]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnySheetContentDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('py-4', this.class())\n );\n}\n\n@Directive({\n selector: '[snySheetClose]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '(click)': 'onClick()',\n },\n})\nexport class SnySheetCloseDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn(\n 'absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n this.class()\n )\n );\n\n private readonly dialogRef = inject(DialogRef, { optional: true });\n\n onClick(): void {\n this.dialogRef?.close();\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const alertVariants = cva(\n 'relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground',\n {\n variants: {\n variant: {\n default:\n 'bg-background text-foreground border-border',\n destructive:\n 'border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive bg-destructive/10',\n success:\n 'border-green-500/50 text-green-700 dark:text-green-400 dark:border-green-500 [&>svg]:text-green-600 bg-green-50 dark:bg-green-950/30',\n warning:\n 'border-yellow-500/50 text-yellow-700 dark:text-yellow-400 dark:border-yellow-500 [&>svg]:text-yellow-600 bg-yellow-50 dark:bg-yellow-950/30',\n info: 'border-blue-500/50 text-blue-700 dark:text-blue-400 dark:border-blue-500 [&>svg]:text-blue-600 bg-blue-50 dark:bg-blue-950/30',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type AlertVariant = 'default' | 'destructive' | 'success' | 'warning' | 'info';\n","import { Directive, computed, input, signal } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { alertVariants, type AlertVariant } from './alert.variants';\n\n@Directive({\n selector: '[snyAlert]',\n exportAs: 'snyAlert',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[attr.role]': 'role()',\n '[attr.aria-live]': 'ariaLive()',\n '[style.display]': 'visible() ? null : \"none\"',\n },\n})\nexport class SnyAlertDirective {\n readonly variant = input<AlertVariant>('default');\n readonly dismissible = input(false);\n readonly class = input<string>('');\n\n readonly visible = signal(true);\n\n protected readonly role = computed(() => {\n const v = this.variant();\n return v === 'destructive' || v === 'warning' || v === 'info' ? 'alert' : 'status';\n });\n\n protected readonly ariaLive = computed(() => {\n const v = this.variant();\n return v === 'destructive' || v === 'warning' ? 'assertive' : 'polite';\n });\n\n protected readonly computedClass = computed(() =>\n cn(alertVariants({ variant: this.variant() }), this.class())\n );\n\n dismiss(): void {\n this.visible.set(false);\n }\n}\n\n@Directive({\n selector: '[snyAlertTitle]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n },\n})\nexport class SnyAlertTitleDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('mb-1 font-medium leading-none tracking-tight', this.class())\n );\n}\n\n@Directive({\n selector: '[snyAlertDescription]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n },\n})\nexport class SnyAlertDescriptionDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('text-sm [&_p]:leading-relaxed', this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const textareaVariants = cva(\n 'flex w-full rounded-md border bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n {\n variants: {\n variant: {\n default: 'border-input',\n error:\n 'border-destructive focus-visible:ring-destructive text-destructive placeholder:text-destructive/60',\n },\n textareaSize: {\n sm: 'min-h-[60px] text-xs',\n md: 'min-h-[80px] text-sm',\n lg: 'min-h-[120px] text-base',\n },\n resize: {\n none: 'resize-none',\n vertical: 'resize-y',\n horizontal: 'resize-x',\n both: 'resize',\n },\n },\n defaultVariants: {\n variant: 'default',\n textareaSize: 'md',\n resize: 'vertical',\n },\n }\n);\n\nexport type TextareaVariant = 'default' | 'error';\nexport type TextareaSize = 'sm' | 'md' | 'lg';\nexport type TextareaResize = 'none' | 'vertical' | 'horizontal' | 'both';\n","import {\n Directive,\n computed,\n input,\n effect,\n inject,\n ElementRef,\n afterNextRender,\n} from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport {\n textareaVariants,\n type TextareaVariant,\n type TextareaSize,\n type TextareaResize,\n} from './textarea.variants';\n\n@Directive({\n selector: 'textarea[snyTextarea]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[attr.aria-invalid]': 'variant() === \"error\" || null',\n '(input)': 'onInput()',\n },\n})\nexport class SnyTextareaDirective {\n readonly variant = input<TextareaVariant>('default');\n readonly textareaSize = input<TextareaSize>('md');\n readonly resize = input<TextareaResize>('vertical');\n readonly autoResize = input(false);\n readonly class = input<string>('');\n\n private readonly el = inject(ElementRef<HTMLTextAreaElement>);\n\n protected readonly computedClass = computed(() =>\n cn(\n textareaVariants({\n variant: this.variant(),\n textareaSize: this.textareaSize(),\n resize: this.autoResize() ? 'none' : this.resize(),\n }),\n this.class()\n )\n );\n\n constructor() {\n afterNextRender(() => {\n if (this.autoResize()) {\n this.adjustHeight();\n }\n });\n\n effect(() => {\n if (this.autoResize()) {\n this.adjustHeight();\n }\n });\n }\n\n protected onInput(): void {\n if (this.autoResize()) {\n this.adjustHeight();\n }\n }\n\n private adjustHeight(): void {\n const textarea = this.el.nativeElement;\n textarea.style.height = 'auto';\n textarea.style.height = `${textarea.scrollHeight}px`;\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const progressTrackVariants = cva(\n 'relative w-full overflow-hidden rounded-full bg-secondary',\n {\n variants: {\n size: {\n sm: 'h-1.5',\n md: 'h-2.5',\n lg: 'h-4',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport const progressBarVariants = cva(\n 'h-full rounded-full transition-all duration-300 ease-in-out',\n {\n variants: {\n variant: {\n default: 'bg-primary',\n success: 'bg-green-600 dark:bg-green-500',\n warning: 'bg-yellow-500 dark:bg-yellow-400',\n error: 'bg-destructive',\n info: 'bg-blue-600 dark:bg-blue-500',\n },\n indeterminate: {\n true: 'animate-progress-indeterminate w-1/3',\n false: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n indeterminate: false,\n },\n }\n);\n\nexport type ProgressVariant = 'default' | 'success' | 'warning' | 'error' | 'info';\nexport type ProgressSize = 'sm' | 'md' | 'lg';\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport {\n progressTrackVariants,\n progressBarVariants,\n type ProgressVariant,\n type ProgressSize,\n} from './progress.variants';\n\n@Component({\n selector: 'sny-progress',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'role': 'progressbar',\n '[attr.aria-valuenow]': 'indeterminate() ? null : value()',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': 'max()',\n '[attr.aria-label]': 'label()',\n '[class]': '\"w-full\"',\n },\n template: `\n <div [class]=\"trackClass()\">\n <div\n [class]=\"barClass()\"\n [style.width.%]=\"indeterminate() ? null : percentage()\"\n ></div>\n </div>\n `,\n styles: `\n @keyframes progress-indeterminate {\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(400%); }\n }\n :host .animate-progress-indeterminate {\n animation: progress-indeterminate 1.5s ease-in-out infinite;\n }\n `,\n})\nexport class SnyProgressComponent {\n readonly value = input(0);\n readonly max = input(100);\n readonly variant = input<ProgressVariant>('default');\n readonly size = input<ProgressSize>('md');\n readonly indeterminate = input(false);\n readonly label = input('Progress');\n readonly class = input<string>('');\n\n readonly percentage = computed(() =>\n Math.min(100, (this.value() / this.max()) * 100)\n );\n\n protected readonly trackClass = computed(() =>\n cn(progressTrackVariants({ size: this.size() }), this.class())\n );\n\n protected readonly barClass = computed(() =>\n cn(\n progressBarVariants({\n variant: this.variant(),\n indeterminate: this.indeterminate(),\n })\n )\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const tooltipVariants = cva(\n 'z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95',\n {\n variants: {\n position: {\n top: 'slide-in-from-bottom-2',\n bottom: 'slide-in-from-top-2',\n left: 'slide-in-from-right-2',\n right: 'slide-in-from-left-2',\n },\n },\n defaultVariants: {\n position: 'top',\n },\n }\n);\n\nexport type TooltipPosition = 'top' | 'bottom' | 'left' | 'right';\n","import {\n Directive,\n ElementRef,\n OnDestroy,\n Renderer2,\n computed,\n inject,\n input,\n signal,\n afterNextRender,\n} from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { tooltipVariants, type TooltipPosition } from './tooltip.variants';\n\nlet tooltipIdCounter = 0;\n\n@Directive({\n selector: '[snyTooltip]',\n standalone: true,\n exportAs: 'snyTooltip',\n host: {\n '(mouseenter)': 'show()',\n '(mouseleave)': 'hide()',\n '(focus)': 'show()',\n '(blur)': 'hide()',\n '(keydown.escape)': 'hide()',\n '[attr.aria-describedby]': 'isOpen() ? tooltipId : null',\n },\n})\nexport class SnyTooltipDirective implements OnDestroy {\n readonly snyTooltip = input.required<string>();\n readonly tooltipPosition = input<TooltipPosition>('top');\n readonly tooltipDelay = input(300);\n readonly tooltipDisabled = input(false);\n readonly class = input<string>('');\n\n readonly isOpen = signal(false);\n readonly tooltipId = `sny-tooltip-${++tooltipIdCounter}`;\n\n private readonly el = inject(ElementRef<HTMLElement>);\n private readonly renderer = inject(Renderer2);\n private showTimeout: ReturnType<typeof setTimeout> | null = null;\n private tooltipEl: HTMLElement | null = null;\n\n constructor() {\n afterNextRender(() => {\n // cleanup handled in ngOnDestroy\n });\n }\n\n show(): void {\n if (this.tooltipDisabled()) return;\n this.showTimeout = setTimeout(() => {\n this.createTooltip();\n this.isOpen.set(true);\n }, this.tooltipDelay());\n }\n\n hide(): void {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = null;\n }\n this.destroyTooltip();\n this.isOpen.set(false);\n }\n\n ngOnDestroy(): void {\n this.hide();\n }\n\n private createTooltip(): void {\n if (this.tooltipEl) return;\n\n const tooltip = this.renderer.createElement('div') as HTMLElement;\n tooltip.id = this.tooltipId;\n tooltip.setAttribute('role', 'tooltip');\n tooltip.className = cn(\n tooltipVariants({ position: this.tooltipPosition() }),\n 'fixed pointer-events-none',\n this.class()\n );\n tooltip.textContent = this.snyTooltip();\n\n this.renderer.appendChild(document.body, tooltip);\n this.tooltipEl = tooltip;\n\n this.positionTooltip();\n }\n\n private positionTooltip(): void {\n if (!this.tooltipEl) return;\n\n const hostRect = this.el.nativeElement.getBoundingClientRect();\n const tooltipRect = this.tooltipEl.getBoundingClientRect();\n const position = this.tooltipPosition();\n const gap = 8;\n\n let top = 0;\n let left = 0;\n\n switch (position) {\n case 'top':\n top = hostRect.top - tooltipRect.height - gap;\n left = hostRect.left + (hostRect.width - tooltipRect.width) / 2;\n break;\n case 'bottom':\n top = hostRect.bottom + gap;\n left = hostRect.left + (hostRect.width - tooltipRect.width) / 2;\n break;\n case 'left':\n top = hostRect.top + (hostRect.height - tooltipRect.height) / 2;\n left = hostRect.left - tooltipRect.width - gap;\n break;\n case 'right':\n top = hostRect.top + (hostRect.height - tooltipRect.height) / 2;\n left = hostRect.right + gap;\n break;\n }\n\n this.tooltipEl.style.top = `${top}px`;\n this.tooltipEl.style.left = `${left}px`;\n }\n\n private destroyTooltip(): void {\n if (this.tooltipEl) {\n this.tooltipEl.remove();\n this.tooltipEl = null;\n }\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const dropdownContentVariants = cva(\n 'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md',\n {\n variants: {},\n defaultVariants: {},\n }\n);\n\nexport const dropdownItemVariants = cva(\n 'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[active]:bg-accent data-[active]:text-accent-foreground',\n {\n variants: {\n variant: {\n default: '',\n destructive:\n 'text-destructive data-[active]:bg-destructive/10 data-[active]:text-destructive',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type DropdownItemVariant = 'default' | 'destructive';\n","import { Directive, ElementRef, HostListener, InjectionToken, computed, inject, input, signal } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport {\n dropdownContentVariants,\n dropdownItemVariants,\n type DropdownItemVariant,\n} from './dropdown.variants';\n\nexport const SNY_DROPDOWN = new InjectionToken<SnyDropdownDirective>('SnyDropdown');\n\n@Directive({\n selector: '[snyDropdown]',\n standalone: true,\n exportAs: 'snyDropdown',\n providers: [{ provide: SNY_DROPDOWN, useExisting: SnyDropdownDirective }],\n host: {\n '[class]': '\"relative inline-block\"',\n },\n})\nexport class SnyDropdownDirective {\n private readonly elementRef = inject(ElementRef);\n readonly isOpen = signal(false);\n\n toggle(): void { this.isOpen.update((v) => !v); }\n open(): void { this.isOpen.set(true); }\n close(): void { this.isOpen.set(false); }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent): void {\n if (!this.elementRef.nativeElement.contains(event.target)) {\n this.close();\n }\n }\n\n @HostListener('keydown.escape')\n onEscape(): void {\n this.close();\n }\n}\n\n@Directive({\n selector: '[snyDropdownTrigger]',\n standalone: true,\n host: {\n '(click)': 'dropdown.toggle()',\n '[attr.aria-expanded]': 'dropdown.isOpen()',\n '[attr.aria-haspopup]': '\"menu\"',\n },\n})\nexport class SnyDropdownTriggerDirective {\n readonly dropdown = inject(SNY_DROPDOWN);\n}\n\n@Directive({\n selector: '[snyDropdownContent]',\n standalone: true,\n host: {\n 'role': 'menu',\n '[class]': 'computedClass()',\n '[style.display]': 'dropdown.isOpen() ? \"\" : \"none\"',\n },\n})\nexport class SnyDropdownContentDirective {\n readonly dropdown = inject(SNY_DROPDOWN);\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(\n dropdownContentVariants(),\n 'absolute mt-1 left-0 animate-in fade-in-0 zoom-in-95',\n this.class()\n )\n );\n}\n\n@Directive({\n selector: '[snyMenuContent]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n },\n})\nexport class SnyMenuContentDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(dropdownContentVariants(), this.class())\n );\n}\n\n@Directive({\n selector: '[snyMenuItem]',\n standalone: true,\n host: {\n 'role': 'menuitem',\n '[class]': 'computedClass()',\n '(click)': 'onClick()',\n },\n})\nexport class SnyMenuItemDirective {\n private readonly dropdown = inject(SNY_DROPDOWN, { optional: true });\n readonly variant = input<DropdownItemVariant>('default');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(dropdownItemVariants({ variant: this.variant() }), 'cursor-pointer hover:bg-accent hover:text-accent-foreground', this.class())\n );\n\n onClick(): void {\n this.dropdown?.close();\n }\n}\n\n@Directive({\n selector: '[snyMenuSeparator]',\n standalone: true,\n host: {\n 'role': 'separator',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyMenuSeparatorDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('-mx-1 my-1 h-px bg-muted', this.class())\n );\n}\n\n@Directive({\n selector: '[snyMenuLabel]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n },\n})\nexport class SnyMenuLabelDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('px-2 py-1.5 text-sm font-semibold', this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const fileInputVariants = cva(\n 'flex w-full cursor-pointer items-center gap-2 rounded-md border bg-background px-3 py-2 text-sm ring-offset-background transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n {\n variants: {\n variant: {\n default: 'border-input',\n error: 'border-destructive focus-visible:ring-destructive',\n },\n size: {\n sm: 'h-8 text-xs',\n md: 'h-10 text-sm',\n lg: 'h-12 text-base',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n }\n);\n\nexport type FileInputVariant = 'default' | 'error';\nexport type FileInputSize = 'sm' | 'md' | 'lg';\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n forwardRef,\n input,\n model,\n output,\n signal,\n viewChild,\n ElementRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cn } from '../core/utils/cn';\nimport {\n fileInputVariants,\n type FileInputVariant,\n type FileInputSize,\n} from './file-input.variants';\n\n@Component({\n selector: 'sny-file-input',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': '\"w-full\"',\n },\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SnyFileInputComponent), multi: true },\n ],\n template: `\n <label\n [class]=\"labelClass()\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n (drop)=\"onDrop($event)\"\n >\n <input\n #fileInput\n type=\"file\"\n class=\"sr-only\"\n [accept]=\"accept()\"\n [multiple]=\"multiple()\"\n [disabled]=\"isDisabled()\"\n [attr.aria-label]=\"placeholder()\"\n [attr.aria-invalid]=\"variant() === 'error' || null\"\n (change)=\"onFileSelected($event)\"\n (blur)=\"onTouched()\"\n />\n <span class=\"truncate text-muted-foreground\">{{ fileName() }}</span>\n </label>\n `,\n})\nexport class SnyFileInputComponent implements ControlValueAccessor {\n readonly accept = input('');\n readonly multiple = input(false);\n readonly disabled = input(false);\n readonly placeholder = input('Choose file...');\n readonly variant = input<FileInputVariant>('default');\n readonly size = input<FileInputSize>('md');\n readonly maxSize = input(0);\n readonly class = input<string>('');\n\n readonly value = model<FileList | null>(null);\n readonly fileChange = output<FileList>();\n readonly error = output<string>();\n\n private readonly _disabledByCva = signal(false);\n protected readonly isDisabled = computed(() => this.disabled() || this._disabledByCva());\n\n private readonly fileInputRef = viewChild<ElementRef<HTMLInputElement>>('fileInput');\n readonly isDragOver = signal(false);\n\n private _onChange: (value: FileList | null) => void = () => {};\n protected onTouched: () => void = () => {};\n private _writing = false;\n\n constructor() {\n effect(() => {\n const val = this.value();\n if (this._writing) {\n this._writing = false;\n return;\n }\n this._onChange(val);\n });\n }\n\n writeValue(val: FileList | null): void {\n this._writing = true;\n this.value.set(val ?? null);\n }\n\n registerOnChange(fn: (value: FileList | null) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByCva.set(isDisabled);\n }\n\n readonly fileName = computed(() => {\n const files = this.value();\n if (!files || files.length === 0) return this.placeholder();\n if (files.length === 1) return files[0].name;\n return `${files.length} files selected`;\n });\n\n protected readonly labelClass = computed(() =>\n cn(\n fileInputVariants({ variant: this.variant(), size: this.size() }),\n this.isDragOver() && 'ring-2 ring-ring',\n this.class()\n )\n );\n\n onFileSelected(event: Event): void {\n const input = event.target as HTMLInputElement;\n if (input.files) {\n this.processFiles(input.files);\n }\n }\n\n onDragOver(event: DragEvent): void {\n event.preventDefault();\n if (!this.isDisabled()) {\n this.isDragOver.set(true);\n }\n }\n\n onDragLeave(event: DragEvent): void {\n event.preventDefault();\n this.isDragOver.set(false);\n }\n\n onDrop(event: DragEvent): void {\n event.preventDefault();\n this.isDragOver.set(false);\n if (!this.isDisabled() && event.dataTransfer?.files) {\n this.processFiles(event.dataTransfer.files);\n }\n }\n\n clear(): void {\n this.value.set(null);\n const inputEl = this.fileInputRef()?.nativeElement;\n if (inputEl) inputEl.value = '';\n }\n\n private processFiles(files: FileList): void {\n const maxSize = this.maxSize();\n if (maxSize > 0) {\n for (let i = 0; i < files.length; i++) {\n if (files[i].size > maxSize) {\n this.error.emit(`File \"${files[i].name}\" exceeds maximum size of ${maxSize} bytes`);\n return;\n }\n }\n }\n this.value.set(files);\n this.fileChange.emit(files);\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const fieldsetVariants = cva('space-y-4', {\n variants: {\n variant: {\n default: '',\n bordered: 'rounded-lg border border-border p-4',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nexport type FieldsetVariant = 'default' | 'bordered';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { fieldsetVariants, type FieldsetVariant } from './fieldset.variants';\n\n@Directive({\n selector: 'fieldset[snyFieldset]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[attr.disabled]': 'disabled() || null',\n '[attr.aria-disabled]': 'disabled() || null',\n },\n})\nexport class SnyFieldsetDirective {\n readonly variant = input<FieldsetVariant>('default');\n readonly disabled = input(false);\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(fieldsetVariants({ variant: this.variant() }), this.class())\n );\n}\n\n@Directive({\n selector: 'legend[snyFieldsetLegend]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n },\n})\nexport class SnyFieldsetLegendDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('text-sm font-medium leading-none', this.class())\n );\n}\n\n@Directive({\n selector: '[snyFieldsetContent]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n },\n})\nexport class SnyFieldsetContentDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('space-y-2', this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const ratingVariants = cva(\n 'inline-flex items-center gap-0.5 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 rounded',\n {\n variants: {\n size: {\n sm: '[&_svg]:w-4 [&_svg]:h-4',\n md: '[&_svg]:w-5 [&_svg]:h-5',\n lg: '[&_svg]:w-7 [&_svg]:h-7',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport type RatingSize = 'sm' | 'md' | 'lg';\nexport type RatingVariant = 'star' | 'heart';\n","import { ChangeDetectionStrategy, Component, computed, effect, forwardRef, input, model, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cn } from '../core/utils/cn';\nimport { ratingVariants, type RatingSize, type RatingVariant } from './rating.variants';\n\ninterface StarState {\n index: number;\n fill: 'full' | 'half' | 'empty';\n}\n\n@Component({\n selector: 'sny-rating',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'role': 'slider',\n 'tabindex': '0',\n '[attr.aria-valuenow]': 'value()',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': 'max()',\n '[attr.aria-label]': '\"Rating\"',\n '[attr.aria-readonly]': 'readonly() || null',\n '[class]': 'computedClass()',\n '(keydown)': 'onKeydown($event)',\n '(mouseleave)': 'onMouseLeave()',\n '(blur)': 'onTouched()',\n },\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SnyRatingComponent), multi: true },\n ],\n template: `\n @for (star of stars(); track star.index) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n [class]=\"starClass(star)\"\n (click)=\"onStarClick(star.index + 1)\"\n (mouseenter)=\"onStarHover(star.index + 1)\"\n >\n @if (ratingVariant() === 'star') {\n <polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\" />\n } @else {\n <path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\" />\n }\n </svg>\n }\n `,\n})\nexport class SnyRatingComponent implements ControlValueAccessor {\n readonly value = model(0);\n readonly max = input(5);\n readonly readonly = input(false);\n readonly size = input<RatingSize>('md');\n readonly ratingVariant = input<RatingVariant>('star');\n readonly half = input(false);\n readonly class = input<string>('');\n\n private readonly _disabledByCva = signal(false);\n protected readonly isDisabled = computed(() => this.readonly() || this._disabledByCva());\n\n readonly hoverValue = signal<number | null>(null);\n\n private _onChange: (value: number) => void = () => {};\n protected onTouched: () => void = () => {};\n private _writing = false;\n\n constructor() {\n effect(() => {\n const val = this.value();\n if (this._writing) {\n this._writing = false;\n return;\n }\n this._onChange(val);\n });\n }\n\n writeValue(val: number): void {\n this._writing = true;\n this.value.set(val ?? 0);\n }\n\n registerOnChange(fn: (value: number) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByCva.set(isDisabled);\n }\n\n readonly displayValue = computed(() => this.hoverValue() ?? this.value());\n\n readonly stars = computed<StarState[]>(() => {\n const display = this.displayValue();\n const m = this.max();\n return Array.from({ length: m }, (_, i) => {\n let fill: 'full' | 'half' | 'empty';\n if (i + 1 <= display) {\n fill = 'full';\n } else if (this.half() && i + 0.5 <= display) {\n fill = 'half';\n } else {\n fill = 'empty';\n }\n return { index: i, fill };\n });\n });\n\n protected readonly computedClass = computed(() =>\n cn(\n ratingVariants({ size: this.size() }),\n this.isDisabled() && 'pointer-events-none',\n this.class()\n )\n );\n\n starClass(star: StarState): string {\n const base = 'cursor-pointer transition-colors';\n switch (star.fill) {\n case 'full':\n return cn(base, 'fill-yellow-400 stroke-yellow-400');\n case 'half':\n return cn(base, 'fill-yellow-400/50 stroke-yellow-400');\n case 'empty':\n return cn(base, 'fill-none stroke-muted-foreground');\n }\n }\n\n onStarClick(index: number): void {\n if (this.isDisabled()) return;\n this.value.set(index);\n }\n\n onStarHover(index: number): void {\n if (this.isDisabled()) return;\n this.hoverValue.set(index);\n }\n\n onMouseLeave(): void {\n this.hoverValue.set(null);\n }\n\n onKeydown(event: KeyboardEvent): void {\n if (this.isDisabled()) return;\n const step = this.half() ? 0.5 : 1;\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowUp':\n event.preventDefault();\n this.value.update((v) => Math.min(this.max(), v + step));\n break;\n case 'ArrowLeft':\n case 'ArrowDown':\n event.preventDefault();\n this.value.update((v) => Math.max(0, v - step));\n break;\n case 'Home':\n event.preventDefault();\n this.value.set(0);\n break;\n case 'End':\n event.preventDefault();\n this.value.set(this.max());\n break;\n }\n }\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport type NavbarVariant = 'default' | 'bordered' | 'floating';\n\n@Directive({\n selector: '[snyNavbar]',\n standalone: true,\n host: {\n 'role': 'navigation',\n '[attr.aria-label]': 'ariaLabel()',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyNavbarDirective {\n readonly variant = input<NavbarVariant>('default');\n readonly sticky = input(false);\n readonly ariaLabel = input<string>('Main navigation');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() => {\n const v = this.variant();\n const base = 'flex items-center justify-between px-4 py-2 w-full bg-background';\n const variantClass =\n v === 'bordered' ? 'border-b border-border' :\n v === 'floating' ? 'mx-4 mt-2 rounded-lg border border-border shadow-sm' :\n '';\n const stickyClass = this.sticky() ? 'sticky top-0 z-50' : '';\n return cn(base, variantClass, stickyClass, this.class());\n });\n}\n\n@Directive({\n selector: '[snyNavbarBrand]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyNavbarBrandDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() => cn('flex items-center gap-2 font-bold text-lg', this.class()));\n}\n\n@Directive({\n selector: '[snyNavbarContent]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyNavbarContentDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() => cn('flex items-center gap-1', this.class()));\n}\n\n@Directive({\n selector: '[snyNavbarEnd]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyNavbarEndDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() => cn('flex items-center gap-2 ml-auto', this.class()));\n}\n","import { ChangeDetectionStrategy, Component, Directive, InjectionToken, computed, inject, input, signal } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport const SNY_DRAWER = new InjectionToken<SnyDrawerLayoutComponent>('SnyDrawer');\n\n@Component({\n selector: '[snyDrawerLayout]',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'snyDrawerLayout',\n providers: [{ provide: SNY_DRAWER, useExisting: SnyDrawerLayoutComponent }],\n host: {\n '[class]': 'computedClass()',\n },\n template: `\n <ng-content />\n @if (isOpen() && overlay()) {\n <div\n class=\"fixed inset-0 z-30 bg-black/50 transition-opacity\"\n (click)=\"close()\"\n ></div>\n }\n `,\n})\nexport class SnyDrawerLayoutComponent {\n readonly class = input<string>('');\n readonly overlay = input(true);\n readonly isOpen = signal(false);\n\n protected readonly computedClass = computed(() =>\n cn('relative flex h-full w-full overflow-hidden', this.class())\n );\n\n toggle(): void { this.isOpen.update((v) => !v); }\n open(): void { this.isOpen.set(true); }\n close(): void { this.isOpen.set(false); }\n}\n\n/** @deprecated Use SnyDrawerLayoutComponent instead */\nexport const SnyDrawerLayoutDirective = SnyDrawerLayoutComponent;\n\n@Directive({\n selector: '[snyDrawerContent]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n },\n})\nexport class SnyDrawerContentDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex-1 overflow-auto', this.class())\n );\n}\n\nexport type DrawerSide = 'left' | 'right';\n\n@Directive({\n selector: '[snyDrawerSide]',\n standalone: true,\n host: {\n 'role': 'navigation',\n 'aria-label': 'Sidebar navigation',\n '[attr.aria-modal]': 'drawer.overlay() && drawer.isOpen() || null',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyDrawerSideDirective {\n protected readonly drawer = inject(SNY_DRAWER);\n readonly side = input<DrawerSide>('left');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() => {\n const isOpen = this.drawer.isOpen();\n const s = this.side();\n const base = 'fixed inset-y-0 z-40 w-64 bg-background border-r border-border transition-transform duration-300 ease-in-out';\n const sideClass = s === 'left' ? 'left-0' : 'right-0 border-l border-r-0';\n const transformClass = isOpen\n ? 'translate-x-0'\n : s === 'left' ? '-translate-x-full' : 'translate-x-full';\n return cn(base, sideClass, transformClass, this.class());\n });\n}\n","import { cva } from 'class-variance-authority';\n\nexport const paginationItemVariants = cva(\n 'inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n variant: {\n default: 'bg-background hover:bg-accent hover:text-accent-foreground',\n outline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n },\n size: {\n sm: 'h-8 w-8 text-xs',\n md: 'h-9 w-9',\n lg: 'h-10 w-10',\n },\n active: {\n true: 'bg-primary text-primary-foreground hover:bg-primary/90 hover:text-primary-foreground',\n false: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n active: false,\n },\n }\n);\n\nexport type PaginationVariant = 'default' | 'outline' | 'ghost';\nexport type PaginationSize = 'sm' | 'md' | 'lg';\n","import { ChangeDetectionStrategy, Component, computed, input, model } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport {\n paginationItemVariants,\n type PaginationVariant,\n type PaginationSize,\n} from './pagination.variants';\n\nfunction computePageRange(\n totalPages: number,\n currentPage: number,\n siblingCount: number,\n boundaryCount: number\n): (number | 'ellipsis')[] {\n const range = (start: number, end: number) =>\n Array.from({ length: end - start + 1 }, (_, i) => start + i);\n\n const startPages = range(1, Math.min(boundaryCount, totalPages));\n const endPages = range(Math.max(totalPages - boundaryCount + 1, boundaryCount + 1), totalPages);\n\n const siblingsStart = Math.max(\n Math.min(currentPage - siblingCount, totalPages - boundaryCount - siblingCount * 2 - 1),\n boundaryCount + 2\n );\n const siblingsEnd = Math.min(\n Math.max(currentPage + siblingCount, boundaryCount + siblingCount * 2 + 2),\n endPages.length > 0 ? endPages[0] - 2 : totalPages - 1\n );\n\n const result: (number | 'ellipsis')[] = [...startPages];\n\n if (siblingsStart > boundaryCount + 2) {\n result.push('ellipsis');\n } else if (boundaryCount + 1 < totalPages - boundaryCount) {\n result.push(boundaryCount + 1);\n }\n\n result.push(...range(siblingsStart, siblingsEnd));\n\n if (siblingsEnd < totalPages - boundaryCount - 1) {\n result.push('ellipsis');\n } else if (totalPages - boundaryCount > boundaryCount) {\n result.push(totalPages - boundaryCount);\n }\n\n result.push(...endPages);\n\n return [...new Set(result)].sort((a, b) => {\n if (a === 'ellipsis') return 0;\n if (b === 'ellipsis') return 0;\n return a - b;\n });\n}\n\n@Component({\n selector: 'sny-pagination',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'role': 'navigation',\n 'aria-label': 'Pagination',\n },\n template: `\n <div class=\"flex items-center gap-1\">\n <button\n [class]=\"navBtnClass()\"\n [disabled]=\"!hasPrev()\"\n [attr.aria-label]=\"'Go to previous page'\"\n (click)=\"prev()\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m15 18-6-6 6-6\"/></svg>\n </button>\n\n @for (page of pages(); track $index) {\n @if (page === 'ellipsis') {\n <span class=\"flex h-9 w-9 items-center justify-center\" aria-hidden=\"true\">...</span>\n } @else {\n <button\n [class]=\"pageClass(page)\"\n [attr.aria-label]=\"'Page ' + page\"\n [attr.aria-current]=\"page === currentPage() ? 'page' : null\"\n (click)=\"goToPage(page)\"\n >\n {{ page }}\n </button>\n }\n }\n\n <button\n [class]=\"navBtnClass()\"\n [disabled]=\"!hasNext()\"\n [attr.aria-label]=\"'Go to next page'\"\n (click)=\"next()\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m9 18 6-6-6-6\"/></svg>\n </button>\n </div>\n `,\n})\nexport class SnyPaginationComponent {\n readonly currentPage = model(1);\n readonly totalPages = input.required<number>();\n readonly siblingCount = input(1);\n readonly boundaryCount = input(1);\n readonly size = input<PaginationSize>('md');\n readonly variant = input<PaginationVariant>('default');\n readonly class = input<string>('');\n\n readonly pages = computed(() =>\n computePageRange(this.totalPages(), this.currentPage(), this.siblingCount(), this.boundaryCount())\n );\n\n readonly hasPrev = computed(() => this.currentPage() > 1);\n readonly hasNext = computed(() => this.currentPage() < this.totalPages());\n\n goToPage(page: number | 'ellipsis'): void {\n if (page === 'ellipsis') return;\n this.currentPage.set(page);\n }\n\n prev(): void {\n if (this.hasPrev()) this.currentPage.update((p) => p - 1);\n }\n\n next(): void {\n if (this.hasNext()) this.currentPage.update((p) => p + 1);\n }\n\n pageClass(page: number): string {\n return cn(\n paginationItemVariants({\n variant: this.variant(),\n size: this.size(),\n active: page === this.currentPage(),\n })\n );\n }\n\n navBtnClass(): string {\n return cn(\n paginationItemVariants({ variant: this.variant(), size: this.size(), active: false })\n );\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const dividerVariants = cva('shrink-0 bg-border', {\n variants: {\n orientation: {\n horizontal: 'h-[1px] w-full',\n vertical: 'h-full w-[1px]',\n },\n variant: {\n solid: '',\n dashed: 'border-dashed',\n dotted: 'border-dotted',\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n variant: 'solid',\n },\n});\n\nexport type DividerOrientation = 'horizontal' | 'vertical';\nexport type DividerVariant = 'solid' | 'dashed' | 'dotted';\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport {\n dividerVariants,\n type DividerOrientation,\n type DividerVariant,\n} from './divider.variants';\n\n@Component({\n selector: 'sny-divider',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'role': 'separator',\n '[attr.aria-orientation]': 'orientation()',\n },\n template: `\n @if (hasLabel()) {\n <div [class]=\"labelContainerClass()\">\n <div [class]=\"lineClass()\"></div>\n <span class=\"px-2 text-xs text-muted-foreground\">{{ label() }}</span>\n <div [class]=\"lineClass()\"></div>\n </div>\n } @else {\n <div [class]=\"dividerClass()\"></div>\n }\n `,\n})\nexport class SnyDividerComponent {\n readonly orientation = input<DividerOrientation>('horizontal');\n readonly variant = input<DividerVariant>('solid');\n readonly label = input<string>('');\n readonly class = input<string>('');\n\n readonly hasLabel = computed(() => !!this.label());\n\n protected readonly dividerClass = computed(() =>\n cn(dividerVariants({ orientation: this.orientation(), variant: this.variant() }), this.class())\n );\n\n protected readonly lineClass = computed(() =>\n cn('flex-1 bg-border', this.orientation() === 'horizontal' ? 'h-[1px]' : 'w-[1px]')\n );\n\n protected readonly labelContainerClass = computed(() =>\n cn(\n 'flex items-center',\n this.orientation() === 'horizontal' ? 'flex-row' : 'flex-col',\n this.class()\n )\n );\n}\n","import { Directive, InjectionToken, computed, contentChildren, inject, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport const SNY_STEPS = new InjectionToken<SnyStepsDirective>('SnySteps');\n\nexport type StepStatus = 'default' | 'active' | 'completed' | 'error';\nexport type StepsOrientation = 'horizontal' | 'vertical';\nexport type StepsSize = 'sm' | 'md' | 'lg';\n\n@Directive({\n selector: '[snyStep]',\n standalone: true,\n host: {\n 'role': 'listitem',\n '[class]': 'computedClass()',\n '[attr.aria-current]': 'status() === \"active\" ? \"step\" : null',\n },\n})\nexport class SnyStepDirective {\n readonly status = input<StepStatus>('default');\n readonly icon = input<string>('');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() => {\n const s = this.status();\n const base = 'flex items-center gap-2';\n\n // Step indicator via before: pseudo-element\n const indicatorBase = 'before:flex before:items-center before:justify-center before:w-8 before:h-8 before:rounded-full before:border-2 before:text-xs before:shrink-0';\n\n const statusIndicator =\n s === 'completed' ? 'before:bg-primary before:border-primary before:text-primary-foreground before:content-[\"✓\"]' :\n s === 'active' ? 'before:border-primary before:text-primary before:content-[\"●\"]' :\n s === 'error' ? 'before:border-destructive before:text-destructive before:content-[\"!\"]' :\n 'before:border-muted-foreground/30 before:text-muted-foreground before:content-[\"○\"]';\n\n const statusClass =\n s === 'completed' ? 'text-primary' :\n s === 'active' ? 'text-primary font-medium' :\n s === 'error' ? 'text-destructive' :\n 'text-muted-foreground';\n\n return cn(base, indicatorBase, statusIndicator, statusClass, this.class());\n });\n}\n\n@Directive({\n selector: '[snySteps]',\n standalone: true,\n exportAs: 'snySteps',\n providers: [{ provide: SNY_STEPS, useExisting: SnyStepsDirective }],\n host: {\n 'role': 'list',\n 'aria-label': 'Progress steps',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyStepsDirective {\n readonly orientation = input<StepsOrientation>('horizontal');\n readonly size = input<StepsSize>('md');\n readonly class = input<string>('');\n\n readonly steps = contentChildren(SnyStepDirective);\n\n readonly activeIndex = computed(() => {\n const s = this.steps();\n return s.findIndex((step) => step.status() === 'active');\n });\n\n protected readonly computedClass = computed(() => {\n const o = this.orientation();\n const s = this.size();\n const base = 'flex';\n const orientationClass = o === 'horizontal'\n ? 'flex-row items-center gap-2 [&>*+*]:before:content-[\"\"] [&>*+*]:before:flex-1 [&>*+*]:before:h-px [&>*+*]:before:bg-border [&>*+*]:before:mx-2 [&>*+*]:before:min-w-[2rem]'\n : 'flex-col gap-2 [&>*+*]:before:content-[\"\"] [&>*+*]:before:w-px [&>*+*]:before:h-4 [&>*+*]:before:bg-border [&>*+*]:before:ml-4';\n const sizeClass = s === 'sm' ? 'text-xs' : s === 'lg' ? 'text-base' : 'text-sm';\n return cn(base, orientationClass, sizeClass, this.class());\n });\n}\n","import { Directive, InjectionToken, computed, inject, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport const SNY_STAT = new InjectionToken<SnyStatDirective>('SnyStat');\n\nlet statIdCounter = 0;\n\n@Directive({\n selector: '[snyStat]',\n standalone: true,\n providers: [{ provide: SNY_STAT, useExisting: SnyStatDirective }],\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyStatDirective {\n readonly class = input<string>('');\n readonly titleId = `sny-stat-title-${++statIdCounter}`;\n protected readonly computedClass = computed(() =>\n cn('flex flex-col gap-0.5', this.class())\n );\n}\n\n@Directive({\n selector: '[snyStatTitle]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[id]': 'stat.titleId',\n },\n})\nexport class SnyStatTitleDirective {\n readonly class = input<string>('');\n readonly stat = inject(SNY_STAT);\n protected readonly computedClass = computed(() =>\n cn('text-sm text-muted-foreground', this.class())\n );\n}\n\n@Directive({\n selector: '[snyStatValue]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[attr.aria-labelledby]': 'stat.titleId',\n },\n})\nexport class SnyStatValueDirective {\n readonly class = input<string>('');\n readonly stat = inject(SNY_STAT);\n protected readonly computedClass = computed(() =>\n cn('text-2xl font-bold', this.class())\n );\n}\n\nexport type StatDescriptionVariant = 'default' | 'success' | 'error';\n\n@Directive({\n selector: '[snyStatDescription]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyStatDescriptionDirective {\n readonly variant = input<StatDescriptionVariant>('default');\n readonly class = input<string>('');\n protected readonly computedClass = computed(() => {\n const v = this.variant();\n const variantClass =\n v === 'success' ? 'text-green-600 dark:text-green-400' :\n v === 'error' ? 'text-destructive' :\n 'text-muted-foreground';\n return cn('text-xs', variantClass, this.class());\n });\n}\n\n@Directive({\n selector: '[snyStatFigure]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyStatFigureDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-muted-foreground', this.class())\n );\n}\n","import { Directive, InjectionToken, computed, contentChildren, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport const SNY_TIMELINE = new InjectionToken<SnyTimelineDirective>('SnyTimeline');\nexport type TimelineOrientation = 'vertical' | 'horizontal';\nexport type TimelineConnect = 'start' | 'end' | 'both' | 'none';\nexport type TimelineMiddleVariant = 'default' | 'primary' | 'success' | 'error';\n\n@Directive({\n selector: '[snyTimelineItem]',\n standalone: true,\n host: { 'role': 'listitem', '[class]': 'computedClass()' },\n})\nexport class SnyTimelineItemDirective {\n readonly connect = input<TimelineConnect>('both');\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('relative flex gap-4', this.class())\n );\n}\n\n@Directive({\n selector: '[snyTimelineStart]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTimelineStartDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-sm text-muted-foreground min-w-[80px] text-right', this.class())\n );\n}\n\n@Directive({\n selector: '[snyTimelineMiddle]',\n standalone: true,\n host: { '[class]': 'computedClass()', 'aria-hidden': 'true' },\n})\nexport class SnyTimelineMiddleDirective {\n readonly variant = input<TimelineMiddleVariant>('default');\n readonly class = input<string>('');\n protected readonly computedClass = computed(() => {\n const v = this.variant();\n const variantClass =\n v === 'primary' ? 'bg-primary' :\n v === 'success' ? 'bg-green-600 dark:bg-green-500' :\n v === 'error' ? 'bg-destructive' :\n 'bg-border';\n return cn('flex flex-col items-center', variantClass, this.class());\n });\n}\n\n@Directive({\n selector: '[snyTimelineEnd]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTimelineEndDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex-1 pb-8', this.class())\n );\n}\n\n@Directive({\n selector: '[snyTimeline]',\n standalone: true,\n exportAs: 'snyTimeline',\n providers: [{ provide: SNY_TIMELINE, useExisting: SnyTimelineDirective }],\n host: {\n 'role': 'list',\n 'aria-label': 'Timeline',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyTimelineDirective {\n readonly orientation = input<TimelineOrientation>('vertical');\n readonly class = input<string>('');\n\n readonly items = contentChildren(SnyTimelineItemDirective);\n\n protected readonly computedClass = computed(() => {\n const o = this.orientation();\n return cn(\n 'relative',\n o === 'vertical' ? 'flex flex-col' : 'flex flex-row',\n this.class()\n );\n });\n}\n","import { cva } from 'class-variance-authority';\n\nexport const kbdVariants = cva(\n 'pointer-events-none inline-flex select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono font-medium text-muted-foreground',\n {\n variants: {\n size: {\n sm: 'h-5 text-[10px]',\n md: 'h-6 text-xs',\n lg: 'h-7 text-sm',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport type KbdSize = 'sm' | 'md' | 'lg';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { kbdVariants, type KbdSize } from './kbd.variants';\n\n@Directive({\n selector: 'kbd[snyKbd]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n },\n})\nexport class SnyKbdDirective {\n readonly size = input<KbdSize>('md');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(kbdVariants({ size: this.size() }), this.class())\n );\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport type ListVariant = 'default' | 'bordered' | 'hover';\n\n@Directive({\n selector: '[snyList]',\n standalone: true,\n host: {\n 'role': 'list',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyListDirective {\n readonly variant = input<ListVariant>('default');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() => {\n const v = this.variant();\n const variantClass =\n v === 'bordered' ? 'divide-y divide-border border rounded-md' :\n v === 'hover' ? '[&>[snyListItem]]:hover:bg-accent' :\n '';\n return cn('flex flex-col', variantClass, this.class());\n });\n}\n\n@Directive({\n selector: '[snyListItem]',\n standalone: true,\n host: {\n 'role': 'listitem',\n '[class]': 'computedClass()',\n '[attr.aria-disabled]': 'disabled() || null',\n },\n})\nexport class SnyListItemDirective {\n readonly active = input(false);\n readonly disabled = input(false);\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(\n 'flex items-center gap-3 px-3 py-2 transition-colors',\n this.active() && 'bg-accent text-accent-foreground',\n this.disabled() && 'opacity-50 pointer-events-none',\n this.class()\n )\n );\n}\n\n@Directive({\n selector: '[snyListItemIcon]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyListItemIconDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex-shrink-0 text-muted-foreground', this.class())\n );\n}\n\n@Directive({\n selector: '[snyListItemContent]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyListItemContentDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex-1 min-w-0', this.class())\n );\n}\n\n@Directive({\n selector: '[snyListItemAction]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyListItemActionDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex-shrink-0', this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const statusVariants = cva('inline-block rounded-full', {\n variants: {\n variant: {\n default: 'bg-primary',\n success: 'bg-green-500',\n warning: 'bg-yellow-500',\n error: 'bg-destructive',\n info: 'bg-blue-500',\n neutral: 'bg-muted-foreground',\n },\n size: {\n xs: 'h-1.5 w-1.5',\n sm: 'h-2 w-2',\n md: 'h-2.5 w-2.5',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n});\n\nexport type StatusVariant = 'default' | 'success' | 'warning' | 'error' | 'info' | 'neutral';\nexport type StatusSize = 'xs' | 'sm' | 'md';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { statusVariants, type StatusVariant, type StatusSize } from './status.variants';\n\nconst variantLabels: Record<StatusVariant, string> = {\n default: 'Active',\n success: 'Online',\n warning: 'Away',\n error: 'Error',\n info: 'Info',\n neutral: 'Offline',\n};\n\n@Directive({\n selector: '[snyStatus]',\n standalone: true,\n host: {\n 'role': 'status',\n '[attr.aria-label]': 'ariaLabel()',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyStatusDirective {\n readonly variant = input<StatusVariant>('default');\n readonly size = input<StatusSize>('md');\n readonly pulse = input(false);\n readonly class = input<string>('');\n\n protected readonly ariaLabel = computed(() => variantLabels[this.variant()]);\n\n protected readonly computedClass = computed(() =>\n cn(\n statusVariants({ variant: this.variant(), size: this.size() }),\n this.pulse() && 'animate-pulse',\n this.class()\n )\n );\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport type IndicatorPosition = 'top-start' | 'top-center' | 'top-end' | 'middle-start' | 'middle-end' | 'bottom-start' | 'bottom-center' | 'bottom-end';\nexport type IndicatorVariant = 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'error';\n\nconst positionMap: Record<IndicatorPosition, string> = {\n 'top-start': 'top-0 left-0 -translate-x-1/2 -translate-y-1/2',\n 'top-center': 'top-0 left-1/2 -translate-x-1/2 -translate-y-1/2',\n 'top-end': 'top-0 right-0 translate-x-1/2 -translate-y-1/2',\n 'middle-start': 'top-1/2 left-0 -translate-x-1/2 -translate-y-1/2',\n 'middle-end': 'top-1/2 right-0 translate-x-1/2 -translate-y-1/2',\n 'bottom-start': 'bottom-0 left-0 -translate-x-1/2 translate-y-1/2',\n 'bottom-center': 'bottom-0 left-1/2 -translate-x-1/2 translate-y-1/2',\n 'bottom-end': 'bottom-0 right-0 translate-x-1/2 translate-y-1/2',\n};\n\nconst variantMap: Record<IndicatorVariant, string> = {\n default: 'bg-primary text-primary-foreground',\n primary: 'bg-primary text-primary-foreground',\n secondary: 'bg-secondary text-secondary-foreground',\n success: 'bg-green-600 text-white dark:bg-green-500',\n warning: 'bg-yellow-500 text-white dark:bg-yellow-400 dark:text-black',\n error: 'bg-destructive text-destructive-foreground',\n};\n\n@Directive({\n selector: '[snyIndicator]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyIndicatorDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('relative inline-flex', this.class())\n );\n}\n\n@Directive({\n selector: '[snyIndicatorBadge]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[attr.aria-label]': 'ariaLabel() || null',\n },\n})\nexport class SnyIndicatorBadgeDirective {\n readonly position = input<IndicatorPosition>('top-end');\n readonly variant = input<IndicatorVariant>('default');\n readonly ariaLabel = input<string>('');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(\n 'absolute z-10 inline-flex items-center justify-center rounded-full text-xs font-bold min-w-[1.25rem] h-5 px-1',\n positionMap[this.position()],\n variantMap[this.variant()],\n this.class()\n )\n );\n}\n","import { Directive, InjectionToken, computed, inject, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport type ChatBubbleAlign = 'start' | 'end';\nexport type ChatBubbleContentVariant = 'default' | 'primary' | 'secondary' | 'accent';\n\nexport const SNY_CHAT_BUBBLE = new InjectionToken<SnyChatBubbleDirective>('SnyChatBubble');\n\n@Directive({\n selector: '[snyChatBubble]',\n standalone: true,\n providers: [{ provide: SNY_CHAT_BUBBLE, useExisting: SnyChatBubbleDirective }],\n host: {\n 'role': 'article',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyChatBubbleDirective {\n readonly align = input<ChatBubbleAlign>('start');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(\n 'flex gap-3 mb-4',\n this.align() === 'end' && 'flex-row-reverse',\n this.class()\n )\n );\n}\n\n@Directive({\n selector: '[snyChatBubbleAvatar]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyChatBubbleAvatarDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex-shrink-0 w-10 h-10 rounded-full overflow-hidden', this.class())\n );\n}\n\n@Directive({\n selector: '[snyChatBubbleHeader]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyChatBubbleHeaderDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-xs text-muted-foreground mb-1', this.class())\n );\n}\n\n@Directive({\n selector: '[snyChatBubbleContent]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyChatBubbleContentDirective {\n readonly variant = input<ChatBubbleContentVariant>('default');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() => {\n const v = this.variant();\n const variantClass =\n v === 'primary' ? 'bg-primary text-primary-foreground' :\n v === 'secondary' ? 'bg-blue-100 text-blue-900 dark:bg-blue-900 dark:text-blue-100' :\n v === 'accent' ? 'bg-violet-100 text-violet-900 dark:bg-violet-900 dark:text-violet-100' :\n 'bg-muted';\n return cn('rounded-lg px-3 py-2 text-sm max-w-[80%]', variantClass, this.class());\n });\n}\n\n@Directive({\n selector: '[snyChatBubbleFooter]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyChatBubbleFooterDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-xs text-muted-foreground mt-1', this.class())\n );\n}\n\n@Directive({\n selector: '[snyChatBubbleBody]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyChatBubbleBodyDirective {\n private readonly chatBubble = inject(SNY_CHAT_BUBBLE);\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn(\n 'flex flex-col',\n this.chatBubble.align() === 'end' && 'items-end',\n this.class()\n )\n );\n}\n","import {\n Directive, InjectionToken, computed, contentChildren, inject, input, signal, effect, OnDestroy,\n} from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport const SNY_CAROUSEL = new InjectionToken<SnyCarouselDirective>('SnyCarousel');\n\n@Directive({\n selector: '[snyCarouselItem]',\n standalone: true,\n host: {\n 'role': 'group',\n '[attr.aria-roledescription]': '\"slide\"',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyCarouselItemDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('min-w-0 shrink-0 grow-0 basis-full pl-4', this.class())\n );\n}\n\n@Directive({\n selector: '[snyCarouselContent]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[style.transform]': 'transformStyle()',\n },\n})\nexport class SnyCarouselContentDirective {\n private readonly carousel = inject(SNY_CAROUSEL);\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('flex -ml-4 transition-transform duration-300 ease-in-out', this.class())\n );\n\n protected readonly transformStyle = computed(() =>\n `translateX(-${this.carousel.currentIndex() * 100}%)`\n );\n}\n\n@Directive({\n selector: '[snyCarousel]',\n standalone: true,\n exportAs: 'snyCarousel',\n providers: [{ provide: SNY_CAROUSEL, useExisting: SnyCarouselDirective }],\n host: {\n 'role': 'region',\n '[attr.aria-roledescription]': '\"carousel\"',\n 'aria-label': 'Carousel',\n 'tabindex': '0',\n '[class]': 'computedClass()',\n '(keydown)': 'onKeydown($event)',\n },\n})\nexport class SnyCarouselDirective implements OnDestroy {\n readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n readonly loop = input(false);\n readonly autoplay = input(0);\n readonly class = input<string>('');\n\n readonly items = contentChildren(SnyCarouselItemDirective, { descendants: true });\n readonly currentIndex = signal(0);\n readonly totalItems = computed(() => this.items().length);\n\n private autoplayInterval: ReturnType<typeof setInterval> | null = null;\n\n constructor() {\n effect(() => {\n const ms = this.autoplay();\n this.clearAutoplay();\n if (ms > 0) {\n this.autoplayInterval = setInterval(() => this.next(), ms);\n }\n });\n }\n\n next(): void {\n const total = this.totalItems();\n if (total === 0) return;\n this.currentIndex.update((i) => {\n if (i >= total - 1) return this.loop() ? 0 : i;\n return i + 1;\n });\n }\n\n prev(): void {\n const total = this.totalItems();\n if (total === 0) return;\n this.currentIndex.update((i) => {\n if (i <= 0) return this.loop() ? total - 1 : i;\n return i - 1;\n });\n }\n\n goTo(index: number): void {\n this.currentIndex.set(Math.max(0, Math.min(index, this.totalItems() - 1)));\n }\n\n onKeydown(event: KeyboardEvent): void {\n switch (event.key) {\n case 'ArrowLeft':\n event.preventDefault();\n this.prev();\n break;\n case 'ArrowRight':\n event.preventDefault();\n this.next();\n break;\n }\n }\n\n ngOnDestroy(): void {\n this.clearAutoplay();\n }\n\n private clearAutoplay(): void {\n if (this.autoplayInterval) {\n clearInterval(this.autoplayInterval);\n this.autoplayInterval = null;\n }\n }\n\n protected readonly computedClass = computed(() =>\n cn('relative overflow-hidden', this.class())\n );\n}\n\n@Directive({\n selector: '[snyCarouselPrev]',\n standalone: true,\n host: {\n '(click)': 'carousel.prev()',\n '[attr.aria-label]': '\"Previous slide\"',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyCarouselPrevDirective {\n readonly carousel = inject(SNY_CAROUSEL);\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('absolute left-2 top-1/2 -translate-y-1/2 z-10', this.class())\n );\n}\n\n@Directive({\n selector: '[snyCarouselNext]',\n standalone: true,\n host: {\n '(click)': 'carousel.next()',\n '[attr.aria-label]': '\"Next slide\"',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyCarouselNextDirective {\n readonly carousel = inject(SNY_CAROUSEL);\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('absolute right-2 top-1/2 -translate-y-1/2 z-10', this.class())\n );\n}\n","import { Directive, ElementRef, computed, inject, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport type DockPosition = 'bottom' | 'top';\n\n@Directive({\n selector: '[snyDock]',\n standalone: true,\n host: {\n 'role': 'toolbar',\n 'aria-label': 'Dock',\n '[class]': 'computedClass()',\n '(keydown)': 'onKeydown($event)',\n },\n})\nexport class SnyDockDirective {\n readonly position = input<DockPosition>('bottom');\n readonly class = input<string>('');\n\n private readonly elRef = inject(ElementRef);\n\n protected readonly computedClass = computed(() =>\n cn(\n 'fixed left-1/2 -translate-x-1/2 z-50 flex items-center gap-1 rounded-full border bg-background/80 backdrop-blur-sm px-3 py-2 shadow-lg',\n this.position() === 'bottom' ? 'bottom-4' : 'top-4',\n this.class()\n )\n );\n\n onKeydown(event: KeyboardEvent): void {\n const items = Array.from(\n (this.elRef.nativeElement as HTMLElement).querySelectorAll<HTMLElement>('[snyDockItem]')\n );\n if (items.length === 0) return;\n\n const currentIndex = items.indexOf(document.activeElement as HTMLElement);\n if (currentIndex === -1) return;\n\n let nextIndex: number | null = null;\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n nextIndex = (currentIndex + 1) % items.length;\n break;\n case 'ArrowLeft':\n event.preventDefault();\n nextIndex = (currentIndex - 1 + items.length) % items.length;\n break;\n case 'Home':\n event.preventDefault();\n nextIndex = 0;\n break;\n case 'End':\n event.preventDefault();\n nextIndex = items.length - 1;\n break;\n }\n if (nextIndex !== null) {\n items[nextIndex].focus();\n }\n }\n}\n\n@Directive({\n selector: '[snyDockItem]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[attr.tabindex]': 'active() ? 0 : -1',\n },\n})\nexport class SnyDockItemDirective {\n readonly active = input(false);\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(\n 'inline-flex items-center justify-center rounded-full p-2 transition-all hover:scale-110',\n this.active() && 'bg-primary text-primary-foreground',\n this.class()\n )\n );\n}\n","import { Directive, InjectionToken, computed, inject, input, signal } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport const SNY_FAB = new InjectionToken<SnyFabDirective>('SnyFab');\nexport type FabPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';\nexport type FabDirection = 'up' | 'down' | 'left' | 'right';\n\nconst positionMap: Record<FabPosition, string> = {\n 'bottom-right': 'fixed bottom-6 right-6',\n 'bottom-left': 'fixed bottom-6 left-6',\n 'top-right': 'fixed top-6 right-6',\n 'top-left': 'fixed top-6 left-6',\n};\n\n@Directive({\n selector: '[snyFab]',\n standalone: true,\n exportAs: 'snyFab',\n providers: [{ provide: SNY_FAB, useExisting: SnyFabDirective }],\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyFabDirective {\n readonly position = input<FabPosition>('bottom-right');\n readonly direction = input<FabDirection>('up');\n readonly class = input<string>('');\n readonly isOpen = signal(false);\n\n toggle(): void { this.isOpen.update((v) => !v); }\n open(): void { this.isOpen.set(true); }\n close(): void { this.isOpen.set(false); }\n\n protected readonly computedClass = computed(() =>\n cn('z-50 flex flex-col items-center gap-2', positionMap[this.position()], this.class())\n );\n}\n\n@Directive({\n selector: '[snyFabTrigger]',\n standalone: true,\n host: {\n '(click)': 'fab.toggle()',\n '[attr.aria-expanded]': 'fab.isOpen()',\n '[attr.aria-haspopup]': '\"menu\"',\n 'aria-label': 'Quick actions',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyFabTriggerDirective {\n readonly fab = inject(SNY_FAB);\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn(\n 'inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground shadow-lg h-14 w-14 hover:bg-primary/90 transition-transform',\n this.fab.isOpen() && 'rotate-45',\n this.class()\n )\n );\n}\n\n@Directive({\n selector: '[snyFabAction]',\n standalone: true,\n host: {\n 'role': 'menuitem',\n '[attr.aria-label]': 'ariaLabel() || null',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyFabActionDirective {\n readonly fab = inject(SNY_FAB);\n readonly ariaLabel = input<string>('');\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn(\n 'inline-flex items-center justify-center rounded-full bg-secondary text-secondary-foreground shadow-md h-10 w-10 transition-all',\n this.fab.isOpen() ? 'scale-100 opacity-100' : 'scale-0 opacity-0',\n this.class()\n )\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport type RadialProgressSize = 'sm' | 'md' | 'lg';\nexport type RadialProgressVariant = 'default' | 'success' | 'warning' | 'error' | 'info';\n\nconst sizeMap: Record<RadialProgressSize, number> = { sm: 48, md: 72, lg: 96 };\n\nconst variantColorMap: Record<RadialProgressVariant, string> = {\n default: 'stroke-primary',\n success: 'stroke-green-600 dark:stroke-green-500',\n warning: 'stroke-yellow-500',\n error: 'stroke-destructive',\n info: 'stroke-blue-600 dark:stroke-blue-500',\n};\n\n@Component({\n selector: 'sny-radial-progress',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'role': 'progressbar',\n '[attr.aria-valuenow]': 'value()',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': '100',\n '[class]': '\"inline-flex items-center justify-center\"',\n },\n template: `\n <div class=\"relative\" [style.width.px]=\"svgSize()\" [style.height.px]=\"svgSize()\">\n <svg [attr.width]=\"svgSize()\" [attr.height]=\"svgSize()\" class=\"-rotate-90\">\n <circle\n [attr.cx]=\"svgSize() / 2\"\n [attr.cy]=\"svgSize() / 2\"\n [attr.r]=\"radius()\"\n fill=\"none\"\n class=\"stroke-muted\"\n [attr.stroke-width]=\"thickness()\"\n />\n <circle\n [attr.cx]=\"svgSize() / 2\"\n [attr.cy]=\"svgSize() / 2\"\n [attr.r]=\"radius()\"\n fill=\"none\"\n [class]=\"strokeClass()\"\n [attr.stroke-width]=\"thickness()\"\n [attr.stroke-dasharray]=\"circumference()\"\n [attr.stroke-dashoffset]=\"offset()\"\n stroke-linecap=\"round\"\n class=\"transition-all duration-300\"\n />\n </svg>\n <div class=\"absolute inset-0 flex items-center justify-center\">\n <ng-content />\n </div>\n </div>\n `,\n})\nexport class SnyRadialProgressComponent {\n readonly value = input(0);\n readonly size = input<RadialProgressSize>('md');\n readonly thickness = input(4);\n readonly variant = input<RadialProgressVariant>('default');\n readonly class = input<string>('');\n\n readonly svgSize = computed(() => sizeMap[this.size()]);\n readonly radius = computed(() => (this.svgSize() - this.thickness()) / 2);\n readonly circumference = computed(() => 2 * Math.PI * this.radius());\n readonly offset = computed(() => this.circumference() - (this.value() / 100) * this.circumference());\n\n readonly strokeClass = computed(() => variantColorMap[this.variant()]);\n}\n","import { ChangeDetectionStrategy, Component, computed, input, model, signal } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\n@Component({\n selector: 'sny-diff',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': '\"relative overflow-hidden select-none w-full\"',\n '(pointerdown)': 'onPointerDown($event)',\n '(pointermove)': 'onPointerMove($event)',\n '(pointerup)': 'onPointerUp()',\n '(keydown)': 'onKeydown($event)',\n },\n template: `\n <div class=\"relative w-full\" [style.aspect-ratio]=\"'16/9'\">\n <div class=\"absolute inset-0\">\n <ng-content select=\"[snyDiffAfter]\" />\n </div>\n <div class=\"absolute inset-0 overflow-hidden\" [style.width.%]=\"value()\">\n <ng-content select=\"[snyDiffBefore]\" />\n </div>\n <div\n class=\"absolute top-0 bottom-0 w-1 bg-foreground cursor-col-resize z-10\"\n [style.left.%]=\"value()\"\n role=\"slider\"\n tabindex=\"0\"\n [attr.aria-valuenow]=\"value()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-label=\"Comparison slider\"\n >\n <div class=\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-8 h-8 rounded-full bg-foreground/80 flex items-center justify-center text-background text-xs\">\n ⇔\n </div>\n </div>\n </div>\n `,\n})\nexport class SnyDiffComponent {\n readonly value = model(50);\n readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n readonly class = input<string>('');\n\n readonly isDragging = signal(false);\n\n onPointerDown(event: PointerEvent): void {\n this.isDragging.set(true);\n (event.target as HTMLElement).setPointerCapture?.(event.pointerId);\n this.updateValue(event);\n }\n\n onPointerMove(event: PointerEvent): void {\n if (!this.isDragging()) return;\n this.updateValue(event);\n }\n\n onPointerUp(): void {\n this.isDragging.set(false);\n }\n\n onKeydown(event: KeyboardEvent): void {\n switch (event.key) {\n case 'ArrowLeft':\n event.preventDefault();\n this.value.update((v) => Math.max(0, v - 5));\n break;\n case 'ArrowRight':\n event.preventDefault();\n this.value.update((v) => Math.min(100, v + 5));\n break;\n }\n }\n\n private updateValue(event: PointerEvent): void {\n const target = (event.currentTarget as HTMLElement).closest('sny-diff');\n if (!target) return;\n const rect = target.getBoundingClientRect();\n const x = event.clientX - rect.left;\n const pct = Math.max(0, Math.min(100, (x / rect.width) * 100));\n this.value.set(Math.round(pct));\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const linkVariants = cva(\n 'inline-flex items-center gap-1 underline-offset-4 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 rounded',\n {\n variants: {\n variant: {\n default: 'text-foreground underline hover:text-foreground/80',\n primary: 'text-primary underline hover:text-primary/80',\n secondary: 'text-muted-foreground underline hover:text-foreground',\n hover: 'text-foreground no-underline hover:underline',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type LinkVariant = 'default' | 'primary' | 'secondary' | 'hover';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { linkVariants, type LinkVariant } from './link.variants';\n\n@Directive({\n selector: 'a[snyLink]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n },\n})\nexport class SnyLinkDirective {\n readonly variant = input<LinkVariant>('default');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(linkVariants({ variant: this.variant() }), this.class())\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, effect, forwardRef, input, model, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cn } from '../core/utils/cn';\n\ninterface CalendarDay {\n date: Date;\n day: number;\n isCurrentMonth: boolean;\n isToday: boolean;\n isSelected: boolean;\n isDisabled: boolean;\n}\n\n@Component({\n selector: 'sny-calendar',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': '\"inline-block p-3 rounded-md border bg-background\"',\n '(keydown)': 'onKeydown($event)',\n },\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SnyCalendarComponent), multi: true },\n ],\n template: `\n <div class=\"flex items-center justify-between mb-4\">\n <button\n class=\"inline-flex items-center justify-center rounded-md text-sm h-7 w-7 hover:bg-accent\"\n (click)=\"prevMonth()\"\n aria-label=\"Previous month\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"m15 18-6-6 6-6\"/></svg>\n </button>\n <span class=\"text-sm font-medium\">{{ monthYearLabel() }}</span>\n <button\n class=\"inline-flex items-center justify-center rounded-md text-sm h-7 w-7 hover:bg-accent\"\n (click)=\"nextMonth()\"\n aria-label=\"Next month\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"m9 18 6-6-6-6\"/></svg>\n </button>\n </div>\n\n <div role=\"grid\" aria-label=\"Calendar\" class=\"grid grid-cols-7 gap-0\">\n @for (dayName of weekDays; track dayName) {\n <div class=\"text-center text-xs text-muted-foreground font-medium py-1\">{{ dayName }}</div>\n }\n @for (day of days(); track day.date.getTime()) {\n <button\n [class]=\"dayClass(day)\"\n [disabled]=\"day.isDisabled\"\n [attr.aria-selected]=\"day.isSelected || null\"\n [attr.aria-current]=\"day.isToday ? 'date' : null\"\n [attr.aria-disabled]=\"day.isDisabled || null\"\n (click)=\"selectDate(day.date)\"\n >\n {{ day.day }}\n </button>\n }\n </div>\n `,\n})\nexport class SnyCalendarComponent implements ControlValueAccessor {\n readonly value = model<Date | null>(null);\n readonly min = input<Date | undefined>(undefined);\n readonly max = input<Date | undefined>(undefined);\n readonly locale = input('en-US');\n readonly class = input<string>('');\n\n private readonly _disabledByCva = signal(false);\n\n readonly viewDate = signal(new Date());\n readonly weekDays = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n\n private _onChange: (value: Date | null) => void = () => {};\n protected onTouched: () => void = () => {};\n private _writing = false;\n\n constructor() {\n effect(() => {\n const val = this.value();\n if (this._writing) {\n this._writing = false;\n return;\n }\n this._onChange(val);\n });\n }\n\n writeValue(val: Date | null): void {\n this._writing = true;\n this.value.set(val ?? null);\n if (val) {\n this.viewDate.set(new Date(val.getFullYear(), val.getMonth(), 1));\n }\n }\n\n registerOnChange(fn: (value: Date | null) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByCva.set(isDisabled);\n }\n\n readonly monthYearLabel = computed(() => {\n const d = this.viewDate();\n return d.toLocaleDateString(this.locale(), { month: 'long', year: 'numeric' });\n });\n\n readonly days = computed<CalendarDay[]>(() => {\n const view = this.viewDate();\n const year = view.getFullYear();\n const month = view.getMonth();\n const today = new Date();\n const selected = this.value();\n const minDate = this.min();\n const maxDate = this.max();\n\n const firstDay = new Date(year, month, 1);\n const startDay = firstDay.getDay();\n const daysInMonth = new Date(year, month + 1, 0).getDate();\n const daysInPrevMonth = new Date(year, month, 0).getDate();\n\n const days: CalendarDay[] = [];\n\n // Previous month\n for (let i = startDay - 1; i >= 0; i--) {\n const date = new Date(year, month - 1, daysInPrevMonth - i);\n days.push(this.createDay(date, false, today, selected, minDate, maxDate));\n }\n\n // Current month\n for (let d = 1; d <= daysInMonth; d++) {\n const date = new Date(year, month, d);\n days.push(this.createDay(date, true, today, selected, minDate, maxDate));\n }\n\n // Next month fill\n const remaining = 42 - days.length;\n for (let d = 1; d <= remaining; d++) {\n const date = new Date(year, month + 1, d);\n days.push(this.createDay(date, false, today, selected, minDate, maxDate));\n }\n\n return days;\n });\n\n prevMonth(): void {\n this.viewDate.update((d) => new Date(d.getFullYear(), d.getMonth() - 1, 1));\n }\n\n nextMonth(): void {\n this.viewDate.update((d) => new Date(d.getFullYear(), d.getMonth() + 1, 1));\n }\n\n selectDate(date: Date): void {\n this.value.set(date);\n this.onTouched();\n }\n\n onKeydown(event: KeyboardEvent): void {\n // Simplified keyboard navigation\n switch (event.key) {\n case 'ArrowLeft':\n event.preventDefault();\n this.navigateDays(-1);\n break;\n case 'ArrowRight':\n event.preventDefault();\n this.navigateDays(1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.navigateDays(-7);\n break;\n case 'ArrowDown':\n event.preventDefault();\n this.navigateDays(7);\n break;\n }\n }\n\n dayClass(day: CalendarDay): string {\n return cn(\n 'inline-flex items-center justify-center rounded-md text-sm h-8 w-8 transition-colors',\n day.isCurrentMonth ? 'text-foreground' : 'text-muted-foreground/50',\n day.isToday && !day.isSelected && 'bg-accent font-bold',\n day.isSelected && 'bg-primary text-primary-foreground',\n day.isDisabled && 'opacity-50 cursor-not-allowed',\n !day.isDisabled && !day.isSelected && 'hover:bg-accent cursor-pointer'\n );\n }\n\n private navigateDays(offset: number): void {\n const current = this.value() ?? new Date();\n const next = new Date(current);\n next.setDate(next.getDate() + offset);\n this.value.set(next);\n this.viewDate.set(new Date(next.getFullYear(), next.getMonth(), 1));\n }\n\n private createDay(\n date: Date,\n isCurrentMonth: boolean,\n today: Date,\n selected: Date | null,\n minDate: Date | undefined,\n maxDate: Date | undefined\n ): CalendarDay {\n const isToday = this.isSameDay(date, today);\n const isSelected = selected ? this.isSameDay(date, selected) : false;\n const isDisabled =\n this._disabledByCva() ||\n (minDate ? date < minDate : false) || (maxDate ? date > maxDate : false);\n\n return { date, day: date.getDate(), isCurrentMonth, isToday, isSelected, isDisabled };\n }\n\n private isSameDay(a: Date, b: Date): boolean {\n return (\n a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate()\n );\n }\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport type { AbstractControl } from '@angular/forms';\n\nexport type ValidatorHintVariant = 'error' | 'success' | 'warning' | 'info';\n\n@Directive({\n selector: '[snyValidator]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyValidatorDirective {\n readonly control = input<AbstractControl | null>(null);\n readonly state = input<'default' | 'error' | 'success' | 'warning'>('default');\n readonly class = input<string>('');\n\n readonly errors = computed(() => this.control()?.errors ?? null);\n readonly showErrors = computed(() => {\n const c = this.control();\n return c ? c.touched && c.invalid : false;\n });\n\n protected readonly computedClass = computed(() =>\n cn('flex flex-col gap-1 mt-1', this.class())\n );\n}\n\n@Directive({\n selector: '[snyValidatorHint]',\n standalone: true,\n host: {\n 'role': 'alert',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyValidatorHintDirective {\n readonly when = input<string>('');\n readonly type = input<ValidatorHintVariant>('error');\n /** @deprecated Use `type` instead */\n readonly variant = input<ValidatorHintVariant | undefined>(undefined);\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() => {\n const v = this.variant() ?? this.type();\n const variantClass =\n v === 'success' ? 'text-green-600 dark:text-green-400' :\n v === 'warning' ? 'text-amber-600 dark:text-amber-400' :\n v === 'info' ? 'text-blue-600 dark:text-blue-400' :\n 'text-destructive';\n return cn('text-xs', variantClass, this.class());\n });\n}\n","/*\r\n * Public API Surface of @sonny-ui/core\r\n */\r\n\r\n// Utils\r\nexport { cn } from './lib/core/utils/cn';\r\nexport { cva, type VariantProps } from './lib/core/utils/cva-types';\r\n\r\n// Providers\r\nexport { provideSonnyUI, SNY_CONFIG, type SonnyConfig } from './lib/core/providers/sonny-config';\r\nexport { ThemeService, type Theme } from './lib/core/providers/theme.service';\r\n\r\n// Button\r\nexport * from './lib/button';\r\n\r\n// Card\r\nexport * from './lib/card';\r\n\r\n// Input\r\nexport * from './lib/input';\r\n\r\n// Toast\r\nexport * from './lib/toast';\r\n\r\n// Modal/Dialog\r\nexport * from './lib/modal';\r\n\r\n// Accordion\r\nexport * from './lib/accordion';\r\n\r\n// Avatar\r\nexport * from './lib/avatar';\r\n\r\n// Badge\r\nexport * from './lib/badge';\r\n\r\n// Breadcrumb\r\nexport * from './lib/breadcrumb';\r\n\r\n// Button Group\r\nexport * from './lib/button-group';\r\n\r\n// Checkbox\r\nexport * from './lib/checkbox';\r\n\r\n// Combobox\r\nexport * from './lib/combobox';\r\n\r\n// Skeleton\r\nexport * from './lib/skeleton';\r\n\r\n// Radio\r\nexport * from './lib/radio';\r\n\r\n// Switch\r\nexport * from './lib/switch';\r\n\r\n// Toggle\r\nexport * from './lib/toggle';\r\n\r\n// Slider\r\nexport * from './lib/slider';\r\n\r\n// Loader\r\nexport * from './lib/loader';\r\n\r\n// Tabs\r\nexport * from './lib/tabs';\r\n\r\n// Select\r\nexport * from './lib/select';\r\n\r\n// Table\r\nexport * from './lib/table';\r\n\r\n// Sheet\r\nexport * from './lib/sheet';\r\n\r\n// Alert\r\nexport * from './lib/alert';\r\n\r\n// Textarea\r\nexport * from './lib/textarea';\r\n\r\n// Progress\r\nexport * from './lib/progress';\r\n\r\n// Tooltip\r\nexport * from './lib/tooltip';\r\n\r\n// Dropdown/Menu\r\nexport * from './lib/dropdown';\r\n\r\n// File Input\r\nexport * from './lib/file-input';\r\n\r\n// Fieldset\r\nexport * from './lib/fieldset';\r\n\r\n// Rating\r\nexport * from './lib/rating';\r\n\r\n// Navbar\r\nexport * from './lib/navbar';\r\n\r\n// Drawer\r\nexport * from './lib/drawer';\r\n\r\n// Pagination\r\nexport * from './lib/pagination';\r\n\r\n// Divider\r\nexport * from './lib/divider';\r\n\r\n// Steps\r\nexport * from './lib/steps';\r\n\r\n// Stat\r\nexport * from './lib/stat';\r\n\r\n// Timeline\r\nexport * from './lib/timeline';\r\n\r\n// Kbd\r\nexport * from './lib/kbd';\r\n\r\n// List\r\nexport * from './lib/list';\r\n\r\n// Status\r\nexport * from './lib/status';\r\n\r\n// Indicator\r\nexport * from './lib/indicator';\r\n\r\n// Chat Bubble\r\nexport * from './lib/chat-bubble';\r\n\r\n// Carousel\r\nexport * from './lib/carousel';\r\n\r\n// Dock\r\nexport * from './lib/dock';\r\n\r\n// FAB\r\nexport * from './lib/fab';\r\n\r\n// Radial Progress\r\nexport * from './lib/radial-progress';\r\n\r\n// Diff\r\nexport * from './lib/diff';\r\n\r\n// Link\r\nexport * from './lib/link';\r\n\r\n// Calendar\r\nexport * from './lib/calendar';\r\n\r\n// Validator\r\nexport * from './lib/validator';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["positionMap"],"mappings":"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"}
1
+ {"version":3,"file":"sonny-ui-core.mjs","sources":["../../../projects/core/src/lib/core/utils/cn.ts","../../../projects/core/src/lib/core/providers/theme.service.ts","../../../projects/core/src/lib/core/providers/sonny-config.ts","../../../projects/core/src/lib/button/button.variants.ts","../../../projects/core/src/lib/button/button.directive.ts","../../../projects/core/src/lib/card/card.variants.ts","../../../projects/core/src/lib/card/card.directives.ts","../../../projects/core/src/lib/input/input.variants.ts","../../../projects/core/src/lib/input/input.directive.ts","../../../projects/core/src/lib/input/label.directive.ts","../../../projects/core/src/lib/toast/toast.service.ts","../../../projects/core/src/lib/toast/toast.variants.ts","../../../projects/core/src/lib/toast/toaster.component.ts","../../../projects/core/src/lib/modal/dialog-ref.ts","../../../projects/core/src/lib/modal/dialog.types.ts","../../../projects/core/src/lib/modal/dialog.service.ts","../../../projects/core/src/lib/modal/dialog.directives.ts","../../../projects/core/src/lib/accordion/accordion.directives.ts","../../../projects/core/src/lib/avatar/avatar.variants.ts","../../../projects/core/src/lib/avatar/avatar.component.ts","../../../projects/core/src/lib/badge/badge.variants.ts","../../../projects/core/src/lib/badge/badge.directive.ts","../../../projects/core/src/lib/breadcrumb/breadcrumb.directives.ts","../../../projects/core/src/lib/button-group/button-group.variants.ts","../../../projects/core/src/lib/button-group/button-group.directive.ts","../../../projects/core/src/lib/checkbox/checkbox.variants.ts","../../../projects/core/src/lib/checkbox/checkbox.directive.ts","../../../projects/core/src/lib/combobox/combobox.variants.ts","../../../projects/core/src/lib/combobox/combobox.component.ts","../../../projects/core/src/lib/skeleton/skeleton.variants.ts","../../../projects/core/src/lib/skeleton/skeleton.directive.ts","../../../projects/core/src/lib/radio/radio.variants.ts","../../../projects/core/src/lib/radio/radio.directive.ts","../../../projects/core/src/lib/switch/switch.variants.ts","../../../projects/core/src/lib/switch/switch.component.ts","../../../projects/core/src/lib/toggle/toggle.variants.ts","../../../projects/core/src/lib/toggle/toggle.directive.ts","../../../projects/core/src/lib/slider/slider.variants.ts","../../../projects/core/src/lib/slider/slider.component.ts","../../../projects/core/src/lib/loader/loader.variants.ts","../../../projects/core/src/lib/loader/loader.component.ts","../../../projects/core/src/lib/tabs/tabs.directives.ts","../../../projects/core/src/lib/tabs/tabs.variants.ts","../../../projects/core/src/lib/select/select.variants.ts","../../../projects/core/src/lib/select/select.component.ts","../../../projects/core/src/lib/table/table.variants.ts","../../../projects/core/src/lib/table/table.directives.ts","../../../projects/core/src/lib/sheet/sheet-ref.ts","../../../projects/core/src/lib/sheet/sheet.types.ts","../../../projects/core/src/lib/sheet/sheet.service.ts","../../../projects/core/src/lib/sheet/sheet.directives.ts","../../../projects/core/src/lib/alert/alert.variants.ts","../../../projects/core/src/lib/alert/alert.directives.ts","../../../projects/core/src/lib/textarea/textarea.variants.ts","../../../projects/core/src/lib/textarea/textarea.directive.ts","../../../projects/core/src/lib/progress/progress.variants.ts","../../../projects/core/src/lib/progress/progress.component.ts","../../../projects/core/src/lib/tooltip/tooltip.variants.ts","../../../projects/core/src/lib/tooltip/tooltip.directive.ts","../../../projects/core/src/lib/dropdown/dropdown.variants.ts","../../../projects/core/src/lib/dropdown/dropdown.directives.ts","../../../projects/core/src/lib/file-input/file-input.variants.ts","../../../projects/core/src/lib/file-input/file-input.component.ts","../../../projects/core/src/lib/fieldset/fieldset.variants.ts","../../../projects/core/src/lib/fieldset/fieldset.directives.ts","../../../projects/core/src/lib/rating/rating.variants.ts","../../../projects/core/src/lib/rating/rating.component.ts","../../../projects/core/src/lib/navbar/navbar.directives.ts","../../../projects/core/src/lib/drawer/drawer.directives.ts","../../../projects/core/src/lib/pagination/pagination.variants.ts","../../../projects/core/src/lib/pagination/pagination.component.ts","../../../projects/core/src/lib/divider/divider.variants.ts","../../../projects/core/src/lib/divider/divider.component.ts","../../../projects/core/src/lib/steps/steps.directives.ts","../../../projects/core/src/lib/stat/stat.directives.ts","../../../projects/core/src/lib/timeline/timeline.directives.ts","../../../projects/core/src/lib/kbd/kbd.variants.ts","../../../projects/core/src/lib/kbd/kbd.directive.ts","../../../projects/core/src/lib/list/list.directives.ts","../../../projects/core/src/lib/status/status.variants.ts","../../../projects/core/src/lib/status/status.directive.ts","../../../projects/core/src/lib/indicator/indicator.directives.ts","../../../projects/core/src/lib/chat-bubble/chat-bubble.directives.ts","../../../projects/core/src/lib/carousel/carousel.directives.ts","../../../projects/core/src/lib/dock/dock.directives.ts","../../../projects/core/src/lib/fab/fab.directives.ts","../../../projects/core/src/lib/radial-progress/radial-progress.component.ts","../../../projects/core/src/lib/diff/diff.component.ts","../../../projects/core/src/lib/link/link.variants.ts","../../../projects/core/src/lib/link/link.directive.ts","../../../projects/core/src/lib/calendar/calendar.component.ts","../../../projects/core/src/lib/validator/validator.directives.ts","../../../projects/core/src/public-api.ts","../../../projects/core/src/sonny-ui-core.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]): string {\n return twMerge(clsx(inputs));\n}\n","import { Injectable, signal, computed, inject, PLATFORM_ID } from '@angular/core';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { SNY_CONFIG } from './sonny-config';\n\nexport type Theme = 'light' | 'dark' | 'corporate';\n\nconst STORAGE_KEY = 'sny-theme';\n\n@Injectable({ providedIn: 'root' })\nexport class ThemeService {\n private readonly document = inject(DOCUMENT);\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n private readonly config = inject(SNY_CONFIG);\n\n private readonly _theme = signal<Theme>('light');\n\n readonly theme = this._theme.asReadonly();\n readonly isDark = computed(() => this._theme() === 'dark');\n\n constructor() {\n this.setTheme(this.resolveInitialTheme());\n }\n\n setTheme(theme: Theme): void {\n this._theme.set(theme);\n\n if (!this.isBrowser) return;\n\n localStorage.setItem(STORAGE_KEY, theme);\n\n const root = this.document.documentElement;\n root.classList.remove('dark');\n root.removeAttribute('data-theme');\n\n if (theme === 'dark') {\n root.classList.add('dark');\n root.setAttribute('data-theme', 'dark');\n } else if (theme !== 'light') {\n root.setAttribute('data-theme', theme);\n }\n }\n\n toggleDark(): void {\n this.setTheme(this._theme() === 'dark' ? 'light' : 'dark');\n }\n\n private resolveInitialTheme(): Theme {\n if (this.isBrowser) {\n const stored = localStorage.getItem(STORAGE_KEY) as Theme | null;\n if (stored) return stored;\n }\n\n const defaultTheme = this.config.defaultTheme ?? 'light';\n\n if (defaultTheme === 'system') {\n if (this.isBrowser && window.matchMedia('(prefers-color-scheme: dark)').matches) {\n return 'dark';\n }\n return 'light';\n }\n\n return defaultTheme;\n }\n}\n","import {\n type EnvironmentProviders,\n inject,\n InjectionToken,\n makeEnvironmentProviders,\n provideEnvironmentInitializer,\n} from '@angular/core';\nimport { ThemeService } from './theme.service';\n\nexport interface SonnyConfig {\n prefix?: string;\n defaultTheme?: 'light' | 'dark' | 'corporate' | 'system';\n}\n\nconst DEFAULT_CONFIG: SonnyConfig = { prefix: 'sny', defaultTheme: 'light' };\n\nexport const SNY_CONFIG = new InjectionToken<SonnyConfig>('SNY_CONFIG', {\n providedIn: 'root',\n factory: () => DEFAULT_CONFIG,\n});\n\nexport function provideSonnyUI(config: Partial<SonnyConfig> = {}): EnvironmentProviders {\n return makeEnvironmentProviders([\n { provide: SNY_CONFIG, useValue: { ...DEFAULT_CONFIG, ...config } },\n provideEnvironmentInitializer(() => inject(ThemeService)),\n ]);\n}\n","import { cva } from 'class-variance-authority';\n\nexport const buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-sm text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground hover:bg-primary/90',\n destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive/90',\n outline: 'border border-border bg-background hover:bg-accent hover:text-accent-foreground',\n secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n sm: 'h-9 rounded-sm px-3',\n md: 'h-10 px-4 py-2',\n lg: 'h-11 rounded-sm px-8',\n icon: 'h-10 w-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n }\n);\n\nexport type ButtonVariant = 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link';\nexport type ButtonSize = 'sm' | 'md' | 'lg' | 'icon';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { buttonVariants, type ButtonVariant, type ButtonSize } from './button.variants';\n\n@Directive({\n selector: 'button[snyBtn], a[snyBtn]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[attr.aria-disabled]': 'disabled() || loading() || null',\n '[attr.disabled]': 'disabled() || loading() || null',\n '[attr.tabindex]': '(disabled() || loading()) ? -1 : null',\n },\n})\nexport class SnyButtonDirective {\n readonly variant = input<ButtonVariant>('default');\n readonly size = input<ButtonSize>('md');\n readonly disabled = input(false);\n readonly loading = input(false);\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(\n buttonVariants({ variant: this.variant(), size: this.size() }),\n this.loading() && 'relative cursor-wait',\n this.class()\n )\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const cardVariants = cva(\n 'rounded-sm text-card-foreground',\n {\n variants: {\n variant: {\n default: 'bg-card border border-border',\n outline: 'border-2 border-border bg-transparent',\n elevated: 'bg-card shadow-lg',\n ghost: 'bg-transparent',\n },\n padding: {\n none: '',\n sm: 'p-4',\n md: 'p-6',\n lg: 'p-8',\n },\n },\n defaultVariants: {\n variant: 'default',\n padding: 'none',\n },\n }\n);\n\nexport type CardVariant = 'default' | 'outline' | 'elevated' | 'ghost';\nexport type CardPadding = 'none' | 'sm' | 'md' | 'lg';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { cardVariants, type CardVariant, type CardPadding } from './card.variants';\n\n@Directive({\n selector: '[snyCard]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyCardDirective {\n readonly variant = input<CardVariant>('default');\n readonly padding = input<CardPadding>('none');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(cardVariants({ variant: this.variant(), padding: this.padding() }), this.class())\n );\n}\n\n@Directive({\n selector: '[snyCardHeader]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyCardHeaderDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex flex-col space-y-1.5 p-6', this.class())\n );\n}\n\n@Directive({\n selector: '[snyCardTitle]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyCardTitleDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-2xl font-semibold leading-none tracking-tight', this.class())\n );\n}\n\n@Directive({\n selector: '[snyCardDescription]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyCardDescriptionDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-sm text-muted-foreground', this.class())\n );\n}\n\n@Directive({\n selector: '[snyCardContent]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyCardContentDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('p-6 pt-0', this.class())\n );\n}\n\n@Directive({\n selector: '[snyCardFooter]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyCardFooterDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex items-center p-6 pt-0', this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const inputVariants = cva(\n 'flex w-full rounded-sm border bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n {\n variants: {\n variant: {\n default: 'border-input',\n error: 'border-destructive focus-visible:ring-destructive',\n success: 'border-green-500 focus-visible:ring-green-500',\n },\n inputSize: {\n sm: 'h-9 text-xs',\n md: 'h-10',\n lg: 'h-11 text-base',\n },\n },\n defaultVariants: {\n variant: 'default',\n inputSize: 'md',\n },\n }\n);\n\nexport const labelVariants = cva(\n 'text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n {\n variants: {\n variant: {\n default: '',\n error: 'text-destructive',\n success: 'text-green-600',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type InputVariant = 'default' | 'error' | 'success';\nexport type InputSize = 'sm' | 'md' | 'lg';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { inputVariants, type InputVariant, type InputSize } from './input.variants';\n\n@Directive({\n selector: 'input[snyInput], textarea[snyInput]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[attr.aria-invalid]': 'variant() === \"error\" || null',\n '[attr.aria-describedby]': 'ariaDescribedBy() || null',\n },\n})\nexport class SnyInputDirective {\n readonly variant = input<InputVariant>('default');\n readonly inputSize = input<InputSize>('md');\n readonly class = input<string>('');\n readonly ariaDescribedBy = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(\n inputVariants({ variant: this.variant(), inputSize: this.inputSize() }),\n this.class()\n )\n );\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { labelVariants, type InputVariant } from './input.variants';\n\n@Directive({\n selector: 'label[snyLabel]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyLabelDirective {\n readonly variant = input<InputVariant>('default');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(labelVariants({ variant: this.variant() }), this.class())\n );\n}\n","import { Injectable, signal, computed } from '@angular/core';\nimport type { ToastConfig, ToastData } from './toast.variants';\n\n@Injectable({ providedIn: 'root' })\nexport class SnyToastService {\n private readonly _toasts = signal<ToastData[]>([]);\n private readonly _timers = new Map<string, ReturnType<typeof setTimeout>>();\n private _idCounter = 0;\n\n readonly toasts = this._toasts.asReadonly();\n readonly count = computed(() => this._toasts().length);\n\n show(config: ToastConfig): string {\n const id = `sny-toast-${++this._idCounter}`;\n const toast: ToastData = {\n id,\n variant: 'default',\n duration: 5000,\n ...config,\n };\n\n this._toasts.update(toasts => [...toasts, toast]);\n\n if (toast.duration && toast.duration > 0) {\n const timer = setTimeout(() => this.dismiss(id), toast.duration);\n this._timers.set(id, timer);\n }\n\n return id;\n }\n\n dismiss(id: string): void {\n const timer = this._timers.get(id);\n if (timer) {\n clearTimeout(timer);\n this._timers.delete(id);\n }\n this._toasts.update(toasts => toasts.filter(t => t.id !== id));\n }\n\n dismissAll(): void {\n for (const timer of this._timers.values()) {\n clearTimeout(timer);\n }\n this._timers.clear();\n this._toasts.set([]);\n }\n\n success(title: string, description?: string): string {\n return this.show({ title, description, variant: 'success' });\n }\n\n error(title: string, description?: string): string {\n return this.show({ title, description, variant: 'destructive' });\n }\n\n warning(title: string, description?: string): string {\n return this.show({ title, description, variant: 'warning' });\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const toastVariants = cva(\n 'group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-sm border p-6 pr-8 shadow-lg transition-all',\n {\n variants: {\n variant: {\n default: 'bg-background border-border text-foreground',\n destructive: 'bg-destructive border-destructive text-destructive-foreground',\n success: 'bg-green-600 border-green-600 text-white',\n warning: 'bg-yellow-500 border-yellow-500 text-white',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type ToastVariant = 'default' | 'destructive' | 'success' | 'warning';\nexport type ToastPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top-center' | 'bottom-center';\n\nexport interface ToastAction {\n label: string;\n onClick: () => void;\n}\n\nexport interface ToastConfig {\n title: string;\n description?: string;\n variant?: ToastVariant;\n duration?: number;\n action?: ToastAction;\n}\n\nexport interface ToastData extends ToastConfig {\n id: string;\n}\n","import { ChangeDetectionStrategy, Component, inject, input, computed } from '@angular/core';\nimport { SnyToastService } from './toast.service';\nimport { toastVariants, type ToastPosition, type ToastVariant } from './toast.variants';\nimport { cn } from '../core/utils/cn';\n\n@Component({\n selector: 'sny-toaster',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div [class]=\"containerClass()\" role=\"region\" aria-label=\"Notifications\" tabindex=\"-1\">\n @for (toast of visibleToasts(); track toast.id) {\n <div\n [class]=\"toastClasses[toast.variant ?? 'default']\"\n role=\"alert\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n <div class=\"grid gap-1\">\n <div class=\"text-sm font-semibold\">{{ toast.title }}</div>\n @if (toast.description) {\n <div class=\"text-sm opacity-90\">{{ toast.description }}</div>\n }\n </div>\n <div class=\"flex items-center gap-2\">\n @if (toast.action) {\n <button\n class=\"inline-flex h-8 shrink-0 items-center justify-center rounded-sm border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary\"\n (click)=\"toast.action!.onClick()\"\n >\n {{ toast.action!.label }}\n </button>\n }\n <button\n class=\"absolute right-2 top-2 rounded-sm p-1 opacity-0 transition-opacity hover:opacity-100 group-hover:opacity-100 focus:opacity-100\"\n aria-label=\"Close\"\n (click)=\"dismiss(toast.id)\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 6 6 18\"/><path d=\"m6 6 12 12\"/></svg>\n </button>\n </div>\n </div>\n }\n </div>\n `,\n})\nexport class SnyToasterComponent {\n private readonly toastService = inject(SnyToastService);\n\n readonly position = input<ToastPosition>('bottom-right');\n readonly maxToasts = input(5);\n\n readonly visibleToasts = computed(() =>\n this.toastService.toasts().slice(-this.maxToasts())\n );\n\n readonly containerClass = computed(() => {\n const pos = this.position();\n const base = 'fixed z-[100] flex max-h-screen w-full flex-col-reverse gap-2 p-4 sm:max-w-[420px]';\n const posMap: Record<ToastPosition, string> = {\n 'top-right': 'top-0 right-0',\n 'top-left': 'top-0 left-0',\n 'bottom-right': 'bottom-0 right-0',\n 'bottom-left': 'bottom-0 left-0',\n 'top-center': 'top-0 left-1/2 -translate-x-1/2',\n 'bottom-center': 'bottom-0 left-1/2 -translate-x-1/2',\n };\n return cn(base, posMap[pos]);\n });\n\n /** Pre-computed toast classes by variant — avoids method calls in the template. */\n readonly toastClasses: Record<ToastVariant, string> = {\n default: cn(toastVariants({ variant: 'default' })),\n destructive: cn(toastVariants({ variant: 'destructive' })),\n success: cn(toastVariants({ variant: 'success' })),\n warning: cn(toastVariants({ variant: 'warning' })),\n };\n\n dismiss(id: string): void {\n this.toastService.dismiss(id);\n }\n}\n","import type { Observable } from 'rxjs';\n\n/** Structural interface for the subset of CDK DialogRef we consume. */\ninterface CdkDialogRefLike<R> {\n close(result?: R): void;\n readonly closed: Observable<R | undefined>;\n}\n\nexport class SnyDialogRef<R = unknown> {\n constructor(private readonly cdkRef: CdkDialogRefLike<R>) {}\n\n close(result?: R): void {\n this.cdkRef.close(result);\n }\n\n get closed(): Observable<R | undefined> {\n return this.cdkRef.closed;\n }\n}\n","export interface SnyDialogConfig {\n width?: string;\n maxWidth?: string;\n closeOnBackdrop?: boolean;\n closeOnEsc?: boolean;\n data?: unknown;\n ariaLabelledBy?: string;\n ariaDescribedBy?: string;\n}\n\nexport const DEFAULT_DIALOG_CONFIG: SnyDialogConfig = {\n width: '28rem',\n maxWidth: '90vw',\n closeOnBackdrop: true,\n closeOnEsc: true,\n};\n","import { Injectable, inject, InjectionToken } from '@angular/core';\nimport { Dialog, DialogRef as CdkDialogRef } from '@angular/cdk/dialog';\nimport type { ComponentType } from '@angular/cdk/overlay';\nimport { SnyDialogRef } from './dialog-ref';\nimport { DEFAULT_DIALOG_CONFIG, type SnyDialogConfig } from './dialog.types';\n\nexport const SNY_DIALOG_DATA = new InjectionToken<unknown>('SNY_DIALOG_DATA');\n\n@Injectable({ providedIn: 'root' })\nexport class SnyDialogService {\n private readonly cdkDialog = inject(Dialog);\n\n open<T, R = unknown>(\n component: ComponentType<T>,\n config: SnyDialogConfig = {}\n ): SnyDialogRef<R> {\n const merged = { ...DEFAULT_DIALOG_CONFIG, ...config };\n\n // CDK's disableClose controls both backdrop and ESC together.\n // To support independent closeOnBackdrop / closeOnEsc, we disable both\n // at the CDK level and handle them manually.\n const disableClose = !merged.closeOnBackdrop || !merged.closeOnEsc;\n\n const cdkRef: CdkDialogRef<R, T> = this.cdkDialog.open(component, {\n width: merged.width,\n maxWidth: merged.maxWidth,\n disableClose,\n hasBackdrop: true,\n backdropClass: 'sny-dialog-backdrop',\n panelClass: 'sny-dialog-panel',\n ariaLabelledBy: merged.ariaLabelledBy,\n ariaDescribedBy: merged.ariaDescribedBy,\n data: merged.data,\n providers: merged.data != null\n ? [{ provide: SNY_DIALOG_DATA, useValue: merged.data }]\n : [],\n });\n\n // When CDK disableClose is true, manually handle backdrop/ESC based on config\n if (disableClose) {\n if (merged.closeOnBackdrop) {\n const sub = cdkRef.backdropClick.subscribe(() => cdkRef.close());\n cdkRef.closed.subscribe(() => sub.unsubscribe());\n }\n if (merged.closeOnEsc) {\n const sub = cdkRef.keydownEvents.subscribe(event => {\n if (event.key === 'Escape') {\n cdkRef.close();\n }\n });\n cdkRef.closed.subscribe(() => sub.unsubscribe());\n }\n }\n\n return new SnyDialogRef<R>(cdkRef);\n }\n\n closeAll(): void {\n this.cdkDialog.closeAll();\n }\n}\n","import { Directive, computed, input, inject } from '@angular/core';\nimport { DialogRef } from '@angular/cdk/dialog';\nimport { cn } from '../core/utils/cn';\n\n@Directive({\n selector: '[snyDialogHeader]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyDialogHeaderDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex flex-col space-y-1.5 text-center sm:text-left', this.class())\n );\n}\n\n@Directive({\n selector: '[snyDialogTitle]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyDialogTitleDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-lg font-semibold leading-none tracking-tight', this.class())\n );\n}\n\n@Directive({\n selector: '[snyDialogDescription]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyDialogDescriptionDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-sm text-muted-foreground', this.class())\n );\n}\n\n@Directive({\n selector: '[snyDialogContent]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyDialogContentDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn(\n 'relative bg-background rounded-sm border border-border shadow-lg p-6 w-full max-w-lg mx-auto',\n this.class()\n )\n );\n}\n\n@Directive({\n selector: '[snyDialogFooter]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyDialogFooterDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', this.class())\n );\n}\n\n@Directive({\n selector: '[snyDialogClose]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '(click)': 'onClick()',\n },\n})\nexport class SnyDialogCloseDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn(\n 'absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none',\n this.class()\n )\n );\n\n private readonly dialogRef = inject(DialogRef, { optional: true });\n\n onClick(): void {\n this.dialogRef?.close();\n }\n}\n","import { Directive, ElementRef, computed, inject, input, signal, InjectionToken } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport const SNY_ACCORDION = new InjectionToken<SnyAccordionDirective>('SnyAccordion');\nexport const SNY_ACCORDION_ITEM = new InjectionToken<SnyAccordionItemDirective>('SnyAccordionItem');\n\n@Directive({\n selector: '[snyAccordion]',\n standalone: true,\n exportAs: 'snyAccordion',\n providers: [{ provide: SNY_ACCORDION, useExisting: SnyAccordionDirective }],\n host: {\n '[class]': 'computedClass()',\n '(keydown)': 'onKeydown($event)',\n },\n})\nexport class SnyAccordionDirective {\n readonly multi = input(false);\n readonly class = input<string>('');\n\n private readonly elRef = inject(ElementRef);\n private readonly _openItems = signal(new Set<string>());\n\n protected readonly computedClass = computed(() =>\n cn('divide-y divide-border', this.class())\n );\n\n isOpen(id: string): boolean {\n return this._openItems().has(id);\n }\n\n toggle(id: string): void {\n this._openItems.update(set => {\n const next = new Set(set);\n if (next.has(id)) {\n next.delete(id);\n } else {\n if (!this.multi()) next.clear();\n next.add(id);\n }\n return next;\n });\n }\n\n onKeydown(event: KeyboardEvent): void {\n const target = event.target as HTMLElement;\n if (!target.hasAttribute('snyaccordiontrigger') && !target.closest('[snyAccordionTrigger]')) return;\n\n const triggers = Array.from(\n (this.elRef.nativeElement as HTMLElement).querySelectorAll<HTMLElement>('[snyAccordionTrigger]')\n );\n if (triggers.length === 0) return;\n\n const currentIndex = triggers.indexOf(target.closest('[snyAccordionTrigger]') as HTMLElement || target);\n if (currentIndex === -1) return;\n\n let nextIndex: number | null = null;\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n nextIndex = (currentIndex + 1) % triggers.length;\n break;\n case 'ArrowUp':\n event.preventDefault();\n nextIndex = (currentIndex - 1 + triggers.length) % triggers.length;\n break;\n case 'Home':\n event.preventDefault();\n nextIndex = 0;\n break;\n case 'End':\n event.preventDefault();\n nextIndex = triggers.length - 1;\n break;\n }\n if (nextIndex !== null) {\n triggers[nextIndex].focus();\n }\n }\n}\n\n@Directive({\n selector: '[snyAccordionItem]',\n standalone: true,\n exportAs: 'snyAccordionItem',\n providers: [{ provide: SNY_ACCORDION_ITEM, useExisting: SnyAccordionItemDirective }],\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyAccordionItemDirective {\n readonly value = input.required<string>();\n readonly class = input<string>('');\n private readonly accordion = inject(SNY_ACCORDION);\n\n readonly isOpen = computed(() => this.accordion.isOpen(this.value()));\n\n protected readonly computedClass = computed(() =>\n cn('', this.class())\n );\n\n toggle(): void {\n this.accordion.toggle(this.value());\n }\n}\n\n@Directive({\n selector: '[snyAccordionTrigger]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[attr.aria-expanded]': 'item.isOpen()',\n 'tabindex': '0',\n '(click)': 'item.toggle()',\n },\n})\nexport class SnyAccordionTriggerDirective {\n readonly class = input<string>('');\n readonly item = inject(SNY_ACCORDION_ITEM);\n\n protected readonly computedClass = computed(() =>\n cn(\n 'flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline cursor-pointer [&>svg]:transition-transform',\n this.item.isOpen() && '[&>svg]:rotate-180',\n this.class()\n )\n );\n}\n\n@Directive({\n selector: '[snyAccordionContent]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n role: 'region',\n },\n})\nexport class SnyAccordionContentDirective {\n readonly class = input<string>('');\n readonly item = inject(SNY_ACCORDION_ITEM);\n\n protected readonly computedClass = computed(() =>\n cn(\n 'grid transition-all duration-200',\n this.item.isOpen() ? 'grid-rows-[1fr] opacity-100 pb-4' : 'grid-rows-[0fr] opacity-0 overflow-hidden',\n this.class()\n )\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const avatarVariants = cva(\n 'relative inline-flex shrink-0 items-center justify-center overflow-hidden bg-muted',\n {\n variants: {\n size: {\n sm: 'h-8 w-8 text-xs',\n md: 'h-10 w-10 text-sm',\n lg: 'h-12 w-12 text-base',\n xl: 'h-16 w-16 text-lg',\n },\n variant: {\n circle: 'rounded-full',\n rounded: 'rounded-md',\n },\n },\n defaultVariants: {\n size: 'md',\n variant: 'circle',\n },\n }\n);\n\nexport type AvatarSize = 'sm' | 'md' | 'lg' | 'xl';\nexport type AvatarVariant = 'circle' | 'rounded';\n","import { ChangeDetectionStrategy, Component, computed, input, signal } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { avatarVariants, type AvatarSize, type AvatarVariant } from './avatar.variants';\n\n@Component({\n selector: 'sny-avatar',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { '[class]': 'computedClass()' },\n template: `\n @if (src() && !error()) {\n <img\n [src]=\"src()\"\n [alt]=\"alt()\"\n class=\"aspect-square h-full w-full object-cover\"\n (error)=\"error.set(true)\"\n />\n } @else {\n <span class=\"font-medium text-muted-foreground\">{{ fallbackText() }}</span>\n }\n `,\n})\nexport class SnyAvatarComponent {\n readonly src = input<string>('');\n readonly alt = input<string>('');\n readonly fallback = input<string>('');\n readonly size = input<AvatarSize>('md');\n readonly variant = input<AvatarVariant>('circle');\n readonly class = input<string>('');\n\n readonly error = signal(false);\n\n protected readonly fallbackText = computed(() => {\n const fb = this.fallback();\n if (fb) return fb;\n const a = this.alt();\n if (a) return a.split(' ').map(w => w[0]).join('').toUpperCase().slice(0, 2);\n return '?';\n });\n\n protected readonly computedClass = computed(() =>\n cn(avatarVariants({ size: this.size(), variant: this.variant() }), this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const badgeVariants = cva(\n 'inline-flex items-center rounded-full border font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n {\n variants: {\n variant: {\n default: 'border-transparent bg-primary text-primary-foreground',\n secondary: 'border-transparent bg-secondary text-secondary-foreground',\n outline: 'border-border text-foreground',\n destructive: 'border-transparent bg-destructive text-destructive-foreground',\n success: 'border-transparent bg-green-600 text-white dark:bg-green-500',\n warning: 'border-transparent bg-yellow-500 text-white dark:bg-yellow-400 dark:text-black',\n },\n size: {\n sm: 'px-2 py-0.5 text-[10px]',\n md: 'px-2.5 py-0.5 text-xs',\n lg: 'px-3 py-1 text-sm',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n }\n);\n\nexport type BadgeVariant = 'default' | 'secondary' | 'outline' | 'destructive' | 'success' | 'warning';\nexport type BadgeSize = 'sm' | 'md' | 'lg';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { badgeVariants, type BadgeVariant, type BadgeSize } from './badge.variants';\n\n@Directive({\n selector: '[snyBadge]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyBadgeDirective {\n readonly variant = input<BadgeVariant>('default');\n readonly size = input<BadgeSize>('md');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(badgeVariants({ variant: this.variant(), size: this.size() }), this.class())\n );\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\n@Directive({\n selector: 'nav[snyBreadcrumb]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n 'aria-label': 'Breadcrumb',\n },\n})\nexport class SnyBreadcrumbDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() => cn('', this.class()));\n}\n\n@Directive({\n selector: 'ol[snyBreadcrumbList]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyBreadcrumbListDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5', this.class())\n );\n}\n\n@Directive({\n selector: 'li[snyBreadcrumbItem]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyBreadcrumbItemDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('inline-flex items-center gap-1.5', this.class())\n );\n}\n\n@Directive({\n selector: '[snyBreadcrumbLink]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyBreadcrumbLinkDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('transition-colors hover:text-foreground', this.class())\n );\n}\n\n@Directive({\n selector: '[snyBreadcrumbSeparator]',\n standalone: true,\n host: {\n role: 'presentation',\n '[aria-hidden]': 'true',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyBreadcrumbSeparatorDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('[&>svg]:size-3.5', this.class())\n );\n}\n\n@Directive({\n selector: '[snyBreadcrumbPage]',\n standalone: true,\n host: {\n role: 'link',\n 'aria-disabled': 'true',\n '[attr.aria-current]': '\"page\"',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyBreadcrumbPageDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('font-normal text-foreground', this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const buttonGroupVariants = cva(\n 'inline-flex [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child:not(:last-child)]:rounded-r-none [&>*:last-child:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:-ml-px',\n {\n variants: {\n orientation: {\n horizontal: 'flex-row',\n vertical: 'flex-col [&>*:not(:first-child):not(:last-child)]:rounded-none [&>*:first-child:not(:last-child)]:rounded-b-none [&>*:first-child:not(:last-child)]:rounded-r-sm [&>*:last-child:not(:first-child)]:rounded-t-none [&>*:last-child:not(:first-child)]:rounded-l-sm [&>*:not(:first-child)]:-mt-px [&>*:not(:first-child)]:ml-0',\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n },\n }\n);\n\nexport type ButtonGroupOrientation = 'horizontal' | 'vertical';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { buttonGroupVariants, type ButtonGroupOrientation } from './button-group.variants';\n\n@Directive({\n selector: '[snyButtonGroup]',\n standalone: true,\n host: {\n role: 'group',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyButtonGroupDirective {\n readonly orientation = input<ButtonGroupOrientation>('horizontal');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(buttonGroupVariants({ orientation: this.orientation() }), this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const checkboxVariants = cva(\n 'peer appearance-none shrink-0 rounded-sm border border-border bg-background transition-colors checked:bg-primary checked:border-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n {\n variants: {\n size: {\n sm: 'h-3.5 w-3.5',\n md: 'h-4 w-4',\n lg: 'h-5 w-5',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport type CheckboxSize = 'sm' | 'md' | 'lg';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { checkboxVariants, type CheckboxSize } from './checkbox.variants';\n\n@Directive({\n selector: 'input[type=\"checkbox\"][snyCheckbox]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyCheckboxDirective {\n readonly size = input<CheckboxSize>('md');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(checkboxVariants({ size: this.size() }), this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const comboboxTriggerVariants = cva(\n 'inline-flex w-full items-center justify-between whitespace-nowrap rounded-sm border border-border bg-background px-3 py-2 text-sm ring-offset-background transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n size: {\n sm: 'h-9 text-xs',\n md: 'h-10 text-sm',\n lg: 'h-11 text-base',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport type ComboboxSize = 'sm' | 'md' | 'lg';\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n HostListener,\n inject,\n input,\n model,\n OnDestroy,\n signal,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cn } from '../core/utils/cn';\nimport { comboboxTriggerVariants, type ComboboxSize } from './combobox.variants';\n\nexport interface ComboboxOption {\n value: string;\n label: string;\n}\n\n@Component({\n selector: 'sny-combobox',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'relative inline-block w-full',\n },\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SnyComboboxComponent), multi: true },\n ],\n template: `\n <!-- Trigger button -->\n <button\n #triggerEl\n type=\"button\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open()\"\n aria-haspopup=\"listbox\"\n [class]=\"triggerClass()\"\n (click)=\"toggle()\"\n (blur)=\"onTouched()\"\n >\n <span [class]=\"selectedLabel() ? '' : 'text-muted-foreground'\">\n {{ selectedLabel() || placeholder() }}\n </span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"shrink-0 opacity-50\"><path d=\"m7 15 5 5 5-5\"/><path d=\"m7 9 5-5 5 5\"/></svg>\n </button>\n\n <!-- Dropdown popover -->\n @if (open()) {\n <div\n #dropdownEl\n class=\"fixed z-50 rounded-sm border border-border bg-popover text-popover-foreground shadow-md\"\n >\n <!-- Search input -->\n <div class=\"flex items-center border-b border-border px-3\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"mr-2 shrink-0 opacity-50\"><circle cx=\"11\" cy=\"11\" r=\"8\"/><path d=\"m21 21-4.3-4.3\"/></svg>\n <input\n #searchEl\n type=\"text\"\n class=\"flex h-10 w-full bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground\"\n [placeholder]=\"searchPlaceholder()\"\n [value]=\"query()\"\n (input)=\"onSearchInput($event)\"\n (keydown)=\"onKeydown($event)\"\n />\n </div>\n\n <!-- Options list -->\n @if (filtered().length > 0) {\n <ul role=\"listbox\" class=\"max-h-60 overflow-auto p-1\">\n @for (opt of filtered(); track opt.value; let i = $index) {\n <li\n role=\"option\"\n [id]=\"'sny-cb-opt-' + opt.value\"\n [attr.aria-selected]=\"value() === opt.value\"\n [class]=\"optionClass(i)\"\n (mousedown)=\"select(opt); $event.preventDefault()\"\n (mouseenter)=\"activeIndex.set(i)\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\"\n fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n [class]=\"value() === opt.value ? 'mr-2 shrink-0 opacity-100' : 'mr-2 shrink-0 opacity-0'\"\n ><path d=\"M20 6 9 17l-5-5\"/></svg>\n {{ opt.label }}\n </li>\n }\n </ul>\n } @else {\n <div class=\"py-6 text-center text-sm text-muted-foreground\">No results found.</div>\n }\n </div>\n }\n `,\n})\nexport class SnyComboboxComponent implements ControlValueAccessor, OnDestroy {\n readonly options = input<ComboboxOption[]>([]);\n readonly placeholder = input('Select...');\n readonly searchPlaceholder = input('Search...');\n readonly size = input<ComboboxSize>('md');\n readonly class = input<string>('');\n readonly value = model<string>('');\n\n readonly open = signal(false);\n readonly query = signal('');\n readonly activeIndex = signal(0);\n\n private readonly _disabledByCva = signal(false);\n\n private readonly triggerRef = viewChild<ElementRef<HTMLButtonElement>>('triggerEl');\n private readonly searchRef = viewChild<ElementRef<HTMLInputElement>>('searchEl');\n private readonly dropdownRef = viewChild<ElementRef<HTMLDivElement>>('dropdownEl');\n private readonly elRef = inject(ElementRef);\n\n private scrollHandler: (() => void) | null = null;\n private resizeHandler: (() => void) | null = null;\n\n private _onChange: (value: string) => void = () => {};\n protected onTouched: () => void = () => {};\n private _writing = false;\n\n constructor() {\n effect(() => {\n const val = this.value();\n if (this._writing) {\n this._writing = false;\n return;\n }\n this._onChange(val);\n });\n }\n\n writeValue(val: string): void {\n this._writing = true;\n this.value.set(val ?? '');\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(_isDisabled: boolean): void {\n this._disabledByCva.set(_isDisabled);\n }\n\n readonly selectedLabel = computed(() => {\n const v = this.value();\n if (!v) return '';\n const opt = this.options().find(o => o.value === v);\n return opt?.label ?? '';\n });\n\n readonly filtered = computed(() => {\n const q = this.query().toLowerCase();\n if (!q) return this.options();\n return this.options().filter(o => o.label.toLowerCase().includes(q));\n });\n\n protected readonly triggerClass = computed(() =>\n cn(comboboxTriggerVariants({ size: this.size() }), this.class())\n );\n\n optionClass(index: number): string {\n const base = 'relative flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors';\n const active = index === this.activeIndex() ? 'bg-accent text-accent-foreground' : 'hover:bg-accent/50';\n return cn(base, active);\n }\n\n private updateDropdownPosition(): void {\n const trigger = this.triggerRef()?.nativeElement;\n if (!trigger) return;\n const rect = trigger.getBoundingClientRect();\n const dropdown = this.dropdownRef()?.nativeElement;\n if (dropdown) {\n dropdown.style.top = `${rect.bottom + 4}px`;\n dropdown.style.left = `${rect.left}px`;\n dropdown.style.width = `${rect.width}px`;\n }\n }\n\n private addGlobalListeners(): void {\n this.removeGlobalListeners();\n this.scrollHandler = () => {\n requestAnimationFrame(() => this.updateDropdownPosition());\n };\n this.resizeHandler = () => {\n requestAnimationFrame(() => this.updateDropdownPosition());\n };\n document.addEventListener('scroll', this.scrollHandler, { capture: true, passive: true });\n window.addEventListener('resize', this.resizeHandler, { passive: true });\n }\n\n private removeGlobalListeners(): void {\n if (this.scrollHandler) {\n document.removeEventListener('scroll', this.scrollHandler, { capture: true } as EventListenerOptions);\n this.scrollHandler = null;\n }\n if (this.resizeHandler) {\n window.removeEventListener('resize', this.resizeHandler);\n this.resizeHandler = null;\n }\n }\n\n ngOnDestroy(): void {\n this.removeGlobalListeners();\n }\n\n toggle(): void {\n if (this.open()) {\n this.close();\n } else {\n this.updateDropdownPosition();\n this.open.set(true);\n this.query.set('');\n this.activeIndex.set(0);\n this.addGlobalListeners();\n setTimeout(() => {\n this.updateDropdownPosition();\n this.searchRef()?.nativeElement.focus();\n });\n }\n }\n\n close(): void {\n this.open.set(false);\n this.query.set('');\n this.removeGlobalListeners();\n }\n\n onSearchInput(event: Event): void {\n const val = (event.target as HTMLInputElement).value;\n this.query.set(val);\n this.activeIndex.set(0);\n }\n\n select(opt: ComboboxOption): void {\n this.value.set(opt.value);\n this.close();\n }\n\n onKeydown(event: KeyboardEvent): void {\n const items = this.filtered();\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n this.activeIndex.update(i => Math.min(i + 1, items.length - 1));\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.activeIndex.update(i => Math.max(i - 1, 0));\n break;\n case 'Enter':\n event.preventDefault();\n if (items[this.activeIndex()]) {\n this.select(items[this.activeIndex()]);\n }\n break;\n case 'Escape':\n this.close();\n break;\n }\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent): void {\n if (!this.elRef.nativeElement.contains(event.target)) {\n this.close();\n }\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const skeletonVariants = cva(\n 'animate-pulse bg-muted block',\n {\n variants: {\n variant: {\n line: 'rounded-sm',\n circular: 'rounded-full aspect-square',\n rounded: 'rounded-lg',\n },\n size: {\n sm: 'h-4',\n md: 'h-6',\n lg: 'h-8',\n xl: 'h-12',\n },\n },\n defaultVariants: {\n variant: 'line',\n size: 'md',\n },\n }\n);\n\nexport type SkeletonVariant = 'line' | 'circular' | 'rounded';\nexport type SkeletonSize = 'sm' | 'md' | 'lg' | 'xl';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { skeletonVariants, type SkeletonVariant, type SkeletonSize } from './skeleton.variants';\n\n@Directive({\n selector: '[snySkeleton]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n 'aria-busy': 'true',\n 'aria-hidden': 'true',\n },\n})\nexport class SnySkeletonDirective {\n readonly variant = input<SkeletonVariant>('line');\n readonly size = input<SkeletonSize>('md');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(skeletonVariants({ variant: this.variant(), size: this.size() }), this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const radioVariants = cva(\n 'appearance-none rounded-full border border-border bg-background transition-colors checked:border-primary checked:shadow-[inset_0_0_0_3px] checked:shadow-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n {\n variants: {\n size: {\n sm: 'h-3.5 w-3.5',\n md: 'h-4 w-4',\n lg: 'h-5 w-5',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport type RadioSize = 'sm' | 'md' | 'lg';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { radioVariants, type RadioSize } from './radio.variants';\n\n@Directive({\n selector: 'input[type=\"radio\"][snyRadio]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyRadioDirective {\n readonly size = input<RadioSize>('md');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(radioVariants({ size: this.size() }), this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const switchTrackVariants = cva(\n 'peer inline-flex shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n {\n variants: {\n size: {\n sm: 'h-5 w-9',\n md: 'h-6 w-11',\n lg: 'h-7 w-14',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport const switchThumbSize: Record<string, string> = {\n sm: 'h-4 w-4',\n md: 'h-5 w-5',\n lg: 'h-6 w-6',\n};\n\nexport const switchThumbTranslate: Record<string, string> = {\n sm: 'translate-x-4',\n md: 'translate-x-5',\n lg: 'translate-x-7',\n};\n\nexport type SwitchSize = 'sm' | 'md' | 'lg';\n","import { ChangeDetectionStrategy, Component, computed, effect, forwardRef, input, model, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cn } from '../core/utils/cn';\nimport { switchTrackVariants, switchThumbSize, switchThumbTranslate, type SwitchSize } from './switch.variants';\n\n@Component({\n selector: 'sny-switch',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'inline-flex' },\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SnySwitchComponent), multi: true },\n ],\n template: `\n <button\n type=\"button\"\n role=\"switch\"\n [attr.aria-checked]=\"checked()\"\n [disabled]=\"isDisabled()\"\n [class]=\"trackClass()\"\n (click)=\"checked.set(!checked())\"\n (blur)=\"onTouched()\"\n >\n <span [class]=\"thumbClass()\"></span>\n </button>\n `,\n})\nexport class SnySwitchComponent implements ControlValueAccessor {\n readonly checked = model(false);\n readonly disabled = input(false);\n readonly size = input<SwitchSize>('md');\n readonly class = input<string>('');\n\n private readonly _disabledByCva = signal(false);\n protected readonly isDisabled = computed(() => this.disabled() || this._disabledByCva());\n\n private _onChange: (value: boolean) => void = () => {};\n protected onTouched: () => void = () => {};\n private _writing = false;\n\n constructor() {\n effect(() => {\n const val = this.checked();\n if (this._writing) {\n this._writing = false;\n return;\n }\n this._onChange(val);\n });\n }\n\n writeValue(val: boolean): void {\n this._writing = true;\n this.checked.set(val ?? false);\n }\n\n registerOnChange(fn: (value: boolean) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByCva.set(isDisabled);\n }\n\n protected readonly trackClass = computed(() =>\n cn(\n switchTrackVariants({ size: this.size() }),\n this.checked() ? 'bg-primary' : 'bg-input',\n this.class()\n )\n );\n\n protected readonly thumbClass = computed(() =>\n cn(\n 'pointer-events-none block rounded-full bg-background shadow-lg ring-0 transition-transform',\n switchThumbSize[this.size()],\n this.checked() ? switchThumbTranslate[this.size()] : 'translate-x-0'\n )\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const toggleVariants = cva(\n 'inline-flex items-center justify-center rounded-sm text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n variant: {\n default: 'bg-transparent hover:bg-muted hover:text-muted-foreground',\n outline: 'border border-border bg-transparent hover:bg-accent hover:text-accent-foreground',\n },\n size: {\n sm: 'h-9 px-2.5',\n md: 'h-10 px-3',\n lg: 'h-11 px-5',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n }\n);\n\nexport type ToggleVariant = 'default' | 'outline';\nexport type ToggleSize = 'sm' | 'md' | 'lg';\n","import { Directive, computed, effect, forwardRef, input, model, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cn } from '../core/utils/cn';\nimport { toggleVariants, type ToggleVariant, type ToggleSize } from './toggle.variants';\n\n@Directive({\n selector: 'button[snyToggle]',\n standalone: true,\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SnyToggleDirective), multi: true },\n ],\n host: {\n '[class]': 'computedClass()',\n '[attr.aria-pressed]': 'pressed()',\n '[attr.disabled]': 'isDisabled() || null',\n '(click)': 'toggle()',\n '(blur)': 'onTouched()',\n },\n})\nexport class SnyToggleDirective implements ControlValueAccessor {\n readonly variant = input<ToggleVariant>('default');\n readonly size = input<ToggleSize>('md');\n readonly pressed = model(false);\n readonly class = input<string>('');\n\n private readonly _disabledByCva = signal(false);\n protected readonly isDisabled = computed(() => this._disabledByCva());\n\n private _onChange: (value: boolean) => void = () => {};\n protected onTouched: () => void = () => {};\n private _writing = false;\n\n constructor() {\n effect(() => {\n const val = this.pressed();\n if (this._writing) {\n this._writing = false;\n return;\n }\n this._onChange(val);\n });\n }\n\n writeValue(val: boolean): void {\n this._writing = true;\n this.pressed.set(val ?? false);\n }\n\n registerOnChange(fn: (value: boolean) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByCva.set(isDisabled);\n }\n\n protected toggle(): void {\n if (this.isDisabled()) return;\n this.pressed.set(!this.pressed());\n }\n\n protected readonly computedClass = computed(() =>\n cn(\n toggleVariants({ variant: this.variant(), size: this.size() }),\n this.pressed() ? 'bg-accent text-accent-foreground' : '',\n this.class()\n )\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const sliderTrackVariants = cva(\n 'relative w-full rounded-full bg-secondary cursor-pointer',\n {\n variants: {\n size: {\n sm: 'h-1.5',\n md: 'h-2',\n lg: 'h-3',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport const sliderThumbSize: Record<string, string> = {\n sm: 'h-4 w-4',\n md: 'h-5 w-5',\n lg: 'h-6 w-6',\n};\n\nexport type SliderSize = 'sm' | 'md' | 'lg';\n","import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, forwardRef, input, model, OnDestroy, signal, viewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cn } from '../core/utils/cn';\nimport { sliderTrackVariants, sliderThumbSize, type SliderSize } from './slider.variants';\n\n@Component({\n selector: 'sny-slider',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'block',\n '(keydown)': 'onKeydown($event)',\n },\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SnySliderComponent), multi: true },\n ],\n template: `\n <div\n #trackEl\n [class]=\"trackClass()\"\n (mousedown)=\"onTrackMousedown($event)\"\n (touchstart)=\"onTrackTouchstart($event)\"\n >\n <div class=\"absolute h-full rounded-full bg-primary\" [style.width.%]=\"percentage()\"></div>\n <button\n type=\"button\"\n role=\"slider\"\n [attr.aria-valuemin]=\"min()\"\n [attr.aria-valuemax]=\"max()\"\n [attr.aria-valuenow]=\"value()\"\n [disabled]=\"isDisabled()\"\n [class]=\"thumbClass()\"\n [style.left.%]=\"percentage()\"\n tabindex=\"0\"\n (blur)=\"onTouched()\"\n ></button>\n </div>\n `,\n})\nexport class SnySliderComponent implements ControlValueAccessor, OnDestroy {\n readonly value = model(0);\n readonly min = input(0);\n readonly max = input(100);\n readonly step = input(1);\n readonly disabled = input(false);\n readonly size = input<SliderSize>('md');\n readonly class = input<string>('');\n\n private readonly _disabledByCva = signal(false);\n protected readonly isDisabled = computed(() => this.disabled() || this._disabledByCva());\n\n private readonly trackRef = viewChild<ElementRef<HTMLDivElement>>('trackEl');\n private moveHandler: ((e: MouseEvent | TouchEvent) => void) | null = null;\n private upHandler: (() => void) | null = null;\n\n private _onChange: (value: number) => void = () => {};\n protected onTouched: () => void = () => {};\n private _writing = false;\n\n constructor() {\n effect(() => {\n const val = this.value();\n if (this._writing) {\n this._writing = false;\n return;\n }\n this._onChange(val);\n });\n }\n\n writeValue(val: number): void {\n this._writing = true;\n this.value.set(val ?? 0);\n }\n\n registerOnChange(fn: (value: number) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByCva.set(isDisabled);\n }\n\n protected readonly percentage = computed(() => {\n const range = this.max() - this.min();\n if (range <= 0) return 0;\n return ((this.value() - this.min()) / range) * 100;\n });\n\n protected readonly trackClass = computed(() =>\n cn(sliderTrackVariants({ size: this.size() }), this.isDisabled() && 'opacity-50 cursor-not-allowed', this.class())\n );\n\n protected readonly thumbClass = computed(() =>\n cn(\n 'absolute top-1/2 -translate-x-1/2 -translate-y-1/2 block rounded-full border-2 border-primary bg-background shadow ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',\n sliderThumbSize[this.size()]\n )\n );\n\n private updateValueFromPosition(clientX: number): void {\n if (this.isDisabled()) return;\n const track = this.trackRef()?.nativeElement;\n if (!track) return;\n const rect = track.getBoundingClientRect();\n const percent = Math.max(0, Math.min(1, (clientX - rect.left) / rect.width));\n const raw = this.min() + percent * (this.max() - this.min());\n const stepped = Math.round(raw / this.step()) * this.step();\n this.value.set(Math.max(this.min(), Math.min(this.max(), stepped)));\n }\n\n onTrackMousedown(event: MouseEvent): void {\n if (this.isDisabled()) return;\n event.preventDefault();\n this.updateValueFromPosition(event.clientX);\n this.moveHandler = (e: MouseEvent | TouchEvent) => {\n const clientX = e instanceof MouseEvent ? e.clientX : e.touches[0].clientX;\n this.updateValueFromPosition(clientX);\n };\n this.upHandler = () => {\n this.onTouched();\n this.removeListeners();\n };\n document.addEventListener('mousemove', this.moveHandler as EventListener);\n document.addEventListener('mouseup', this.upHandler);\n }\n\n onTrackTouchstart(event: TouchEvent): void {\n if (this.isDisabled()) return;\n this.updateValueFromPosition(event.touches[0].clientX);\n this.moveHandler = (e: MouseEvent | TouchEvent) => {\n const clientX = e instanceof MouseEvent ? e.clientX : e.touches[0].clientX;\n this.updateValueFromPosition(clientX);\n };\n this.upHandler = () => {\n this.onTouched();\n this.removeListeners();\n };\n document.addEventListener('touchmove', this.moveHandler as EventListener, { passive: true });\n document.addEventListener('touchend', this.upHandler);\n }\n\n onKeydown(event: KeyboardEvent): void {\n if (this.isDisabled()) return;\n const step = this.step();\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowUp':\n event.preventDefault();\n this.value.set(Math.min(this.max(), this.value() + step));\n break;\n case 'ArrowLeft':\n case 'ArrowDown':\n event.preventDefault();\n this.value.set(Math.max(this.min(), this.value() - step));\n break;\n case 'Home':\n event.preventDefault();\n this.value.set(this.min());\n break;\n case 'End':\n event.preventDefault();\n this.value.set(this.max());\n break;\n }\n }\n\n private removeListeners(): void {\n if (this.moveHandler) {\n document.removeEventListener('mousemove', this.moveHandler as EventListener);\n document.removeEventListener('touchmove', this.moveHandler as EventListener);\n this.moveHandler = null;\n }\n if (this.upHandler) {\n document.removeEventListener('mouseup', this.upHandler);\n document.removeEventListener('touchend', this.upHandler);\n this.upHandler = null;\n }\n }\n\n ngOnDestroy(): void {\n this.removeListeners();\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const loaderVariants = cva(\n 'inline-flex items-center justify-center text-current',\n {\n variants: {\n size: {\n sm: 'h-4 w-4',\n md: 'h-6 w-6',\n lg: 'h-8 w-8',\n xl: 'h-12 w-12',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport type LoaderSize = 'sm' | 'md' | 'lg' | 'xl';\nexport type LoaderVariant = 'spinner' | 'dots' | 'bars';\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { loaderVariants, type LoaderSize, type LoaderVariant } from './loader.variants';\n\n@Component({\n selector: 'sny-loader',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'computedClass()',\n role: 'status',\n '[attr.aria-label]': '\"Loading\"',\n },\n template: `\n @switch (variant()) {\n @case ('spinner') {\n <svg class=\"animate-spin h-full w-full\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\">\n <circle class=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" stroke-width=\"4\"></circle>\n <path class=\"opacity-75\" fill=\"currentColor\" d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"></path>\n </svg>\n }\n @case ('dots') {\n <span class=\"flex items-center gap-1\">\n <span class=\"h-1.5 w-1.5 rounded-full bg-current animate-bounce [animation-delay:-0.3s]\"></span>\n <span class=\"h-1.5 w-1.5 rounded-full bg-current animate-bounce [animation-delay:-0.15s]\"></span>\n <span class=\"h-1.5 w-1.5 rounded-full bg-current animate-bounce\"></span>\n </span>\n }\n @case ('bars') {\n <span class=\"flex items-end gap-0.5 h-full\">\n <span class=\"w-1 bg-current animate-pulse rounded-sm [animation-delay:-0.3s]\" style=\"height:60%\"></span>\n <span class=\"w-1 bg-current animate-pulse rounded-sm [animation-delay:-0.15s]\" style=\"height:100%\"></span>\n <span class=\"w-1 bg-current animate-pulse rounded-sm\" style=\"height:40%\"></span>\n <span class=\"w-1 bg-current animate-pulse rounded-sm [animation-delay:-0.2s]\" style=\"height:80%\"></span>\n </span>\n }\n }\n `,\n})\nexport class SnyLoaderComponent {\n readonly variant = input<LoaderVariant>('spinner');\n readonly size = input<LoaderSize>('md');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(loaderVariants({ size: this.size() }), this.class())\n );\n}\n","import { Directive, ElementRef, computed, inject, input, model, InjectionToken } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport const SNY_TABS = new InjectionToken<SnyTabsDirective>('SnyTabs');\n\n@Directive({\n selector: '[snyTabs]',\n standalone: true,\n exportAs: 'snyTabs',\n providers: [{ provide: SNY_TABS, useExisting: SnyTabsDirective }],\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTabsDirective {\n readonly value = model<string>('');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('', this.class())\n );\n\n select(value: string): void {\n this.value.set(value);\n }\n}\n\n@Directive({\n selector: '[snyTabsList]',\n standalone: true,\n host: {\n role: 'tablist',\n '[class]': 'computedClass()',\n '(keydown)': 'onKeydown($event)',\n },\n})\nexport class SnyTabsListDirective {\n readonly class = input<string>('');\n private readonly elRef = inject(ElementRef);\n\n protected readonly computedClass = computed(() =>\n cn(\n 'inline-flex h-10 items-center justify-center rounded-sm bg-muted p-1 text-muted-foreground',\n this.class()\n )\n );\n\n onKeydown(event: KeyboardEvent): void {\n const triggers = Array.from(\n (this.elRef.nativeElement as HTMLElement).querySelectorAll<HTMLElement>('[role=\"tab\"]')\n );\n if (triggers.length === 0) return;\n\n const currentIndex = triggers.indexOf(document.activeElement as HTMLElement);\n if (currentIndex === -1) return;\n\n let nextIndex: number | null = null;\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowDown':\n event.preventDefault();\n nextIndex = (currentIndex + 1) % triggers.length;\n break;\n case 'ArrowLeft':\n case 'ArrowUp':\n event.preventDefault();\n nextIndex = (currentIndex - 1 + triggers.length) % triggers.length;\n break;\n case 'Home':\n event.preventDefault();\n nextIndex = 0;\n break;\n case 'End':\n event.preventDefault();\n nextIndex = triggers.length - 1;\n break;\n }\n if (nextIndex !== null) {\n triggers[nextIndex].focus();\n }\n }\n}\n\n@Directive({\n selector: '[snyTabsTrigger]',\n standalone: true,\n host: {\n role: 'tab',\n '[class]': 'computedClass()',\n '[attr.aria-selected]': 'isActive()',\n '[attr.tabindex]': 'isActive() ? 0 : -1',\n '(click)': 'tabs.select(value())',\n },\n})\nexport class SnyTabsTriggerDirective {\n readonly value = input.required<string>();\n readonly class = input<string>('');\n readonly tabs = inject(SNY_TABS);\n\n readonly isActive = computed(() => this.tabs.value() === this.value());\n\n protected readonly computedClass = computed(() =>\n cn(\n 'inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 cursor-pointer',\n this.isActive()\n ? 'bg-background text-foreground shadow-sm'\n : 'hover:bg-background/50',\n this.class()\n )\n );\n}\n\n@Directive({\n selector: '[snyTabsContent]',\n standalone: true,\n host: {\n role: 'tabpanel',\n '[class]': 'computedClass()',\n '[style.display]': 'isActive() ? null : \"none\"',\n },\n})\nexport class SnyTabsContentDirective {\n readonly value = input.required<string>();\n readonly class = input<string>('');\n private readonly tabs = inject(SNY_TABS);\n\n readonly isActive = computed(() => this.tabs.value() === this.value());\n\n protected readonly computedClass = computed(() =>\n cn('mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2', this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const tabsListVariants = cva(\n 'inline-flex h-10 items-center justify-center rounded-sm bg-muted p-1 text-muted-foreground',\n {\n variants: {},\n defaultVariants: {},\n }\n);\n\nexport const tabsTriggerVariants = cva(\n 'inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {},\n defaultVariants: {},\n }\n);\n","import { cva } from 'class-variance-authority';\n\nexport const selectTriggerVariants = cva(\n 'inline-flex w-full items-center justify-between whitespace-nowrap rounded-sm border border-border bg-background px-3 py-2 text-sm ring-offset-background transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n size: {\n sm: 'h-9 text-xs',\n md: 'h-10 text-sm',\n lg: 'h-11 text-base',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport type SelectSize = 'sm' | 'md' | 'lg';\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n HostListener,\n inject,\n input,\n model,\n OnDestroy,\n signal,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cn } from '../core/utils/cn';\nimport { selectTriggerVariants, type SelectSize } from './select.variants';\n\nexport interface SelectOption {\n value: string;\n label: string;\n}\n\n@Component({\n selector: 'sny-select',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'relative inline-block w-full',\n },\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SnySelectComponent), multi: true },\n ],\n template: `\n <button\n #triggerEl\n type=\"button\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open()\"\n aria-haspopup=\"listbox\"\n [disabled]=\"isDisabled()\"\n [class]=\"triggerClass()\"\n (click)=\"toggle()\"\n (keydown)=\"onTriggerKeydown($event)\"\n (blur)=\"onTouched()\"\n >\n <span [class]=\"selectedLabel() ? '' : 'text-muted-foreground'\">\n {{ selectedLabel() || placeholder() }}\n </span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"shrink-0 opacity-50\"><path d=\"m6 9 6 6 6-6\"/></svg>\n </button>\n\n @if (open()) {\n <div\n #dropdownEl\n class=\"fixed z-50 rounded-sm border border-border bg-popover text-popover-foreground shadow-md\"\n >\n <ul role=\"listbox\" class=\"max-h-60 overflow-auto p-1\">\n @for (opt of options(); track opt.value; let i = $index) {\n <li\n role=\"option\"\n [attr.aria-selected]=\"value() === opt.value\"\n [class]=\"optionClass(i)\"\n (mousedown)=\"select(opt); $event.preventDefault()\"\n (mouseenter)=\"activeIndex.set(i)\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\"\n fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\n [class]=\"value() === opt.value ? 'mr-2 shrink-0 opacity-100' : 'mr-2 shrink-0 opacity-0'\"\n ><path d=\"M20 6 9 17l-5-5\"/></svg>\n {{ opt.label }}\n </li>\n }\n </ul>\n </div>\n }\n `,\n})\nexport class SnySelectComponent implements ControlValueAccessor, OnDestroy {\n readonly options = input<SelectOption[]>([]);\n readonly placeholder = input('Select...');\n readonly size = input<SelectSize>('md');\n readonly disabled = input(false);\n readonly class = input<string>('');\n readonly value = model<string>('');\n\n readonly open = signal(false);\n readonly activeIndex = signal(0);\n\n private readonly _disabledByCva = signal(false);\n protected readonly isDisabled = computed(() => this.disabled() || this._disabledByCva());\n\n private readonly triggerRef = viewChild<ElementRef<HTMLButtonElement>>('triggerEl');\n private readonly dropdownRef = viewChild<ElementRef<HTMLDivElement>>('dropdownEl');\n private readonly elRef = inject(ElementRef);\n\n private scrollHandler: (() => void) | null = null;\n private resizeHandler: (() => void) | null = null;\n\n private _onChange: (value: string) => void = () => {};\n protected onTouched: () => void = () => {};\n private _writing = false;\n\n constructor() {\n effect(() => {\n const val = this.value();\n if (this._writing) {\n this._writing = false;\n return;\n }\n this._onChange(val);\n });\n }\n\n writeValue(val: string): void {\n this._writing = true;\n this.value.set(val ?? '');\n }\n\n registerOnChange(fn: (value: string) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByCva.set(isDisabled);\n }\n\n readonly selectedLabel = computed(() => {\n const v = this.value();\n if (!v) return '';\n const opt = this.options().find(o => o.value === v);\n return opt?.label ?? '';\n });\n\n protected readonly triggerClass = computed(() =>\n cn(selectTriggerVariants({ size: this.size() }), this.class())\n );\n\n optionClass(index: number): string {\n const base = 'relative flex cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors';\n const active = index === this.activeIndex() ? 'bg-accent text-accent-foreground' : 'hover:bg-accent/50';\n return cn(base, active);\n }\n\n private updateDropdownPosition(): void {\n const trigger = this.triggerRef()?.nativeElement;\n if (!trigger) return;\n const rect = trigger.getBoundingClientRect();\n const dropdown = this.dropdownRef()?.nativeElement;\n if (dropdown) {\n dropdown.style.top = `${rect.bottom + 4}px`;\n dropdown.style.left = `${rect.left}px`;\n dropdown.style.width = `${rect.width}px`;\n }\n }\n\n private addGlobalListeners(): void {\n this.removeGlobalListeners();\n this.scrollHandler = () => {\n requestAnimationFrame(() => this.updateDropdownPosition());\n };\n this.resizeHandler = () => {\n requestAnimationFrame(() => this.updateDropdownPosition());\n };\n document.addEventListener('scroll', this.scrollHandler, { capture: true, passive: true });\n window.addEventListener('resize', this.resizeHandler, { passive: true });\n }\n\n private removeGlobalListeners(): void {\n if (this.scrollHandler) {\n document.removeEventListener('scroll', this.scrollHandler, { capture: true } as EventListenerOptions);\n this.scrollHandler = null;\n }\n if (this.resizeHandler) {\n window.removeEventListener('resize', this.resizeHandler);\n this.resizeHandler = null;\n }\n }\n\n ngOnDestroy(): void {\n this.removeGlobalListeners();\n }\n\n toggle(): void {\n if (this.open()) {\n this.close();\n } else {\n this.open.set(true);\n this.activeIndex.set(\n Math.max(0, this.options().findIndex(o => o.value === this.value()))\n );\n this.addGlobalListeners();\n setTimeout(() => this.updateDropdownPosition());\n }\n }\n\n close(): void {\n this.open.set(false);\n this.removeGlobalListeners();\n }\n\n select(opt: SelectOption): void {\n this.value.set(opt.value);\n this.close();\n }\n\n onTriggerKeydown(event: KeyboardEvent): void {\n const items = this.options();\n if (!this.open()) {\n if (event.key === 'ArrowDown' || event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.toggle();\n }\n return;\n }\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n this.activeIndex.update(i => Math.min(i + 1, items.length - 1));\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.activeIndex.update(i => Math.max(i - 1, 0));\n break;\n case 'Enter':\n case ' ':\n event.preventDefault();\n if (items[this.activeIndex()]) {\n this.select(items[this.activeIndex()]);\n }\n break;\n case 'Escape':\n this.close();\n break;\n }\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent): void {\n if (!this.elRef.nativeElement.contains(event.target)) {\n this.close();\n }\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const tableVariants = cva(\n 'w-full caption-bottom text-sm border-collapse',\n {\n variants: {\n variant: {\n default: '',\n striped: '[&_tbody_tr:nth-child(even)]:bg-muted/50',\n bordered: 'border border-border [&_th]:border [&_th]:border-border [&_td]:border [&_td]:border-border',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport const tableCellVariants = cva(\n '',\n {\n variants: {\n density: {\n compact: 'px-2 py-1 text-xs',\n normal: 'px-4 py-3 text-sm',\n comfortable: 'px-6 py-4 text-base',\n },\n },\n defaultVariants: {\n density: 'normal',\n },\n }\n);\n\nexport type TableVariant = 'default' | 'striped' | 'bordered';\nexport type TableDensity = 'compact' | 'normal' | 'comfortable';\n","import { Directive, computed, inject, input, InjectionToken } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { tableVariants, tableCellVariants, type TableVariant, type TableDensity } from './table.variants';\n\nexport const SNY_TABLE = new InjectionToken<SnyTableDirective>('SnyTable');\n\n@Directive({\n selector: 'table[snyTable]',\n standalone: true,\n providers: [{ provide: SNY_TABLE, useExisting: SnyTableDirective }],\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTableDirective {\n readonly variant = input<TableVariant>('default');\n readonly density = input<TableDensity>('normal');\n readonly hoverable = input(false);\n readonly stickyHeader = input(false);\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(tableVariants({ variant: this.variant() }), this.class())\n );\n}\n\n@Directive({\n selector: 'thead[snyTableHeader]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTableHeaderDirective {\n readonly class = input<string>('');\n private readonly table = inject(SNY_TABLE, { optional: true });\n\n protected readonly computedClass = computed(() =>\n cn(\n '[&_tr]:border-b',\n this.table?.stickyHeader() ? 'sticky top-0 z-10 bg-background' : '',\n this.class()\n )\n );\n}\n\n@Directive({\n selector: 'tbody[snyTableBody]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTableBodyDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('[&_tr:last-child]:border-0', this.class())\n );\n}\n\n@Directive({\n selector: 'tr[snyTableRow]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTableRowDirective {\n readonly class = input<string>('');\n private readonly table = inject(SNY_TABLE, { optional: true });\n\n protected readonly computedClass = computed(() =>\n cn(\n 'border-b border-border transition-colors data-[state=selected]:bg-muted',\n this.table?.hoverable() ? 'hover:bg-muted/50' : '',\n this.class()\n )\n );\n}\n\n@Directive({\n selector: 'th[snyTableHead]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTableHeadDirective {\n readonly class = input<string>('');\n private readonly table = inject(SNY_TABLE, { optional: true });\n\n protected readonly computedClass = computed(() =>\n cn(\n 'text-left font-medium text-muted-foreground [&[align=center]]:text-center [&[align=right]]:text-right',\n tableCellVariants({ density: this.table?.density() ?? 'normal' }),\n this.class()\n )\n );\n}\n\n@Directive({\n selector: 'td[snyTableCell]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTableCellDirective {\n readonly class = input<string>('');\n private readonly table = inject(SNY_TABLE, { optional: true });\n\n protected readonly computedClass = computed(() =>\n cn(\n '[&[align=center]]:text-center [&[align=right]]:text-right',\n tableCellVariants({ density: this.table?.density() ?? 'normal' }),\n this.class()\n )\n );\n}\n\n@Directive({\n selector: 'tfoot[snyTableFooter]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTableFooterDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('border-t border-border font-medium [&>tr]:last:border-b-0', this.class())\n );\n}\n\n@Directive({\n selector: 'caption[snyTableCaption]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTableCaptionDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('mt-4 text-sm text-muted-foreground', this.class())\n );\n}\n","import type { Observable } from 'rxjs';\n\ninterface CdkDialogRefLike<R> {\n close(result?: R): void;\n readonly closed: Observable<R | undefined>;\n}\n\nexport class SnySheetRef<R = unknown> {\n constructor(private readonly cdkRef: CdkDialogRefLike<R>) {}\n\n close(result?: R): void {\n this.cdkRef.close(result);\n }\n\n get closed(): Observable<R | undefined> {\n return this.cdkRef.closed;\n }\n}\n","export type SheetSide = 'left' | 'right' | 'top' | 'bottom';\n\nexport interface SnySheetConfig {\n side?: SheetSide;\n closeOnBackdrop?: boolean;\n closeOnEsc?: boolean;\n data?: unknown;\n ariaLabelledBy?: string;\n ariaDescribedBy?: string;\n}\n\nexport const DEFAULT_SHEET_CONFIG: SnySheetConfig = {\n side: 'right',\n closeOnBackdrop: true,\n closeOnEsc: true,\n};\n\nexport const SHEET_PANEL_CLASS: Record<SheetSide, string> = {\n right: 'sny-sheet-right',\n left: 'sny-sheet-left',\n top: 'sny-sheet-top',\n bottom: 'sny-sheet-bottom',\n};\n","import { Injectable, inject, InjectionToken, Injector } from '@angular/core';\nimport { Dialog, DialogRef as CdkDialogRef } from '@angular/cdk/dialog';\nimport { type ComponentType, createGlobalPositionStrategy, type GlobalPositionStrategy } from '@angular/cdk/overlay';\nimport { SnySheetRef } from './sheet-ref';\nimport { DEFAULT_SHEET_CONFIG, SHEET_PANEL_CLASS, type SheetSide, type SnySheetConfig } from './sheet.types';\n\nexport const SNY_SHEET_DATA = new InjectionToken<unknown>('SNY_SHEET_DATA');\n\ninterface SheetOverlayConfig {\n positionStrategy: GlobalPositionStrategy;\n width?: string;\n maxWidth?: string;\n height?: string;\n maxHeight?: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class SnySheetService {\n private readonly cdkDialog = inject(Dialog);\n private readonly injector = inject(Injector);\n\n open<T, R = unknown>(component: ComponentType<T>, config: SnySheetConfig = {}): SnySheetRef<R> {\n const merged = { ...DEFAULT_SHEET_CONFIG, ...config };\n const side = merged.side ?? 'right';\n const disableClose = !merged.closeOnBackdrop || !merged.closeOnEsc;\n const overlay = this._getOverlayConfig(side);\n\n const cdkRef: CdkDialogRef<R, T> = this.cdkDialog.open(component, {\n disableClose,\n hasBackdrop: true,\n backdropClass: 'sny-dialog-backdrop',\n panelClass: ['sny-sheet-panel', SHEET_PANEL_CLASS[side]],\n positionStrategy: overlay.positionStrategy,\n width: overlay.width,\n maxWidth: overlay.maxWidth,\n height: overlay.height,\n maxHeight: overlay.maxHeight,\n ariaLabelledBy: merged.ariaLabelledBy,\n ariaDescribedBy: merged.ariaDescribedBy,\n data: merged.data,\n providers: merged.data != null\n ? [{ provide: SNY_SHEET_DATA, useValue: merged.data }]\n : [],\n });\n\n if (disableClose) {\n if (merged.closeOnBackdrop) {\n const sub = cdkRef.backdropClick.subscribe(() => cdkRef.close());\n cdkRef.closed.subscribe(() => sub.unsubscribe());\n }\n if (merged.closeOnEsc) {\n const sub = cdkRef.keydownEvents.subscribe(event => {\n if (event.key === 'Escape') cdkRef.close();\n });\n cdkRef.closed.subscribe(() => sub.unsubscribe());\n }\n }\n\n return new SnySheetRef<R>(cdkRef);\n }\n\n closeAll(): void {\n this.cdkDialog.closeAll();\n }\n\n private _getOverlayConfig(side: SheetSide): SheetOverlayConfig {\n const strategy = createGlobalPositionStrategy(this.injector);\n\n switch (side) {\n case 'right':\n return {\n positionStrategy: strategy.top('0').right('0'),\n width: '75%',\n maxWidth: '24rem',\n height: '100vh',\n maxHeight: '100vh',\n };\n case 'left':\n return {\n positionStrategy: strategy.top('0').left('0'),\n width: '75%',\n maxWidth: '24rem',\n height: '100vh',\n maxHeight: '100vh',\n };\n case 'top':\n return {\n positionStrategy: strategy.top('0').centerHorizontally(),\n width: '100vw',\n maxWidth: '100vw',\n };\n case 'bottom':\n return {\n positionStrategy: strategy.bottom('0').centerHorizontally(),\n width: '100vw',\n maxWidth: '100vw',\n };\n }\n }\n}\n","import { Directive, computed, input, inject } from '@angular/core';\nimport { DialogRef } from '@angular/cdk/dialog';\nimport { cn } from '../core/utils/cn';\n\n@Directive({\n selector: '[snySheetHeader]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnySheetHeaderDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex flex-col space-y-2', this.class())\n );\n}\n\n@Directive({\n selector: '[snySheetTitle]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnySheetTitleDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-lg font-semibold text-foreground', this.class())\n );\n}\n\n@Directive({\n selector: '[snySheetDescription]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnySheetDescriptionDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-sm text-muted-foreground', this.class())\n );\n}\n\n@Directive({\n selector: '[snySheetContent]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnySheetContentDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('py-4', this.class())\n );\n}\n\n@Directive({\n selector: '[snySheetClose]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '(click)': 'onClick()',\n },\n})\nexport class SnySheetCloseDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn(\n 'absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2',\n this.class()\n )\n );\n\n private readonly dialogRef = inject(DialogRef, { optional: true });\n\n onClick(): void {\n this.dialogRef?.close();\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const alertVariants = cva(\n 'relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground',\n {\n variants: {\n variant: {\n default:\n 'bg-background text-foreground border-border',\n destructive:\n 'border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive bg-destructive/10',\n success:\n 'border-green-500/50 text-green-700 dark:text-green-400 dark:border-green-500 [&>svg]:text-green-600 bg-green-50 dark:bg-green-950/30',\n warning:\n 'border-yellow-500/50 text-yellow-700 dark:text-yellow-400 dark:border-yellow-500 [&>svg]:text-yellow-600 bg-yellow-50 dark:bg-yellow-950/30',\n info: 'border-blue-500/50 text-blue-700 dark:text-blue-400 dark:border-blue-500 [&>svg]:text-blue-600 bg-blue-50 dark:bg-blue-950/30',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type AlertVariant = 'default' | 'destructive' | 'success' | 'warning' | 'info';\n","import { Directive, computed, input, signal } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { alertVariants, type AlertVariant } from './alert.variants';\n\n@Directive({\n selector: '[snyAlert]',\n exportAs: 'snyAlert',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[attr.role]': 'role()',\n '[attr.aria-live]': 'ariaLive()',\n '[style.display]': 'visible() ? null : \"none\"',\n },\n})\nexport class SnyAlertDirective {\n readonly variant = input<AlertVariant>('default');\n readonly dismissible = input(false);\n readonly class = input<string>('');\n\n readonly visible = signal(true);\n\n protected readonly role = computed(() => {\n const v = this.variant();\n return v === 'destructive' || v === 'warning' || v === 'info' ? 'alert' : 'status';\n });\n\n protected readonly ariaLive = computed(() => {\n const v = this.variant();\n return v === 'destructive' || v === 'warning' ? 'assertive' : 'polite';\n });\n\n protected readonly computedClass = computed(() =>\n cn(alertVariants({ variant: this.variant() }), this.class())\n );\n\n dismiss(): void {\n this.visible.set(false);\n }\n}\n\n@Directive({\n selector: '[snyAlertTitle]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n },\n})\nexport class SnyAlertTitleDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('mb-1 font-medium leading-none tracking-tight', this.class())\n );\n}\n\n@Directive({\n selector: '[snyAlertDescription]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n },\n})\nexport class SnyAlertDescriptionDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('text-sm [&_p]:leading-relaxed', this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const textareaVariants = cva(\n 'flex w-full rounded-md border bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n {\n variants: {\n variant: {\n default: 'border-input',\n error:\n 'border-destructive focus-visible:ring-destructive text-destructive placeholder:text-destructive/60',\n },\n textareaSize: {\n sm: 'min-h-[60px] text-xs',\n md: 'min-h-[80px] text-sm',\n lg: 'min-h-[120px] text-base',\n },\n resize: {\n none: 'resize-none',\n vertical: 'resize-y',\n horizontal: 'resize-x',\n both: 'resize',\n },\n },\n defaultVariants: {\n variant: 'default',\n textareaSize: 'md',\n resize: 'vertical',\n },\n }\n);\n\nexport type TextareaVariant = 'default' | 'error';\nexport type TextareaSize = 'sm' | 'md' | 'lg';\nexport type TextareaResize = 'none' | 'vertical' | 'horizontal' | 'both';\n","import {\n Directive,\n computed,\n input,\n effect,\n inject,\n ElementRef,\n afterNextRender,\n} from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport {\n textareaVariants,\n type TextareaVariant,\n type TextareaSize,\n type TextareaResize,\n} from './textarea.variants';\n\n@Directive({\n selector: 'textarea[snyTextarea]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[attr.aria-invalid]': 'variant() === \"error\" || null',\n '(input)': 'onInput()',\n },\n})\nexport class SnyTextareaDirective {\n readonly variant = input<TextareaVariant>('default');\n readonly textareaSize = input<TextareaSize>('md');\n readonly resize = input<TextareaResize>('vertical');\n readonly autoResize = input(false);\n readonly class = input<string>('');\n\n private readonly el = inject(ElementRef<HTMLTextAreaElement>);\n\n protected readonly computedClass = computed(() =>\n cn(\n textareaVariants({\n variant: this.variant(),\n textareaSize: this.textareaSize(),\n resize: this.autoResize() ? 'none' : this.resize(),\n }),\n this.class()\n )\n );\n\n constructor() {\n afterNextRender(() => {\n if (this.autoResize()) {\n this.adjustHeight();\n }\n });\n\n effect(() => {\n if (this.autoResize()) {\n this.adjustHeight();\n }\n });\n }\n\n protected onInput(): void {\n if (this.autoResize()) {\n this.adjustHeight();\n }\n }\n\n private adjustHeight(): void {\n const textarea = this.el.nativeElement;\n textarea.style.height = 'auto';\n textarea.style.height = `${textarea.scrollHeight}px`;\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const progressTrackVariants = cva(\n 'relative w-full overflow-hidden rounded-full bg-secondary',\n {\n variants: {\n size: {\n sm: 'h-1.5',\n md: 'h-2.5',\n lg: 'h-4',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport const progressBarVariants = cva(\n 'h-full rounded-full transition-all duration-300 ease-in-out',\n {\n variants: {\n variant: {\n default: 'bg-primary',\n success: 'bg-green-600 dark:bg-green-500',\n warning: 'bg-yellow-500 dark:bg-yellow-400',\n error: 'bg-destructive',\n info: 'bg-blue-600 dark:bg-blue-500',\n },\n indeterminate: {\n true: 'animate-progress-indeterminate w-1/3',\n false: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n indeterminate: false,\n },\n }\n);\n\nexport type ProgressVariant = 'default' | 'success' | 'warning' | 'error' | 'info';\nexport type ProgressSize = 'sm' | 'md' | 'lg';\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport {\n progressTrackVariants,\n progressBarVariants,\n type ProgressVariant,\n type ProgressSize,\n} from './progress.variants';\n\n@Component({\n selector: 'sny-progress',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'role': 'progressbar',\n '[attr.aria-valuenow]': 'indeterminate() ? null : value()',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': 'max()',\n '[attr.aria-label]': 'label()',\n '[class]': '\"w-full\"',\n },\n template: `\n <div [class]=\"trackClass()\">\n <div\n [class]=\"barClass()\"\n [style.width.%]=\"indeterminate() ? null : percentage()\"\n ></div>\n </div>\n `,\n styles: `\n @keyframes progress-indeterminate {\n 0% { transform: translateX(-100%); }\n 100% { transform: translateX(400%); }\n }\n :host .animate-progress-indeterminate {\n animation: progress-indeterminate 1.5s ease-in-out infinite;\n }\n `,\n})\nexport class SnyProgressComponent {\n readonly value = input(0);\n readonly max = input(100);\n readonly variant = input<ProgressVariant>('default');\n readonly size = input<ProgressSize>('md');\n readonly indeterminate = input(false);\n readonly label = input('Progress');\n readonly class = input<string>('');\n\n readonly percentage = computed(() =>\n Math.min(100, (this.value() / this.max()) * 100)\n );\n\n protected readonly trackClass = computed(() =>\n cn(progressTrackVariants({ size: this.size() }), this.class())\n );\n\n protected readonly barClass = computed(() =>\n cn(\n progressBarVariants({\n variant: this.variant(),\n indeterminate: this.indeterminate(),\n })\n )\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const tooltipVariants = cva(\n 'z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95',\n {\n variants: {\n position: {\n top: 'slide-in-from-bottom-2',\n bottom: 'slide-in-from-top-2',\n left: 'slide-in-from-right-2',\n right: 'slide-in-from-left-2',\n },\n },\n defaultVariants: {\n position: 'top',\n },\n }\n);\n\nexport type TooltipPosition = 'top' | 'bottom' | 'left' | 'right';\n","import {\n Directive,\n ElementRef,\n OnDestroy,\n Renderer2,\n computed,\n inject,\n input,\n signal,\n afterNextRender,\n} from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { tooltipVariants, type TooltipPosition } from './tooltip.variants';\n\nlet tooltipIdCounter = 0;\n\n@Directive({\n selector: '[snyTooltip]',\n standalone: true,\n exportAs: 'snyTooltip',\n host: {\n '(mouseenter)': 'show()',\n '(mouseleave)': 'hide()',\n '(focus)': 'show()',\n '(blur)': 'hide()',\n '(keydown.escape)': 'hide()',\n '[attr.aria-describedby]': 'isOpen() ? tooltipId : null',\n },\n})\nexport class SnyTooltipDirective implements OnDestroy {\n readonly snyTooltip = input.required<string>();\n readonly tooltipPosition = input<TooltipPosition>('top');\n readonly tooltipDelay = input(300);\n readonly tooltipDisabled = input(false);\n readonly class = input<string>('');\n\n readonly isOpen = signal(false);\n readonly tooltipId = `sny-tooltip-${++tooltipIdCounter}`;\n\n private readonly el = inject(ElementRef<HTMLElement>);\n private readonly renderer = inject(Renderer2);\n private showTimeout: ReturnType<typeof setTimeout> | null = null;\n private tooltipEl: HTMLElement | null = null;\n\n constructor() {\n afterNextRender(() => {\n // cleanup handled in ngOnDestroy\n });\n }\n\n show(): void {\n if (this.tooltipDisabled()) return;\n this.showTimeout = setTimeout(() => {\n this.createTooltip();\n this.isOpen.set(true);\n }, this.tooltipDelay());\n }\n\n hide(): void {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = null;\n }\n this.destroyTooltip();\n this.isOpen.set(false);\n }\n\n ngOnDestroy(): void {\n this.hide();\n }\n\n private createTooltip(): void {\n if (this.tooltipEl) return;\n\n const tooltip = this.renderer.createElement('div') as HTMLElement;\n tooltip.id = this.tooltipId;\n tooltip.setAttribute('role', 'tooltip');\n tooltip.className = cn(\n tooltipVariants({ position: this.tooltipPosition() }),\n 'fixed pointer-events-none',\n this.class()\n );\n tooltip.textContent = this.snyTooltip();\n\n this.renderer.appendChild(document.body, tooltip);\n this.tooltipEl = tooltip;\n\n this.positionTooltip();\n }\n\n private positionTooltip(): void {\n if (!this.tooltipEl) return;\n\n const hostRect = this.el.nativeElement.getBoundingClientRect();\n const tooltipRect = this.tooltipEl.getBoundingClientRect();\n const position = this.tooltipPosition();\n const gap = 8;\n\n let top = 0;\n let left = 0;\n\n switch (position) {\n case 'top':\n top = hostRect.top - tooltipRect.height - gap;\n left = hostRect.left + (hostRect.width - tooltipRect.width) / 2;\n break;\n case 'bottom':\n top = hostRect.bottom + gap;\n left = hostRect.left + (hostRect.width - tooltipRect.width) / 2;\n break;\n case 'left':\n top = hostRect.top + (hostRect.height - tooltipRect.height) / 2;\n left = hostRect.left - tooltipRect.width - gap;\n break;\n case 'right':\n top = hostRect.top + (hostRect.height - tooltipRect.height) / 2;\n left = hostRect.right + gap;\n break;\n }\n\n this.tooltipEl.style.top = `${top}px`;\n this.tooltipEl.style.left = `${left}px`;\n }\n\n private destroyTooltip(): void {\n if (this.tooltipEl) {\n this.tooltipEl.remove();\n this.tooltipEl = null;\n }\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const dropdownContentVariants = cva(\n 'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md',\n {\n variants: {},\n defaultVariants: {},\n }\n);\n\nexport const dropdownItemVariants = cva(\n 'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[active]:bg-accent data-[active]:text-accent-foreground',\n {\n variants: {\n variant: {\n default: '',\n destructive:\n 'text-destructive data-[active]:bg-destructive/10 data-[active]:text-destructive',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type DropdownItemVariant = 'default' | 'destructive';\n","import { Directive, ElementRef, HostListener, InjectionToken, computed, inject, input, signal } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport {\n dropdownContentVariants,\n dropdownItemVariants,\n type DropdownItemVariant,\n} from './dropdown.variants';\n\nexport const SNY_DROPDOWN = new InjectionToken<SnyDropdownDirective>('SnyDropdown');\n\n@Directive({\n selector: '[snyDropdown]',\n standalone: true,\n exportAs: 'snyDropdown',\n providers: [{ provide: SNY_DROPDOWN, useExisting: SnyDropdownDirective }],\n host: {\n '[class]': '\"relative inline-block\"',\n },\n})\nexport class SnyDropdownDirective {\n private readonly elementRef = inject(ElementRef);\n readonly isOpen = signal(false);\n\n toggle(): void { this.isOpen.update((v) => !v); }\n open(): void { this.isOpen.set(true); }\n close(): void { this.isOpen.set(false); }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent): void {\n if (!this.elementRef.nativeElement.contains(event.target)) {\n this.close();\n }\n }\n\n @HostListener('keydown.escape')\n onEscape(): void {\n this.close();\n }\n}\n\n@Directive({\n selector: '[snyDropdownTrigger]',\n standalone: true,\n host: {\n '(click)': 'dropdown.toggle()',\n '[attr.aria-expanded]': 'dropdown.isOpen()',\n '[attr.aria-haspopup]': '\"menu\"',\n },\n})\nexport class SnyDropdownTriggerDirective {\n readonly dropdown = inject(SNY_DROPDOWN);\n}\n\n@Directive({\n selector: '[snyDropdownContent]',\n standalone: true,\n host: {\n 'role': 'menu',\n '[class]': 'computedClass()',\n '[style.display]': 'dropdown.isOpen() ? \"\" : \"none\"',\n },\n})\nexport class SnyDropdownContentDirective {\n readonly dropdown = inject(SNY_DROPDOWN);\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(\n dropdownContentVariants(),\n 'absolute mt-1 left-0 animate-in fade-in-0 zoom-in-95',\n this.class()\n )\n );\n}\n\n@Directive({\n selector: '[snyMenuContent]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n },\n})\nexport class SnyMenuContentDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(dropdownContentVariants(), this.class())\n );\n}\n\n@Directive({\n selector: '[snyMenuItem]',\n standalone: true,\n host: {\n 'role': 'menuitem',\n '[class]': 'computedClass()',\n '(click)': 'onClick()',\n },\n})\nexport class SnyMenuItemDirective {\n private readonly dropdown = inject(SNY_DROPDOWN, { optional: true });\n readonly variant = input<DropdownItemVariant>('default');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(dropdownItemVariants({ variant: this.variant() }), 'cursor-pointer hover:bg-accent hover:text-accent-foreground', this.class())\n );\n\n onClick(): void {\n this.dropdown?.close();\n }\n}\n\n@Directive({\n selector: '[snyMenuSeparator]',\n standalone: true,\n host: {\n 'role': 'separator',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyMenuSeparatorDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('-mx-1 my-1 h-px bg-muted', this.class())\n );\n}\n\n@Directive({\n selector: '[snyMenuLabel]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n },\n})\nexport class SnyMenuLabelDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('px-2 py-1.5 text-sm font-semibold', this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const fileInputVariants = cva(\n 'flex w-full cursor-pointer items-center gap-2 rounded-md border bg-background px-3 py-2 text-sm ring-offset-background transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50',\n {\n variants: {\n variant: {\n default: 'border-input',\n error: 'border-destructive focus-visible:ring-destructive',\n },\n size: {\n sm: 'h-8 text-xs',\n md: 'h-10 text-sm',\n lg: 'h-12 text-base',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n }\n);\n\nexport type FileInputVariant = 'default' | 'error';\nexport type FileInputSize = 'sm' | 'md' | 'lg';\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n forwardRef,\n input,\n model,\n output,\n signal,\n viewChild,\n ElementRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cn } from '../core/utils/cn';\nimport {\n fileInputVariants,\n type FileInputVariant,\n type FileInputSize,\n} from './file-input.variants';\n\n@Component({\n selector: 'sny-file-input',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': '\"w-full\"',\n },\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SnyFileInputComponent), multi: true },\n ],\n template: `\n <label\n [class]=\"labelClass()\"\n (dragover)=\"onDragOver($event)\"\n (dragleave)=\"onDragLeave($event)\"\n (drop)=\"onDrop($event)\"\n >\n <input\n #fileInput\n type=\"file\"\n class=\"sr-only\"\n [accept]=\"accept()\"\n [multiple]=\"multiple()\"\n [disabled]=\"isDisabled()\"\n [attr.aria-label]=\"placeholder()\"\n [attr.aria-invalid]=\"variant() === 'error' || null\"\n (change)=\"onFileSelected($event)\"\n (blur)=\"onTouched()\"\n />\n <span class=\"truncate text-muted-foreground\">{{ fileName() }}</span>\n </label>\n `,\n})\nexport class SnyFileInputComponent implements ControlValueAccessor {\n readonly accept = input('');\n readonly multiple = input(false);\n readonly disabled = input(false);\n readonly placeholder = input('Choose file...');\n readonly variant = input<FileInputVariant>('default');\n readonly size = input<FileInputSize>('md');\n readonly maxSize = input(0);\n readonly class = input<string>('');\n\n readonly value = model<FileList | null>(null);\n readonly fileChange = output<FileList>();\n readonly error = output<string>();\n\n private readonly _disabledByCva = signal(false);\n protected readonly isDisabled = computed(() => this.disabled() || this._disabledByCva());\n\n private readonly fileInputRef = viewChild<ElementRef<HTMLInputElement>>('fileInput');\n readonly isDragOver = signal(false);\n\n private _onChange: (value: FileList | null) => void = () => {};\n protected onTouched: () => void = () => {};\n private _writing = false;\n\n constructor() {\n effect(() => {\n const val = this.value();\n if (this._writing) {\n this._writing = false;\n return;\n }\n this._onChange(val);\n });\n }\n\n writeValue(val: FileList | null): void {\n this._writing = true;\n this.value.set(val ?? null);\n }\n\n registerOnChange(fn: (value: FileList | null) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByCva.set(isDisabled);\n }\n\n readonly fileName = computed(() => {\n const files = this.value();\n if (!files || files.length === 0) return this.placeholder();\n if (files.length === 1) return files[0].name;\n return `${files.length} files selected`;\n });\n\n protected readonly labelClass = computed(() =>\n cn(\n fileInputVariants({ variant: this.variant(), size: this.size() }),\n this.isDragOver() && 'ring-2 ring-ring',\n this.class()\n )\n );\n\n onFileSelected(event: Event): void {\n const input = event.target as HTMLInputElement;\n if (input.files) {\n this.processFiles(input.files);\n }\n }\n\n onDragOver(event: DragEvent): void {\n event.preventDefault();\n if (!this.isDisabled()) {\n this.isDragOver.set(true);\n }\n }\n\n onDragLeave(event: DragEvent): void {\n event.preventDefault();\n this.isDragOver.set(false);\n }\n\n onDrop(event: DragEvent): void {\n event.preventDefault();\n this.isDragOver.set(false);\n if (!this.isDisabled() && event.dataTransfer?.files) {\n this.processFiles(event.dataTransfer.files);\n }\n }\n\n clear(): void {\n this.value.set(null);\n const inputEl = this.fileInputRef()?.nativeElement;\n if (inputEl) inputEl.value = '';\n }\n\n private processFiles(files: FileList): void {\n const maxSize = this.maxSize();\n if (maxSize > 0) {\n for (let i = 0; i < files.length; i++) {\n if (files[i].size > maxSize) {\n this.error.emit(`File \"${files[i].name}\" exceeds maximum size of ${maxSize} bytes`);\n return;\n }\n }\n }\n this.value.set(files);\n this.fileChange.emit(files);\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const fieldsetVariants = cva('space-y-4', {\n variants: {\n variant: {\n default: '',\n bordered: 'rounded-lg border border-border p-4',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\nexport type FieldsetVariant = 'default' | 'bordered';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { fieldsetVariants, type FieldsetVariant } from './fieldset.variants';\n\n@Directive({\n selector: 'fieldset[snyFieldset]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[attr.disabled]': 'disabled() || null',\n '[attr.aria-disabled]': 'disabled() || null',\n },\n})\nexport class SnyFieldsetDirective {\n readonly variant = input<FieldsetVariant>('default');\n readonly disabled = input(false);\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(fieldsetVariants({ variant: this.variant() }), this.class())\n );\n}\n\n@Directive({\n selector: 'legend[snyFieldsetLegend]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n },\n})\nexport class SnyFieldsetLegendDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('text-sm font-medium leading-none', this.class())\n );\n}\n\n@Directive({\n selector: '[snyFieldsetContent]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n },\n})\nexport class SnyFieldsetContentDirective {\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('space-y-2', this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const ratingVariants = cva(\n 'inline-flex items-center gap-0.5 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 rounded',\n {\n variants: {\n size: {\n sm: '[&_svg]:w-4 [&_svg]:h-4',\n md: '[&_svg]:w-5 [&_svg]:h-5',\n lg: '[&_svg]:w-7 [&_svg]:h-7',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport type RatingSize = 'sm' | 'md' | 'lg';\nexport type RatingVariant = 'star' | 'heart';\n","import { ChangeDetectionStrategy, Component, computed, effect, forwardRef, input, model, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cn } from '../core/utils/cn';\nimport { ratingVariants, type RatingSize, type RatingVariant } from './rating.variants';\n\ninterface StarState {\n index: number;\n fill: 'full' | 'half' | 'empty';\n}\n\n@Component({\n selector: 'sny-rating',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'role': 'slider',\n 'tabindex': '0',\n '[attr.aria-valuenow]': 'value()',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': 'max()',\n '[attr.aria-label]': '\"Rating\"',\n '[attr.aria-readonly]': 'readonly() || null',\n '[class]': 'computedClass()',\n '(keydown)': 'onKeydown($event)',\n '(mouseleave)': 'onMouseLeave()',\n '(blur)': 'onTouched()',\n },\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SnyRatingComponent), multi: true },\n ],\n template: `\n @for (star of stars(); track star.index) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n [class]=\"starClass(star)\"\n (click)=\"onStarClick(star.index + 1)\"\n (mouseenter)=\"onStarHover(star.index + 1)\"\n >\n @if (ratingVariant() === 'star') {\n <polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\" />\n } @else {\n <path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\" />\n }\n </svg>\n }\n `,\n})\nexport class SnyRatingComponent implements ControlValueAccessor {\n readonly value = model(0);\n readonly max = input(5);\n readonly readonly = input(false);\n readonly size = input<RatingSize>('md');\n readonly ratingVariant = input<RatingVariant>('star');\n readonly half = input(false);\n readonly class = input<string>('');\n\n private readonly _disabledByCva = signal(false);\n protected readonly isDisabled = computed(() => this.readonly() || this._disabledByCva());\n\n readonly hoverValue = signal<number | null>(null);\n\n private _onChange: (value: number) => void = () => {};\n protected onTouched: () => void = () => {};\n private _writing = false;\n\n constructor() {\n effect(() => {\n const val = this.value();\n if (this._writing) {\n this._writing = false;\n return;\n }\n this._onChange(val);\n });\n }\n\n writeValue(val: number): void {\n this._writing = true;\n this.value.set(val ?? 0);\n }\n\n registerOnChange(fn: (value: number) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByCva.set(isDisabled);\n }\n\n readonly displayValue = computed(() => this.hoverValue() ?? this.value());\n\n readonly stars = computed<StarState[]>(() => {\n const display = this.displayValue();\n const m = this.max();\n return Array.from({ length: m }, (_, i) => {\n let fill: 'full' | 'half' | 'empty';\n if (i + 1 <= display) {\n fill = 'full';\n } else if (this.half() && i + 0.5 <= display) {\n fill = 'half';\n } else {\n fill = 'empty';\n }\n return { index: i, fill };\n });\n });\n\n protected readonly computedClass = computed(() =>\n cn(\n ratingVariants({ size: this.size() }),\n this.isDisabled() && 'pointer-events-none',\n this.class()\n )\n );\n\n starClass(star: StarState): string {\n const base = 'cursor-pointer transition-colors';\n switch (star.fill) {\n case 'full':\n return cn(base, 'fill-yellow-400 stroke-yellow-400');\n case 'half':\n return cn(base, 'fill-yellow-400/50 stroke-yellow-400');\n case 'empty':\n return cn(base, 'fill-none stroke-muted-foreground');\n }\n }\n\n onStarClick(index: number): void {\n if (this.isDisabled()) return;\n this.value.set(index);\n }\n\n onStarHover(index: number): void {\n if (this.isDisabled()) return;\n this.hoverValue.set(index);\n }\n\n onMouseLeave(): void {\n this.hoverValue.set(null);\n }\n\n onKeydown(event: KeyboardEvent): void {\n if (this.isDisabled()) return;\n const step = this.half() ? 0.5 : 1;\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowUp':\n event.preventDefault();\n this.value.update((v) => Math.min(this.max(), v + step));\n break;\n case 'ArrowLeft':\n case 'ArrowDown':\n event.preventDefault();\n this.value.update((v) => Math.max(0, v - step));\n break;\n case 'Home':\n event.preventDefault();\n this.value.set(0);\n break;\n case 'End':\n event.preventDefault();\n this.value.set(this.max());\n break;\n }\n }\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport type NavbarVariant = 'default' | 'bordered' | 'floating';\n\n@Directive({\n selector: '[snyNavbar]',\n standalone: true,\n host: {\n 'role': 'navigation',\n '[attr.aria-label]': 'ariaLabel()',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyNavbarDirective {\n readonly variant = input<NavbarVariant>('default');\n readonly sticky = input(false);\n readonly ariaLabel = input<string>('Main navigation');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() => {\n const v = this.variant();\n const base = 'flex items-center justify-between px-4 py-2 w-full bg-background';\n const variantClass =\n v === 'bordered' ? 'border-b border-border' :\n v === 'floating' ? 'mx-4 mt-2 rounded-lg border border-border shadow-sm' :\n '';\n const stickyClass = this.sticky() ? 'sticky top-0 z-50' : '';\n return cn(base, variantClass, stickyClass, this.class());\n });\n}\n\n@Directive({\n selector: '[snyNavbarBrand]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyNavbarBrandDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() => cn('flex items-center gap-2 font-bold text-lg', this.class()));\n}\n\n@Directive({\n selector: '[snyNavbarContent]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyNavbarContentDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() => cn('flex items-center gap-1', this.class()));\n}\n\n@Directive({\n selector: '[snyNavbarEnd]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyNavbarEndDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() => cn('flex items-center gap-2 ml-auto', this.class()));\n}\n","import { ChangeDetectionStrategy, Component, Directive, InjectionToken, computed, inject, input, signal } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport const SNY_DRAWER = new InjectionToken<SnyDrawerLayoutComponent>('SnyDrawer');\n\n@Component({\n selector: '[snyDrawerLayout]',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: 'snyDrawerLayout',\n providers: [{ provide: SNY_DRAWER, useExisting: SnyDrawerLayoutComponent }],\n host: {\n '[class]': 'computedClass()',\n },\n template: `\n <ng-content />\n @if (isOpen() && overlay()) {\n <div\n class=\"fixed inset-0 z-30 bg-black/50 transition-opacity\"\n (click)=\"close()\"\n ></div>\n }\n `,\n})\nexport class SnyDrawerLayoutComponent {\n readonly class = input<string>('');\n readonly overlay = input(true);\n readonly isOpen = signal(false);\n\n protected readonly computedClass = computed(() =>\n cn('relative flex h-full w-full overflow-hidden', this.class())\n );\n\n toggle(): void { this.isOpen.update((v) => !v); }\n open(): void { this.isOpen.set(true); }\n close(): void { this.isOpen.set(false); }\n}\n\n/** @deprecated Use SnyDrawerLayoutComponent instead */\nexport const SnyDrawerLayoutDirective = SnyDrawerLayoutComponent;\n\n@Directive({\n selector: '[snyDrawerContent]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n },\n})\nexport class SnyDrawerContentDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex-1 overflow-auto', this.class())\n );\n}\n\nexport type DrawerSide = 'left' | 'right';\n\n@Directive({\n selector: '[snyDrawerSide]',\n standalone: true,\n host: {\n 'role': 'navigation',\n 'aria-label': 'Sidebar navigation',\n '[attr.aria-modal]': 'drawer.overlay() && drawer.isOpen() || null',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyDrawerSideDirective {\n protected readonly drawer = inject(SNY_DRAWER);\n readonly side = input<DrawerSide>('left');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() => {\n const isOpen = this.drawer.isOpen();\n const s = this.side();\n const base = 'fixed inset-y-0 z-40 w-64 bg-background border-r border-border transition-transform duration-300 ease-in-out';\n const sideClass = s === 'left' ? 'left-0' : 'right-0 border-l border-r-0';\n const transformClass = isOpen\n ? 'translate-x-0'\n : s === 'left' ? '-translate-x-full' : 'translate-x-full';\n return cn(base, sideClass, transformClass, this.class());\n });\n}\n","import { cva } from 'class-variance-authority';\n\nexport const paginationItemVariants = cva(\n 'inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n variant: {\n default: 'bg-background hover:bg-accent hover:text-accent-foreground',\n outline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n },\n size: {\n sm: 'h-8 w-8 text-xs',\n md: 'h-9 w-9',\n lg: 'h-10 w-10',\n },\n active: {\n true: 'bg-primary text-primary-foreground hover:bg-primary/90 hover:text-primary-foreground',\n false: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n active: false,\n },\n }\n);\n\nexport type PaginationVariant = 'default' | 'outline' | 'ghost';\nexport type PaginationSize = 'sm' | 'md' | 'lg';\n","import { ChangeDetectionStrategy, Component, computed, input, model } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport {\n paginationItemVariants,\n type PaginationVariant,\n type PaginationSize,\n} from './pagination.variants';\n\nfunction computePageRange(\n totalPages: number,\n currentPage: number,\n siblingCount: number,\n boundaryCount: number\n): (number | 'ellipsis')[] {\n const range = (start: number, end: number) =>\n Array.from({ length: end - start + 1 }, (_, i) => start + i);\n\n const startPages = range(1, Math.min(boundaryCount, totalPages));\n const endPages = range(Math.max(totalPages - boundaryCount + 1, boundaryCount + 1), totalPages);\n\n const siblingsStart = Math.max(\n Math.min(currentPage - siblingCount, totalPages - boundaryCount - siblingCount * 2 - 1),\n boundaryCount + 2\n );\n const siblingsEnd = Math.min(\n Math.max(currentPage + siblingCount, boundaryCount + siblingCount * 2 + 2),\n endPages.length > 0 ? endPages[0] - 2 : totalPages - 1\n );\n\n const result: (number | 'ellipsis')[] = [...startPages];\n\n if (siblingsStart > boundaryCount + 2) {\n result.push('ellipsis');\n } else if (boundaryCount + 1 < totalPages - boundaryCount) {\n result.push(boundaryCount + 1);\n }\n\n result.push(...range(siblingsStart, siblingsEnd));\n\n if (siblingsEnd < totalPages - boundaryCount - 1) {\n result.push('ellipsis');\n } else if (totalPages - boundaryCount > boundaryCount) {\n result.push(totalPages - boundaryCount);\n }\n\n result.push(...endPages);\n\n return [...new Set(result)].sort((a, b) => {\n if (a === 'ellipsis') return 0;\n if (b === 'ellipsis') return 0;\n return a - b;\n });\n}\n\n@Component({\n selector: 'sny-pagination',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'role': 'navigation',\n 'aria-label': 'Pagination',\n },\n template: `\n <div class=\"flex items-center gap-1\">\n <button\n [class]=\"navBtnClass()\"\n [disabled]=\"!hasPrev()\"\n [attr.aria-label]=\"'Go to previous page'\"\n (click)=\"prev()\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m15 18-6-6 6-6\"/></svg>\n </button>\n\n @for (page of pages(); track $index) {\n @if (page === 'ellipsis') {\n <span class=\"flex h-9 w-9 items-center justify-center\" aria-hidden=\"true\">...</span>\n } @else {\n <button\n [class]=\"pageClass(page)\"\n [attr.aria-label]=\"'Page ' + page\"\n [attr.aria-current]=\"page === currentPage() ? 'page' : null\"\n (click)=\"goToPage(page)\"\n >\n {{ page }}\n </button>\n }\n }\n\n <button\n [class]=\"navBtnClass()\"\n [disabled]=\"!hasNext()\"\n [attr.aria-label]=\"'Go to next page'\"\n (click)=\"next()\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m9 18 6-6-6-6\"/></svg>\n </button>\n </div>\n `,\n})\nexport class SnyPaginationComponent {\n readonly currentPage = model(1);\n readonly totalPages = input.required<number>();\n readonly siblingCount = input(1);\n readonly boundaryCount = input(1);\n readonly size = input<PaginationSize>('md');\n readonly variant = input<PaginationVariant>('default');\n readonly class = input<string>('');\n\n readonly pages = computed(() =>\n computePageRange(this.totalPages(), this.currentPage(), this.siblingCount(), this.boundaryCount())\n );\n\n readonly hasPrev = computed(() => this.currentPage() > 1);\n readonly hasNext = computed(() => this.currentPage() < this.totalPages());\n\n goToPage(page: number | 'ellipsis'): void {\n if (page === 'ellipsis') return;\n this.currentPage.set(page);\n }\n\n prev(): void {\n if (this.hasPrev()) this.currentPage.update((p) => p - 1);\n }\n\n next(): void {\n if (this.hasNext()) this.currentPage.update((p) => p + 1);\n }\n\n pageClass(page: number): string {\n return cn(\n paginationItemVariants({\n variant: this.variant(),\n size: this.size(),\n active: page === this.currentPage(),\n })\n );\n }\n\n navBtnClass(): string {\n return cn(\n paginationItemVariants({ variant: this.variant(), size: this.size(), active: false })\n );\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const dividerVariants = cva('shrink-0 bg-border', {\n variants: {\n orientation: {\n horizontal: 'h-[1px] w-full',\n vertical: 'h-full w-[1px]',\n },\n variant: {\n solid: '',\n dashed: 'border-dashed',\n dotted: 'border-dotted',\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n variant: 'solid',\n },\n});\n\nexport type DividerOrientation = 'horizontal' | 'vertical';\nexport type DividerVariant = 'solid' | 'dashed' | 'dotted';\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport {\n dividerVariants,\n type DividerOrientation,\n type DividerVariant,\n} from './divider.variants';\n\n@Component({\n selector: 'sny-divider',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'role': 'separator',\n '[attr.aria-orientation]': 'orientation()',\n },\n template: `\n @if (hasLabel()) {\n <div [class]=\"labelContainerClass()\">\n <div [class]=\"lineClass()\"></div>\n <span class=\"px-2 text-xs text-muted-foreground\">{{ label() }}</span>\n <div [class]=\"lineClass()\"></div>\n </div>\n } @else {\n <div [class]=\"dividerClass()\"></div>\n }\n `,\n})\nexport class SnyDividerComponent {\n readonly orientation = input<DividerOrientation>('horizontal');\n readonly variant = input<DividerVariant>('solid');\n readonly label = input<string>('');\n readonly class = input<string>('');\n\n readonly hasLabel = computed(() => !!this.label());\n\n protected readonly dividerClass = computed(() =>\n cn(dividerVariants({ orientation: this.orientation(), variant: this.variant() }), this.class())\n );\n\n protected readonly lineClass = computed(() =>\n cn('flex-1 bg-border', this.orientation() === 'horizontal' ? 'h-[1px]' : 'w-[1px]')\n );\n\n protected readonly labelContainerClass = computed(() =>\n cn(\n 'flex items-center',\n this.orientation() === 'horizontal' ? 'flex-row' : 'flex-col',\n this.class()\n )\n );\n}\n","import { Directive, InjectionToken, computed, contentChildren, inject, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport const SNY_STEPS = new InjectionToken<SnyStepsDirective>('SnySteps');\n\nexport type StepStatus = 'default' | 'active' | 'completed' | 'error';\nexport type StepsOrientation = 'horizontal' | 'vertical';\nexport type StepsSize = 'sm' | 'md' | 'lg';\n\n@Directive({\n selector: '[snyStep]',\n standalone: true,\n host: {\n 'role': 'listitem',\n '[class]': 'computedClass()',\n '[attr.aria-current]': 'status() === \"active\" ? \"step\" : null',\n },\n})\nexport class SnyStepDirective {\n readonly status = input<StepStatus>('default');\n readonly icon = input<string>('');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() => {\n const s = this.status();\n const base = 'flex items-center gap-2';\n\n // Step indicator via before: pseudo-element\n const indicatorBase = 'before:flex before:items-center before:justify-center before:w-8 before:h-8 before:rounded-full before:border-2 before:text-xs before:shrink-0';\n\n const statusIndicator =\n s === 'completed' ? 'before:bg-primary before:border-primary before:text-primary-foreground before:content-[\"✓\"]' :\n s === 'active' ? 'before:border-primary before:text-primary before:content-[\"●\"]' :\n s === 'error' ? 'before:border-destructive before:text-destructive before:content-[\"!\"]' :\n 'before:border-muted-foreground/30 before:text-muted-foreground before:content-[\"○\"]';\n\n const statusClass =\n s === 'completed' ? 'text-primary' :\n s === 'active' ? 'text-primary font-medium' :\n s === 'error' ? 'text-destructive' :\n 'text-muted-foreground';\n\n return cn(base, indicatorBase, statusIndicator, statusClass, this.class());\n });\n}\n\n@Directive({\n selector: '[snySteps]',\n standalone: true,\n exportAs: 'snySteps',\n providers: [{ provide: SNY_STEPS, useExisting: SnyStepsDirective }],\n host: {\n 'role': 'list',\n 'aria-label': 'Progress steps',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyStepsDirective {\n readonly orientation = input<StepsOrientation>('horizontal');\n readonly size = input<StepsSize>('md');\n readonly class = input<string>('');\n\n readonly steps = contentChildren(SnyStepDirective);\n\n readonly activeIndex = computed(() => {\n const s = this.steps();\n return s.findIndex((step) => step.status() === 'active');\n });\n\n protected readonly computedClass = computed(() => {\n const o = this.orientation();\n const s = this.size();\n const base = 'flex';\n const orientationClass = o === 'horizontal'\n ? 'flex-row items-center gap-2 [&>*+*]:before:content-[\"\"] [&>*+*]:before:flex-1 [&>*+*]:before:h-px [&>*+*]:before:bg-border [&>*+*]:before:mx-2 [&>*+*]:before:min-w-[2rem]'\n : 'flex-col gap-2 [&>*+*]:before:content-[\"\"] [&>*+*]:before:w-px [&>*+*]:before:h-4 [&>*+*]:before:bg-border [&>*+*]:before:ml-4';\n const sizeClass = s === 'sm' ? 'text-xs' : s === 'lg' ? 'text-base' : 'text-sm';\n return cn(base, orientationClass, sizeClass, this.class());\n });\n}\n","import { Directive, InjectionToken, computed, inject, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport const SNY_STAT = new InjectionToken<SnyStatDirective>('SnyStat');\n\nlet statIdCounter = 0;\n\n@Directive({\n selector: '[snyStat]',\n standalone: true,\n providers: [{ provide: SNY_STAT, useExisting: SnyStatDirective }],\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyStatDirective {\n readonly class = input<string>('');\n readonly titleId = `sny-stat-title-${++statIdCounter}`;\n protected readonly computedClass = computed(() =>\n cn('flex flex-col gap-0.5', this.class())\n );\n}\n\n@Directive({\n selector: '[snyStatTitle]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[id]': 'stat.titleId',\n },\n})\nexport class SnyStatTitleDirective {\n readonly class = input<string>('');\n readonly stat = inject(SNY_STAT);\n protected readonly computedClass = computed(() =>\n cn('text-sm text-muted-foreground', this.class())\n );\n}\n\n@Directive({\n selector: '[snyStatValue]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[attr.aria-labelledby]': 'stat.titleId',\n },\n})\nexport class SnyStatValueDirective {\n readonly class = input<string>('');\n readonly stat = inject(SNY_STAT);\n protected readonly computedClass = computed(() =>\n cn('text-2xl font-bold', this.class())\n );\n}\n\nexport type StatDescriptionVariant = 'default' | 'success' | 'error';\n\n@Directive({\n selector: '[snyStatDescription]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyStatDescriptionDirective {\n readonly variant = input<StatDescriptionVariant>('default');\n readonly class = input<string>('');\n protected readonly computedClass = computed(() => {\n const v = this.variant();\n const variantClass =\n v === 'success' ? 'text-green-600 dark:text-green-400' :\n v === 'error' ? 'text-destructive' :\n 'text-muted-foreground';\n return cn('text-xs', variantClass, this.class());\n });\n}\n\n@Directive({\n selector: '[snyStatFigure]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyStatFigureDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-muted-foreground', this.class())\n );\n}\n","import { Directive, InjectionToken, computed, contentChildren, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport const SNY_TIMELINE = new InjectionToken<SnyTimelineDirective>('SnyTimeline');\nexport type TimelineOrientation = 'vertical' | 'horizontal';\nexport type TimelineConnect = 'start' | 'end' | 'both' | 'none';\nexport type TimelineMiddleVariant = 'default' | 'primary' | 'success' | 'error';\n\n@Directive({\n selector: '[snyTimelineItem]',\n standalone: true,\n host: { 'role': 'listitem', '[class]': 'computedClass()' },\n})\nexport class SnyTimelineItemDirective {\n readonly connect = input<TimelineConnect>('both');\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('relative flex gap-4', this.class())\n );\n}\n\n@Directive({\n selector: '[snyTimelineStart]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTimelineStartDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-sm text-muted-foreground min-w-[80px] text-right', this.class())\n );\n}\n\n@Directive({\n selector: '[snyTimelineMiddle]',\n standalone: true,\n host: { '[class]': 'computedClass()', 'aria-hidden': 'true' },\n})\nexport class SnyTimelineMiddleDirective {\n readonly variant = input<TimelineMiddleVariant>('default');\n readonly class = input<string>('');\n protected readonly computedClass = computed(() => {\n const v = this.variant();\n const variantClass =\n v === 'primary' ? 'bg-primary' :\n v === 'success' ? 'bg-green-600 dark:bg-green-500' :\n v === 'error' ? 'bg-destructive' :\n 'bg-border';\n return cn('flex flex-col items-center', variantClass, this.class());\n });\n}\n\n@Directive({\n selector: '[snyTimelineEnd]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyTimelineEndDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex-1 pb-8', this.class())\n );\n}\n\n@Directive({\n selector: '[snyTimeline]',\n standalone: true,\n exportAs: 'snyTimeline',\n providers: [{ provide: SNY_TIMELINE, useExisting: SnyTimelineDirective }],\n host: {\n 'role': 'list',\n 'aria-label': 'Timeline',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyTimelineDirective {\n readonly orientation = input<TimelineOrientation>('vertical');\n readonly class = input<string>('');\n\n readonly items = contentChildren(SnyTimelineItemDirective);\n\n protected readonly computedClass = computed(() => {\n const o = this.orientation();\n return cn(\n 'relative',\n o === 'vertical' ? 'flex flex-col' : 'flex flex-row',\n this.class()\n );\n });\n}\n","import { cva } from 'class-variance-authority';\n\nexport const kbdVariants = cva(\n 'pointer-events-none inline-flex select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono font-medium text-muted-foreground',\n {\n variants: {\n size: {\n sm: 'h-5 text-[10px]',\n md: 'h-6 text-xs',\n lg: 'h-7 text-sm',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n }\n);\n\nexport type KbdSize = 'sm' | 'md' | 'lg';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { kbdVariants, type KbdSize } from './kbd.variants';\n\n@Directive({\n selector: 'kbd[snyKbd]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n },\n})\nexport class SnyKbdDirective {\n readonly size = input<KbdSize>('md');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(kbdVariants({ size: this.size() }), this.class())\n );\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport type ListVariant = 'default' | 'bordered' | 'hover';\n\n@Directive({\n selector: '[snyList]',\n standalone: true,\n host: {\n 'role': 'list',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyListDirective {\n readonly variant = input<ListVariant>('default');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() => {\n const v = this.variant();\n const variantClass =\n v === 'bordered' ? 'divide-y divide-border border rounded-md' :\n v === 'hover' ? '[&>[snyListItem]]:hover:bg-accent' :\n '';\n return cn('flex flex-col', variantClass, this.class());\n });\n}\n\n@Directive({\n selector: '[snyListItem]',\n standalone: true,\n host: {\n 'role': 'listitem',\n '[class]': 'computedClass()',\n '[attr.aria-disabled]': 'disabled() || null',\n },\n})\nexport class SnyListItemDirective {\n readonly active = input(false);\n readonly disabled = input(false);\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(\n 'flex items-center gap-3 px-3 py-2 transition-colors',\n this.active() && 'bg-accent text-accent-foreground',\n this.disabled() && 'opacity-50 pointer-events-none',\n this.class()\n )\n );\n}\n\n@Directive({\n selector: '[snyListItemIcon]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyListItemIconDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex-shrink-0 text-muted-foreground', this.class())\n );\n}\n\n@Directive({\n selector: '[snyListItemContent]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyListItemContentDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex-1 min-w-0', this.class())\n );\n}\n\n@Directive({\n selector: '[snyListItemAction]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyListItemActionDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex-shrink-0', this.class())\n );\n}\n","import { cva } from 'class-variance-authority';\n\nexport const statusVariants = cva('inline-block rounded-full', {\n variants: {\n variant: {\n default: 'bg-primary',\n success: 'bg-green-500',\n warning: 'bg-yellow-500',\n error: 'bg-destructive',\n info: 'bg-blue-500',\n neutral: 'bg-muted-foreground',\n },\n size: {\n xs: 'h-1.5 w-1.5',\n sm: 'h-2 w-2',\n md: 'h-2.5 w-2.5',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n },\n});\n\nexport type StatusVariant = 'default' | 'success' | 'warning' | 'error' | 'info' | 'neutral';\nexport type StatusSize = 'xs' | 'sm' | 'md';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { statusVariants, type StatusVariant, type StatusSize } from './status.variants';\n\nconst variantLabels: Record<StatusVariant, string> = {\n default: 'Active',\n success: 'Online',\n warning: 'Away',\n error: 'Error',\n info: 'Info',\n neutral: 'Offline',\n};\n\n@Directive({\n selector: '[snyStatus]',\n standalone: true,\n host: {\n 'role': 'status',\n '[attr.aria-label]': 'ariaLabel()',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyStatusDirective {\n readonly variant = input<StatusVariant>('default');\n readonly size = input<StatusSize>('md');\n readonly pulse = input(false);\n readonly class = input<string>('');\n\n protected readonly ariaLabel = computed(() => variantLabels[this.variant()]);\n\n protected readonly computedClass = computed(() =>\n cn(\n statusVariants({ variant: this.variant(), size: this.size() }),\n this.pulse() && 'animate-pulse',\n this.class()\n )\n );\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport type IndicatorPosition = 'top-start' | 'top-center' | 'top-end' | 'middle-start' | 'middle-end' | 'bottom-start' | 'bottom-center' | 'bottom-end';\nexport type IndicatorVariant = 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'error';\n\nconst positionMap: Record<IndicatorPosition, string> = {\n 'top-start': 'top-0 left-0 -translate-x-1/2 -translate-y-1/2',\n 'top-center': 'top-0 left-1/2 -translate-x-1/2 -translate-y-1/2',\n 'top-end': 'top-0 right-0 translate-x-1/2 -translate-y-1/2',\n 'middle-start': 'top-1/2 left-0 -translate-x-1/2 -translate-y-1/2',\n 'middle-end': 'top-1/2 right-0 translate-x-1/2 -translate-y-1/2',\n 'bottom-start': 'bottom-0 left-0 -translate-x-1/2 translate-y-1/2',\n 'bottom-center': 'bottom-0 left-1/2 -translate-x-1/2 translate-y-1/2',\n 'bottom-end': 'bottom-0 right-0 translate-x-1/2 translate-y-1/2',\n};\n\nconst variantMap: Record<IndicatorVariant, string> = {\n default: 'bg-primary text-primary-foreground',\n primary: 'bg-primary text-primary-foreground',\n secondary: 'bg-secondary text-secondary-foreground',\n success: 'bg-green-600 text-white dark:bg-green-500',\n warning: 'bg-yellow-500 text-white dark:bg-yellow-400 dark:text-black',\n error: 'bg-destructive text-destructive-foreground',\n};\n\n@Directive({\n selector: '[snyIndicator]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyIndicatorDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('relative inline-flex', this.class())\n );\n}\n\n@Directive({\n selector: '[snyIndicatorBadge]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[attr.aria-label]': 'ariaLabel() || null',\n },\n})\nexport class SnyIndicatorBadgeDirective {\n readonly position = input<IndicatorPosition>('top-end');\n readonly variant = input<IndicatorVariant>('default');\n readonly ariaLabel = input<string>('');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(\n 'absolute z-10 inline-flex items-center justify-center rounded-full text-xs font-bold min-w-[1.25rem] h-5 px-1',\n positionMap[this.position()],\n variantMap[this.variant()],\n this.class()\n )\n );\n}\n","import { Directive, InjectionToken, computed, inject, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport type ChatBubbleAlign = 'start' | 'end';\nexport type ChatBubbleContentVariant = 'default' | 'primary' | 'secondary' | 'accent';\n\nexport const SNY_CHAT_BUBBLE = new InjectionToken<SnyChatBubbleDirective>('SnyChatBubble');\n\n@Directive({\n selector: '[snyChatBubble]',\n standalone: true,\n providers: [{ provide: SNY_CHAT_BUBBLE, useExisting: SnyChatBubbleDirective }],\n host: {\n 'role': 'article',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyChatBubbleDirective {\n readonly align = input<ChatBubbleAlign>('start');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(\n 'flex gap-3 mb-4',\n this.align() === 'end' && 'flex-row-reverse',\n this.class()\n )\n );\n}\n\n@Directive({\n selector: '[snyChatBubbleAvatar]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyChatBubbleAvatarDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('flex-shrink-0 w-10 h-10 rounded-full overflow-hidden', this.class())\n );\n}\n\n@Directive({\n selector: '[snyChatBubbleHeader]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyChatBubbleHeaderDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-xs text-muted-foreground mb-1', this.class())\n );\n}\n\n@Directive({\n selector: '[snyChatBubbleContent]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyChatBubbleContentDirective {\n readonly variant = input<ChatBubbleContentVariant>('default');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() => {\n const v = this.variant();\n const variantClass =\n v === 'primary' ? 'bg-primary text-primary-foreground' :\n v === 'secondary' ? 'bg-blue-100 text-blue-900 dark:bg-blue-900 dark:text-blue-100' :\n v === 'accent' ? 'bg-violet-100 text-violet-900 dark:bg-violet-900 dark:text-violet-100' :\n 'bg-muted';\n return cn('rounded-lg px-3 py-2 text-sm max-w-[80%]', variantClass, this.class());\n });\n}\n\n@Directive({\n selector: '[snyChatBubbleFooter]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyChatBubbleFooterDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('text-xs text-muted-foreground mt-1', this.class())\n );\n}\n\n@Directive({\n selector: '[snyChatBubbleBody]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyChatBubbleBodyDirective {\n private readonly chatBubble = inject(SNY_CHAT_BUBBLE);\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn(\n 'flex flex-col',\n this.chatBubble.align() === 'end' && 'items-end',\n this.class()\n )\n );\n}\n","import {\n Directive, InjectionToken, computed, contentChildren, inject, input, signal, effect, OnDestroy,\n} from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport const SNY_CAROUSEL = new InjectionToken<SnyCarouselDirective>('SnyCarousel');\n\n@Directive({\n selector: '[snyCarouselItem]',\n standalone: true,\n host: {\n 'role': 'group',\n '[attr.aria-roledescription]': '\"slide\"',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyCarouselItemDirective {\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('min-w-0 shrink-0 grow-0 basis-full pl-4', this.class())\n );\n}\n\n@Directive({\n selector: '[snyCarouselContent]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[style.transform]': 'transformStyle()',\n },\n})\nexport class SnyCarouselContentDirective {\n private readonly carousel = inject(SNY_CAROUSEL);\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn('flex -ml-4 transition-transform duration-300 ease-in-out', this.class())\n );\n\n protected readonly transformStyle = computed(() =>\n `translateX(-${this.carousel.currentIndex() * 100}%)`\n );\n}\n\n@Directive({\n selector: '[snyCarousel]',\n standalone: true,\n exportAs: 'snyCarousel',\n providers: [{ provide: SNY_CAROUSEL, useExisting: SnyCarouselDirective }],\n host: {\n 'role': 'region',\n '[attr.aria-roledescription]': '\"carousel\"',\n 'aria-label': 'Carousel',\n 'tabindex': '0',\n '[class]': 'computedClass()',\n '(keydown)': 'onKeydown($event)',\n },\n})\nexport class SnyCarouselDirective implements OnDestroy {\n readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n readonly loop = input(false);\n readonly autoplay = input(0);\n readonly class = input<string>('');\n\n readonly items = contentChildren(SnyCarouselItemDirective, { descendants: true });\n readonly currentIndex = signal(0);\n readonly totalItems = computed(() => this.items().length);\n\n private autoplayInterval: ReturnType<typeof setInterval> | null = null;\n\n constructor() {\n effect(() => {\n const ms = this.autoplay();\n this.clearAutoplay();\n if (ms > 0) {\n this.autoplayInterval = setInterval(() => this.next(), ms);\n }\n });\n }\n\n next(): void {\n const total = this.totalItems();\n if (total === 0) return;\n this.currentIndex.update((i) => {\n if (i >= total - 1) return this.loop() ? 0 : i;\n return i + 1;\n });\n }\n\n prev(): void {\n const total = this.totalItems();\n if (total === 0) return;\n this.currentIndex.update((i) => {\n if (i <= 0) return this.loop() ? total - 1 : i;\n return i - 1;\n });\n }\n\n goTo(index: number): void {\n this.currentIndex.set(Math.max(0, Math.min(index, this.totalItems() - 1)));\n }\n\n onKeydown(event: KeyboardEvent): void {\n switch (event.key) {\n case 'ArrowLeft':\n event.preventDefault();\n this.prev();\n break;\n case 'ArrowRight':\n event.preventDefault();\n this.next();\n break;\n }\n }\n\n ngOnDestroy(): void {\n this.clearAutoplay();\n }\n\n private clearAutoplay(): void {\n if (this.autoplayInterval) {\n clearInterval(this.autoplayInterval);\n this.autoplayInterval = null;\n }\n }\n\n protected readonly computedClass = computed(() =>\n cn('relative overflow-hidden', this.class())\n );\n}\n\n@Directive({\n selector: '[snyCarouselPrev]',\n standalone: true,\n host: {\n '(click)': 'carousel.prev()',\n '[attr.aria-label]': '\"Previous slide\"',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyCarouselPrevDirective {\n readonly carousel = inject(SNY_CAROUSEL);\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('absolute left-2 top-1/2 -translate-y-1/2 z-10', this.class())\n );\n}\n\n@Directive({\n selector: '[snyCarouselNext]',\n standalone: true,\n host: {\n '(click)': 'carousel.next()',\n '[attr.aria-label]': '\"Next slide\"',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyCarouselNextDirective {\n readonly carousel = inject(SNY_CAROUSEL);\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn('absolute right-2 top-1/2 -translate-y-1/2 z-10', this.class())\n );\n}\n","import { Directive, ElementRef, computed, inject, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport type DockPosition = 'bottom' | 'top';\n\n@Directive({\n selector: '[snyDock]',\n standalone: true,\n host: {\n 'role': 'toolbar',\n 'aria-label': 'Dock',\n '[class]': 'computedClass()',\n '(keydown)': 'onKeydown($event)',\n },\n})\nexport class SnyDockDirective {\n readonly position = input<DockPosition>('bottom');\n readonly class = input<string>('');\n\n private readonly elRef = inject(ElementRef);\n\n protected readonly computedClass = computed(() =>\n cn(\n 'fixed left-1/2 -translate-x-1/2 z-50 flex items-center gap-1 rounded-full border bg-background/80 backdrop-blur-sm px-3 py-2 shadow-lg',\n this.position() === 'bottom' ? 'bottom-4' : 'top-4',\n this.class()\n )\n );\n\n onKeydown(event: KeyboardEvent): void {\n const items = Array.from(\n (this.elRef.nativeElement as HTMLElement).querySelectorAll<HTMLElement>('[snyDockItem]')\n );\n if (items.length === 0) return;\n\n const currentIndex = items.indexOf(document.activeElement as HTMLElement);\n if (currentIndex === -1) return;\n\n let nextIndex: number | null = null;\n switch (event.key) {\n case 'ArrowRight':\n event.preventDefault();\n nextIndex = (currentIndex + 1) % items.length;\n break;\n case 'ArrowLeft':\n event.preventDefault();\n nextIndex = (currentIndex - 1 + items.length) % items.length;\n break;\n case 'Home':\n event.preventDefault();\n nextIndex = 0;\n break;\n case 'End':\n event.preventDefault();\n nextIndex = items.length - 1;\n break;\n }\n if (nextIndex !== null) {\n items[nextIndex].focus();\n }\n }\n}\n\n@Directive({\n selector: '[snyDockItem]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n '[attr.tabindex]': 'active() ? 0 : -1',\n },\n})\nexport class SnyDockItemDirective {\n readonly active = input(false);\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(\n 'inline-flex items-center justify-center rounded-full p-2 transition-all hover:scale-110',\n this.active() && 'bg-primary text-primary-foreground',\n this.class()\n )\n );\n}\n","import { Directive, InjectionToken, computed, inject, input, signal } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport const SNY_FAB = new InjectionToken<SnyFabDirective>('SnyFab');\nexport type FabPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';\nexport type FabDirection = 'up' | 'down' | 'left' | 'right';\n\nconst positionMap: Record<FabPosition, string> = {\n 'bottom-right': 'fixed bottom-6 right-6',\n 'bottom-left': 'fixed bottom-6 left-6',\n 'top-right': 'fixed top-6 right-6',\n 'top-left': 'fixed top-6 left-6',\n};\n\n@Directive({\n selector: '[snyFab]',\n standalone: true,\n exportAs: 'snyFab',\n providers: [{ provide: SNY_FAB, useExisting: SnyFabDirective }],\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyFabDirective {\n readonly position = input<FabPosition>('bottom-right');\n readonly direction = input<FabDirection>('up');\n readonly class = input<string>('');\n readonly isOpen = signal(false);\n\n toggle(): void { this.isOpen.update((v) => !v); }\n open(): void { this.isOpen.set(true); }\n close(): void { this.isOpen.set(false); }\n\n protected readonly computedClass = computed(() =>\n cn('z-50 flex flex-col items-center gap-2', positionMap[this.position()], this.class())\n );\n}\n\n@Directive({\n selector: '[snyFabTrigger]',\n standalone: true,\n host: {\n '(click)': 'fab.toggle()',\n '[attr.aria-expanded]': 'fab.isOpen()',\n '[attr.aria-haspopup]': '\"menu\"',\n 'aria-label': 'Quick actions',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyFabTriggerDirective {\n readonly fab = inject(SNY_FAB);\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn(\n 'inline-flex items-center justify-center rounded-full bg-primary text-primary-foreground shadow-lg h-14 w-14 hover:bg-primary/90 transition-transform',\n this.fab.isOpen() && 'rotate-45',\n this.class()\n )\n );\n}\n\n@Directive({\n selector: '[snyFabAction]',\n standalone: true,\n host: {\n 'role': 'menuitem',\n '[attr.aria-label]': 'ariaLabel() || null',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyFabActionDirective {\n readonly fab = inject(SNY_FAB);\n readonly ariaLabel = input<string>('');\n readonly class = input<string>('');\n protected readonly computedClass = computed(() =>\n cn(\n 'inline-flex items-center justify-center rounded-full bg-secondary text-secondary-foreground shadow-md h-10 w-10 transition-all',\n this.fab.isOpen() ? 'scale-100 opacity-100' : 'scale-0 opacity-0',\n this.class()\n )\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\nexport type RadialProgressSize = 'sm' | 'md' | 'lg';\nexport type RadialProgressVariant = 'default' | 'success' | 'warning' | 'error' | 'info';\n\nconst sizeMap: Record<RadialProgressSize, number> = { sm: 48, md: 72, lg: 96 };\n\nconst variantColorMap: Record<RadialProgressVariant, string> = {\n default: 'stroke-primary',\n success: 'stroke-green-600 dark:stroke-green-500',\n warning: 'stroke-yellow-500',\n error: 'stroke-destructive',\n info: 'stroke-blue-600 dark:stroke-blue-500',\n};\n\n@Component({\n selector: 'sny-radial-progress',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'role': 'progressbar',\n '[attr.aria-valuenow]': 'value()',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': '100',\n '[class]': '\"inline-flex items-center justify-center\"',\n },\n template: `\n <div class=\"relative\" [style.width.px]=\"svgSize()\" [style.height.px]=\"svgSize()\">\n <svg [attr.width]=\"svgSize()\" [attr.height]=\"svgSize()\" class=\"-rotate-90\">\n <circle\n [attr.cx]=\"svgSize() / 2\"\n [attr.cy]=\"svgSize() / 2\"\n [attr.r]=\"radius()\"\n fill=\"none\"\n class=\"stroke-muted\"\n [attr.stroke-width]=\"thickness()\"\n />\n <circle\n [attr.cx]=\"svgSize() / 2\"\n [attr.cy]=\"svgSize() / 2\"\n [attr.r]=\"radius()\"\n fill=\"none\"\n [class]=\"strokeClass()\"\n [attr.stroke-width]=\"thickness()\"\n [attr.stroke-dasharray]=\"circumference()\"\n [attr.stroke-dashoffset]=\"offset()\"\n stroke-linecap=\"round\"\n class=\"transition-all duration-300\"\n />\n </svg>\n <div class=\"absolute inset-0 flex items-center justify-center\">\n <ng-content />\n </div>\n </div>\n `,\n})\nexport class SnyRadialProgressComponent {\n readonly value = input(0);\n readonly size = input<RadialProgressSize>('md');\n readonly thickness = input(4);\n readonly variant = input<RadialProgressVariant>('default');\n readonly class = input<string>('');\n\n readonly svgSize = computed(() => sizeMap[this.size()]);\n readonly radius = computed(() => (this.svgSize() - this.thickness()) / 2);\n readonly circumference = computed(() => 2 * Math.PI * this.radius());\n readonly offset = computed(() => this.circumference() - (this.value() / 100) * this.circumference());\n\n readonly strokeClass = computed(() => variantColorMap[this.variant()]);\n}\n","import { ChangeDetectionStrategy, Component, computed, input, model, signal } from '@angular/core';\nimport { cn } from '../core/utils/cn';\n\n@Component({\n selector: 'sny-diff',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': '\"relative overflow-hidden select-none w-full\"',\n '(pointerdown)': 'onPointerDown($event)',\n '(pointermove)': 'onPointerMove($event)',\n '(pointerup)': 'onPointerUp()',\n '(keydown)': 'onKeydown($event)',\n },\n template: `\n <div class=\"relative w-full\" [style.aspect-ratio]=\"'16/9'\">\n <div class=\"absolute inset-0\">\n <ng-content select=\"[snyDiffAfter]\" />\n </div>\n <div class=\"absolute inset-0 overflow-hidden\" [style.width.%]=\"value()\">\n <ng-content select=\"[snyDiffBefore]\" />\n </div>\n <div\n class=\"absolute top-0 bottom-0 w-1 bg-foreground cursor-col-resize z-10\"\n [style.left.%]=\"value()\"\n role=\"slider\"\n tabindex=\"0\"\n [attr.aria-valuenow]=\"value()\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n aria-label=\"Comparison slider\"\n >\n <div class=\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-8 h-8 rounded-full bg-foreground/80 flex items-center justify-center text-background text-xs\">\n ⇔\n </div>\n </div>\n </div>\n `,\n})\nexport class SnyDiffComponent {\n readonly value = model(50);\n readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n readonly class = input<string>('');\n\n readonly isDragging = signal(false);\n\n onPointerDown(event: PointerEvent): void {\n this.isDragging.set(true);\n (event.target as HTMLElement).setPointerCapture?.(event.pointerId);\n this.updateValue(event);\n }\n\n onPointerMove(event: PointerEvent): void {\n if (!this.isDragging()) return;\n this.updateValue(event);\n }\n\n onPointerUp(): void {\n this.isDragging.set(false);\n }\n\n onKeydown(event: KeyboardEvent): void {\n switch (event.key) {\n case 'ArrowLeft':\n event.preventDefault();\n this.value.update((v) => Math.max(0, v - 5));\n break;\n case 'ArrowRight':\n event.preventDefault();\n this.value.update((v) => Math.min(100, v + 5));\n break;\n }\n }\n\n private updateValue(event: PointerEvent): void {\n const target = (event.currentTarget as HTMLElement).closest('sny-diff');\n if (!target) return;\n const rect = target.getBoundingClientRect();\n const x = event.clientX - rect.left;\n const pct = Math.max(0, Math.min(100, (x / rect.width) * 100));\n this.value.set(Math.round(pct));\n }\n}\n","import { cva } from 'class-variance-authority';\n\nexport const linkVariants = cva(\n 'inline-flex items-center gap-1 underline-offset-4 transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 rounded',\n {\n variants: {\n variant: {\n default: 'text-foreground underline hover:text-foreground/80',\n primary: 'text-primary underline hover:text-primary/80',\n secondary: 'text-muted-foreground underline hover:text-foreground',\n hover: 'text-foreground no-underline hover:underline',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport type LinkVariant = 'default' | 'primary' | 'secondary' | 'hover';\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport { linkVariants, type LinkVariant } from './link.variants';\n\n@Directive({\n selector: 'a[snyLink]',\n standalone: true,\n host: {\n '[class]': 'computedClass()',\n },\n})\nexport class SnyLinkDirective {\n readonly variant = input<LinkVariant>('default');\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() =>\n cn(linkVariants({ variant: this.variant() }), this.class())\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, effect, forwardRef, input, model, signal } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { cn } from '../core/utils/cn';\n\ninterface CalendarDay {\n date: Date;\n day: number;\n isCurrentMonth: boolean;\n isToday: boolean;\n isSelected: boolean;\n isDisabled: boolean;\n}\n\n@Component({\n selector: 'sny-calendar',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': '\"inline-block p-3 rounded-md border bg-background\"',\n '(keydown)': 'onKeydown($event)',\n },\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SnyCalendarComponent), multi: true },\n ],\n template: `\n <div class=\"flex items-center justify-between mb-4\">\n <button\n class=\"inline-flex items-center justify-center rounded-md text-sm h-7 w-7 hover:bg-accent\"\n (click)=\"prevMonth()\"\n aria-label=\"Previous month\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"m15 18-6-6 6-6\"/></svg>\n </button>\n <span class=\"text-sm font-medium\">{{ monthYearLabel() }}</span>\n <button\n class=\"inline-flex items-center justify-center rounded-md text-sm h-7 w-7 hover:bg-accent\"\n (click)=\"nextMonth()\"\n aria-label=\"Next month\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"m9 18 6-6-6-6\"/></svg>\n </button>\n </div>\n\n <div role=\"grid\" aria-label=\"Calendar\" class=\"grid grid-cols-7 gap-0\">\n @for (dayName of weekDays; track dayName) {\n <div class=\"text-center text-xs text-muted-foreground font-medium py-1\">{{ dayName }}</div>\n }\n @for (day of days(); track day.date.getTime()) {\n <button\n [class]=\"dayClass(day)\"\n [disabled]=\"day.isDisabled\"\n [attr.aria-selected]=\"day.isSelected || null\"\n [attr.aria-current]=\"day.isToday ? 'date' : null\"\n [attr.aria-disabled]=\"day.isDisabled || null\"\n (click)=\"selectDate(day.date)\"\n >\n {{ day.day }}\n </button>\n }\n </div>\n `,\n})\nexport class SnyCalendarComponent implements ControlValueAccessor {\n readonly value = model<Date | null>(null);\n readonly min = input<Date | undefined>(undefined);\n readonly max = input<Date | undefined>(undefined);\n readonly locale = input('en-US');\n readonly class = input<string>('');\n\n private readonly _disabledByCva = signal(false);\n\n readonly viewDate = signal(new Date());\n readonly weekDays = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n\n private _onChange: (value: Date | null) => void = () => {};\n protected onTouched: () => void = () => {};\n private _writing = false;\n\n constructor() {\n effect(() => {\n const val = this.value();\n if (this._writing) {\n this._writing = false;\n return;\n }\n this._onChange(val);\n });\n }\n\n writeValue(val: Date | null): void {\n this._writing = true;\n this.value.set(val ?? null);\n if (val) {\n this.viewDate.set(new Date(val.getFullYear(), val.getMonth(), 1));\n }\n }\n\n registerOnChange(fn: (value: Date | null) => void): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabledByCva.set(isDisabled);\n }\n\n readonly monthYearLabel = computed(() => {\n const d = this.viewDate();\n return d.toLocaleDateString(this.locale(), { month: 'long', year: 'numeric' });\n });\n\n readonly days = computed<CalendarDay[]>(() => {\n const view = this.viewDate();\n const year = view.getFullYear();\n const month = view.getMonth();\n const today = new Date();\n const selected = this.value();\n const minDate = this.min();\n const maxDate = this.max();\n\n const firstDay = new Date(year, month, 1);\n const startDay = firstDay.getDay();\n const daysInMonth = new Date(year, month + 1, 0).getDate();\n const daysInPrevMonth = new Date(year, month, 0).getDate();\n\n const days: CalendarDay[] = [];\n\n // Previous month\n for (let i = startDay - 1; i >= 0; i--) {\n const date = new Date(year, month - 1, daysInPrevMonth - i);\n days.push(this.createDay(date, false, today, selected, minDate, maxDate));\n }\n\n // Current month\n for (let d = 1; d <= daysInMonth; d++) {\n const date = new Date(year, month, d);\n days.push(this.createDay(date, true, today, selected, minDate, maxDate));\n }\n\n // Next month fill\n const remaining = 42 - days.length;\n for (let d = 1; d <= remaining; d++) {\n const date = new Date(year, month + 1, d);\n days.push(this.createDay(date, false, today, selected, minDate, maxDate));\n }\n\n return days;\n });\n\n prevMonth(): void {\n this.viewDate.update((d) => new Date(d.getFullYear(), d.getMonth() - 1, 1));\n }\n\n nextMonth(): void {\n this.viewDate.update((d) => new Date(d.getFullYear(), d.getMonth() + 1, 1));\n }\n\n selectDate(date: Date): void {\n this.value.set(date);\n this.onTouched();\n }\n\n onKeydown(event: KeyboardEvent): void {\n // Simplified keyboard navigation\n switch (event.key) {\n case 'ArrowLeft':\n event.preventDefault();\n this.navigateDays(-1);\n break;\n case 'ArrowRight':\n event.preventDefault();\n this.navigateDays(1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n this.navigateDays(-7);\n break;\n case 'ArrowDown':\n event.preventDefault();\n this.navigateDays(7);\n break;\n }\n }\n\n dayClass(day: CalendarDay): string {\n return cn(\n 'inline-flex items-center justify-center rounded-md text-sm h-8 w-8 transition-colors',\n day.isCurrentMonth ? 'text-foreground' : 'text-muted-foreground/50',\n day.isToday && !day.isSelected && 'bg-accent font-bold',\n day.isSelected && 'bg-primary text-primary-foreground',\n day.isDisabled && 'opacity-50 cursor-not-allowed',\n !day.isDisabled && !day.isSelected && 'hover:bg-accent cursor-pointer'\n );\n }\n\n private navigateDays(offset: number): void {\n const current = this.value() ?? new Date();\n const next = new Date(current);\n next.setDate(next.getDate() + offset);\n this.value.set(next);\n this.viewDate.set(new Date(next.getFullYear(), next.getMonth(), 1));\n }\n\n private createDay(\n date: Date,\n isCurrentMonth: boolean,\n today: Date,\n selected: Date | null,\n minDate: Date | undefined,\n maxDate: Date | undefined\n ): CalendarDay {\n const isToday = this.isSameDay(date, today);\n const isSelected = selected ? this.isSameDay(date, selected) : false;\n const isDisabled =\n this._disabledByCva() ||\n (minDate ? date < minDate : false) || (maxDate ? date > maxDate : false);\n\n return { date, day: date.getDate(), isCurrentMonth, isToday, isSelected, isDisabled };\n }\n\n private isSameDay(a: Date, b: Date): boolean {\n return (\n a.getFullYear() === b.getFullYear() &&\n a.getMonth() === b.getMonth() &&\n a.getDate() === b.getDate()\n );\n }\n}\n","import { Directive, computed, input } from '@angular/core';\nimport { cn } from '../core/utils/cn';\nimport type { AbstractControl } from '@angular/forms';\n\nexport type ValidatorHintVariant = 'error' | 'success' | 'warning' | 'info';\n\n@Directive({\n selector: '[snyValidator]',\n standalone: true,\n host: { '[class]': 'computedClass()' },\n})\nexport class SnyValidatorDirective {\n readonly control = input<AbstractControl | null>(null);\n readonly state = input<'default' | 'error' | 'success' | 'warning'>('default');\n readonly class = input<string>('');\n\n readonly errors = computed(() => this.control()?.errors ?? null);\n readonly showErrors = computed(() => {\n const c = this.control();\n return c ? c.touched && c.invalid : false;\n });\n\n protected readonly computedClass = computed(() =>\n cn('flex flex-col gap-1 mt-1', this.class())\n );\n}\n\n@Directive({\n selector: '[snyValidatorHint]',\n standalone: true,\n host: {\n 'role': 'alert',\n '[class]': 'computedClass()',\n },\n})\nexport class SnyValidatorHintDirective {\n readonly when = input<string>('');\n readonly type = input<ValidatorHintVariant>('error');\n /** @deprecated Use `type` instead */\n readonly variant = input<ValidatorHintVariant | undefined>(undefined);\n readonly class = input<string>('');\n\n protected readonly computedClass = computed(() => {\n const v = this.variant() ?? this.type();\n const variantClass =\n v === 'success' ? 'text-green-600 dark:text-green-400' :\n v === 'warning' ? 'text-amber-600 dark:text-amber-400' :\n v === 'info' ? 'text-blue-600 dark:text-blue-400' :\n 'text-destructive';\n return cn('text-xs', variantClass, this.class());\n });\n}\n","/*\r\n * Public API Surface of @sonny-ui/core\r\n */\r\n\r\n// Utils\r\nexport { cn } from './lib/core/utils/cn';\r\nexport { cva, type VariantProps } from './lib/core/utils/cva-types';\r\n\r\n// Providers\r\nexport { provideSonnyUI, SNY_CONFIG, type SonnyConfig } from './lib/core/providers/sonny-config';\r\nexport { ThemeService, type Theme } from './lib/core/providers/theme.service';\r\n\r\n// Button\r\nexport * from './lib/button';\r\n\r\n// Card\r\nexport * from './lib/card';\r\n\r\n// Input\r\nexport * from './lib/input';\r\n\r\n// Toast\r\nexport * from './lib/toast';\r\n\r\n// Modal/Dialog\r\nexport * from './lib/modal';\r\n\r\n// Accordion\r\nexport * from './lib/accordion';\r\n\r\n// Avatar\r\nexport * from './lib/avatar';\r\n\r\n// Badge\r\nexport * from './lib/badge';\r\n\r\n// Breadcrumb\r\nexport * from './lib/breadcrumb';\r\n\r\n// Button Group\r\nexport * from './lib/button-group';\r\n\r\n// Checkbox\r\nexport * from './lib/checkbox';\r\n\r\n// Combobox\r\nexport * from './lib/combobox';\r\n\r\n// Skeleton\r\nexport * from './lib/skeleton';\r\n\r\n// Radio\r\nexport * from './lib/radio';\r\n\r\n// Switch\r\nexport * from './lib/switch';\r\n\r\n// Toggle\r\nexport * from './lib/toggle';\r\n\r\n// Slider\r\nexport * from './lib/slider';\r\n\r\n// Loader\r\nexport * from './lib/loader';\r\n\r\n// Tabs\r\nexport * from './lib/tabs';\r\n\r\n// Select\r\nexport * from './lib/select';\r\n\r\n// Table\r\nexport * from './lib/table';\r\n\r\n// Sheet\r\nexport * from './lib/sheet';\r\n\r\n// Alert\r\nexport * from './lib/alert';\r\n\r\n// Textarea\r\nexport * from './lib/textarea';\r\n\r\n// Progress\r\nexport * from './lib/progress';\r\n\r\n// Tooltip\r\nexport * from './lib/tooltip';\r\n\r\n// Dropdown/Menu\r\nexport * from './lib/dropdown';\r\n\r\n// File Input\r\nexport * from './lib/file-input';\r\n\r\n// Fieldset\r\nexport * from './lib/fieldset';\r\n\r\n// Rating\r\nexport * from './lib/rating';\r\n\r\n// Navbar\r\nexport * from './lib/navbar';\r\n\r\n// Drawer\r\nexport * from './lib/drawer';\r\n\r\n// Pagination\r\nexport * from './lib/pagination';\r\n\r\n// Divider\r\nexport * from './lib/divider';\r\n\r\n// Steps\r\nexport * from './lib/steps';\r\n\r\n// Stat\r\nexport * from './lib/stat';\r\n\r\n// Timeline\r\nexport * from './lib/timeline';\r\n\r\n// Kbd\r\nexport * from './lib/kbd';\r\n\r\n// List\r\nexport * from './lib/list';\r\n\r\n// Status\r\nexport * from './lib/status';\r\n\r\n// Indicator\r\nexport * from './lib/indicator';\r\n\r\n// Chat Bubble\r\nexport * from './lib/chat-bubble';\r\n\r\n// Carousel\r\nexport * from './lib/carousel';\r\n\r\n// Dock\r\nexport * from './lib/dock';\r\n\r\n// FAB\r\nexport * from './lib/fab';\r\n\r\n// Radial Progress\r\nexport * from './lib/radial-progress';\r\n\r\n// Diff\r\nexport * from './lib/diff';\r\n\r\n// Link\r\nexport * from './lib/link';\r\n\r\n// Calendar\r\nexport * from './lib/calendar';\r\n\r\n// Validator\r\nexport * from './lib/validator';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["positionMap"],"mappings":"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"}