ng-blatui 1.3.0 → 1.5.0
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.
- package/fesm2022/ng-blatui.mjs +664 -5
- package/fesm2022/ng-blatui.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ng-blatui.d.ts +190 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-blatui.mjs","sources":["../../../projects/ng-blatui/src/lib/utils/cn.ts","../../../projects/ng-blatui/src/lib/button/button.ts","../../../projects/ng-blatui/src/lib/badge/badge.ts","../../../projects/ng-blatui/src/lib/label/label.ts","../../../projects/ng-blatui/src/lib/separator/separator.ts","../../../projects/ng-blatui/src/lib/skeleton/skeleton.ts","../../../projects/ng-blatui/src/lib/card/card.ts","../../../projects/ng-blatui/src/lib/alert/alert.ts","../../../projects/ng-blatui/src/lib/input/input.ts","../../../projects/ng-blatui/src/lib/textarea/textarea.ts","../../../projects/ng-blatui/src/lib/progress/progress.ts","../../../projects/ng-blatui/src/lib/avatar/avatar.ts","../../../projects/ng-blatui/src/lib/checkbox/checkbox.ts","../../../projects/ng-blatui/src/lib/switch/switch.ts","../../../projects/ng-blatui/src/lib/accordion/accordion.ts","../../../projects/ng-blatui/src/lib/tabs/tabs.ts","../../../projects/ng-blatui/src/lib/dialog/dialog.ts","../../../projects/ng-blatui/src/lib/theme/theme.ts","../../../projects/ng-blatui/src/lib/theme/theme-customizer.ts","../../../projects/ng-blatui/src/lib/radio-group/radio-group.ts","../../../projects/ng-blatui/src/lib/tooltip/tooltip.ts","../../../projects/ng-blatui/src/lib/breadcrumb/breadcrumb.ts","../../../projects/ng-blatui/src/lib/kbd/kbd.ts","../../../projects/ng-blatui/src/lib/aspect-ratio/aspect-ratio.ts","../../../projects/ng-blatui/src/lib/button-group/button-group.ts","../../../projects/ng-blatui/src/public-api.ts","../../../projects/ng-blatui/src/ng-blatui.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * Merge class names with `clsx` semantics and resolve Tailwind conflicts with\n * `tailwind-merge`. The single utility every ng-blatui component uses to combine\n * its variant classes with consumer-provided ones.\n */\nexport function cn(...inputs: ClassValue[]): string {\n return twMerge(clsx(inputs));\n}\n\nexport { type ClassValue } from 'clsx';\n","import { computed, Directive, input } from '@angular/core';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nexport const buttonVariants = cva(\n \"inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90',\n destructive:\n 'bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40',\n outline:\n 'border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50',\n secondary: 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2 has-[>svg]:px-3',\n xs: 'h-7 gap-1 rounded-md px-2.5 text-xs has-[>svg]:px-2 [&_svg:not([class*=size-])]:size-3.5',\n sm: 'h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\n icon: 'size-9',\n 'icon-xs': 'size-7 [&_svg:not([class*=size-])]:size-3.5',\n 'icon-sm': 'size-8',\n 'icon-lg': 'size-10',\n },\n },\n defaultVariants: { variant: 'default', size: 'default' },\n },\n);\n\nexport type ButtonVariant = NonNullable<VariantProps<typeof buttonVariants>['variant']>;\nexport type ButtonSize = NonNullable<VariantProps<typeof buttonVariants>['size']>;\n\n/**\n * Applies BlatUI button styling to a native `<button>` or `<a>`, keeping native\n * semantics, focus and keyboard behavior (accessibility for free).\n */\n@Directive({\n selector: 'button[buiButton], a[buiButton]',\n host: {\n 'data-slot': 'button',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiButton {\n readonly variant = input<ButtonVariant>('default');\n readonly size = input<ButtonSize>('default');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn(buttonVariants({ variant: this.variant(), size: this.size() }), this.userClass()),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nconst BASE =\n 'inline-flex items-center justify-center rounded-md border font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden';\n\nconst SIZES = {\n sm: 'px-1.5 py-px text-[0.625rem]',\n default: 'px-2 py-0.5 text-xs',\n lg: 'px-3 py-1 text-sm [&>svg]:size-3.5',\n} as const;\n\nconst VARIANTS = {\n default: 'border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90',\n secondary: 'border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90',\n destructive:\n 'border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',\n outline: 'text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground',\n} as const;\n\nconst TONES = {\n success: {\n soft: 'border-transparent bg-success/10 text-success dark:bg-success/15',\n solid: 'border-transparent bg-success text-success-foreground',\n outline: 'text-success border-success/40',\n },\n warning: {\n soft: 'border-transparent bg-warning/10 text-warning dark:bg-warning/15',\n solid: 'border-transparent bg-warning text-warning-foreground',\n outline: 'text-warning border-warning/40',\n },\n danger: {\n soft: 'border-transparent bg-destructive/10 text-destructive dark:bg-destructive/15',\n solid: 'border-transparent bg-destructive text-destructive-foreground',\n outline: 'text-destructive border-destructive/40',\n },\n info: {\n soft: 'border-transparent bg-info/10 text-info dark:bg-info/15',\n solid: 'border-transparent bg-info text-info-foreground',\n outline: 'text-info border-info/40',\n },\n neutral: {\n soft: 'border-transparent bg-muted text-muted-foreground',\n solid: 'border-transparent bg-foreground/85 text-background',\n outline: 'text-muted-foreground border-border',\n },\n} as const;\n\nexport type BadgeSize = keyof typeof SIZES;\nexport type BadgeVariant = keyof typeof VARIANTS | 'soft' | 'solid';\nexport type BadgeTone = keyof typeof TONES;\nexport type BadgeIntensity = keyof (typeof TONES)['success'];\n\nfunction brandClass(variant: BadgeVariant): string {\n switch (variant) {\n case 'secondary': {\n return VARIANTS.secondary;\n }\n case 'destructive': {\n return VARIANTS.destructive;\n }\n case 'outline': {\n return VARIANTS.outline;\n }\n default: {\n return VARIANTS.default;\n }\n }\n}\n\nfunction intensityFor(variant: BadgeVariant): BadgeIntensity {\n return variant === 'solid' || variant === 'outline' ? variant : 'soft';\n}\n\n/**\n * BlatUI badge. Brand variants (`default | secondary | destructive | outline`)\n * or semantic `tone` (`success | warning | danger | info | neutral`) where\n * `variant` then selects intensity (`soft | solid | outline`). Built on a native\n * element so it stays in the document flow and screen-reader friendly.\n */\n@Directive({\n selector: '[buiBadge]',\n host: {\n 'data-slot': 'badge',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiBadge {\n readonly variant = input<BadgeVariant>('default');\n readonly tone = input<BadgeTone | null>(null);\n readonly size = input<BadgeSize>('default');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() => {\n const tone = this.tone();\n const toneOrVariant =\n tone === null ? brandClass(this.variant()) : TONES[tone][intensityFor(this.variant())];\n return cn(BASE, SIZES[this.size()], toneOrVariant, this.userClass());\n });\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/**\n * BlatUI label. Apply to a native `<label>` (use `for`/`id` to associate it with\n * a control) so the click-to-focus and screen-reader association work natively.\n */\n@Directive({\n selector: 'label[buiLabel]',\n host: {\n 'data-slot': 'label',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiLabel {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn(\n 'flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n this.userClass(),\n ),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nexport type SeparatorOrientation = 'horizontal' | 'vertical';\n\n/**\n * BlatUI separator. `decorative` (default) renders `role=\"none\"`; set\n * `[decorative]=\"false\"` for a semantic `role=\"separator\"` with `aria-orientation`.\n */\n@Directive({\n selector: '[buiSeparator]',\n host: {\n 'data-slot': 'separator',\n '[attr.role]': \"decorative() ? 'none' : 'separator'\",\n '[attr.aria-orientation]': 'decorative() ? null : orientation()',\n '[attr.data-orientation]': 'orientation()',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiSeparator {\n readonly orientation = input<SeparatorOrientation>('horizontal');\n readonly decorative = input(true);\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn(\n 'shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px',\n this.userClass(),\n ),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/**\n * BlatUI skeleton placeholder. Marked `aria-hidden` so assistive tech ignores the\n * shimmering placeholder; announce real loading state separately (e.g. aria-busy).\n */\n@Directive({\n selector: '[buiSkeleton]',\n host: {\n 'data-slot': 'skeleton',\n 'aria-hidden': 'true',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiSkeleton {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn('animate-pulse rounded-md bg-accent', this.userClass()),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nconst CARD_VARIANTS = {\n // Simple padded box — the dominant use case.\n default: 'bg-card text-card-foreground rounded-xl border p-6 shadow-sm',\n // Sectioned layout for card-header / card-content / card-footer (each supplies its own px-6).\n sectioned: 'bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm',\n} as const;\n\nexport type CardVariant = keyof typeof CARD_VARIANTS;\n\n/** BlatUI card container. Use `variant=\"sectioned\"` with the header/content/footer parts. */\n@Directive({\n selector: '[buiCard]',\n host: { 'data-slot': 'card', '[class]': 'computedClass()' },\n})\nexport class BuiCard {\n readonly variant = input<CardVariant>('default');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn(CARD_VARIANTS[this.variant()], this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiCardHeader]',\n host: { 'data-slot': 'card-header', '[class]': 'computedClass()' },\n})\nexport class BuiCardHeader {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn(\n '@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6',\n this.userClass(),\n ),\n );\n}\n\n@Directive({\n selector: '[buiCardTitle]',\n host: { 'data-slot': 'card-title', '[class]': 'computedClass()' },\n})\nexport class BuiCardTitle {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn('leading-none font-semibold', this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiCardDescription]',\n host: { 'data-slot': 'card-description', '[class]': 'computedClass()' },\n})\nexport class BuiCardDescription {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn('text-sm text-muted-foreground', this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiCardAction]',\n host: { 'data-slot': 'card-action', '[class]': 'computedClass()' },\n})\nexport class BuiCardAction {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn('col-start-2 row-span-2 row-start-1 self-start justify-self-end', this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiCardContent]',\n host: { 'data-slot': 'card-content', '[class]': 'computedClass()' },\n})\nexport class BuiCardContent {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() => cn('px-6', this.userClass()));\n}\n\n@Directive({\n selector: '[buiCardFooter]',\n host: { 'data-slot': 'card-footer', '[class]': 'computedClass()' },\n})\nexport class BuiCardFooter {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn('flex items-center px-6 [.border-t]:pt-6', this.userClass()),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nconst ALERT_BASE =\n 'relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current';\n\nconst ALERT_VARIANTS = {\n default: 'bg-card text-card-foreground',\n destructive:\n 'text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive',\n} as const;\n\nconst ALERT_TONES = {\n success:\n 'border-success/20 bg-success/10 text-success [&>svg]:text-success *:data-[slot=alert-description]:text-success',\n warning:\n 'border-warning/20 bg-warning/10 text-warning [&>svg]:text-warning *:data-[slot=alert-description]:text-warning',\n danger:\n 'border-destructive/20 bg-destructive/10 text-destructive [&>svg]:text-destructive *:data-[slot=alert-description]:text-destructive',\n info: 'border-info/20 bg-info/10 text-info [&>svg]:text-info *:data-[slot=alert-description]:text-info',\n neutral:\n 'border-border bg-muted text-foreground [&>svg]:text-foreground *:data-[slot=alert-description]:text-muted-foreground',\n} as const;\n\nexport type AlertVariant = keyof typeof ALERT_VARIANTS;\nexport type AlertTone = keyof typeof ALERT_TONES;\n\n/**\n * BlatUI alert. `role=\"alert\"` for assistive tech. Brand `variant`\n * (`default | destructive`) or semantic `tone` (`success | warning | danger | info | neutral`).\n */\n@Directive({\n selector: '[buiAlert]',\n host: { 'data-slot': 'alert', role: 'alert', '[class]': 'computedClass()' },\n})\nexport class BuiAlert {\n readonly variant = input<AlertVariant>('default');\n readonly tone = input<AlertTone | null>(null);\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() => {\n const tone = this.tone();\n const toneOrVariant = tone === null ? ALERT_VARIANTS[this.variant()] : ALERT_TONES[tone];\n return cn(ALERT_BASE, toneOrVariant, this.userClass());\n });\n}\n\n@Directive({\n selector: '[buiAlertTitle]',\n host: { 'data-slot': 'alert-title', '[class]': 'computedClass()' },\n})\nexport class BuiAlertTitle {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn('col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight', this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiAlertDescription]',\n host: { 'data-slot': 'alert-description', '[class]': 'computedClass()' },\n})\nexport class BuiAlertDescription {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn(\n 'col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed',\n this.userClass(),\n ),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nconst INPUT_BASE =\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex w-full min-w-0 rounded-md border bg-transparent shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:border-0 file:bg-transparent file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive';\n\nconst INPUT_SIZES = {\n sm: 'h-8 px-2.5 py-1 text-sm file:h-6 file:text-xs',\n default: 'h-9 px-3 py-1 text-base md:text-sm file:h-7 file:text-sm',\n lg: 'h-10 px-4 py-2 text-base file:h-8 file:text-sm',\n} as const;\n\nexport type InputSize = keyof typeof INPUT_SIZES;\n\n/** Applies BlatUI input styling to a native `<input>` (keeps native validation & a11y). */\n@Directive({\n selector: 'input[buiInput]',\n host: {\n 'data-slot': 'input',\n '[attr.data-size]': 'size()',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiInput {\n readonly size = input<InputSize>('default');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn(INPUT_BASE, INPUT_SIZES[this.size()], this.userClass()),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nconst TEXTAREA_BASE =\n 'border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content w-full rounded-md border bg-transparent shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50';\n\nconst TEXTAREA_SIZES = {\n sm: 'min-h-14 px-2.5 py-1.5 text-sm',\n default: 'min-h-16 px-3 py-2 text-base md:text-sm',\n lg: 'min-h-20 px-4 py-2.5 text-base',\n} as const;\n\nexport type TextareaSize = keyof typeof TEXTAREA_SIZES;\n\n/** Applies BlatUI textarea styling to a native `<textarea>` (auto-grows via field-sizing). */\n@Directive({\n selector: 'textarea[buiTextarea]',\n host: {\n 'data-slot': 'textarea',\n '[attr.data-size]': 'size()',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiTextarea {\n readonly size = input<TextareaSize>('default');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn(TEXTAREA_BASE, TEXTAREA_SIZES[this.size()], this.userClass()),\n );\n}\n","import { Component, computed, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/**\n * BlatUI linear progress bar. Exposes the full `progressbar` ARIA contract\n * (valuemin/max/now/text). Set `[indeterminate]=\"true\"` for an unknown-duration bar.\n */\n@Component({\n selector: 'bui-progress',\n host: {\n 'data-slot': 'progress',\n role: 'progressbar',\n 'aria-valuemin': '0',\n 'aria-valuemax': '100',\n '[attr.aria-label]': 'ariaLabel()',\n '[attr.aria-valuenow]': 'indeterminate() ? null : rounded()',\n '[attr.aria-valuetext]': 'indeterminate() ? null : valueText()',\n '[class]': 'computedClass()',\n },\n template: `\n @if (indeterminate()) {\n <span\n data-slot=\"progress-indicator\"\n class=\"absolute inset-y-0 w-2/5 animate-progress-indeterminate rounded-full bg-primary\"\n ></span>\n } @else {\n <span\n data-slot=\"progress-indicator\"\n class=\"block h-full w-full rounded-full bg-primary transition-all\"\n [style.transform]=\"indicatorTransform()\"\n ></span>\n }\n `,\n})\nexport class BuiProgress {\n readonly value = input(0);\n readonly indeterminate = input(false);\n readonly ariaLabel = input('Progress');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly pct = computed(() => Math.max(0, Math.min(100, this.value())));\n protected readonly rounded = computed(() => Math.round(this.pct()));\n protected readonly valueText = computed(() => `${this.rounded()}%`);\n protected readonly indicatorTransform = computed(() => `translateX(-${100 - this.pct()}%)`);\n protected readonly computedClass = computed(() =>\n cn('relative block h-2 w-full overflow-hidden rounded-full bg-primary/20', this.userClass()),\n );\n}\n","import { Component, computed, input, signal } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/**\n * BlatUI avatar. Renders the image when `src` is set and loads; otherwise shows\n * the projected fallback (initials, icon). Falls back automatically on load error.\n */\n@Component({\n selector: 'bui-avatar',\n host: {\n 'data-slot': 'avatar',\n '[class]': 'computedClass()',\n },\n template: `\n @if (src() && !error()) {\n <img\n data-slot=\"avatar-image\"\n class=\"aspect-square size-full\"\n [src]=\"src()\"\n [alt]=\"alt()\"\n (error)=\"error.set(true)\"\n />\n } @else {\n <span\n data-slot=\"avatar-fallback\"\n class=\"flex size-full items-center justify-center rounded-full bg-muted text-sm\"\n >\n <ng-content />\n </span>\n }\n `,\n})\nexport class BuiAvatar {\n readonly src = input<string | null>(null);\n readonly alt = input('');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly error = signal(false);\n protected readonly computedClass = computed(() =>\n cn('relative flex size-8 shrink-0 overflow-hidden rounded-full', this.userClass()),\n );\n}\n","import { Component, computed, input, model } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nconst CHECKBOX_BASE =\n 'peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 flex items-center justify-center';\n\n/**\n * BlatUI checkbox. A native `<button role=\"checkbox\">` (Space/Enter toggle for free)\n * with `[(checked)]` two-way binding and tri-state `[(indeterminate)]`.\n */\n@Component({\n selector: 'button[buiCheckbox]',\n host: {\n type: 'button',\n role: 'checkbox',\n 'data-slot': 'checkbox',\n '[attr.aria-checked]': 'ariaChecked()',\n '[attr.data-state]': 'state()',\n '[disabled]': 'disabled()',\n '[class]': 'computedClass()',\n '(click)': 'toggle()',\n },\n template: `\n @if (checked() || indeterminate()) {\n <span data-slot=\"checkbox-indicator\" class=\"flex items-center justify-center text-current\">\n @if (indeterminate()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"size-3.5\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M5 12h14\" />\n </svg>\n } @else {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"size-3.5\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M20 6 9 17l-5-5\" />\n </svg>\n }\n </span>\n }\n `,\n})\nexport class BuiCheckbox {\n readonly checked = model(false);\n readonly indeterminate = model(false);\n readonly disabled = input(false);\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly state = computed(() => {\n if (this.indeterminate()) {\n return 'indeterminate';\n }\n return this.checked() ? 'checked' : 'unchecked';\n });\n protected readonly ariaChecked = computed(() =>\n this.indeterminate() ? 'mixed' : String(this.checked()),\n );\n protected readonly computedClass = computed(() => cn(CHECKBOX_BASE, this.userClass()));\n\n protected toggle(): void {\n if (this.disabled()) {\n return;\n }\n if (this.indeterminate()) {\n this.indeterminate.set(false);\n this.checked.set(true);\n } else {\n this.checked.update((value) => !value);\n }\n }\n}\n","import { Component, computed, input, model } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nconst SWITCH_BASE =\n 'peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50';\n\nconst SWITCH_TRACK = {\n sm: 'h-4 w-7',\n default: 'h-[1.15rem] w-8',\n lg: 'h-6 w-10',\n} as const;\n\nconst SWITCH_THUMB = {\n sm: 'size-3.5',\n default: 'size-4',\n lg: 'size-5',\n} as const;\n\nconst THUMB_BASE =\n 'bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0';\n\nexport type SwitchSize = keyof typeof SWITCH_TRACK;\n\n/**\n * BlatUI switch. A native `<button role=\"switch\">` with `[(checked)]` two-way\n * binding; keyboard activation (Space/Enter) and focus come from the native button.\n */\n@Component({\n selector: 'button[buiSwitch]',\n host: {\n type: 'button',\n role: 'switch',\n 'data-slot': 'switch',\n '[attr.aria-checked]': 'checked()',\n '[attr.data-state]': 'state()',\n '[disabled]': 'disabled()',\n '[class]': 'computedClass()',\n '(click)': 'toggle()',\n },\n template: `\n <span data-slot=\"switch-thumb\" [attr.data-state]=\"state()\" [class]=\"thumbClass()\"></span>\n `,\n})\nexport class BuiSwitch {\n readonly checked = model(false);\n readonly disabled = input(false);\n readonly size = input<SwitchSize>('default');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly state = computed(() => (this.checked() ? 'checked' : 'unchecked'));\n protected readonly computedClass = computed(() =>\n cn(SWITCH_BASE, SWITCH_TRACK[this.size()], this.userClass()),\n );\n protected readonly thumbClass = computed(() => cn(THUMB_BASE, SWITCH_THUMB[this.size()]));\n\n protected toggle(): void {\n if (this.disabled()) {\n return;\n }\n this.checked.update((value) => !value);\n }\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/**\n * Behaviour + accessibility come from Angular Aria's accordion directives\n * (`ngAccordionGroup` / `ngAccordionTrigger` / `ngAccordionPanel` / `ngAccordionContent`):\n * they own `aria-expanded`, `aria-controls`, roving focus and keyboard navigation.\n * The `bui*` directives below only add BlatUI styling, so you compose both:\n *\n * ```html\n * <div ngAccordionGroup buiAccordion [multiExpandable]=\"false\">\n * <div buiAccordionItem>\n * <h3 class=\"flex\">\n * <button ngAccordionTrigger buiAccordionTrigger [panel]=\"p1\">Title <svg>…</svg></button>\n * </h3>\n * <div ngAccordionPanel #p1=\"ngAccordionPanel\" buiAccordionContent>\n * <ng-template ngAccordionContent><div class=\"pb-4\">Content</div></ng-template>\n * </div>\n * </div>\n * </div>\n * ```\n */\nexport {\n AccordionContent,\n AccordionGroup,\n AccordionPanel,\n AccordionTrigger,\n // Re-exported so consumers importing the accordion from `ng-blatui` can resolve the\n // deferred-content symbols the Aria directives reference internally.\n ɵɵDeferredContent,\n ɵɵDeferredContentAware,\n} from '@angular/aria/accordion';\n\nconst TRIGGER =\n 'focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&>svg]:text-muted-foreground [&>svg]:pointer-events-none [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:translate-y-0.5 [&>svg]:transition-transform [&>svg]:duration-200 [&[aria-expanded=true]>svg]:rotate-180';\n\n@Directive({\n selector: '[buiAccordion]',\n host: { 'data-slot': 'accordion', '[class]': 'computedClass()' },\n})\nexport class BuiAccordion {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() => cn('w-full', this.userClass()));\n}\n\n@Directive({\n selector: '[buiAccordionItem]',\n host: { 'data-slot': 'accordion-item', '[class]': 'computedClass()' },\n})\nexport class BuiAccordionItem {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('border-b last:border-b-0', this.userClass()),\n );\n}\n\n@Directive({\n selector: 'button[buiAccordionTrigger]',\n host: { 'data-slot': 'accordion-trigger', '[class]': 'computedClass()' },\n})\nexport class BuiAccordionTrigger {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() => cn(TRIGGER, this.userClass()));\n}\n\n@Directive({\n selector: '[buiAccordionContent]',\n host: { 'data-slot': 'accordion-content', '[class]': 'computedClass()' },\n})\nexport class BuiAccordionContent {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('overflow-hidden text-sm', this.userClass()),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/**\n * Behaviour + accessibility come from Angular Aria's tabs directives\n * (`ngTabs` / `ngTabList` / `ngTab` / `ngTabPanel` / `ngTabContent`): roles,\n * `aria-selected`, roving tabindex and arrow-key navigation. The `bui*` directives\n * add BlatUI's segmented styling (selected state keys off `aria-selected`):\n *\n * ```html\n * <div ngTabs buiTabs>\n * <div ngTabList buiTabList selectedTab=\"a\">\n * <div ngTab value=\"a\" buiTabTrigger>Account</div>\n * <div ngTab value=\"b\" buiTabTrigger>Password</div>\n * </div>\n * <div ngTabPanel value=\"a\" buiTabPanel><ng-template ngTabContent>…</ng-template></div>\n * <div ngTabPanel value=\"b\" buiTabPanel><ng-template ngTabContent>…</ng-template></div>\n * </div>\n * ```\n */\nexport { Tab, TabContent, TabList, TabPanel, Tabs } from '@angular/aria/tabs';\n\nconst TAB_TRIGGER =\n 'text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 cursor-default items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-selected:bg-background aria-selected:shadow-sm dark:aria-selected:text-foreground dark:aria-selected:border-input dark:aria-selected:bg-input/30';\n\n@Directive({\n selector: '[buiTabs]',\n host: { 'data-slot': 'tabs', '[class]': 'computedClass()' },\n})\nexport class BuiTabs {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() => cn('flex flex-col gap-2', this.userClass()));\n}\n\n@Directive({\n selector: '[buiTabList]',\n host: { 'data-slot': 'tabs-list', '[class]': 'computedClass()' },\n})\nexport class BuiTabList {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn(\n 'inline-flex h-9 w-fit items-center justify-center rounded-lg bg-muted p-[3px] text-muted-foreground',\n this.userClass(),\n ),\n );\n}\n\n@Directive({\n selector: '[buiTabTrigger]',\n host: { 'data-slot': 'tabs-trigger', '[class]': 'computedClass()' },\n})\nexport class BuiTabTrigger {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() => cn(TAB_TRIGGER, this.userClass()));\n}\n\n@Directive({\n selector: '[buiTabPanel]',\n host: { 'data-slot': 'tabs-content', '[class]': 'computedClass()' },\n})\nexport class BuiTabPanel {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() => cn('flex-1 outline-none', this.userClass()));\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/**\n * Overlay, backdrop, focus-trap, scroll-block, Escape-to-close, `role=\"dialog\"`\n * and `aria-modal` all come from Angular CDK's `Dialog` service (re-exported below).\n * Open a `TemplateRef`/component whose root carries `buiDialogContent`:\n *\n * ```ts\n * private dialog = inject(Dialog);\n * open(tpl: TemplateRef<unknown>) { this.dialog.open(tpl); }\n * ```\n */\nexport { Dialog, DialogRef, DialogModule, DIALOG_DATA } from '@angular/cdk/dialog';\n\nconst DIALOG_CONTENT =\n 'bg-background relative grid w-full max-w-[calc(100%-2rem)] gap-4 rounded-lg border p-6 shadow-lg sm:max-w-lg';\n\n@Directive({\n selector: '[buiDialogContent]',\n host: { 'data-slot': 'dialog-content', '[class]': 'computedClass()' },\n})\nexport class BuiDialogContent {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() => cn(DIALOG_CONTENT, this.userClass()));\n}\n\n@Directive({\n selector: '[buiDialogHeader]',\n host: { 'data-slot': 'dialog-header', '[class]': 'computedClass()' },\n})\nexport class BuiDialogHeader {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('flex flex-col gap-2 text-center sm:text-left', this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiDialogTitle]',\n host: { 'data-slot': 'dialog-title', '[class]': 'computedClass()' },\n})\nexport class BuiDialogTitle {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('text-lg leading-none font-semibold', this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiDialogDescription]',\n host: { 'data-slot': 'dialog-description', '[class]': 'computedClass()' },\n})\nexport class BuiDialogDescription {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('text-sm text-muted-foreground', this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiDialogFooter]',\n host: { 'data-slot': 'dialog-footer', '[class]': 'computedClass()' },\n})\nexport class BuiDialogFooter {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', this.userClass()),\n );\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { computed, effect, inject, Injectable, PLATFORM_ID, signal } from '@angular/core';\n\nexport type ThemeMode = 'light' | 'dark' | 'system';\n\n/** Every token the `@theme inline` mapping references — emitted into `:root` on export. */\nexport const THEME_TOKENS = [\n '--radius',\n '--spacing',\n '--tracking-normal',\n '--font-sans',\n '--font-serif',\n '--font-mono',\n '--shadow-2xs',\n '--shadow-xs',\n '--shadow-sm',\n '--shadow',\n '--shadow-md',\n '--shadow-lg',\n '--shadow-xl',\n '--shadow-2xl',\n '--background',\n '--foreground',\n '--card',\n '--card-foreground',\n '--popover',\n '--popover-foreground',\n '--primary',\n '--primary-foreground',\n '--secondary',\n '--secondary-foreground',\n '--muted',\n '--muted-foreground',\n '--accent',\n '--accent-foreground',\n '--destructive',\n '--destructive-foreground',\n '--border',\n '--input',\n '--ring',\n '--chart-1',\n '--chart-2',\n '--chart-3',\n '--chart-4',\n '--chart-5',\n '--sidebar',\n '--sidebar-foreground',\n '--sidebar-primary',\n '--sidebar-primary-foreground',\n '--sidebar-accent',\n '--sidebar-accent-foreground',\n '--sidebar-border',\n '--sidebar-ring',\n] as const;\n\nconst THEME_SCAFFOLD = `@import 'tailwindcss';\n\n@custom-variant dark (&:is(.dark *));\n\n@theme inline {\n --font-sans: var(--font-sans);\n --font-serif: var(--font-serif);\n --font-mono: var(--font-mono);\n\n --radius-sm: calc(var(--radius) - 4px);\n --radius-md: calc(var(--radius) - 2px);\n --radius-lg: var(--radius);\n --radius-xl: calc(var(--radius) + 4px);\n\n --spacing: var(--spacing);\n\n --tracking-tighter: calc(var(--tracking-normal) - 0.05em);\n --tracking-tight: calc(var(--tracking-normal) - 0.025em);\n --tracking-normal: var(--tracking-normal);\n --tracking-wide: calc(var(--tracking-normal) + 0.025em);\n --tracking-wider: calc(var(--tracking-normal) + 0.05em);\n --tracking-widest: calc(var(--tracking-normal) + 0.1em);\n\n --shadow-2xs: var(--shadow-2xs);\n --shadow-xs: var(--shadow-xs);\n --shadow-sm: var(--shadow-sm);\n --shadow: var(--shadow);\n --shadow-md: var(--shadow-md);\n --shadow-lg: var(--shadow-lg);\n --shadow-xl: var(--shadow-xl);\n --shadow-2xl: var(--shadow-2xl);\n\n --color-background: var(--background);\n --color-foreground: var(--foreground);\n --color-card: var(--card);\n --color-card-foreground: var(--card-foreground);\n --color-popover: var(--popover);\n --color-popover-foreground: var(--popover-foreground);\n --color-primary: var(--primary);\n --color-primary-foreground: var(--primary-foreground);\n --color-secondary: var(--secondary);\n --color-secondary-foreground: var(--secondary-foreground);\n --color-muted: var(--muted);\n --color-muted-foreground: var(--muted-foreground);\n --color-accent: var(--accent);\n --color-accent-foreground: var(--accent-foreground);\n --color-destructive: var(--destructive);\n --color-destructive-foreground: var(--destructive-foreground);\n --color-border: var(--border);\n --color-input: var(--input);\n --color-ring: var(--ring);\n --color-chart-1: var(--chart-1);\n --color-chart-2: var(--chart-2);\n --color-chart-3: var(--chart-3);\n --color-chart-4: var(--chart-4);\n --color-chart-5: var(--chart-5);\n --color-sidebar: var(--sidebar);\n --color-sidebar-foreground: var(--sidebar-foreground);\n --color-sidebar-primary: var(--sidebar-primary);\n --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);\n --color-sidebar-accent: var(--sidebar-accent);\n --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);\n --color-sidebar-border: var(--sidebar-border);\n --color-sidebar-ring: var(--sidebar-ring);\n}`;\n\ninterface ThemeState {\n mode: ThemeMode;\n base: string;\n preset: string;\n radius: string;\n font: string;\n fontHeading: string;\n shadow: string;\n spacing: string;\n tracking: string;\n inputStyle: string;\n}\n\nconst DEFAULTS: ThemeState = {\n mode: 'light',\n base: 'neutral',\n preset: 'default',\n radius: '0.625',\n font: 'sans',\n fontHeading: 'sans',\n shadow: 'default',\n spacing: 'default',\n tracking: 'normal',\n inputStyle: 'outline',\n};\n\n/**\n * Live theme engine (the brain behind `<bui-theme-customizer>`). Mirrors BlatUI:\n * every dimension just toggles a `data-*` attribute / the `.dark` class on `<html>`,\n * and `blatui.css` holds all the token values. `exportCss()` serialises the active\n * theme to a paste-ready stylesheet. SSR-safe and persisted to localStorage.\n */\n@Injectable({ providedIn: 'root' })\nexport class ThemeStore {\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n\n readonly mode = signal<ThemeMode>(DEFAULTS.mode);\n readonly base = signal(DEFAULTS.base);\n readonly preset = signal(DEFAULTS.preset);\n readonly radius = signal(DEFAULTS.radius);\n readonly font = signal(DEFAULTS.font);\n readonly fontHeading = signal(DEFAULTS.fontHeading);\n readonly shadow = signal(DEFAULTS.shadow);\n readonly spacing = signal(DEFAULTS.spacing);\n readonly tracking = signal(DEFAULTS.tracking);\n readonly inputStyle = signal(DEFAULTS.inputStyle);\n\n private readonly systemDark = signal(false);\n readonly isDark = computed(\n () => this.mode() === 'dark' || (this.mode() === 'system' && this.systemDark()),\n );\n\n constructor() {\n if (!this.isBrowser) {\n return;\n }\n this.load();\n const mql =\n typeof globalThis.matchMedia === 'function'\n ? globalThis.matchMedia('(prefers-color-scheme: dark)')\n : null;\n if (mql) {\n this.systemDark.set(mql.matches);\n mql.addEventListener('change', (event) => {\n this.systemDark.set(event.matches);\n });\n }\n effect(() => {\n this.apply();\n });\n }\n\n setMode(value: ThemeMode): void {\n this.mode.set(value);\n }\n setBase(value: string): void {\n this.base.set(value);\n }\n setPreset(value: string): void {\n this.preset.set(value);\n }\n setRadius(value: string): void {\n this.radius.set(value);\n }\n setFont(value: string): void {\n this.font.set(value);\n }\n setFontHeading(value: string): void {\n this.fontHeading.set(value);\n }\n setShadow(value: string): void {\n this.shadow.set(value);\n }\n setSpacing(value: string): void {\n this.spacing.set(value);\n }\n setTracking(value: string): void {\n this.tracking.set(value);\n }\n setInputStyle(value: string): void {\n this.inputStyle.set(value);\n }\n\n toggle(): void {\n this.setMode(this.isDark() ? 'light' : 'dark');\n }\n\n reset(): void {\n this.mode.set(DEFAULTS.mode);\n this.base.set(DEFAULTS.base);\n this.preset.set(DEFAULTS.preset);\n this.radius.set(DEFAULTS.radius);\n this.font.set(DEFAULTS.font);\n this.fontHeading.set(DEFAULTS.fontHeading);\n this.shadow.set(DEFAULTS.shadow);\n this.spacing.set(DEFAULTS.spacing);\n this.tracking.set(DEFAULTS.tracking);\n this.inputStyle.set(DEFAULTS.inputStyle);\n }\n\n /** Serialise the active theme to a complete, paste-ready stylesheet. */\n exportCss(): string {\n if (!this.isBrowser) {\n return '';\n }\n const root = document.documentElement;\n const wasDark = root.classList.contains('dark');\n root.classList.remove('dark');\n const light = this.readTokens();\n root.classList.add('dark');\n const dark = this.readTokens();\n root.classList.toggle('dark', wasDark);\n\n const block = (source: Record<string, string>, keys: readonly string[]): string =>\n keys\n .filter((token) => source[token])\n .map((token) => ` ${token}: ${source[token] ?? ''};`)\n .join('\\n');\n const darkKeys = THEME_TOKENS.filter((token) => dark[token] && dark[token] !== light[token]);\n return `${THEME_SCAFFOLD}\\n\\n:root {\\n${block(light, THEME_TOKENS)}\\n}\\n\\n.dark {\\n${block(dark, darkKeys)}\\n}\\n`;\n }\n\n private readTokens(): Record<string, string> {\n const cs = getComputedStyle(document.documentElement);\n const out: Record<string, string> = {};\n for (const token of THEME_TOKENS) {\n out[token] = cs.getPropertyValue(token).trim();\n }\n return out;\n }\n\n private load(): void {\n const read = (key: string, fallback: string): string =>\n localStorage.getItem(`theme:${key}`) ?? fallback;\n this.mode.set(read('mode', DEFAULTS.mode) as ThemeMode);\n this.base.set(read('base', DEFAULTS.base));\n this.preset.set(read('preset', DEFAULTS.preset));\n this.radius.set(read('radius', DEFAULTS.radius));\n this.font.set(read('font', DEFAULTS.font));\n this.fontHeading.set(read('fontHeading', DEFAULTS.fontHeading));\n this.shadow.set(read('shadow', DEFAULTS.shadow));\n this.spacing.set(read('spacing', DEFAULTS.spacing));\n this.tracking.set(read('tracking', DEFAULTS.tracking));\n this.inputStyle.set(read('inputStyle', DEFAULTS.inputStyle));\n }\n\n private apply(): void {\n const root = document.documentElement;\n const state: ThemeState = {\n mode: this.mode(),\n base: this.base(),\n preset: this.preset(),\n radius: this.radius(),\n font: this.font(),\n fontHeading: this.fontHeading(),\n shadow: this.shadow(),\n spacing: this.spacing(),\n tracking: this.tracking(),\n inputStyle: this.inputStyle(),\n };\n root.classList.toggle('dark', this.isDark());\n this.attr(root, 'data-base', state.base, DEFAULTS.base);\n this.attr(root, 'data-theme', state.preset, DEFAULTS.preset);\n this.attr(root, 'data-font', state.font, DEFAULTS.font);\n this.attr(root, 'data-font-heading', state.fontHeading, DEFAULTS.fontHeading);\n this.attr(root, 'data-shadow', state.shadow, DEFAULTS.shadow);\n this.attr(root, 'data-spacing', state.spacing, DEFAULTS.spacing);\n this.attr(root, 'data-tracking', state.tracking, DEFAULTS.tracking);\n this.attr(root, 'data-input-style', state.inputStyle, DEFAULTS.inputStyle);\n root.setAttribute('data-radius', state.radius);\n\n for (const [key, value] of Object.entries(state) as [string, string][]) {\n localStorage.setItem(`theme:${key}`, value);\n }\n }\n\n private attr(root: HTMLElement, name: string, value: string, fallback: string): void {\n if (value && value !== fallback) {\n root.setAttribute(name, value);\n } else {\n root.removeAttribute(name);\n }\n }\n}\n","import { Component, computed, inject, signal } from '@angular/core';\n\nimport { BuiButton } from '../button/button';\n\nimport { type ThemeMode, ThemeStore } from './theme';\n\ninterface Option<T extends string = string> {\n readonly value: T;\n readonly label: string;\n}\ninterface Swatch {\n readonly value: string;\n readonly color: string;\n}\ninterface FontOption {\n readonly value: string;\n readonly label: string;\n readonly family: string;\n}\n\nconst FONTS: readonly FontOption[] = [\n { value: 'sans', label: 'Default', family: \"'Instrument Sans', sans-serif\" },\n { value: 'inter', label: 'Inter', family: \"'Inter', sans-serif\" },\n { value: 'geist', label: 'Geist', family: \"'Geist', sans-serif\" },\n { value: 'manrope', label: 'Manrope', family: \"'Manrope', sans-serif\" },\n { value: 'jakarta', label: 'Jakarta', family: \"'Plus Jakarta Sans', sans-serif\" },\n { value: 'space-grotesk', label: 'Grotesk', family: \"'Space Grotesk', sans-serif\" },\n { value: 'dm-sans', label: 'DM Sans', family: \"'DM Sans', sans-serif\" },\n { value: 'outfit', label: 'Outfit', family: \"'Outfit', sans-serif\" },\n { value: 'sora', label: 'Sora', family: \"'Sora', sans-serif\" },\n { value: 'system', label: 'System', family: 'system-ui, sans-serif' },\n { value: 'serif', label: 'Serif', family: 'ui-serif, Georgia, serif' },\n { value: 'mono', label: 'Mono', family: 'ui-monospace, monospace' },\n];\n\n/**\n * BlatUI's \"Customize\" toolbar, ported to Angular. Tunes every theme dimension\n * live (mode, base, accent, radius, input style, fonts, shadow, spacing, tracking)\n * through {@link ThemeStore}, then exports a paste-ready stylesheet via \"Copy CSS\".\n */\n@Component({\n selector: 'bui-theme-customizer',\n imports: [BuiButton],\n host: { 'data-slot': 'theme-customizer' },\n template: `\n <button\n buiButton\n variant=\"outline\"\n size=\"sm\"\n class=\"fixed right-4 bottom-4 z-50 shadow-md\"\n [attr.aria-expanded]=\"open()\"\n (click)=\"open.set(!open())\"\n >\n {{ open() ? 'Close' : 'Customize' }}\n </button>\n\n @if (open()) {\n <div\n role=\"dialog\"\n aria-label=\"Theme customizer\"\n class=\"fixed right-4 bottom-16 z-50 max-h-[80vh] w-[340px] space-y-5 overflow-y-auto rounded-lg border bg-popover p-4 text-popover-foreground shadow-lg\"\n >\n <div class=\"flex items-center justify-between\">\n <div>\n <h4 class=\"text-sm font-semibold\">Customize</h4>\n <p class=\"text-xs text-muted-foreground\">\n Tune it live. Every preset is pure CSS variables.\n </p>\n </div>\n <button buiButton variant=\"ghost\" size=\"sm\" (click)=\"theme.reset()\">Reset</button>\n </div>\n\n <!-- Mode -->\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Mode</span>\n <div class=\"grid grid-cols-3 gap-2\">\n @for (m of modes; track m.value) {\n <button\n type=\"button\"\n class=\"inline-flex h-8 items-center justify-center rounded-md border border-input text-xs font-medium transition-colors hover:bg-accent data-[active=true]:border-primary data-[active=true]:bg-accent\"\n [attr.data-active]=\"theme.mode() === m.value\"\n (click)=\"theme.setMode(m.value)\"\n >\n {{ m.label }}\n </button>\n }\n </div>\n </div>\n\n <!-- Base color -->\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Base color</span>\n <div class=\"grid grid-cols-9 gap-2\">\n @for (b of bases; track b.value) {\n <button\n type=\"button\"\n class=\"flex h-8 items-center justify-center rounded-md border border-input ring-offset-2 ring-offset-background transition-all data-[active=true]:ring-2 data-[active=true]:ring-ring\"\n [style.background]=\"b.color\"\n [attr.data-active]=\"theme.base() === b.value\"\n (click)=\"theme.setBase(b.value)\"\n >\n <span class=\"sr-only\">{{ b.value }}</span>\n </button>\n }\n </div>\n </div>\n\n <!-- Accent -->\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Accent</span>\n <div class=\"grid grid-cols-6 gap-2\">\n @for (a of accents; track a.value) {\n <button\n type=\"button\"\n class=\"flex h-8 items-center justify-center rounded-md border border-input ring-offset-2 ring-offset-background transition-all data-[active=true]:ring-2 data-[active=true]:ring-ring\"\n [style.background]=\"a.color\"\n [attr.data-active]=\"theme.preset() === a.value\"\n (click)=\"theme.setPreset(a.value)\"\n >\n <span class=\"sr-only\">{{ a.value }}</span>\n </button>\n }\n </div>\n </div>\n\n <!-- Radius -->\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Radius</span>\n <div class=\"grid grid-cols-6 gap-2\">\n @for (r of radii; track r) {\n <button\n type=\"button\"\n class=\"inline-flex h-8 items-center justify-center rounded-md border border-input text-xs font-medium transition-colors hover:bg-accent data-[active=true]:border-primary data-[active=true]:bg-accent\"\n [attr.data-active]=\"theme.radius() === r\"\n (click)=\"theme.setRadius(r)\"\n >\n {{ r }}\n </button>\n }\n </div>\n </div>\n\n <!-- Input style -->\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Input style</span>\n <div class=\"grid grid-cols-3 gap-2\">\n @for (i of inputStyles; track i.value) {\n <button\n type=\"button\"\n class=\"inline-flex h-8 items-center justify-center rounded-md border border-input text-xs font-medium transition-colors hover:bg-accent data-[active=true]:border-primary data-[active=true]:bg-accent\"\n [attr.data-active]=\"theme.inputStyle() === i.value\"\n (click)=\"theme.setInputStyle(i.value)\"\n >\n {{ i.label }}\n </button>\n }\n </div>\n </div>\n\n <!-- Body font -->\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Body font</span>\n <div class=\"grid grid-cols-3 gap-2\">\n @for (f of fonts; track f.value) {\n <button\n type=\"button\"\n class=\"inline-flex h-8 items-center justify-center rounded-md border border-input text-xs font-medium transition-colors hover:bg-accent data-[active=true]:border-primary data-[active=true]:bg-accent\"\n [style.fontFamily]=\"f.family\"\n [attr.data-active]=\"theme.font() === f.value\"\n (click)=\"theme.setFont(f.value)\"\n >\n {{ f.label }}\n </button>\n }\n </div>\n </div>\n\n <!-- Heading font -->\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Heading font</span>\n <div class=\"grid grid-cols-3 gap-2\">\n @for (f of fonts; track f.value) {\n <button\n type=\"button\"\n class=\"inline-flex h-8 items-center justify-center rounded-md border border-input text-xs font-medium transition-colors hover:bg-accent data-[active=true]:border-primary data-[active=true]:bg-accent\"\n [style.fontFamily]=\"f.family\"\n [attr.data-active]=\"theme.fontHeading() === f.value\"\n (click)=\"theme.setFontHeading(f.value)\"\n >\n {{ f.label }}\n </button>\n }\n </div>\n </div>\n\n <!-- Shadow -->\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Shadow</span>\n <div class=\"grid grid-cols-5 gap-2\">\n @for (s of shadows; track s.value) {\n <button\n type=\"button\"\n class=\"inline-flex h-8 items-center justify-center rounded-md border border-input text-xs font-medium transition-colors hover:bg-accent data-[active=true]:border-primary data-[active=true]:bg-accent\"\n [attr.data-active]=\"theme.shadow() === s.value\"\n (click)=\"theme.setShadow(s.value)\"\n >\n {{ s.label }}\n </button>\n }\n </div>\n </div>\n\n <!-- Spacing + Tracking -->\n <div class=\"grid grid-cols-2 gap-4\">\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Spacing</span>\n <div class=\"grid grid-cols-3 gap-1.5\">\n @for (s of spacings; track s.value) {\n <button\n type=\"button\"\n class=\"inline-flex h-8 items-center justify-center rounded-md border border-input text-xs font-medium transition-colors hover:bg-accent data-[active=true]:border-primary data-[active=true]:bg-accent\"\n [attr.data-active]=\"theme.spacing() === s.value\"\n (click)=\"theme.setSpacing(s.value)\"\n >\n {{ s.label }}\n </button>\n }\n </div>\n </div>\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Tracking</span>\n <div class=\"grid grid-cols-3 gap-1.5\">\n @for (t of trackings; track t.value) {\n <button\n type=\"button\"\n class=\"inline-flex h-8 items-center justify-center rounded-md border border-input text-xs font-medium transition-colors hover:bg-accent data-[active=true]:border-primary data-[active=true]:bg-accent\"\n [attr.data-active]=\"theme.tracking() === t.value\"\n (click)=\"theme.setTracking(t.value)\"\n >\n {{ t.label }}\n </button>\n }\n </div>\n </div>\n </div>\n\n <!-- Export -->\n <div class=\"border-t pt-4\">\n <p class=\"mb-2.5 text-xs leading-relaxed text-muted-foreground\">\n Copy your complete theme and paste it as your app stylesheet — the Tailwind import,\n every token and the\n <code class=\"rounded bg-muted px-1 py-0.5 text-[11px]\">@theme</code>\n mapping are included.\n </p>\n <button buiButton size=\"sm\" class=\"w-full\" (click)=\"copyCss()\">\n {{ copied() ? 'Copied to clipboard' : 'Copy theme CSS' }}\n </button>\n </div>\n </div>\n }\n `,\n})\nexport class BuiThemeCustomizer {\n protected readonly theme = inject(ThemeStore);\n protected readonly open = signal(false);\n protected readonly copied = signal(false);\n\n protected readonly modes: readonly Option<ThemeMode>[] = [\n { value: 'light', label: 'Light' },\n { value: 'dark', label: 'Dark' },\n { value: 'system', label: 'System' },\n ];\n protected readonly bases: readonly Swatch[] = [\n { value: 'neutral', color: 'oklch(0.205 0 0)' },\n { value: 'stone', color: 'oklch(0.216 0.006 56.043)' },\n { value: 'zinc', color: 'oklch(0.21 0.006 285.885)' },\n { value: 'slate', color: 'oklch(0.208 0.042 265.755)' },\n { value: 'gray', color: 'oklch(0.21 0.034 264.665)' },\n { value: 'mauve', color: 'oklch(0.212 0.019 322.12)' },\n { value: 'olive', color: 'oklch(0.228 0.013 107.4)' },\n { value: 'mist', color: 'oklch(0.218 0.008 223.9)' },\n { value: 'taupe', color: 'oklch(0.214 0.009 43.1)' },\n ];\n protected readonly accents: readonly Swatch[] = [\n { value: 'default', color: 'var(--primary)' },\n { value: 'blue', color: 'oklch(0.488 0.243 264.376)' },\n { value: 'indigo', color: 'oklch(0.457 0.24 277.023)' },\n { value: 'violet', color: 'oklch(0.491 0.27 292.581)' },\n { value: 'purple', color: 'oklch(0.496 0.265 301.924)' },\n { value: 'fuchsia', color: 'oklch(0.518 0.253 323.949)' },\n { value: 'pink', color: 'oklch(0.525 0.223 3.958)' },\n { value: 'rose', color: 'oklch(0.514 0.222 16.935)' },\n { value: 'red', color: 'oklch(0.505 0.213 27.518)' },\n { value: 'orange', color: 'oklch(0.553 0.195 38.402)' },\n { value: 'amber', color: 'oklch(0.555 0.163 48.998)' },\n { value: 'green', color: 'oklch(0.527 0.154 150.069)' },\n { value: 'emerald', color: 'oklch(0.508 0.118 165.612)' },\n { value: 'teal', color: 'oklch(0.511 0.096 186.391)' },\n { value: 'cyan', color: 'oklch(0.52 0.105 223.128)' },\n { value: 'sky', color: 'oklch(0.5 0.134 242.749)' },\n ];\n protected readonly radii: readonly string[] = ['0', '0.3', '0.5', '0.625', '0.75', '1'];\n protected readonly inputStyles: readonly Option[] = [\n { value: 'outline', label: 'Outline' },\n { value: 'fill', label: 'Fill' },\n { value: 'inset', label: 'Inset' },\n ];\n protected readonly fonts = FONTS;\n protected readonly shadows: readonly Option[] = [\n { value: 'none', label: 'None' },\n { value: 'sm', label: 'SM' },\n { value: 'default', label: 'Base' },\n { value: 'lg', label: 'LG' },\n { value: 'xl', label: 'XL' },\n ];\n protected readonly spacings: readonly Option[] = [\n { value: 'compact', label: 'S' },\n { value: 'default', label: 'M' },\n { value: 'comfortable', label: 'L' },\n ];\n protected readonly trackings: readonly Option[] = [\n { value: 'tight', label: 'S' },\n { value: 'normal', label: 'M' },\n { value: 'wide', label: 'L' },\n ];\n\n protected readonly _hasClipboard = computed(\n () => typeof navigator !== 'undefined' && !!navigator.clipboard,\n );\n\n protected async copyCss(): Promise<void> {\n if (!this._hasClipboard()) {\n return;\n }\n try {\n await navigator.clipboard.writeText(this.theme.exportCss());\n this.copied.set(true);\n setTimeout(() => {\n this.copied.set(false);\n }, 2000);\n } catch {\n // Clipboard unavailable / permission denied — silently ignore.\n }\n }\n}\n","import { Component, computed, Directive, ElementRef, inject, input, model } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/**\n * BlatUI radio group. `role=\"radiogroup\"` with arrow-key roving focus across the\n * `buiRadioItem` buttons; `[(value)]` two-way binds the selected value.\n */\n@Directive({\n selector: '[buiRadioGroup]',\n exportAs: 'buiRadioGroup',\n host: {\n role: 'radiogroup',\n 'data-slot': 'radio-group',\n '[class]': 'computedClass()',\n '(keydown)': 'onKeydown($event)',\n },\n})\nexport class BuiRadioGroup {\n readonly value = model<string | null>(null);\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n protected readonly computedClass = computed(() => cn('grid gap-3', this.userClass()));\n\n select(next: string): void {\n this.value.set(next);\n }\n\n protected onKeydown(event: KeyboardEvent): void {\n if (!['ArrowDown', 'ArrowRight', 'ArrowUp', 'ArrowLeft'].includes(event.key)) {\n return;\n }\n event.preventDefault();\n const items = [\n ...this.host.nativeElement.querySelectorAll<HTMLButtonElement>(\n '[role=\"radio\"]:not([disabled])',\n ),\n ];\n if (items.length === 0) {\n return;\n }\n const current = items.indexOf(document.activeElement as HTMLButtonElement);\n const isForward = event.key === 'ArrowDown' || event.key === 'ArrowRight';\n const next = items[(current + (isForward ? 1 : -1) + items.length) % items.length];\n next.focus();\n next.click();\n }\n}\n\nconst ITEM =\n 'border-input text-primary dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex aspect-square size-4 shrink-0 items-center justify-center rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50';\n\n@Component({\n selector: 'button[buiRadioItem]',\n host: {\n type: 'button',\n role: 'radio',\n 'data-slot': 'radio-group-item',\n '[attr.aria-checked]': 'checked()',\n '[attr.data-state]': \"checked() ? 'checked' : 'unchecked'\",\n '[attr.tabindex]': 'tabIndex()',\n '[disabled]': 'disabled()',\n '[class]': 'computedClass()',\n '(click)': 'select()',\n },\n template: `\n @if (checked()) {\n <span data-slot=\"radio-group-indicator\" class=\"flex items-center justify-center\">\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"size-2\" aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n </svg>\n </span>\n }\n `,\n})\nexport class BuiRadioGroupItem {\n readonly value = input.required<string>();\n readonly disabled = input(false);\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n private readonly group = inject(BuiRadioGroup);\n protected readonly checked = computed(() => this.group.value() === this.value());\n protected readonly tabIndex = computed(() =>\n this.checked() || this.group.value() === null ? 0 : -1,\n );\n protected readonly computedClass = computed(() => cn(ITEM, this.userClass()));\n\n protected select(): void {\n if (!this.disabled()) {\n this.group.select(this.value());\n }\n }\n}\n","import { _IdGenerator } from '@angular/cdk/a11y';\nimport { Overlay, type OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Component, Directive, ElementRef, inject, input, signal } from '@angular/core';\n\n/** Floating tooltip bubble rendered into a CDK overlay. */\n@Component({\n selector: 'bui-tooltip-content',\n host: {\n role: 'tooltip',\n class:\n 'bg-primary text-primary-foreground z-50 w-fit max-w-xs rounded-md px-3 py-1.5 text-xs shadow-md',\n },\n template: `{{ text() }}`,\n})\nexport class BuiTooltipContent {\n readonly text = input('');\n}\n\n/**\n * BlatUI tooltip. Shows an accessible `role=\"tooltip\"` bubble on hover/focus via the\n * Angular CDK overlay and wires `aria-describedby` on the host. SSR-safe (the overlay\n * is only created in the browser, on interaction).\n */\n@Directive({\n selector: '[buiTooltip]',\n host: {\n '[attr.aria-describedby]': 'describedBy()',\n '(mouseenter)': 'show()',\n '(mouseleave)': 'hide()',\n '(focusin)': 'show()',\n '(focusout)': 'hide()',\n },\n})\nexport class BuiTooltip {\n readonly text = input.required<string>({ alias: 'buiTooltip' });\n\n private readonly overlay = inject(Overlay);\n private readonly idGenerator = inject(_IdGenerator);\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n private overlayRef: OverlayRef | null = null;\n protected readonly describedBy = signal<string | null>(null);\n\n protected show(): void {\n if (this.overlayRef || !this.text()) {\n return;\n }\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.host)\n .withPositions([\n { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: -6 },\n { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: 6 },\n ]);\n this.overlayRef = this.overlay.create({ positionStrategy });\n const reference = this.overlayRef.attach(new ComponentPortal(BuiTooltipContent));\n reference.setInput('text', this.text());\n const id = this.idGenerator.getId('bui-tooltip-');\n (reference.location.nativeElement as HTMLElement).id = id;\n this.describedBy.set(id);\n }\n\n protected hide(): void {\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.describedBy.set(null);\n }\n}\n","import { Component, computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/** Breadcrumb navigation landmark (`<nav aria-label=\"breadcrumb\">`). */\n@Directive({\n selector: 'nav[buiBreadcrumb]',\n host: { 'aria-label': 'breadcrumb', 'data-slot': 'breadcrumb' },\n})\nexport class BuiBreadcrumb {}\n\n@Directive({\n selector: 'ol[buiBreadcrumbList]',\n host: { 'data-slot': 'breadcrumb-list', '[class]': 'computedClass()' },\n})\nexport class BuiBreadcrumbList {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn(\n 'flex flex-wrap items-center gap-1.5 text-sm break-words text-muted-foreground sm:gap-2.5',\n this.userClass(),\n ),\n );\n}\n\n@Directive({\n selector: 'li[buiBreadcrumbItem]',\n host: { 'data-slot': 'breadcrumb-item', '[class]': 'computedClass()' },\n})\nexport class BuiBreadcrumbItem {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('inline-flex items-center gap-1.5', this.userClass()),\n );\n}\n\n@Directive({\n selector: 'a[buiBreadcrumbLink]',\n host: { 'data-slot': 'breadcrumb-link', '[class]': 'computedClass()' },\n})\nexport class BuiBreadcrumbLink {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('transition-colors hover:text-foreground', this.userClass()),\n );\n}\n\n/** The current page in a breadcrumb — non-interactive, `aria-current=\"page\"`. */\n@Directive({\n selector: '[buiBreadcrumbPage]',\n host: {\n 'data-slot': 'breadcrumb-page',\n role: 'link',\n 'aria-disabled': 'true',\n 'aria-current': 'page',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiBreadcrumbPage {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('font-normal text-foreground', this.userClass()),\n );\n}\n\n/** Separator between breadcrumb items (defaults to a chevron). */\n@Component({\n selector: 'li[buiBreadcrumbSeparator]',\n host: {\n 'data-slot': 'breadcrumb-separator',\n role: 'presentation',\n 'aria-hidden': 'true',\n '[class]': 'computedClass()',\n },\n template: `\n <ng-content>\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"size-3.5\"\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n </ng-content>\n `,\n})\nexport class BuiBreadcrumbSeparator {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() => cn('[&>svg]:size-3.5', this.userClass()));\n}\n\n/** Collapsed breadcrumb indicator (ellipsis). */\n@Component({\n selector: 'li[buiBreadcrumbEllipsis]',\n host: {\n 'data-slot': 'breadcrumb-ellipsis',\n role: 'presentation',\n 'aria-hidden': 'true',\n '[class]': 'computedClass()',\n },\n template: `\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"size-4\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"1\" />\n <circle cx=\"19\" cy=\"12\" r=\"1\" />\n <circle cx=\"5\" cy=\"12\" r=\"1\" />\n </svg>\n <span class=\"sr-only\">More</span>\n `,\n})\nexport class BuiBreadcrumbEllipsis {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('flex size-9 items-center justify-center', this.userClass()),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/** Keyboard key styling, applied to a native `<kbd>` element. */\n@Directive({\n selector: 'kbd[buiKbd]',\n host: { 'data-slot': 'kbd', '[class]': 'computedClass()' },\n})\nexport class BuiKbd {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn(\n 'pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none',\n this.userClass(),\n ),\n );\n}\n","import { Component, computed, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/** Constrains projected content to a given aspect ratio (e.g. `16 / 9`). */\n@Component({\n selector: 'bui-aspect-ratio',\n host: {\n 'data-slot': 'aspect-ratio',\n '[style.aspect-ratio]': 'ratio()',\n '[class]': 'computedClass()',\n },\n template: `<ng-content />`,\n})\nexport class BuiAspectRatio {\n readonly ratio = input('1 / 1');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() => cn('relative block', this.userClass()));\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/** Groups buttons (and inputs) into a single segmented control. */\n@Directive({\n selector: '[buiButtonGroup]',\n host: {\n role: 'group',\n 'data-slot': 'button-group',\n '[attr.data-orientation]': 'orientation()',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiButtonGroup {\n readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn(\n 'flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 data-[orientation=vertical]:flex-col [&>*]:focus-within:z-10 [&>*]:focus-visible:z-10 data-[orientation=horizontal]:[&>*:not(:first-child)]:rounded-l-none data-[orientation=horizontal]:[&>*:not(:first-child)]:border-l-0 data-[orientation=vertical]:[&>*:not(:first-child)]:rounded-t-none data-[orientation=vertical]:[&>*:not(:first-child)]:border-t-0 data-[orientation=horizontal]:[&>*:not(:last-child)]:rounded-r-none data-[orientation=vertical]:[&>*:not(:last-child)]:rounded-b-none',\n this.userClass(),\n ),\n );\n}\n\n/** A non-button text segment inside a button group. */\n@Directive({\n selector: '[buiButtonGroupText]',\n host: { 'data-slot': 'button-group-text', '[class]': 'computedClass()' },\n})\nexport class BuiButtonGroupText {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn(\n 'flex items-center gap-2 rounded-md border bg-muted px-4 text-sm font-medium shadow-xs',\n this.userClass(),\n ),\n );\n}\n","/*\n * Public API Surface of ng-blatui\n */\n\nexport * from './lib/utils/cn';\nexport * from './lib/button/button';\nexport * from './lib/badge/badge';\nexport * from './lib/label/label';\nexport * from './lib/separator/separator';\nexport * from './lib/skeleton/skeleton';\nexport * from './lib/card/card';\nexport * from './lib/alert/alert';\nexport * from './lib/input/input';\nexport * from './lib/textarea/textarea';\nexport * from './lib/progress/progress';\nexport * from './lib/avatar/avatar';\nexport * from './lib/checkbox/checkbox';\nexport * from './lib/switch/switch';\nexport * from './lib/accordion/accordion';\nexport * from './lib/tabs/tabs';\nexport * from './lib/dialog/dialog';\nexport * from './lib/theme/theme';\nexport * from './lib/theme/theme-customizer';\nexport * from './lib/radio-group/radio-group';\nexport * from './lib/tooltip/tooltip';\nexport * from './lib/breadcrumb/breadcrumb';\nexport * from './lib/kbd/kbd';\nexport * from './lib/aspect-ratio/aspect-ratio';\nexport * from './lib/button-group/button-group';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-blatui.mjs","sources":["../../../projects/ng-blatui/src/lib/utils/cn.ts","../../../projects/ng-blatui/src/lib/button/button.ts","../../../projects/ng-blatui/src/lib/badge/badge.ts","../../../projects/ng-blatui/src/lib/label/label.ts","../../../projects/ng-blatui/src/lib/separator/separator.ts","../../../projects/ng-blatui/src/lib/skeleton/skeleton.ts","../../../projects/ng-blatui/src/lib/card/card.ts","../../../projects/ng-blatui/src/lib/alert/alert.ts","../../../projects/ng-blatui/src/lib/input/input.ts","../../../projects/ng-blatui/src/lib/textarea/textarea.ts","../../../projects/ng-blatui/src/lib/progress/progress.ts","../../../projects/ng-blatui/src/lib/avatar/avatar.ts","../../../projects/ng-blatui/src/lib/checkbox/checkbox.ts","../../../projects/ng-blatui/src/lib/switch/switch.ts","../../../projects/ng-blatui/src/lib/accordion/accordion.ts","../../../projects/ng-blatui/src/lib/tabs/tabs.ts","../../../projects/ng-blatui/src/lib/dialog/dialog.ts","../../../projects/ng-blatui/src/lib/theme/theme.ts","../../../projects/ng-blatui/src/lib/theme/theme-customizer.ts","../../../projects/ng-blatui/src/lib/radio-group/radio-group.ts","../../../projects/ng-blatui/src/lib/tooltip/tooltip.ts","../../../projects/ng-blatui/src/lib/breadcrumb/breadcrumb.ts","../../../projects/ng-blatui/src/lib/kbd/kbd.ts","../../../projects/ng-blatui/src/lib/aspect-ratio/aspect-ratio.ts","../../../projects/ng-blatui/src/lib/button-group/button-group.ts","../../../projects/ng-blatui/src/lib/empty/empty.ts","../../../projects/ng-blatui/src/lib/container/container.ts","../../../projects/ng-blatui/src/lib/field/field.ts","../../../projects/ng-blatui/src/lib/collapsible/collapsible.ts","../../../projects/ng-blatui/src/lib/toggle/toggle.ts","../../../projects/ng-blatui/src/lib/spinner/spinner.ts","../../../projects/ng-blatui/src/lib/copy-button/copy-button.ts","../../../projects/ng-blatui/src/lib/banner/banner.ts","../../../projects/ng-blatui/src/public-api.ts","../../../projects/ng-blatui/src/ng-blatui.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * Merge class names with `clsx` semantics and resolve Tailwind conflicts with\n * `tailwind-merge`. The single utility every ng-blatui component uses to combine\n * its variant classes with consumer-provided ones.\n */\nexport function cn(...inputs: ClassValue[]): string {\n return twMerge(clsx(inputs));\n}\n\nexport { type ClassValue } from 'clsx';\n","import { computed, Directive, input } from '@angular/core';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nexport const buttonVariants = cva(\n \"inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90',\n destructive:\n 'bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40',\n outline:\n 'border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50',\n secondary: 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2 has-[>svg]:px-3',\n xs: 'h-7 gap-1 rounded-md px-2.5 text-xs has-[>svg]:px-2 [&_svg:not([class*=size-])]:size-3.5',\n sm: 'h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\n icon: 'size-9',\n 'icon-xs': 'size-7 [&_svg:not([class*=size-])]:size-3.5',\n 'icon-sm': 'size-8',\n 'icon-lg': 'size-10',\n },\n },\n defaultVariants: { variant: 'default', size: 'default' },\n },\n);\n\nexport type ButtonVariant = NonNullable<VariantProps<typeof buttonVariants>['variant']>;\nexport type ButtonSize = NonNullable<VariantProps<typeof buttonVariants>['size']>;\n\n/**\n * Applies BlatUI button styling to a native `<button>` or `<a>`, keeping native\n * semantics, focus and keyboard behavior (accessibility for free).\n */\n@Directive({\n selector: 'button[buiButton], a[buiButton]',\n host: {\n 'data-slot': 'button',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiButton {\n readonly variant = input<ButtonVariant>('default');\n readonly size = input<ButtonSize>('default');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn(buttonVariants({ variant: this.variant(), size: this.size() }), this.userClass()),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nconst BASE =\n 'inline-flex items-center justify-center rounded-md border font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden';\n\nconst SIZES = {\n sm: 'px-1.5 py-px text-[0.625rem]',\n default: 'px-2 py-0.5 text-xs',\n lg: 'px-3 py-1 text-sm [&>svg]:size-3.5',\n} as const;\n\nconst VARIANTS = {\n default: 'border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90',\n secondary: 'border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90',\n destructive:\n 'border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',\n outline: 'text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground',\n} as const;\n\nconst TONES = {\n success: {\n soft: 'border-transparent bg-success/10 text-success dark:bg-success/15',\n solid: 'border-transparent bg-success text-success-foreground',\n outline: 'text-success border-success/40',\n },\n warning: {\n soft: 'border-transparent bg-warning/10 text-warning dark:bg-warning/15',\n solid: 'border-transparent bg-warning text-warning-foreground',\n outline: 'text-warning border-warning/40',\n },\n danger: {\n soft: 'border-transparent bg-destructive/10 text-destructive dark:bg-destructive/15',\n solid: 'border-transparent bg-destructive text-destructive-foreground',\n outline: 'text-destructive border-destructive/40',\n },\n info: {\n soft: 'border-transparent bg-info/10 text-info dark:bg-info/15',\n solid: 'border-transparent bg-info text-info-foreground',\n outline: 'text-info border-info/40',\n },\n neutral: {\n soft: 'border-transparent bg-muted text-muted-foreground',\n solid: 'border-transparent bg-foreground/85 text-background',\n outline: 'text-muted-foreground border-border',\n },\n} as const;\n\nexport type BadgeSize = keyof typeof SIZES;\nexport type BadgeVariant = keyof typeof VARIANTS | 'soft' | 'solid';\nexport type BadgeTone = keyof typeof TONES;\nexport type BadgeIntensity = keyof (typeof TONES)['success'];\n\nfunction brandClass(variant: BadgeVariant): string {\n switch (variant) {\n case 'secondary': {\n return VARIANTS.secondary;\n }\n case 'destructive': {\n return VARIANTS.destructive;\n }\n case 'outline': {\n return VARIANTS.outline;\n }\n default: {\n return VARIANTS.default;\n }\n }\n}\n\nfunction intensityFor(variant: BadgeVariant): BadgeIntensity {\n return variant === 'solid' || variant === 'outline' ? variant : 'soft';\n}\n\n/**\n * BlatUI badge. Brand variants (`default | secondary | destructive | outline`)\n * or semantic `tone` (`success | warning | danger | info | neutral`) where\n * `variant` then selects intensity (`soft | solid | outline`). Built on a native\n * element so it stays in the document flow and screen-reader friendly.\n */\n@Directive({\n selector: '[buiBadge]',\n host: {\n 'data-slot': 'badge',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiBadge {\n readonly variant = input<BadgeVariant>('default');\n readonly tone = input<BadgeTone | null>(null);\n readonly size = input<BadgeSize>('default');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() => {\n const tone = this.tone();\n const toneOrVariant =\n tone === null ? brandClass(this.variant()) : TONES[tone][intensityFor(this.variant())];\n return cn(BASE, SIZES[this.size()], toneOrVariant, this.userClass());\n });\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/**\n * BlatUI label. Apply to a native `<label>` (use `for`/`id` to associate it with\n * a control) so the click-to-focus and screen-reader association work natively.\n */\n@Directive({\n selector: 'label[buiLabel]',\n host: {\n 'data-slot': 'label',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiLabel {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn(\n 'flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n this.userClass(),\n ),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nexport type SeparatorOrientation = 'horizontal' | 'vertical';\n\n/**\n * BlatUI separator. `decorative` (default) renders `role=\"none\"`; set\n * `[decorative]=\"false\"` for a semantic `role=\"separator\"` with `aria-orientation`.\n */\n@Directive({\n selector: '[buiSeparator]',\n host: {\n 'data-slot': 'separator',\n '[attr.role]': \"decorative() ? 'none' : 'separator'\",\n '[attr.aria-orientation]': 'decorative() ? null : orientation()',\n '[attr.data-orientation]': 'orientation()',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiSeparator {\n readonly orientation = input<SeparatorOrientation>('horizontal');\n readonly decorative = input(true);\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn(\n 'shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px',\n this.userClass(),\n ),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/**\n * BlatUI skeleton placeholder. Marked `aria-hidden` so assistive tech ignores the\n * shimmering placeholder; announce real loading state separately (e.g. aria-busy).\n */\n@Directive({\n selector: '[buiSkeleton]',\n host: {\n 'data-slot': 'skeleton',\n 'aria-hidden': 'true',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiSkeleton {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn('animate-pulse rounded-md bg-accent', this.userClass()),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nconst CARD_VARIANTS = {\n // Simple padded box — the dominant use case.\n default: 'bg-card text-card-foreground rounded-xl border p-6 shadow-sm',\n // Sectioned layout for card-header / card-content / card-footer (each supplies its own px-6).\n sectioned: 'bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm',\n} as const;\n\nexport type CardVariant = keyof typeof CARD_VARIANTS;\n\n/** BlatUI card container. Use `variant=\"sectioned\"` with the header/content/footer parts. */\n@Directive({\n selector: '[buiCard]',\n host: { 'data-slot': 'card', '[class]': 'computedClass()' },\n})\nexport class BuiCard {\n readonly variant = input<CardVariant>('default');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn(CARD_VARIANTS[this.variant()], this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiCardHeader]',\n host: { 'data-slot': 'card-header', '[class]': 'computedClass()' },\n})\nexport class BuiCardHeader {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn(\n '@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6',\n this.userClass(),\n ),\n );\n}\n\n@Directive({\n selector: '[buiCardTitle]',\n host: { 'data-slot': 'card-title', '[class]': 'computedClass()' },\n})\nexport class BuiCardTitle {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn('leading-none font-semibold', this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiCardDescription]',\n host: { 'data-slot': 'card-description', '[class]': 'computedClass()' },\n})\nexport class BuiCardDescription {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn('text-sm text-muted-foreground', this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiCardAction]',\n host: { 'data-slot': 'card-action', '[class]': 'computedClass()' },\n})\nexport class BuiCardAction {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn('col-start-2 row-span-2 row-start-1 self-start justify-self-end', this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiCardContent]',\n host: { 'data-slot': 'card-content', '[class]': 'computedClass()' },\n})\nexport class BuiCardContent {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() => cn('px-6', this.userClass()));\n}\n\n@Directive({\n selector: '[buiCardFooter]',\n host: { 'data-slot': 'card-footer', '[class]': 'computedClass()' },\n})\nexport class BuiCardFooter {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn('flex items-center px-6 [.border-t]:pt-6', this.userClass()),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nconst ALERT_BASE =\n 'relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current';\n\nconst ALERT_VARIANTS = {\n default: 'bg-card text-card-foreground',\n destructive:\n 'text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive',\n} as const;\n\nconst ALERT_TONES = {\n success:\n 'border-success/20 bg-success/10 text-success [&>svg]:text-success *:data-[slot=alert-description]:text-success',\n warning:\n 'border-warning/20 bg-warning/10 text-warning [&>svg]:text-warning *:data-[slot=alert-description]:text-warning',\n danger:\n 'border-destructive/20 bg-destructive/10 text-destructive [&>svg]:text-destructive *:data-[slot=alert-description]:text-destructive',\n info: 'border-info/20 bg-info/10 text-info [&>svg]:text-info *:data-[slot=alert-description]:text-info',\n neutral:\n 'border-border bg-muted text-foreground [&>svg]:text-foreground *:data-[slot=alert-description]:text-muted-foreground',\n} as const;\n\nexport type AlertVariant = keyof typeof ALERT_VARIANTS;\nexport type AlertTone = keyof typeof ALERT_TONES;\n\n/**\n * BlatUI alert. `role=\"alert\"` for assistive tech. Brand `variant`\n * (`default | destructive`) or semantic `tone` (`success | warning | danger | info | neutral`).\n */\n@Directive({\n selector: '[buiAlert]',\n host: { 'data-slot': 'alert', role: 'alert', '[class]': 'computedClass()' },\n})\nexport class BuiAlert {\n readonly variant = input<AlertVariant>('default');\n readonly tone = input<AlertTone | null>(null);\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() => {\n const tone = this.tone();\n const toneOrVariant = tone === null ? ALERT_VARIANTS[this.variant()] : ALERT_TONES[tone];\n return cn(ALERT_BASE, toneOrVariant, this.userClass());\n });\n}\n\n@Directive({\n selector: '[buiAlertTitle]',\n host: { 'data-slot': 'alert-title', '[class]': 'computedClass()' },\n})\nexport class BuiAlertTitle {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn('col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight', this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiAlertDescription]',\n host: { 'data-slot': 'alert-description', '[class]': 'computedClass()' },\n})\nexport class BuiAlertDescription {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn(\n 'col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed',\n this.userClass(),\n ),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nconst INPUT_BASE =\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input flex w-full min-w-0 rounded-md border bg-transparent shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:border-0 file:bg-transparent file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive';\n\nconst INPUT_SIZES = {\n sm: 'h-8 px-2.5 py-1 text-sm file:h-6 file:text-xs',\n default: 'h-9 px-3 py-1 text-base md:text-sm file:h-7 file:text-sm',\n lg: 'h-10 px-4 py-2 text-base file:h-8 file:text-sm',\n} as const;\n\nexport type InputSize = keyof typeof INPUT_SIZES;\n\n/** Applies BlatUI input styling to a native `<input>` (keeps native validation & a11y). */\n@Directive({\n selector: 'input[buiInput]',\n host: {\n 'data-slot': 'input',\n '[attr.data-size]': 'size()',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiInput {\n readonly size = input<InputSize>('default');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn(INPUT_BASE, INPUT_SIZES[this.size()], this.userClass()),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nconst TEXTAREA_BASE =\n 'border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content w-full rounded-md border bg-transparent shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50';\n\nconst TEXTAREA_SIZES = {\n sm: 'min-h-14 px-2.5 py-1.5 text-sm',\n default: 'min-h-16 px-3 py-2 text-base md:text-sm',\n lg: 'min-h-20 px-4 py-2.5 text-base',\n} as const;\n\nexport type TextareaSize = keyof typeof TEXTAREA_SIZES;\n\n/** Applies BlatUI textarea styling to a native `<textarea>` (auto-grows via field-sizing). */\n@Directive({\n selector: 'textarea[buiTextarea]',\n host: {\n 'data-slot': 'textarea',\n '[attr.data-size]': 'size()',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiTextarea {\n readonly size = input<TextareaSize>('default');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly computedClass = computed(() =>\n cn(TEXTAREA_BASE, TEXTAREA_SIZES[this.size()], this.userClass()),\n );\n}\n","import { Component, computed, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/**\n * BlatUI linear progress bar. Exposes the full `progressbar` ARIA contract\n * (valuemin/max/now/text). Set `[indeterminate]=\"true\"` for an unknown-duration bar.\n */\n@Component({\n selector: 'bui-progress',\n host: {\n 'data-slot': 'progress',\n role: 'progressbar',\n 'aria-valuemin': '0',\n 'aria-valuemax': '100',\n '[attr.aria-label]': 'ariaLabel()',\n '[attr.aria-valuenow]': 'indeterminate() ? null : rounded()',\n '[attr.aria-valuetext]': 'indeterminate() ? null : valueText()',\n '[class]': 'computedClass()',\n },\n template: `\n @if (indeterminate()) {\n <span\n data-slot=\"progress-indicator\"\n class=\"absolute inset-y-0 w-2/5 animate-progress-indeterminate rounded-full bg-primary\"\n ></span>\n } @else {\n <span\n data-slot=\"progress-indicator\"\n class=\"block h-full w-full rounded-full bg-primary transition-all\"\n [style.transform]=\"indicatorTransform()\"\n ></span>\n }\n `,\n})\nexport class BuiProgress {\n readonly value = input(0);\n readonly indeterminate = input(false);\n readonly ariaLabel = input('Progress');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly pct = computed(() => Math.max(0, Math.min(100, this.value())));\n protected readonly rounded = computed(() => Math.round(this.pct()));\n protected readonly valueText = computed(() => `${this.rounded()}%`);\n protected readonly indicatorTransform = computed(() => `translateX(-${100 - this.pct()}%)`);\n protected readonly computedClass = computed(() =>\n cn('relative block h-2 w-full overflow-hidden rounded-full bg-primary/20', this.userClass()),\n );\n}\n","import { Component, computed, input, signal } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/**\n * BlatUI avatar. Renders the image when `src` is set and loads; otherwise shows\n * the projected fallback (initials, icon). Falls back automatically on load error.\n */\n@Component({\n selector: 'bui-avatar',\n host: {\n 'data-slot': 'avatar',\n '[class]': 'computedClass()',\n },\n template: `\n @if (src() && !error()) {\n <img\n data-slot=\"avatar-image\"\n class=\"aspect-square size-full\"\n [src]=\"src()\"\n [alt]=\"alt()\"\n (error)=\"error.set(true)\"\n />\n } @else {\n <span\n data-slot=\"avatar-fallback\"\n class=\"flex size-full items-center justify-center rounded-full bg-muted text-sm\"\n >\n <ng-content />\n </span>\n }\n `,\n})\nexport class BuiAvatar {\n readonly src = input<string | null>(null);\n readonly alt = input('');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly error = signal(false);\n protected readonly computedClass = computed(() =>\n cn('relative flex size-8 shrink-0 overflow-hidden rounded-full', this.userClass()),\n );\n}\n","import { Component, computed, input, model } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nconst CHECKBOX_BASE =\n 'peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 flex items-center justify-center';\n\n/**\n * BlatUI checkbox. A native `<button role=\"checkbox\">` (Space/Enter toggle for free)\n * with `[(checked)]` two-way binding and tri-state `[(indeterminate)]`.\n */\n@Component({\n selector: 'button[buiCheckbox]',\n host: {\n type: 'button',\n role: 'checkbox',\n 'data-slot': 'checkbox',\n '[attr.aria-checked]': 'ariaChecked()',\n '[attr.data-state]': 'state()',\n '[disabled]': 'disabled()',\n '[class]': 'computedClass()',\n '(click)': 'toggle()',\n },\n template: `\n @if (checked() || indeterminate()) {\n <span data-slot=\"checkbox-indicator\" class=\"flex items-center justify-center text-current\">\n @if (indeterminate()) {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"size-3.5\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M5 12h14\" />\n </svg>\n } @else {\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"size-3.5\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M20 6 9 17l-5-5\" />\n </svg>\n }\n </span>\n }\n `,\n})\nexport class BuiCheckbox {\n readonly checked = model(false);\n readonly indeterminate = model(false);\n readonly disabled = input(false);\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly state = computed(() => {\n if (this.indeterminate()) {\n return 'indeterminate';\n }\n return this.checked() ? 'checked' : 'unchecked';\n });\n protected readonly ariaChecked = computed(() =>\n this.indeterminate() ? 'mixed' : String(this.checked()),\n );\n protected readonly computedClass = computed(() => cn(CHECKBOX_BASE, this.userClass()));\n\n protected toggle(): void {\n if (this.disabled()) {\n return;\n }\n if (this.indeterminate()) {\n this.indeterminate.set(false);\n this.checked.set(true);\n } else {\n this.checked.update((value) => !value);\n }\n }\n}\n","import { Component, computed, input, model } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nconst SWITCH_BASE =\n 'peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50';\n\nconst SWITCH_TRACK = {\n sm: 'h-4 w-7',\n default: 'h-[1.15rem] w-8',\n lg: 'h-6 w-10',\n} as const;\n\nconst SWITCH_THUMB = {\n sm: 'size-3.5',\n default: 'size-4',\n lg: 'size-5',\n} as const;\n\nconst THUMB_BASE =\n 'bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0';\n\nexport type SwitchSize = keyof typeof SWITCH_TRACK;\n\n/**\n * BlatUI switch. A native `<button role=\"switch\">` with `[(checked)]` two-way\n * binding; keyboard activation (Space/Enter) and focus come from the native button.\n */\n@Component({\n selector: 'button[buiSwitch]',\n host: {\n type: 'button',\n role: 'switch',\n 'data-slot': 'switch',\n '[attr.aria-checked]': 'checked()',\n '[attr.data-state]': 'state()',\n '[disabled]': 'disabled()',\n '[class]': 'computedClass()',\n '(click)': 'toggle()',\n },\n template: `\n <span data-slot=\"switch-thumb\" [attr.data-state]=\"state()\" [class]=\"thumbClass()\"></span>\n `,\n})\nexport class BuiSwitch {\n readonly checked = model(false);\n readonly disabled = input(false);\n readonly size = input<SwitchSize>('default');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly state = computed(() => (this.checked() ? 'checked' : 'unchecked'));\n protected readonly computedClass = computed(() =>\n cn(SWITCH_BASE, SWITCH_TRACK[this.size()], this.userClass()),\n );\n protected readonly thumbClass = computed(() => cn(THUMB_BASE, SWITCH_THUMB[this.size()]));\n\n protected toggle(): void {\n if (this.disabled()) {\n return;\n }\n this.checked.update((value) => !value);\n }\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/**\n * Behaviour + accessibility come from Angular Aria's accordion directives\n * (`ngAccordionGroup` / `ngAccordionTrigger` / `ngAccordionPanel` / `ngAccordionContent`):\n * they own `aria-expanded`, `aria-controls`, roving focus and keyboard navigation.\n * The `bui*` directives below only add BlatUI styling, so you compose both:\n *\n * ```html\n * <div ngAccordionGroup buiAccordion [multiExpandable]=\"false\">\n * <div buiAccordionItem>\n * <h3 class=\"flex\">\n * <button ngAccordionTrigger buiAccordionTrigger [panel]=\"p1\">Title <svg>…</svg></button>\n * </h3>\n * <div ngAccordionPanel #p1=\"ngAccordionPanel\" buiAccordionContent>\n * <ng-template ngAccordionContent><div class=\"pb-4\">Content</div></ng-template>\n * </div>\n * </div>\n * </div>\n * ```\n */\nexport {\n AccordionContent,\n AccordionGroup,\n AccordionPanel,\n AccordionTrigger,\n // Re-exported so consumers importing the accordion from `ng-blatui` can resolve the\n // deferred-content symbols the Aria directives reference internally.\n ɵɵDeferredContent,\n ɵɵDeferredContentAware,\n} from '@angular/aria/accordion';\n\nconst TRIGGER =\n 'focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&>svg]:text-muted-foreground [&>svg]:pointer-events-none [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:translate-y-0.5 [&>svg]:transition-transform [&>svg]:duration-200 [&[aria-expanded=true]>svg]:rotate-180';\n\n@Directive({\n selector: '[buiAccordion]',\n host: { 'data-slot': 'accordion', '[class]': 'computedClass()' },\n})\nexport class BuiAccordion {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() => cn('w-full', this.userClass()));\n}\n\n@Directive({\n selector: '[buiAccordionItem]',\n host: { 'data-slot': 'accordion-item', '[class]': 'computedClass()' },\n})\nexport class BuiAccordionItem {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('border-b last:border-b-0', this.userClass()),\n );\n}\n\n@Directive({\n selector: 'button[buiAccordionTrigger]',\n host: { 'data-slot': 'accordion-trigger', '[class]': 'computedClass()' },\n})\nexport class BuiAccordionTrigger {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() => cn(TRIGGER, this.userClass()));\n}\n\n@Directive({\n selector: '[buiAccordionContent]',\n host: { 'data-slot': 'accordion-content', '[class]': 'computedClass()' },\n})\nexport class BuiAccordionContent {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('overflow-hidden text-sm', this.userClass()),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/**\n * Behaviour + accessibility come from Angular Aria's tabs directives\n * (`ngTabs` / `ngTabList` / `ngTab` / `ngTabPanel` / `ngTabContent`): roles,\n * `aria-selected`, roving tabindex and arrow-key navigation. The `bui*` directives\n * add BlatUI's segmented styling (selected state keys off `aria-selected`):\n *\n * ```html\n * <div ngTabs buiTabs>\n * <div ngTabList buiTabList selectedTab=\"a\">\n * <div ngTab value=\"a\" buiTabTrigger>Account</div>\n * <div ngTab value=\"b\" buiTabTrigger>Password</div>\n * </div>\n * <div ngTabPanel value=\"a\" buiTabPanel><ng-template ngTabContent>…</ng-template></div>\n * <div ngTabPanel value=\"b\" buiTabPanel><ng-template ngTabContent>…</ng-template></div>\n * </div>\n * ```\n */\nexport { Tab, TabContent, TabList, TabPanel, Tabs } from '@angular/aria/tabs';\n\nconst TAB_TRIGGER =\n 'text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 cursor-default items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-selected:bg-background aria-selected:shadow-sm dark:aria-selected:text-foreground dark:aria-selected:border-input dark:aria-selected:bg-input/30';\n\n@Directive({\n selector: '[buiTabs]',\n host: { 'data-slot': 'tabs', '[class]': 'computedClass()' },\n})\nexport class BuiTabs {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() => cn('flex flex-col gap-2', this.userClass()));\n}\n\n@Directive({\n selector: '[buiTabList]',\n host: { 'data-slot': 'tabs-list', '[class]': 'computedClass()' },\n})\nexport class BuiTabList {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn(\n 'inline-flex h-9 w-fit items-center justify-center rounded-lg bg-muted p-[3px] text-muted-foreground',\n this.userClass(),\n ),\n );\n}\n\n@Directive({\n selector: '[buiTabTrigger]',\n host: { 'data-slot': 'tabs-trigger', '[class]': 'computedClass()' },\n})\nexport class BuiTabTrigger {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() => cn(TAB_TRIGGER, this.userClass()));\n}\n\n@Directive({\n selector: '[buiTabPanel]',\n host: { 'data-slot': 'tabs-content', '[class]': 'computedClass()' },\n})\nexport class BuiTabPanel {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() => cn('flex-1 outline-none', this.userClass()));\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/**\n * Overlay, backdrop, focus-trap, scroll-block, Escape-to-close, `role=\"dialog\"`\n * and `aria-modal` all come from Angular CDK's `Dialog` service (re-exported below).\n * Open a `TemplateRef`/component whose root carries `buiDialogContent`:\n *\n * ```ts\n * private dialog = inject(Dialog);\n * open(tpl: TemplateRef<unknown>) { this.dialog.open(tpl); }\n * ```\n */\nexport { Dialog, DialogRef, DialogModule, DIALOG_DATA } from '@angular/cdk/dialog';\n\nconst DIALOG_CONTENT =\n 'bg-background relative grid w-full max-w-[calc(100%-2rem)] gap-4 rounded-lg border p-6 shadow-lg sm:max-w-lg';\n\n@Directive({\n selector: '[buiDialogContent]',\n host: { 'data-slot': 'dialog-content', '[class]': 'computedClass()' },\n})\nexport class BuiDialogContent {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() => cn(DIALOG_CONTENT, this.userClass()));\n}\n\n@Directive({\n selector: '[buiDialogHeader]',\n host: { 'data-slot': 'dialog-header', '[class]': 'computedClass()' },\n})\nexport class BuiDialogHeader {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('flex flex-col gap-2 text-center sm:text-left', this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiDialogTitle]',\n host: { 'data-slot': 'dialog-title', '[class]': 'computedClass()' },\n})\nexport class BuiDialogTitle {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('text-lg leading-none font-semibold', this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiDialogDescription]',\n host: { 'data-slot': 'dialog-description', '[class]': 'computedClass()' },\n})\nexport class BuiDialogDescription {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('text-sm text-muted-foreground', this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiDialogFooter]',\n host: { 'data-slot': 'dialog-footer', '[class]': 'computedClass()' },\n})\nexport class BuiDialogFooter {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('flex flex-col-reverse gap-2 sm:flex-row sm:justify-end', this.userClass()),\n );\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { computed, effect, inject, Injectable, PLATFORM_ID, signal } from '@angular/core';\n\nexport type ThemeMode = 'light' | 'dark' | 'system';\n\n/** Every token the `@theme inline` mapping references — emitted into `:root` on export. */\nexport const THEME_TOKENS = [\n '--radius',\n '--spacing',\n '--tracking-normal',\n '--font-sans',\n '--font-serif',\n '--font-mono',\n '--shadow-2xs',\n '--shadow-xs',\n '--shadow-sm',\n '--shadow',\n '--shadow-md',\n '--shadow-lg',\n '--shadow-xl',\n '--shadow-2xl',\n '--background',\n '--foreground',\n '--card',\n '--card-foreground',\n '--popover',\n '--popover-foreground',\n '--primary',\n '--primary-foreground',\n '--secondary',\n '--secondary-foreground',\n '--muted',\n '--muted-foreground',\n '--accent',\n '--accent-foreground',\n '--destructive',\n '--destructive-foreground',\n '--border',\n '--input',\n '--ring',\n '--chart-1',\n '--chart-2',\n '--chart-3',\n '--chart-4',\n '--chart-5',\n '--sidebar',\n '--sidebar-foreground',\n '--sidebar-primary',\n '--sidebar-primary-foreground',\n '--sidebar-accent',\n '--sidebar-accent-foreground',\n '--sidebar-border',\n '--sidebar-ring',\n] as const;\n\nconst THEME_SCAFFOLD = `@import 'tailwindcss';\n\n@custom-variant dark (&:is(.dark *));\n\n@theme inline {\n --font-sans: var(--font-sans);\n --font-serif: var(--font-serif);\n --font-mono: var(--font-mono);\n\n --radius-sm: calc(var(--radius) - 4px);\n --radius-md: calc(var(--radius) - 2px);\n --radius-lg: var(--radius);\n --radius-xl: calc(var(--radius) + 4px);\n\n --spacing: var(--spacing);\n\n --tracking-tighter: calc(var(--tracking-normal) - 0.05em);\n --tracking-tight: calc(var(--tracking-normal) - 0.025em);\n --tracking-normal: var(--tracking-normal);\n --tracking-wide: calc(var(--tracking-normal) + 0.025em);\n --tracking-wider: calc(var(--tracking-normal) + 0.05em);\n --tracking-widest: calc(var(--tracking-normal) + 0.1em);\n\n --shadow-2xs: var(--shadow-2xs);\n --shadow-xs: var(--shadow-xs);\n --shadow-sm: var(--shadow-sm);\n --shadow: var(--shadow);\n --shadow-md: var(--shadow-md);\n --shadow-lg: var(--shadow-lg);\n --shadow-xl: var(--shadow-xl);\n --shadow-2xl: var(--shadow-2xl);\n\n --color-background: var(--background);\n --color-foreground: var(--foreground);\n --color-card: var(--card);\n --color-card-foreground: var(--card-foreground);\n --color-popover: var(--popover);\n --color-popover-foreground: var(--popover-foreground);\n --color-primary: var(--primary);\n --color-primary-foreground: var(--primary-foreground);\n --color-secondary: var(--secondary);\n --color-secondary-foreground: var(--secondary-foreground);\n --color-muted: var(--muted);\n --color-muted-foreground: var(--muted-foreground);\n --color-accent: var(--accent);\n --color-accent-foreground: var(--accent-foreground);\n --color-destructive: var(--destructive);\n --color-destructive-foreground: var(--destructive-foreground);\n --color-border: var(--border);\n --color-input: var(--input);\n --color-ring: var(--ring);\n --color-chart-1: var(--chart-1);\n --color-chart-2: var(--chart-2);\n --color-chart-3: var(--chart-3);\n --color-chart-4: var(--chart-4);\n --color-chart-5: var(--chart-5);\n --color-sidebar: var(--sidebar);\n --color-sidebar-foreground: var(--sidebar-foreground);\n --color-sidebar-primary: var(--sidebar-primary);\n --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);\n --color-sidebar-accent: var(--sidebar-accent);\n --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);\n --color-sidebar-border: var(--sidebar-border);\n --color-sidebar-ring: var(--sidebar-ring);\n}`;\n\ninterface ThemeState {\n mode: ThemeMode;\n base: string;\n preset: string;\n radius: string;\n font: string;\n fontHeading: string;\n shadow: string;\n spacing: string;\n tracking: string;\n inputStyle: string;\n}\n\nconst DEFAULTS: ThemeState = {\n mode: 'light',\n base: 'neutral',\n preset: 'default',\n radius: '0.625',\n font: 'sans',\n fontHeading: 'sans',\n shadow: 'default',\n spacing: 'default',\n tracking: 'normal',\n inputStyle: 'outline',\n};\n\n/**\n * Live theme engine (the brain behind `<bui-theme-customizer>`). Mirrors BlatUI:\n * every dimension just toggles a `data-*` attribute / the `.dark` class on `<html>`,\n * and `blatui.css` holds all the token values. `exportCss()` serialises the active\n * theme to a paste-ready stylesheet. SSR-safe and persisted to localStorage.\n */\n@Injectable({ providedIn: 'root' })\nexport class ThemeStore {\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n\n readonly mode = signal<ThemeMode>(DEFAULTS.mode);\n readonly base = signal(DEFAULTS.base);\n readonly preset = signal(DEFAULTS.preset);\n readonly radius = signal(DEFAULTS.radius);\n readonly font = signal(DEFAULTS.font);\n readonly fontHeading = signal(DEFAULTS.fontHeading);\n readonly shadow = signal(DEFAULTS.shadow);\n readonly spacing = signal(DEFAULTS.spacing);\n readonly tracking = signal(DEFAULTS.tracking);\n readonly inputStyle = signal(DEFAULTS.inputStyle);\n\n private readonly systemDark = signal(false);\n readonly isDark = computed(\n () => this.mode() === 'dark' || (this.mode() === 'system' && this.systemDark()),\n );\n\n constructor() {\n if (!this.isBrowser) {\n return;\n }\n this.load();\n const mql =\n typeof globalThis.matchMedia === 'function'\n ? globalThis.matchMedia('(prefers-color-scheme: dark)')\n : null;\n if (mql) {\n this.systemDark.set(mql.matches);\n mql.addEventListener('change', (event) => {\n this.systemDark.set(event.matches);\n });\n }\n effect(() => {\n this.apply();\n });\n }\n\n setMode(value: ThemeMode): void {\n this.mode.set(value);\n }\n setBase(value: string): void {\n this.base.set(value);\n }\n setPreset(value: string): void {\n this.preset.set(value);\n }\n setRadius(value: string): void {\n this.radius.set(value);\n }\n setFont(value: string): void {\n this.font.set(value);\n }\n setFontHeading(value: string): void {\n this.fontHeading.set(value);\n }\n setShadow(value: string): void {\n this.shadow.set(value);\n }\n setSpacing(value: string): void {\n this.spacing.set(value);\n }\n setTracking(value: string): void {\n this.tracking.set(value);\n }\n setInputStyle(value: string): void {\n this.inputStyle.set(value);\n }\n\n toggle(): void {\n this.setMode(this.isDark() ? 'light' : 'dark');\n }\n\n reset(): void {\n this.mode.set(DEFAULTS.mode);\n this.base.set(DEFAULTS.base);\n this.preset.set(DEFAULTS.preset);\n this.radius.set(DEFAULTS.radius);\n this.font.set(DEFAULTS.font);\n this.fontHeading.set(DEFAULTS.fontHeading);\n this.shadow.set(DEFAULTS.shadow);\n this.spacing.set(DEFAULTS.spacing);\n this.tracking.set(DEFAULTS.tracking);\n this.inputStyle.set(DEFAULTS.inputStyle);\n }\n\n /** Serialise the active theme to a complete, paste-ready stylesheet. */\n exportCss(): string {\n if (!this.isBrowser) {\n return '';\n }\n const root = document.documentElement;\n const wasDark = root.classList.contains('dark');\n root.classList.remove('dark');\n const light = this.readTokens();\n root.classList.add('dark');\n const dark = this.readTokens();\n root.classList.toggle('dark', wasDark);\n\n const block = (source: Record<string, string>, keys: readonly string[]): string =>\n keys\n .filter((token) => source[token])\n .map((token) => ` ${token}: ${source[token] ?? ''};`)\n .join('\\n');\n const darkKeys = THEME_TOKENS.filter((token) => dark[token] && dark[token] !== light[token]);\n return `${THEME_SCAFFOLD}\\n\\n:root {\\n${block(light, THEME_TOKENS)}\\n}\\n\\n.dark {\\n${block(dark, darkKeys)}\\n}\\n`;\n }\n\n private readTokens(): Record<string, string> {\n const cs = getComputedStyle(document.documentElement);\n const out: Record<string, string> = {};\n for (const token of THEME_TOKENS) {\n out[token] = cs.getPropertyValue(token).trim();\n }\n return out;\n }\n\n private load(): void {\n const read = (key: string, fallback: string): string =>\n localStorage.getItem(`theme:${key}`) ?? fallback;\n this.mode.set(read('mode', DEFAULTS.mode) as ThemeMode);\n this.base.set(read('base', DEFAULTS.base));\n this.preset.set(read('preset', DEFAULTS.preset));\n this.radius.set(read('radius', DEFAULTS.radius));\n this.font.set(read('font', DEFAULTS.font));\n this.fontHeading.set(read('fontHeading', DEFAULTS.fontHeading));\n this.shadow.set(read('shadow', DEFAULTS.shadow));\n this.spacing.set(read('spacing', DEFAULTS.spacing));\n this.tracking.set(read('tracking', DEFAULTS.tracking));\n this.inputStyle.set(read('inputStyle', DEFAULTS.inputStyle));\n }\n\n private apply(): void {\n const root = document.documentElement;\n const state: ThemeState = {\n mode: this.mode(),\n base: this.base(),\n preset: this.preset(),\n radius: this.radius(),\n font: this.font(),\n fontHeading: this.fontHeading(),\n shadow: this.shadow(),\n spacing: this.spacing(),\n tracking: this.tracking(),\n inputStyle: this.inputStyle(),\n };\n root.classList.toggle('dark', this.isDark());\n this.attr(root, 'data-base', state.base, DEFAULTS.base);\n this.attr(root, 'data-theme', state.preset, DEFAULTS.preset);\n this.attr(root, 'data-font', state.font, DEFAULTS.font);\n this.attr(root, 'data-font-heading', state.fontHeading, DEFAULTS.fontHeading);\n this.attr(root, 'data-shadow', state.shadow, DEFAULTS.shadow);\n this.attr(root, 'data-spacing', state.spacing, DEFAULTS.spacing);\n this.attr(root, 'data-tracking', state.tracking, DEFAULTS.tracking);\n this.attr(root, 'data-input-style', state.inputStyle, DEFAULTS.inputStyle);\n root.setAttribute('data-radius', state.radius);\n\n for (const [key, value] of Object.entries(state) as [string, string][]) {\n localStorage.setItem(`theme:${key}`, value);\n }\n }\n\n private attr(root: HTMLElement, name: string, value: string, fallback: string): void {\n if (value && value !== fallback) {\n root.setAttribute(name, value);\n } else {\n root.removeAttribute(name);\n }\n }\n}\n","import { Component, computed, inject, signal } from '@angular/core';\n\nimport { BuiButton } from '../button/button';\n\nimport { type ThemeMode, ThemeStore } from './theme';\n\ninterface Option<T extends string = string> {\n readonly value: T;\n readonly label: string;\n}\ninterface Swatch {\n readonly value: string;\n readonly color: string;\n}\ninterface FontOption {\n readonly value: string;\n readonly label: string;\n readonly family: string;\n}\n\nconst FONTS: readonly FontOption[] = [\n { value: 'sans', label: 'Default', family: \"'Instrument Sans', sans-serif\" },\n { value: 'inter', label: 'Inter', family: \"'Inter', sans-serif\" },\n { value: 'geist', label: 'Geist', family: \"'Geist', sans-serif\" },\n { value: 'manrope', label: 'Manrope', family: \"'Manrope', sans-serif\" },\n { value: 'jakarta', label: 'Jakarta', family: \"'Plus Jakarta Sans', sans-serif\" },\n { value: 'space-grotesk', label: 'Grotesk', family: \"'Space Grotesk', sans-serif\" },\n { value: 'dm-sans', label: 'DM Sans', family: \"'DM Sans', sans-serif\" },\n { value: 'outfit', label: 'Outfit', family: \"'Outfit', sans-serif\" },\n { value: 'sora', label: 'Sora', family: \"'Sora', sans-serif\" },\n { value: 'system', label: 'System', family: 'system-ui, sans-serif' },\n { value: 'serif', label: 'Serif', family: 'ui-serif, Georgia, serif' },\n { value: 'mono', label: 'Mono', family: 'ui-monospace, monospace' },\n];\n\n/**\n * BlatUI's \"Customize\" toolbar, ported to Angular. Tunes every theme dimension\n * live (mode, base, accent, radius, input style, fonts, shadow, spacing, tracking)\n * through {@link ThemeStore}, then exports a paste-ready stylesheet via \"Copy CSS\".\n */\n@Component({\n selector: 'bui-theme-customizer',\n imports: [BuiButton],\n host: { 'data-slot': 'theme-customizer' },\n template: `\n <button\n buiButton\n variant=\"outline\"\n size=\"sm\"\n class=\"fixed right-4 bottom-4 z-50 shadow-md\"\n [attr.aria-expanded]=\"open()\"\n (click)=\"open.set(!open())\"\n >\n {{ open() ? 'Close' : 'Customize' }}\n </button>\n\n @if (open()) {\n <div\n role=\"dialog\"\n aria-label=\"Theme customizer\"\n class=\"fixed right-4 bottom-16 z-50 max-h-[80vh] w-[340px] space-y-5 overflow-y-auto rounded-lg border bg-popover p-4 text-popover-foreground shadow-lg\"\n >\n <div class=\"flex items-center justify-between\">\n <div>\n <h4 class=\"text-sm font-semibold\">Customize</h4>\n <p class=\"text-xs text-muted-foreground\">\n Tune it live. Every preset is pure CSS variables.\n </p>\n </div>\n <button buiButton variant=\"ghost\" size=\"sm\" (click)=\"theme.reset()\">Reset</button>\n </div>\n\n <!-- Mode -->\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Mode</span>\n <div class=\"grid grid-cols-3 gap-2\">\n @for (m of modes; track m.value) {\n <button\n type=\"button\"\n class=\"inline-flex h-8 items-center justify-center rounded-md border border-input text-xs font-medium transition-colors hover:bg-accent data-[active=true]:border-primary data-[active=true]:bg-accent\"\n [attr.data-active]=\"theme.mode() === m.value\"\n (click)=\"theme.setMode(m.value)\"\n >\n {{ m.label }}\n </button>\n }\n </div>\n </div>\n\n <!-- Base color -->\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Base color</span>\n <div class=\"grid grid-cols-9 gap-2\">\n @for (b of bases; track b.value) {\n <button\n type=\"button\"\n class=\"flex h-8 items-center justify-center rounded-md border border-input ring-offset-2 ring-offset-background transition-all data-[active=true]:ring-2 data-[active=true]:ring-ring\"\n [style.background]=\"b.color\"\n [attr.data-active]=\"theme.base() === b.value\"\n (click)=\"theme.setBase(b.value)\"\n >\n <span class=\"sr-only\">{{ b.value }}</span>\n </button>\n }\n </div>\n </div>\n\n <!-- Accent -->\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Accent</span>\n <div class=\"grid grid-cols-6 gap-2\">\n @for (a of accents; track a.value) {\n <button\n type=\"button\"\n class=\"flex h-8 items-center justify-center rounded-md border border-input ring-offset-2 ring-offset-background transition-all data-[active=true]:ring-2 data-[active=true]:ring-ring\"\n [style.background]=\"a.color\"\n [attr.data-active]=\"theme.preset() === a.value\"\n (click)=\"theme.setPreset(a.value)\"\n >\n <span class=\"sr-only\">{{ a.value }}</span>\n </button>\n }\n </div>\n </div>\n\n <!-- Radius -->\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Radius</span>\n <div class=\"grid grid-cols-6 gap-2\">\n @for (r of radii; track r) {\n <button\n type=\"button\"\n class=\"inline-flex h-8 items-center justify-center rounded-md border border-input text-xs font-medium transition-colors hover:bg-accent data-[active=true]:border-primary data-[active=true]:bg-accent\"\n [attr.data-active]=\"theme.radius() === r\"\n (click)=\"theme.setRadius(r)\"\n >\n {{ r }}\n </button>\n }\n </div>\n </div>\n\n <!-- Input style -->\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Input style</span>\n <div class=\"grid grid-cols-3 gap-2\">\n @for (i of inputStyles; track i.value) {\n <button\n type=\"button\"\n class=\"inline-flex h-8 items-center justify-center rounded-md border border-input text-xs font-medium transition-colors hover:bg-accent data-[active=true]:border-primary data-[active=true]:bg-accent\"\n [attr.data-active]=\"theme.inputStyle() === i.value\"\n (click)=\"theme.setInputStyle(i.value)\"\n >\n {{ i.label }}\n </button>\n }\n </div>\n </div>\n\n <!-- Body font -->\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Body font</span>\n <div class=\"grid grid-cols-3 gap-2\">\n @for (f of fonts; track f.value) {\n <button\n type=\"button\"\n class=\"inline-flex h-8 items-center justify-center rounded-md border border-input text-xs font-medium transition-colors hover:bg-accent data-[active=true]:border-primary data-[active=true]:bg-accent\"\n [style.fontFamily]=\"f.family\"\n [attr.data-active]=\"theme.font() === f.value\"\n (click)=\"theme.setFont(f.value)\"\n >\n {{ f.label }}\n </button>\n }\n </div>\n </div>\n\n <!-- Heading font -->\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Heading font</span>\n <div class=\"grid grid-cols-3 gap-2\">\n @for (f of fonts; track f.value) {\n <button\n type=\"button\"\n class=\"inline-flex h-8 items-center justify-center rounded-md border border-input text-xs font-medium transition-colors hover:bg-accent data-[active=true]:border-primary data-[active=true]:bg-accent\"\n [style.fontFamily]=\"f.family\"\n [attr.data-active]=\"theme.fontHeading() === f.value\"\n (click)=\"theme.setFontHeading(f.value)\"\n >\n {{ f.label }}\n </button>\n }\n </div>\n </div>\n\n <!-- Shadow -->\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Shadow</span>\n <div class=\"grid grid-cols-5 gap-2\">\n @for (s of shadows; track s.value) {\n <button\n type=\"button\"\n class=\"inline-flex h-8 items-center justify-center rounded-md border border-input text-xs font-medium transition-colors hover:bg-accent data-[active=true]:border-primary data-[active=true]:bg-accent\"\n [attr.data-active]=\"theme.shadow() === s.value\"\n (click)=\"theme.setShadow(s.value)\"\n >\n {{ s.label }}\n </button>\n }\n </div>\n </div>\n\n <!-- Spacing + Tracking -->\n <div class=\"grid grid-cols-2 gap-4\">\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Spacing</span>\n <div class=\"grid grid-cols-3 gap-1.5\">\n @for (s of spacings; track s.value) {\n <button\n type=\"button\"\n class=\"inline-flex h-8 items-center justify-center rounded-md border border-input text-xs font-medium transition-colors hover:bg-accent data-[active=true]:border-primary data-[active=true]:bg-accent\"\n [attr.data-active]=\"theme.spacing() === s.value\"\n (click)=\"theme.setSpacing(s.value)\"\n >\n {{ s.label }}\n </button>\n }\n </div>\n </div>\n <div class=\"space-y-1.5\">\n <span class=\"text-xs font-medium\">Tracking</span>\n <div class=\"grid grid-cols-3 gap-1.5\">\n @for (t of trackings; track t.value) {\n <button\n type=\"button\"\n class=\"inline-flex h-8 items-center justify-center rounded-md border border-input text-xs font-medium transition-colors hover:bg-accent data-[active=true]:border-primary data-[active=true]:bg-accent\"\n [attr.data-active]=\"theme.tracking() === t.value\"\n (click)=\"theme.setTracking(t.value)\"\n >\n {{ t.label }}\n </button>\n }\n </div>\n </div>\n </div>\n\n <!-- Export -->\n <div class=\"border-t pt-4\">\n <p class=\"mb-2.5 text-xs leading-relaxed text-muted-foreground\">\n Copy your complete theme and paste it as your app stylesheet — the Tailwind import,\n every token and the\n <code class=\"rounded bg-muted px-1 py-0.5 text-[11px]\">@theme</code>\n mapping are included.\n </p>\n <button buiButton size=\"sm\" class=\"w-full\" (click)=\"copyCss()\">\n {{ copied() ? 'Copied to clipboard' : 'Copy theme CSS' }}\n </button>\n </div>\n </div>\n }\n `,\n})\nexport class BuiThemeCustomizer {\n protected readonly theme = inject(ThemeStore);\n protected readonly open = signal(false);\n protected readonly copied = signal(false);\n\n protected readonly modes: readonly Option<ThemeMode>[] = [\n { value: 'light', label: 'Light' },\n { value: 'dark', label: 'Dark' },\n { value: 'system', label: 'System' },\n ];\n protected readonly bases: readonly Swatch[] = [\n { value: 'neutral', color: 'oklch(0.205 0 0)' },\n { value: 'stone', color: 'oklch(0.216 0.006 56.043)' },\n { value: 'zinc', color: 'oklch(0.21 0.006 285.885)' },\n { value: 'slate', color: 'oklch(0.208 0.042 265.755)' },\n { value: 'gray', color: 'oklch(0.21 0.034 264.665)' },\n { value: 'mauve', color: 'oklch(0.212 0.019 322.12)' },\n { value: 'olive', color: 'oklch(0.228 0.013 107.4)' },\n { value: 'mist', color: 'oklch(0.218 0.008 223.9)' },\n { value: 'taupe', color: 'oklch(0.214 0.009 43.1)' },\n ];\n protected readonly accents: readonly Swatch[] = [\n { value: 'default', color: 'var(--primary)' },\n { value: 'blue', color: 'oklch(0.488 0.243 264.376)' },\n { value: 'indigo', color: 'oklch(0.457 0.24 277.023)' },\n { value: 'violet', color: 'oklch(0.491 0.27 292.581)' },\n { value: 'purple', color: 'oklch(0.496 0.265 301.924)' },\n { value: 'fuchsia', color: 'oklch(0.518 0.253 323.949)' },\n { value: 'pink', color: 'oklch(0.525 0.223 3.958)' },\n { value: 'rose', color: 'oklch(0.514 0.222 16.935)' },\n { value: 'red', color: 'oklch(0.505 0.213 27.518)' },\n { value: 'orange', color: 'oklch(0.553 0.195 38.402)' },\n { value: 'amber', color: 'oklch(0.555 0.163 48.998)' },\n { value: 'green', color: 'oklch(0.527 0.154 150.069)' },\n { value: 'emerald', color: 'oklch(0.508 0.118 165.612)' },\n { value: 'teal', color: 'oklch(0.511 0.096 186.391)' },\n { value: 'cyan', color: 'oklch(0.52 0.105 223.128)' },\n { value: 'sky', color: 'oklch(0.5 0.134 242.749)' },\n ];\n protected readonly radii: readonly string[] = ['0', '0.3', '0.5', '0.625', '0.75', '1'];\n protected readonly inputStyles: readonly Option[] = [\n { value: 'outline', label: 'Outline' },\n { value: 'fill', label: 'Fill' },\n { value: 'inset', label: 'Inset' },\n ];\n protected readonly fonts = FONTS;\n protected readonly shadows: readonly Option[] = [\n { value: 'none', label: 'None' },\n { value: 'sm', label: 'SM' },\n { value: 'default', label: 'Base' },\n { value: 'lg', label: 'LG' },\n { value: 'xl', label: 'XL' },\n ];\n protected readonly spacings: readonly Option[] = [\n { value: 'compact', label: 'S' },\n { value: 'default', label: 'M' },\n { value: 'comfortable', label: 'L' },\n ];\n protected readonly trackings: readonly Option[] = [\n { value: 'tight', label: 'S' },\n { value: 'normal', label: 'M' },\n { value: 'wide', label: 'L' },\n ];\n\n protected readonly _hasClipboard = computed(\n () => typeof navigator !== 'undefined' && !!navigator.clipboard,\n );\n\n protected async copyCss(): Promise<void> {\n if (!this._hasClipboard()) {\n return;\n }\n try {\n await navigator.clipboard.writeText(this.theme.exportCss());\n this.copied.set(true);\n setTimeout(() => {\n this.copied.set(false);\n }, 2000);\n } catch {\n // Clipboard unavailable / permission denied — silently ignore.\n }\n }\n}\n","import { Component, computed, Directive, ElementRef, inject, input, model } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/**\n * BlatUI radio group. `role=\"radiogroup\"` with arrow-key roving focus across the\n * `buiRadioItem` buttons; `[(value)]` two-way binds the selected value.\n */\n@Directive({\n selector: '[buiRadioGroup]',\n exportAs: 'buiRadioGroup',\n host: {\n role: 'radiogroup',\n 'data-slot': 'radio-group',\n '[class]': 'computedClass()',\n '(keydown)': 'onKeydown($event)',\n },\n})\nexport class BuiRadioGroup {\n readonly value = model<string | null>(null);\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n protected readonly computedClass = computed(() => cn('grid gap-3', this.userClass()));\n\n select(next: string): void {\n this.value.set(next);\n }\n\n protected onKeydown(event: KeyboardEvent): void {\n if (!['ArrowDown', 'ArrowRight', 'ArrowUp', 'ArrowLeft'].includes(event.key)) {\n return;\n }\n event.preventDefault();\n const items = [\n ...this.host.nativeElement.querySelectorAll<HTMLButtonElement>(\n '[role=\"radio\"]:not([disabled])',\n ),\n ];\n if (items.length === 0) {\n return;\n }\n const current = items.indexOf(document.activeElement as HTMLButtonElement);\n const isForward = event.key === 'ArrowDown' || event.key === 'ArrowRight';\n const next = items[(current + (isForward ? 1 : -1) + items.length) % items.length];\n next.focus();\n next.click();\n }\n}\n\nconst ITEM =\n 'border-input text-primary dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex aspect-square size-4 shrink-0 items-center justify-center rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50';\n\n@Component({\n selector: 'button[buiRadioItem]',\n host: {\n type: 'button',\n role: 'radio',\n 'data-slot': 'radio-group-item',\n '[attr.aria-checked]': 'checked()',\n '[attr.data-state]': \"checked() ? 'checked' : 'unchecked'\",\n '[attr.tabindex]': 'tabIndex()',\n '[disabled]': 'disabled()',\n '[class]': 'computedClass()',\n '(click)': 'select()',\n },\n template: `\n @if (checked()) {\n <span data-slot=\"radio-group-indicator\" class=\"flex items-center justify-center\">\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" class=\"size-2\" aria-hidden=\"true\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n </svg>\n </span>\n }\n `,\n})\nexport class BuiRadioGroupItem {\n readonly value = input.required<string>();\n readonly disabled = input(false);\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n private readonly group = inject(BuiRadioGroup);\n protected readonly checked = computed(() => this.group.value() === this.value());\n protected readonly tabIndex = computed(() =>\n this.checked() || this.group.value() === null ? 0 : -1,\n );\n protected readonly computedClass = computed(() => cn(ITEM, this.userClass()));\n\n protected select(): void {\n if (!this.disabled()) {\n this.group.select(this.value());\n }\n }\n}\n","import { _IdGenerator } from '@angular/cdk/a11y';\nimport { Overlay, type OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { Component, Directive, ElementRef, inject, input, signal } from '@angular/core';\n\n/** Floating tooltip bubble rendered into a CDK overlay. */\n@Component({\n selector: 'bui-tooltip-content',\n host: {\n role: 'tooltip',\n class:\n 'bg-primary text-primary-foreground z-50 w-fit max-w-xs rounded-md px-3 py-1.5 text-xs shadow-md',\n },\n template: `{{ text() }}`,\n})\nexport class BuiTooltipContent {\n readonly text = input('');\n}\n\n/**\n * BlatUI tooltip. Shows an accessible `role=\"tooltip\"` bubble on hover/focus via the\n * Angular CDK overlay and wires `aria-describedby` on the host. SSR-safe (the overlay\n * is only created in the browser, on interaction).\n */\n@Directive({\n selector: '[buiTooltip]',\n host: {\n '[attr.aria-describedby]': 'describedBy()',\n '(mouseenter)': 'show()',\n '(mouseleave)': 'hide()',\n '(focusin)': 'show()',\n '(focusout)': 'hide()',\n },\n})\nexport class BuiTooltip {\n readonly text = input.required<string>({ alias: 'buiTooltip' });\n\n private readonly overlay = inject(Overlay);\n private readonly idGenerator = inject(_IdGenerator);\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n private overlayRef: OverlayRef | null = null;\n protected readonly describedBy = signal<string | null>(null);\n\n protected show(): void {\n if (this.overlayRef || !this.text()) {\n return;\n }\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.host)\n .withPositions([\n { originX: 'center', originY: 'top', overlayX: 'center', overlayY: 'bottom', offsetY: -6 },\n { originX: 'center', originY: 'bottom', overlayX: 'center', overlayY: 'top', offsetY: 6 },\n ]);\n this.overlayRef = this.overlay.create({ positionStrategy });\n const reference = this.overlayRef.attach(new ComponentPortal(BuiTooltipContent));\n reference.setInput('text', this.text());\n const id = this.idGenerator.getId('bui-tooltip-');\n (reference.location.nativeElement as HTMLElement).id = id;\n this.describedBy.set(id);\n }\n\n protected hide(): void {\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.describedBy.set(null);\n }\n}\n","import { Component, computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/** Breadcrumb navigation landmark (`<nav aria-label=\"breadcrumb\">`). */\n@Directive({\n selector: 'nav[buiBreadcrumb]',\n host: { 'aria-label': 'breadcrumb', 'data-slot': 'breadcrumb' },\n})\nexport class BuiBreadcrumb {}\n\n@Directive({\n selector: 'ol[buiBreadcrumbList]',\n host: { 'data-slot': 'breadcrumb-list', '[class]': 'computedClass()' },\n})\nexport class BuiBreadcrumbList {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn(\n 'flex flex-wrap items-center gap-1.5 text-sm break-words text-muted-foreground sm:gap-2.5',\n this.userClass(),\n ),\n );\n}\n\n@Directive({\n selector: 'li[buiBreadcrumbItem]',\n host: { 'data-slot': 'breadcrumb-item', '[class]': 'computedClass()' },\n})\nexport class BuiBreadcrumbItem {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('inline-flex items-center gap-1.5', this.userClass()),\n );\n}\n\n@Directive({\n selector: 'a[buiBreadcrumbLink]',\n host: { 'data-slot': 'breadcrumb-link', '[class]': 'computedClass()' },\n})\nexport class BuiBreadcrumbLink {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('transition-colors hover:text-foreground', this.userClass()),\n );\n}\n\n/** The current page in a breadcrumb — non-interactive, `aria-current=\"page\"`. */\n@Directive({\n selector: '[buiBreadcrumbPage]',\n host: {\n 'data-slot': 'breadcrumb-page',\n role: 'link',\n 'aria-disabled': 'true',\n 'aria-current': 'page',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiBreadcrumbPage {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('font-normal text-foreground', this.userClass()),\n );\n}\n\n/** Separator between breadcrumb items (defaults to a chevron). */\n@Component({\n selector: 'li[buiBreadcrumbSeparator]',\n host: {\n 'data-slot': 'breadcrumb-separator',\n role: 'presentation',\n 'aria-hidden': 'true',\n '[class]': 'computedClass()',\n },\n template: `\n <ng-content>\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"size-3.5\"\n >\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n </ng-content>\n `,\n})\nexport class BuiBreadcrumbSeparator {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() => cn('[&>svg]:size-3.5', this.userClass()));\n}\n\n/** Collapsed breadcrumb indicator (ellipsis). */\n@Component({\n selector: 'li[buiBreadcrumbEllipsis]',\n host: {\n 'data-slot': 'breadcrumb-ellipsis',\n role: 'presentation',\n 'aria-hidden': 'true',\n '[class]': 'computedClass()',\n },\n template: `\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n class=\"size-4\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"1\" />\n <circle cx=\"19\" cy=\"12\" r=\"1\" />\n <circle cx=\"5\" cy=\"12\" r=\"1\" />\n </svg>\n <span class=\"sr-only\">More</span>\n `,\n})\nexport class BuiBreadcrumbEllipsis {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('flex size-9 items-center justify-center', this.userClass()),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/** Keyboard key styling, applied to a native `<kbd>` element. */\n@Directive({\n selector: 'kbd[buiKbd]',\n host: { 'data-slot': 'kbd', '[class]': 'computedClass()' },\n})\nexport class BuiKbd {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn(\n 'pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none',\n this.userClass(),\n ),\n );\n}\n","import { Component, computed, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/** Constrains projected content to a given aspect ratio (e.g. `16 / 9`). */\n@Component({\n selector: 'bui-aspect-ratio',\n host: {\n 'data-slot': 'aspect-ratio',\n '[style.aspect-ratio]': 'ratio()',\n '[class]': 'computedClass()',\n },\n template: `<ng-content />`,\n})\nexport class BuiAspectRatio {\n readonly ratio = input('1 / 1');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() => cn('relative block', this.userClass()));\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/** Groups buttons (and inputs) into a single segmented control. */\n@Directive({\n selector: '[buiButtonGroup]',\n host: {\n role: 'group',\n 'data-slot': 'button-group',\n '[attr.data-orientation]': 'orientation()',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiButtonGroup {\n readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn(\n 'flex w-fit items-stretch has-[>[data-slot=button-group]]:gap-2 data-[orientation=vertical]:flex-col [&>*]:focus-within:z-10 [&>*]:focus-visible:z-10 data-[orientation=horizontal]:[&>*:not(:first-child)]:rounded-l-none data-[orientation=horizontal]:[&>*:not(:first-child)]:border-l-0 data-[orientation=vertical]:[&>*:not(:first-child)]:rounded-t-none data-[orientation=vertical]:[&>*:not(:first-child)]:border-t-0 data-[orientation=horizontal]:[&>*:not(:last-child)]:rounded-r-none data-[orientation=vertical]:[&>*:not(:last-child)]:rounded-b-none',\n this.userClass(),\n ),\n );\n}\n\n/** A non-button text segment inside a button group. */\n@Directive({\n selector: '[buiButtonGroupText]',\n host: { 'data-slot': 'button-group-text', '[class]': 'computedClass()' },\n})\nexport class BuiButtonGroupText {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn(\n 'flex items-center gap-2 rounded-md border bg-muted px-4 text-sm font-medium shadow-xs',\n this.userClass(),\n ),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/** Empty-state container. */\n@Directive({\n selector: '[buiEmpty]',\n host: { 'data-slot': 'empty', '[class]': 'computedClass()' },\n})\nexport class BuiEmpty {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn(\n 'flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border border-dashed p-6 text-center text-balance md:p-12',\n this.userClass(),\n ),\n );\n}\n\n@Directive({\n selector: '[buiEmptyHeader]',\n host: { 'data-slot': 'empty-header', '[class]': 'computedClass()' },\n})\nexport class BuiEmptyHeader {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('flex max-w-sm flex-col items-center gap-2 text-center', this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiEmptyMedia]',\n host: {\n 'data-slot': 'empty-media',\n '[attr.data-variant]': 'variant()',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiEmptyMedia {\n readonly variant = input<'default' | 'icon'>('default');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn(\n 'mb-2 flex shrink-0 items-center justify-center',\n this.variant() === 'icon' &&\n \"size-10 rounded-lg bg-muted text-foreground [&_svg:not([class*='size-'])]:size-6\",\n this.userClass(),\n ),\n );\n}\n\n@Directive({\n selector: '[buiEmptyTitle]',\n host: { 'data-slot': 'empty-title', '[class]': 'computedClass()' },\n})\nexport class BuiEmptyTitle {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('text-lg font-medium tracking-tight', this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiEmptyDescription]',\n host: { 'data-slot': 'empty-description', '[class]': 'computedClass()' },\n})\nexport class BuiEmptyDescription {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn(\n 'text-sm/relaxed text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary',\n this.userClass(),\n ),\n );\n}\n\n@Directive({\n selector: '[buiEmptyContent]',\n host: { 'data-slot': 'empty-content', '[class]': 'computedClass()' },\n})\nexport class BuiEmptyContent {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn(\n 'flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance',\n this.userClass(),\n ),\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nconst SIZES = {\n sm: 'max-w-3xl',\n md: 'max-w-5xl',\n lg: 'max-w-6xl',\n xl: 'max-w-7xl',\n prose: 'max-w-prose',\n full: 'max-w-full',\n} as const;\n\n/** Centered, padded page container with a max-width scale. */\n@Directive({\n selector: '[buiContainer]',\n host: { 'data-slot': 'container', '[class]': 'computedClass()' },\n})\nexport class BuiContainer {\n readonly size = input<keyof typeof SIZES>('lg');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('mx-auto w-full px-4 sm:px-6 lg:px-8', SIZES[this.size()], this.userClass()),\n );\n}\n","import { Component, computed, Directive, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nconst FIELD_ORIENT = {\n vertical: 'flex-col [&>*]:w-full [&>.sr-only]:w-auto',\n horizontal: 'flex-row items-center [&>[data-slot=field-label]]:flex-auto',\n responsive:\n 'flex-col [&>*]:w-full @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto',\n} as const;\n\n/** A form field row grouping a label, control, description and error. */\n@Directive({\n selector: '[buiField]',\n host: {\n role: 'group',\n 'data-slot': 'field',\n '[attr.data-orientation]': 'orientation()',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiField {\n readonly orientation = input<keyof typeof FIELD_ORIENT>('vertical');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn(\n 'group/field flex w-full gap-2 data-[invalid=true]:text-destructive',\n FIELD_ORIENT[this.orientation()],\n this.userClass(),\n ),\n );\n}\n\n@Directive({\n selector: 'fieldset[buiFieldSet]',\n host: { 'data-slot': 'field-set', '[class]': 'computedClass()' },\n})\nexport class BuiFieldSet {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('flex flex-col gap-6 has-[>[data-slot=radio-group]]:gap-3', this.userClass()),\n );\n}\n\n@Directive({\n selector: 'legend[buiFieldLegend]',\n host: {\n 'data-slot': 'field-legend',\n '[attr.data-variant]': 'variant()',\n '[class]': 'computedClass()',\n },\n})\nexport class BuiFieldLegend {\n readonly variant = input<'legend' | 'label'>('legend');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn(\n 'mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base',\n this.userClass(),\n ),\n );\n}\n\n@Directive({\n selector: '[buiFieldGroup]',\n host: { 'data-slot': 'field-group', '[class]': 'computedClass()' },\n})\nexport class BuiFieldGroup {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('group/field-group @container/field-group flex w-full flex-col gap-7', this.userClass()),\n );\n}\n\n@Directive({\n selector: 'label[buiFieldLabel]',\n host: { 'data-slot': 'field-label', '[attr.for]': 'forId()', '[class]': 'computedClass()' },\n})\nexport class BuiFieldLabel {\n readonly forId = input<string | undefined>(undefined, { alias: 'for' });\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn(\n 'flex w-fit gap-2 text-sm leading-snug font-medium select-none group-data-[disabled=true]/field:opacity-50',\n this.userClass(),\n ),\n );\n}\n\n@Directive({\n selector: '[buiFieldTitle]',\n host: { 'data-slot': 'field-title', '[class]': 'computedClass()' },\n})\nexport class BuiFieldTitle {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('flex w-fit items-center gap-2 text-sm leading-snug font-medium', this.userClass()),\n );\n}\n\n@Directive({\n selector: 'p[buiFieldDescription]',\n host: { 'data-slot': 'field-description', '[class]': 'computedClass()' },\n})\nexport class BuiFieldDescription {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('text-sm leading-normal font-normal text-muted-foreground', this.userClass()),\n );\n}\n\n@Directive({\n selector: '[buiFieldContent]',\n host: { 'data-slot': 'field-content', '[class]': 'computedClass()' },\n})\nexport class BuiFieldContent {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('group/field-content flex flex-1 flex-col gap-1.5 leading-snug', this.userClass()),\n );\n}\n\n/** Field validation message (`role=\"alert\"`). */\n@Directive({\n selector: '[buiFieldError]',\n host: { role: 'alert', 'data-slot': 'field-error', '[class]': 'computedClass()' },\n})\nexport class BuiFieldError {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('text-sm font-normal text-destructive', this.userClass()),\n );\n}\n\n/** Labelled divider between fields. */\n@Component({\n selector: 'bui-field-separator',\n host: { 'data-slot': 'field-separator', '[class]': 'computedClass()' },\n template: `\n <div class=\"absolute inset-0 top-1/2 h-px bg-border\"></div>\n <span class=\"relative mx-auto block w-fit bg-background px-2 text-muted-foreground\">\n <ng-content />\n </span>\n `,\n})\nexport class BuiFieldSeparator {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('relative -my-2 block h-5 text-sm', this.userClass()),\n );\n}\n","import { _IdGenerator } from '@angular/cdk/a11y';\nimport { Directive, inject, model } from '@angular/core';\n\n/** Accessible disclosure: a trigger toggles the visibility of its content. */\n@Directive({\n selector: '[buiCollapsible]',\n exportAs: 'buiCollapsible',\n host: { 'data-slot': 'collapsible' },\n})\nexport class BuiCollapsible {\n readonly open = model(false);\n readonly contentId = inject(_IdGenerator).getId('bui-collapsible-');\n\n toggle(): void {\n this.open.update((value) => !value);\n }\n}\n\n@Directive({\n selector: 'button[buiCollapsibleTrigger]',\n host: {\n type: 'button',\n 'data-slot': 'collapsible-trigger',\n '[attr.aria-expanded]': 'collapsible.open()',\n '[attr.aria-controls]': 'collapsible.contentId',\n '[attr.data-state]': \"collapsible.open() ? 'open' : 'closed'\",\n '(click)': 'collapsible.toggle()',\n },\n})\nexport class BuiCollapsibleTrigger {\n protected readonly collapsible = inject(BuiCollapsible);\n}\n\n@Directive({\n selector: '[buiCollapsibleContent]',\n host: {\n 'data-slot': 'collapsible-content',\n '[id]': 'collapsible.contentId',\n '[hidden]': '!collapsible.open()',\n '[attr.data-state]': \"collapsible.open() ? 'open' : 'closed'\",\n },\n})\nexport class BuiCollapsibleContent {\n protected readonly collapsible = inject(BuiCollapsible);\n}\n","import { Component, computed, input, model } from '@angular/core';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nexport const toggleVariants = cva(\n \"inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-[color,box-shadow] outline-none hover:bg-muted hover:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline:\n 'border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground',\n },\n size: {\n default: 'h-9 min-w-9 px-2',\n sm: 'h-8 min-w-8 px-1.5',\n lg: 'h-10 min-w-10 px-2.5',\n },\n },\n defaultVariants: { variant: 'default', size: 'default' },\n },\n);\ntype ToggleVariants = VariantProps<typeof toggleVariants>;\n\n/** A two-state toggle button (`aria-pressed`). */\n@Component({\n selector: 'button[buiToggle]',\n host: {\n type: 'button',\n 'data-slot': 'toggle',\n '[attr.aria-pressed]': 'pressed()',\n '[attr.data-state]': \"pressed() ? 'on' : 'off'\",\n '[class]': 'computedClass()',\n '(click)': 'toggle()',\n },\n template: `<ng-content />`,\n})\nexport class BuiToggle {\n readonly pressed = model(false);\n readonly variant = input<ToggleVariants['variant']>('default');\n readonly size = input<ToggleVariants['size']>('default');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn(toggleVariants({ variant: this.variant(), size: this.size() }), this.userClass()),\n );\n\n protected toggle(): void {\n this.pressed.update((value) => !value);\n }\n}\n","import { Component, computed, input } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/** A spinning loading indicator (`role=\"status\"`). */\n@Component({\n selector: 'bui-spinner',\n host: {\n 'data-slot': 'spinner',\n role: 'status',\n 'aria-label': 'Loading',\n '[class]': 'computedClass()',\n },\n template: `\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n class=\"size-full\"\n >\n <path d=\"M21 12a9 9 0 1 1-6.219-8.56\" />\n </svg>\n `,\n})\nexport class BuiSpinner {\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly computedClass = computed(() =>\n cn('inline-block size-4 animate-spin', this.userClass()),\n );\n}\n","import { Component, computed, input, signal } from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\n/** Copy-to-clipboard button: copies `value`, flips to a check, announces \"Copied\". */\n@Component({\n selector: 'button[buiCopyButton]',\n host: {\n type: 'button',\n 'data-slot': 'copy-button',\n '[attr.aria-label]': \"copied() ? 'Copied' : label()\",\n '[class]': 'computedClass()',\n '(click)': 'copy()',\n },\n template: `\n <span class=\"grid size-4 place-items-center *:col-start-1 *:row-start-1\">\n @if (copied()) {\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n class=\"size-4 text-success\"\n >\n <path d=\"M20 6 9 17l-5-5\" />\n </svg>\n } @else {\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n class=\"size-4\"\n >\n <rect width=\"14\" height=\"14\" x=\"8\" y=\"8\" rx=\"2\" ry=\"2\" />\n <path d=\"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\" />\n </svg>\n }\n </span>\n <ng-content />\n <span class=\"sr-only\" aria-live=\"polite\">{{ copied() ? 'Copied' : '' }}</span>\n `,\n})\nexport class BuiCopyButton {\n readonly value = input('');\n readonly label = input('Copy');\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly copied = signal(false);\n protected readonly computedClass = computed(() =>\n cn(\n 'inline-flex h-8 items-center justify-center gap-1.5 rounded-md px-2 text-sm font-medium text-muted-foreground transition-colors outline-none hover:bg-accent hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50',\n this.userClass(),\n ),\n );\n\n protected async copy(): Promise<void> {\n try {\n await navigator.clipboard.writeText(this.value());\n this.copied.set(true);\n setTimeout(() => {\n this.copied.set(false);\n }, 1500);\n } catch {\n // Clipboard unavailable — ignore.\n }\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n Component,\n computed,\n inject,\n input,\n type OnInit,\n PLATFORM_ID,\n signal,\n} from '@angular/core';\n\nimport { type ClassValue, cn } from '../utils/cn';\n\nconst TONES = {\n default: 'bg-muted text-foreground border-border',\n primary: 'bg-primary text-primary-foreground border-transparent',\n info: 'bg-info/10 text-info border-info/25',\n success: 'bg-success/10 text-success border-success/25',\n warning: 'bg-warning/10 text-warning border-warning/25',\n danger: 'bg-destructive/10 text-destructive border-destructive/25',\n} as const;\n\n/**\n * Full-width announcement bar. Optionally dismissible and (with `persistKey`) remembers\n * the dismissal in localStorage. SSR-safe — localStorage is only touched in the browser.\n */\n@Component({\n selector: 'bui-banner',\n host: {\n 'data-slot': 'banner',\n role: 'region',\n 'aria-label': 'Announcement',\n '[hidden]': '!show()',\n '[class]': 'computedClass()',\n },\n template: `\n <div class=\"flex flex-1 flex-wrap items-center justify-center gap-x-3 gap-y-1\">\n <ng-content />\n </div>\n @if (dismissible()) {\n <button\n type=\"button\"\n aria-label=\"Dismiss\"\n class=\"shrink-0 rounded-md p-1 opacity-70 transition-opacity outline-none hover:opacity-100 focus-visible:ring-2 focus-visible:ring-current/40\"\n (click)=\"dismiss()\"\n >\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n class=\"size-4\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n </button>\n }\n `,\n})\nexport class BuiBanner implements OnInit {\n readonly tone = input<keyof typeof TONES>('default');\n readonly dismissible = input(true);\n readonly persistKey = input<string | undefined>(undefined);\n readonly userClass = input<ClassValue>('', { alias: 'class' });\n\n protected readonly show = signal(true);\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n\n protected readonly computedClass = computed(() =>\n cn(\n 'relative flex w-full items-center gap-3 border-b px-4 py-2.5 text-sm',\n TONES[this.tone()],\n this.userClass(),\n ),\n );\n\n ngOnInit(): void {\n const key = this.persistKey();\n if (this.isBrowser && key && localStorage.getItem(`bui-banner-${key}`) === '1') {\n this.show.set(false);\n }\n }\n\n protected dismiss(): void {\n this.show.set(false);\n const key = this.persistKey();\n if (this.isBrowser && key) {\n localStorage.setItem(`bui-banner-${key}`, '1');\n }\n }\n}\n","/*\n * Public API Surface of ng-blatui\n */\n\nexport * from './lib/utils/cn';\nexport * from './lib/button/button';\nexport * from './lib/badge/badge';\nexport * from './lib/label/label';\nexport * from './lib/separator/separator';\nexport * from './lib/skeleton/skeleton';\nexport * from './lib/card/card';\nexport * from './lib/alert/alert';\nexport * from './lib/input/input';\nexport * from './lib/textarea/textarea';\nexport * from './lib/progress/progress';\nexport * from './lib/avatar/avatar';\nexport * from './lib/checkbox/checkbox';\nexport * from './lib/switch/switch';\nexport * from './lib/accordion/accordion';\nexport * from './lib/tabs/tabs';\nexport * from './lib/dialog/dialog';\nexport * from './lib/theme/theme';\nexport * from './lib/theme/theme-customizer';\nexport * from './lib/radio-group/radio-group';\nexport * from './lib/tooltip/tooltip';\nexport * from './lib/breadcrumb/breadcrumb';\nexport * from './lib/kbd/kbd';\nexport * from './lib/aspect-ratio/aspect-ratio';\nexport * from './lib/button-group/button-group';\nexport * from './lib/empty/empty';\nexport * from './lib/container/container';\nexport * from './lib/field/field';\nexport * from './lib/collapsible/collapsible';\nexport * from './lib/toggle/toggle';\nexport * from './lib/spinner/spinner';\nexport * from './lib/copy-button/copy-button';\nexport * from './lib/banner/banner';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["SIZES","TONES"],"mappings":"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"}
|