@ng-brutalism/ui 0.1.2 → 0.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"ng-brutalism-ui.mjs","sources":["../../../libs/ui/src/lib/core/class.ts","../../../libs/ui/src/lib/tokens/theme.tokens.ts","../../../libs/ui/src/lib/core/provide.ts","../../../libs/ui/src/lib/checkbox/nb-checkbox.ts","../../../libs/ui/src/lib/accordion/accordion.types.ts","../../../libs/ui/src/lib/accordion/nb-accordion-item.ts","../../../libs/ui/src/lib/accordion/nb-accordion.ts","../../../libs/ui/src/lib/accordion/nb-accordion-content.ts","../../../libs/ui/src/lib/accordion/nb-accordion-trigger.ts","../../../libs/ui/src/lib/button/nb-button.ts","../../../libs/ui/src/lib/card/nb-card.ts","../../../libs/ui/src/lib/image-card/nb-image-card.ts","../../../libs/ui/src/lib/marquee/nb-marquee.ts","../../../libs/ui/src/lib/marquee/nb-marquee-item.ts","../../../libs/ui/src/lib/input-group/input-group.types.ts","../../../libs/ui/src/lib/input/nb-input.ts","../../../libs/ui/src/lib/label/nb-label.ts","../../../libs/ui/src/lib/title/nb-title.ts","../../../libs/ui/src/lib/textarea/nb-textarea.ts","../../../libs/ui/src/lib/input-group/nb-input-group.ts","../../../libs/ui/src/lib/input-group/nb-input-group-prefix.ts","../../../libs/ui/src/lib/input-group/nb-input-group-suffix.ts","../../../libs/ui/src/lib/select/nb-native-select.ts","../../../libs/ui/src/lib/select/select.types.ts","../../../libs/ui/src/lib/select/nb-select-option.ts","../../../libs/ui/src/lib/select/nb-select.ts","../../../libs/ui/src/lib/badge/nb-badge.ts","../../../libs/ui/src/lib/avatar/nb-avatar.ts","../../../libs/ui/src/lib/dialog/dialog.types.ts","../../../libs/ui/src/lib/dialog/nb-dialog.ts","../../../libs/ui/src/lib/dialog/nb-dialog-title.ts","../../../libs/ui/src/lib/dialog/nb-dialog-description.ts","../../../libs/ui/src/lib/dialog/nb-dialog-content.ts","../../../libs/ui/src/lib/dialog/nb-dialog-actions.ts","../../../libs/ui/src/lib/dialog/nb-dialog-close.ts","../../../libs/ui/src/index.ts","../../../libs/ui/src/ng-brutalism-ui.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * Merges class names with Tailwind conflict resolution.\n * Publicly exported for consumers extending library components.\n *\n * @example\n * nbClass('px-2 px-4') // -> 'px-4'\n * nbClass('flex', condition && 'w-full') // -> 'flex w-full' or 'flex'\n */\nexport function nbClass(...inputs: ClassValue[]): string {\n return twMerge(clsx(...inputs));\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface NbThemeConfig {\n primary?: string;\n secondary?: string;\n accent?: string;\n danger?: string;\n success?: string;\n warning?: string;\n radius?: string;\n borderWidth?: string;\n shadowOffsetX?: string;\n shadowOffsetY?: string;\n fontSans?: string;\n fontMono?: string;\n}\n\nexport const NB_THEME_CONFIG = new InjectionToken<NbThemeConfig>(\n 'NB_THEME_CONFIG'\n);\n","import {\n EnvironmentProviders,\n inject,\n makeEnvironmentProviders,\n PLATFORM_ID,\n provideAppInitializer,\n DOCUMENT,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { NB_THEME_CONFIG, NbThemeConfig } from '../tokens/theme.tokens';\n\nfunction applyThemeVars(doc: Document, config: NbThemeConfig): void {\n const root = doc.documentElement;\n const map: Record<keyof NbThemeConfig, string> = {\n primary: '--nb-primary',\n secondary: '--nb-secondary',\n accent: '--nb-accent',\n danger: '--nb-danger',\n success: '--nb-success',\n warning: '--nb-warning',\n radius: '--nb-radius',\n borderWidth: '--nb-border-width',\n shadowOffsetX: '--nb-shadow-offset-x',\n shadowOffsetY: '--nb-shadow-offset-y',\n fontSans: '--nb-font-sans',\n fontMono: '--nb-font-mono',\n };\n\n for (const [key, cssVar] of Object.entries(map)) {\n const value = config[key as keyof NbThemeConfig];\n if (value !== undefined) {\n root.style.setProperty(cssVar, value);\n }\n }\n}\n\nexport interface NbConfig {\n theme?: NbThemeConfig;\n}\n\nexport function provideNgBrutalism(\n config: NbConfig = {}\n): EnvironmentProviders {\n return makeEnvironmentProviders([\n {\n provide: NB_THEME_CONFIG,\n useValue: config.theme ?? {},\n },\n provideAppInitializer(() => {\n const initializerFn = (() => {\n const doc = inject(DOCUMENT);\n const platformId = inject(PLATFORM_ID);\n const themeConfig = inject(NB_THEME_CONFIG);\n\n return () => {\n if (isPlatformBrowser(platformId)) {\n applyThemeVars(doc, themeConfig);\n }\n };\n })();\n return initializerFn();\n }),\n ]);\n}\n","import { Directive, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport type { NbCheckboxSize } from './checkbox.types';\n\n@Directive({\n selector: 'input[nbCheckbox]',\n host: {\n '[class]': 'classes()',\n '[attr.data-size]': 'size()',\n },\n})\nexport class NbCheckbox {\n readonly size = input<NbCheckboxSize>('default');\n\n protected readonly classes = computed(() =>\n nbClass(\n '[--nb-checkbox-bg:var(--nb-main)]',\n '[--nb-checkbox-fg:#fff]',\n '[--nb-checkbox-border:var(--nb-border)]',\n '[--nb-checkbox-radius:0]',\n 'peer grid shrink-0 cursor-pointer appearance-none place-content-center',\n 'rounded-(--nb-checkbox-radius) outline-2 outline-(--nb-checkbox-border) ring-offset-white',\n 'checked:bg-(--nb-checkbox-bg) checked:text-(--nb-checkbox-fg)',\n 'focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-(--nb-checkbox-border) focus-visible:ring-offset-2',\n 'disabled:opacity-50 disabled:cursor-not-allowed',\n this.sizeClass()\n )\n );\n\n private sizeClass(): string {\n const map: Record<NbCheckboxSize, string> = {\n default: 'size-4',\n sm: 'size-3.5',\n lg: 'size-5',\n };\n return map[this.size()];\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport type NbAccordionType = 'single' | 'multiple';\n\nexport type NbAccordionValue = string | string[] | null;\n\nexport interface NbAccordionController {\n isItemOpen(value: string): boolean;\n toggleItem(value: string): void;\n}\n\nexport const NB_ACCORDION = new InjectionToken<NbAccordionController>(\n 'NB_ACCORDION'\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n booleanAttribute,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NB_ACCORDION } from './accordion.types';\n\nlet nextAccordionItemId = 0;\n\n@Component({\n selector: 'nb-accordion-item',\n template: `\n <div [class]=\"classes()\">\n <ng-content />\n </div>\n `,\n host: {\n class: 'block',\n '[attr.data-state]': 'open() ? \"open\" : \"closed\"',\n '[attr.data-disabled]': 'disabled() ? \"\" : null',\n '[attr.data-orientation]': '\"vertical\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbAccordionItem {\n private readonly id = nextAccordionItemId++;\n\n readonly value = input(`neo-accordion-item-${this.id}`);\n readonly disabled = input(false, { transform: booleanAttribute });\n\n private readonly accordion = inject(NB_ACCORDION);\n\n readonly triggerId = `neo-accordion-trigger-${this.id}`;\n readonly contentId = `neo-accordion-content-${this.id}`;\n\n readonly open = computed(() => this.accordion.isItemOpen(this.value()));\n\n protected readonly classes = computed(() =>\n nbClass(\n '[--nb-accordion-item-bg:var(--nb-surface)]',\n '[--nb-accordion-item-fg:var(--nb-surface-foreground)]',\n '[--nb-accordion-item-border:var(--nb-border)]',\n '[--nb-accordion-item-radius:var(--nb-radius)]',\n '[--nb-accordion-item-shadow:var(--nb-shadow-offset-x)_var(--nb-shadow-offset-y)_0_var(--nb-shadow)]',\n 'overflow-hidden rounded-(--nb-accordion-item-radius)',\n 'border-2 border-(--nb-accordion-item-border)',\n 'bg-(--nb-accordion-item-bg) text-(--nb-accordion-item-fg)',\n 'shadow-[var(--nb-accordion-item-shadow)]',\n this.disabled() && 'opacity-50'\n )\n );\n\n toggle(): void {\n if (!this.disabled()) {\n this.accordion.toggleItem(this.value());\n }\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n input,\n model,\n} from '@angular/core';\n\nimport { NbAccordionItem } from './nb-accordion-item';\nimport {\n NB_ACCORDION,\n type NbAccordionController,\n type NbAccordionType,\n type NbAccordionValue,\n} from './accordion.types';\n\n@Component({\n selector: 'nb-accordion',\n template: `\n <div class=\"flex w-full flex-col gap-3\">\n <ng-content />\n </div>\n `,\n host: {\n class: 'block w-full',\n '[attr.data-orientation]': '\"vertical\"',\n '[attr.data-type]': 'type()',\n },\n providers: [{ provide: NB_ACCORDION, useExisting: NbAccordion }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbAccordion implements NbAccordionController {\n readonly type = input<NbAccordionType>('single');\n readonly collapsible = input(false, { transform: booleanAttribute });\n readonly value = model<NbAccordionValue>(null);\n\n readonly items = contentChildren(NbAccordionItem);\n\n isItemOpen(value: string): boolean {\n const currentValue = this.value();\n\n return Array.isArray(currentValue)\n ? currentValue.includes(value)\n : currentValue === value;\n }\n\n toggleItem(value: string): void {\n if (this.type() === 'multiple') {\n this.toggleMultipleItem(value);\n return;\n }\n\n if (this.isItemOpen(value)) {\n if (this.collapsible()) {\n this.value.set(null);\n }\n\n return;\n }\n\n this.value.set(value);\n }\n\n private toggleMultipleItem(value: string): void {\n const currentValue = this.value();\n const values = Array.isArray(currentValue)\n ? currentValue\n : currentValue\n ? [currentValue]\n : [];\n\n this.value.set(\n values.includes(value)\n ? values.filter((itemValue) => itemValue !== value)\n : [...values, value]\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NbAccordionItem } from './nb-accordion-item';\n\n@Component({\n selector: 'nb-accordion-content',\n template: `\n <div\n [id]=\"item.contentId\"\n [class]=\"classes()\"\n role=\"region\"\n [attr.aria-labelledby]=\"item.triggerId\"\n [attr.data-slot]=\"'accordion-content'\"\n [attr.data-state]=\"item.open() ? 'open' : 'closed'\"\n [attr.data-orientation]=\"'vertical'\"\n [attr.aria-hidden]=\"!item.open()\"\n >\n <div class=\"min-h-0 overflow-hidden\">\n <div class=\"p-4\">\n <ng-content />\n </div>\n </div>\n </div>\n `,\n host: {\n class: 'block',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbAccordionContent {\n protected readonly item = inject(NbAccordionItem);\n\n protected readonly classes = computed(() =>\n nbClass(\n '[--nb-accordion-content-bg:var(--nb-surface)]',\n '[--nb-accordion-content-fg:var(--nb-surface-foreground)]',\n 'grid overflow-hidden bg-(--nb-accordion-content-bg) text-sm font-medium',\n 'text-(--nb-accordion-content-fg)',\n 'transition-[grid-template-rows] duration-200 ease-out',\n this.item.open() ? 'grid-rows-[1fr]' : 'grid-rows-[0fr]'\n )\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NbAccordionItem } from './nb-accordion-item';\n\n@Component({\n selector: 'nb-accordion-trigger',\n template: `\n <h3 class=\"flex\">\n <button\n type=\"button\"\n [id]=\"item.triggerId\"\n [attr.aria-expanded]=\"item.open()\"\n [attr.aria-controls]=\"item.contentId\"\n [attr.data-state]=\"item.open() ? 'open' : 'closed'\"\n [disabled]=\"item.disabled()\"\n [class]=\"triggerClasses()\"\n (click)=\"item.toggle()\"\n >\n <ng-content />\n <svg\n class=\"size-6 shrink-0 fill-none stroke-current stroke-[3] stroke-linecap-round stroke-linejoin-round\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path [attr.d]=\"item.open() ? 'm18 15-6-6-6 6' : 'm6 9 6 6 6-6'\" />\n </svg>\n </button>\n </h3>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbAccordionTrigger {\n protected readonly item = inject(NbAccordionItem);\n\n protected readonly triggerClasses = computed(() =>\n nbClass(\n '[--nb-accordion-trigger-bg:var(--nb-main)]',\n '[--nb-accordion-trigger-fg:var(--nb-main-foreground)]',\n 'flex min-h-14 flex-1 items-center justify-between gap-4',\n 'w-full bg-(--nb-accordion-trigger-bg) p-4 text-left text-base font-bold',\n 'text-(--nb-accordion-trigger-fg) transition-all duration-200',\n 'focus-visible:outline-none focus-visible:ring-2',\n 'focus-visible:ring-(--nb-accordion-item-border) focus-visible:ring-offset-2',\n 'disabled:pointer-events-none disabled:opacity-50',\n this.item.open() && 'border-b-2 border-(--nb-accordion-item-border)'\n )\n );\n}\n","import { Directive, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport type {\n NbButtonShadow,\n NbButtonSize,\n NbButtonVariant,\n} from './button.types';\n\n@Directive({\n selector: 'button[nbButton], a[nbButton]',\n host: {\n '[class]': 'classes()',\n '[attr.data-variant]': 'variant()',\n '[attr.data-shadow]': 'shadow()',\n '[attr.data-size]': 'size()',\n '[attr.data-full-width]': 'fullWidth() ? \"\" : null',\n },\n})\nexport class NbButton {\n readonly variant = input<NbButtonVariant>('default');\n readonly shadow = input<NbButtonShadow>('default');\n readonly size = input<NbButtonSize>('default');\n readonly fullWidth = input(false);\n\n protected readonly classes = computed(() =>\n nbClass(\n 'inline-flex items-center justify-center whitespace-nowrap select-none',\n 'gap-2',\n 'font-bold',\n '[--nb-button-bg:var(--nb-main)]',\n '[--nb-button-fg:var(--nb-main-foreground)]',\n '[--nb-button-border:var(--nb-border)]',\n '[--nb-button-radius:var(--nb-radius)]',\n '[--nb-button-shadow:var(--nb-shadow-offset-x)_var(--nb-shadow-offset-y)_0_var(--nb-shadow)]',\n 'bg-(--nb-button-bg) text-(--nb-button-fg)',\n 'rounded-(--nb-button-radius)',\n 'border-2 border-(--nb-button-border)',\n 'shadow-[var(--nb-button-shadow)]',\n 'transition-all duration-150 ease-out',\n '[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-(--nb-border) focus-visible:ring-offset-2',\n 'disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none',\n 'aria-disabled:opacity-50 aria-disabled:cursor-not-allowed aria-disabled:pointer-events-none',\n this.variantClass(),\n this.shadowClass(),\n this.sizeClass(),\n this.fullWidth() && 'w-full'\n )\n );\n\n private variantClass(): string {\n const variant = this.variant();\n\n const map: Record<NbButtonVariant, string> = {\n default: '',\n neutral:\n '[--nb-button-bg:var(--nb-background)] [--nb-button-fg:var(--nb-foreground)]',\n primary:\n '[--nb-button-bg:var(--nb-primary)] [--nb-button-fg:var(--nb-primary-foreground)]',\n secondary:\n '[--nb-button-bg:var(--nb-secondary)] [--nb-button-fg:var(--nb-secondary-foreground)]',\n accent:\n '[--nb-button-bg:var(--nb-accent)] [--nb-button-fg:var(--nb-accent-foreground)]',\n danger:\n '[--nb-button-bg:var(--nb-danger)] [--nb-button-fg:var(--nb-danger-foreground)]',\n success:\n '[--nb-button-bg:var(--nb-success)] [--nb-button-fg:var(--nb-success-foreground)]',\n warning:\n '[--nb-button-bg:var(--nb-warning)] [--nb-button-fg:var(--nb-warning-foreground)]',\n };\n\n return map[variant];\n }\n\n private shadowClass(): string {\n const map: Record<NbButtonShadow, string> = {\n default:\n 'hover:translate-x-(--nb-shadow-offset-x) hover:translate-y-(--nb-shadow-offset-y) hover:shadow-none',\n none: '[--nb-button-shadow:none]',\n reverse:\n '[--nb-button-shadow:none] hover:-translate-x-(--nb-reverse-shadow-offset-x) hover:-translate-y-(--nb-reverse-shadow-offset-y) hover:shadow-[var(--nb-shadow-offset-x)_var(--nb-shadow-offset-y)_0_var(--nb-shadow)]',\n };\n\n return map[this.shadow()];\n }\n\n private sizeClass(): string {\n const map: Record<NbButtonSize, string> = {\n default: 'h-10 px-4 py-2 text-sm',\n sm: 'h-9 px-3 text-sm',\n lg: 'h-11 px-8 text-sm',\n icon: 'size-10',\n };\n\n return map[this.size()];\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\n\nexport type NbCardActionsAlign = 'start' | 'end';\n\n@Component({\n selector: 'nb-card',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"card\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbCard {\n protected readonly classes = nbClass(\n '[--nb-card-bg:var(--nb-background)]',\n '[--nb-card-fg:var(--nb-foreground)]',\n '[--nb-card-border:var(--nb-border)]',\n '[--nb-card-radius:18px]',\n '[--nb-card-shadow:var(--nb-shadow-offset-x)_var(--nb-shadow-offset-y)_0_var(--nb-shadow)]',\n 'flex flex-col gap-6 py-6',\n 'rounded-(--nb-card-radius) border-2 border-(--nb-card-border)',\n 'bg-(--nb-card-bg) text-(--nb-card-fg)',\n 'shadow-[var(--nb-card-shadow)] font-medium'\n );\n}\n\n@Component({\n selector: 'nb-card-header',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"card-header\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbCardHeader {\n protected readonly classes = nbClass(\n 'grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6',\n '[.border-b]:pb-6'\n );\n}\n\n@Component({\n selector: 'nb-card-title',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"card-title\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbCardTitle {\n protected readonly classes = nbClass('font-bold leading-none');\n}\n\n@Component({\n selector: 'nb-card-description',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"card-description\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbCardDescription {\n protected readonly classes = nbClass('text-sm font-medium');\n}\n\n@Component({\n selector: 'nb-card-actions',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes()',\n '[attr.data-slot]': '\"card-actions\"',\n '[attr.data-align]': 'align()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbCardActions {\n readonly align = input<NbCardActionsAlign>('start');\n\n protected readonly classes = computed(() =>\n nbClass(\n 'flex flex-wrap items-center gap-3 px-6',\n '[[data-slot=card-footer]_&]:px-0',\n this.align() === 'end' ? 'justify-end' : 'justify-start'\n )\n );\n}\n\n@Component({\n selector: 'nb-card-content',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"card-content\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbCardContent {\n protected readonly classes = nbClass('px-6');\n}\n\n@Component({\n selector: 'nb-card-footer',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"card-footer\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbCardFooter {\n protected readonly classes = nbClass(\n 'flex items-center px-6',\n 'has-[[data-slot=card-actions]]:flex-wrap',\n 'has-[[data-slot=card-actions]]:justify-between',\n 'has-[[data-slot=card-actions]]:gap-4',\n '[.border-t]:pt-6'\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n input,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\n\n@Component({\n selector: 'nb-image-card',\n template: `\n <img\n [src]=\"image()\"\n [alt]=\"alt()\"\n [class]=\"imageClasses\"\n loading=\"lazy\"\n decoding=\"async\"\n />\n <ng-content select=\"nb-image-card-caption\" />\n `,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"image-card\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbImageCard {\n readonly image = input.required<string>();\n readonly alt = input.required<string>();\n\n protected readonly classes = nbClass(\n '[--nb-image-card-bg:var(--nb-background)]',\n '[--nb-image-card-fg:var(--nb-foreground)]',\n '[--nb-image-card-border:var(--nb-border)]',\n '[--nb-image-card-radius:var(--nb-radius)]',\n '[--nb-image-card-shadow:var(--nb-shadow-offset-x)_var(--nb-shadow-offset-y)_0_var(--nb-shadow)]',\n 'flex flex-col overflow-hidden',\n 'rounded-(--nb-image-card-radius) border-2 border-(--nb-image-card-border)',\n 'bg-(--nb-image-card-bg) text-(--nb-image-card-fg)',\n 'shadow-[var(--nb-image-card-shadow)] font-medium'\n );\n\n protected readonly imageClasses = nbClass('block w-full h-auto');\n}\n\n@Component({\n selector: 'nb-image-card-caption',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"image-card-caption\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbImageCardCaption {\n protected readonly classes = nbClass(\n 'border-t-2 border-(--nb-image-card-border)',\n 'px-6 py-4 text-center font-bold text-base'\n );\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n PLATFORM_ID,\n afterNextRender,\n booleanAttribute,\n computed,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\n\n@Component({\n selector: 'nb-marquee',\n host: {\n class: 'block',\n },\n template: `\n <div #wrapper [class]=\"wrapperClass()\" [style]=\"wrapperStyle()\">\n <div #strip1 [class]=\"strip1Class()\">\n <ng-content />\n </div>\n <div #strip2 [class]=\"strip2Class()\" aria-hidden=\"true\"></div>\n </div>\n `,\n styles: [\n `\n @keyframes nb-marquee-1 {\n from {\n transform: translateX(0%);\n }\n to {\n transform: translateX(-100%);\n }\n }\n @keyframes nb-marquee-2 {\n from {\n transform: translateX(100%);\n }\n to {\n transform: translateX(0%);\n }\n }\n @keyframes nb-marquee-reverse-1 {\n from {\n transform: translateX(0%);\n }\n to {\n transform: translateX(100%);\n }\n }\n @keyframes nb-marquee-reverse-2 {\n from {\n transform: translateX(-100%);\n }\n to {\n transform: translateX(0%);\n }\n }\n\n .nb-marquee-strip-1 {\n animation-name: nb-marquee-1;\n animation-duration: var(--nb-marquee-duration, 5s);\n animation-timing-function: linear;\n animation-iteration-count: infinite;\n }\n .nb-marquee-strip-1.nb-marquee-reverse {\n animation-name: nb-marquee-reverse-1;\n }\n\n .nb-marquee-strip-2 {\n animation-name: nb-marquee-2;\n animation-duration: var(--nb-marquee-duration, 5s);\n animation-timing-function: linear;\n animation-iteration-count: infinite;\n }\n .nb-marquee-strip-2.nb-marquee-reverse {\n animation-name: nb-marquee-reverse-2;\n }\n\n .nb-marquee-strip-1,\n .nb-marquee-strip-2 {\n display: flex;\n width: max-content;\n min-width: 100%;\n align-items: center;\n flex-shrink: 0;\n }\n\n .nb-marquee-wrapper.nb-pause-on-hover:hover .nb-marquee-strip-1,\n .nb-marquee-wrapper.nb-pause-on-hover:hover .nb-marquee-strip-2 {\n animation-play-state: paused;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbMarquee {\n readonly duration = input('5s');\n readonly reverse = input(false, { transform: booleanAttribute });\n readonly pauseOnHover = input(true, { transform: booleanAttribute });\n\n private readonly wrapper =\n viewChild.required<ElementRef<HTMLElement>>('wrapper');\n private readonly strip1 =\n viewChild.required<ElementRef<HTMLElement>>('strip1');\n private readonly strip2 =\n viewChild.required<ElementRef<HTMLElement>>('strip2');\n private readonly destroyRef = inject(DestroyRef);\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n private readonly widthScale = signal(1);\n\n protected readonly wrapperClass = computed(() =>\n nbClass(\n 'nb-marquee-wrapper relative flex w-full overflow-hidden',\n 'border-t-2 border-b-2 border-(--nb-border)',\n 'bg-white text-black font-base',\n this.pauseOnHover() && 'nb-pause-on-hover'\n )\n );\n\n protected readonly wrapperStyle = computed(() => ({\n '--nb-marquee-duration': this.scaledDuration(),\n }));\n\n private readonly scaledDuration = computed(() => {\n const duration = this.duration();\n const durationMs = this.durationToMs(duration);\n\n if (durationMs === null) {\n return duration;\n }\n\n return `${durationMs * this.widthScale()}ms`;\n });\n\n protected readonly strip1Class = computed(() =>\n nbClass(\n 'nb-marquee-strip-1 whitespace-nowrap py-4',\n this.reverse() && 'nb-marquee-reverse'\n )\n );\n\n protected readonly strip2Class = computed(() =>\n nbClass(\n 'nb-marquee-strip-2 absolute top-0 left-0 whitespace-nowrap py-4',\n this.reverse() && 'nb-marquee-reverse'\n )\n );\n\n constructor() {\n if (!this.isBrowser) {\n return;\n }\n\n afterNextRender(() => {\n this.syncSecondStrip();\n this.updateAnimationScale();\n\n const mutationObserver = new MutationObserver(() => {\n this.syncSecondStrip();\n this.updateAnimationScale();\n });\n mutationObserver.observe(this.strip1().nativeElement, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n });\n\n const resizeObserver = new ResizeObserver(() =>\n this.updateAnimationScale()\n );\n resizeObserver.observe(this.wrapper().nativeElement);\n resizeObserver.observe(this.strip1().nativeElement);\n\n this.destroyRef.onDestroy(() => {\n mutationObserver.disconnect();\n resizeObserver.disconnect();\n });\n });\n }\n\n private syncSecondStrip(): void {\n const source = this.strip1().nativeElement;\n const cloneTarget = this.strip2().nativeElement;\n const clones = Array.from(source.childNodes, (node) =>\n node.cloneNode(true)\n );\n\n cloneTarget.replaceChildren(...clones);\n }\n\n private updateAnimationScale(): void {\n const wrapperWidth = this.wrapper().nativeElement.clientWidth;\n const contentWidth = this.strip1().nativeElement.scrollWidth;\n\n if (wrapperWidth <= 0 || contentWidth <= 0) {\n this.widthScale.set(1);\n return;\n }\n\n this.widthScale.set(Math.max(1, contentWidth / wrapperWidth));\n }\n\n private durationToMs(duration: string): number | null {\n const match = duration.trim().match(/^(\\d*\\.?\\d+)(ms|s)$/);\n\n if (!match) {\n return null;\n }\n\n const value = Number(match[1]);\n return match[2] === 's' ? value * 1000 : value;\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'nb-marquee-item',\n host: {\n class: 'mx-4 inline-flex shrink-0 items-center text-4xl whitespace-nowrap',\n },\n template: `<ng-content />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbMarqueeItem {}\n","import { InjectionToken, type Signal } from '@angular/core';\n\nexport interface NbInputGroupContext {\n readonly hasPrefix: Signal<boolean>;\n readonly hasSuffix: Signal<boolean>;\n}\n\nexport const NB_INPUT_GROUP = new InjectionToken<NbInputGroupContext>(\n 'NB_INPUT_GROUP'\n);\n\nexport const NB_INPUT_PREFIX = new InjectionToken<unknown>('NB_INPUT_PREFIX');\n\nexport const NB_INPUT_SUFFIX = new InjectionToken<unknown>('NB_INPUT_SUFFIX');\n","import { Directive, computed, inject, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NB_INPUT_GROUP } from '../input-group/input-group.types';\nimport type { NbInputSize } from './input.types';\n\n@Directive({\n selector: 'input[nbInput]',\n host: {\n '[class]': 'classes()',\n '[attr.data-size]': 'size()',\n },\n})\nexport class NbInput {\n readonly size = input<NbInputSize>('default');\n\n private readonly group = inject(NB_INPUT_GROUP, { optional: true });\n\n protected readonly classes = computed(() => {\n const inGroup = this.group !== null;\n\n return nbClass(\n '[--nb-input-bg:var(--nb-field-bg)]',\n '[--nb-input-fg:var(--nb-foreground)]',\n '[--nb-input-border:var(--nb-border)]',\n '[--nb-input-radius:var(--nb-radius)]',\n '[--nb-input-shadow:var(--nb-shadow-offset-x)_var(--nb-shadow-offset-y)_0_var(--nb-shadow)]',\n 'flex border-2 border-(--nb-input-border)',\n 'bg-(--nb-input-bg) text-(--nb-input-fg)',\n 'font-medium',\n 'placeholder:text-gray-400',\n 'file:h-full file:py-0 file:my-0 file:mr-3 file:px-3',\n 'file:cursor-pointer file:text-sm file:font-bold',\n 'file:bg-(--nb-main) file:text-(--nb-main-foreground)',\n 'file:border-0 file:border-r-2 file:border-(--nb-input-border)',\n 'disabled:opacity-50 disabled:cursor-not-allowed',\n inGroup\n ? [\n 'flex-1 min-w-0',\n 'bg-transparent',\n 'border-0',\n 'focus-visible:outline-none',\n ]\n : [\n 'rounded-(--nb-input-radius)',\n 'shadow-[var(--nb-input-shadow)]',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-(--nb-input-border)',\n 'focus-visible:ring-offset-2 focus-visible:shadow-none',\n ]\n );\n });\n}\n","import { Directive } from '@angular/core';\n\nimport { nbClass } from '../core/class';\n\n@Directive({\n selector: 'label[nbLabel]',\n host: {\n '[class]': 'classes',\n },\n})\nexport class NbLabel {\n protected readonly classes = nbClass(\n 'font-bold leading-none',\n 'peer-disabled:cursor-not-allowed peer-disabled:opacity-50'\n );\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[nbTitle]',\n host: {\n '[attr.data-nb-title]': '\"\"',\n },\n})\nexport class NbTitle {}\n","import { Directive, computed, inject, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NB_INPUT_GROUP } from '../input-group/input-group.types';\nimport type { NbTextareaSize } from './textarea.types';\n\n@Directive({\n selector: 'textarea[nbTextarea]',\n host: {\n '[class]': 'classes()',\n '[attr.data-size]': 'size()',\n },\n})\nexport class NbTextarea {\n readonly size = input<NbTextareaSize>('default');\n\n private readonly group = inject(NB_INPUT_GROUP, { optional: true });\n\n protected readonly classes = computed(() => {\n const inGroup = this.group !== null;\n\n return nbClass(\n '[--nb-textarea-bg:var(--nb-input-bg,var(--nb-field-bg))]',\n '[--nb-textarea-fg:var(--nb-foreground)]',\n '[--nb-textarea-border:var(--nb-border)]',\n '[--nb-textarea-radius:var(--nb-radius)]',\n '[--nb-textarea-shadow:var(--nb-shadow-offset-x)_var(--nb-shadow-offset-y)_0_var(--nb-shadow)]',\n 'flex border-2 border-(--nb-textarea-border)',\n 'bg-(--nb-textarea-bg) text-(--nb-textarea-fg)',\n 'font-medium',\n 'placeholder:text-gray-400',\n 'disabled:opacity-50 disabled:cursor-not-allowed',\n 'resize-none',\n inGroup\n ? [\n 'flex-1 min-w-0',\n 'bg-transparent',\n 'border-0',\n 'focus-visible:outline-none',\n ]\n : [\n 'rounded-(--nb-textarea-radius)',\n 'shadow-[var(--nb-textarea-shadow)]',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-(--nb-textarea-border)',\n 'focus-visible:ring-offset-2 focus-visible:shadow-none',\n ]\n );\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport {\n NB_INPUT_GROUP,\n NB_INPUT_PREFIX,\n NB_INPUT_SUFFIX,\n type NbInputGroupContext,\n} from './input-group.types';\n\n@Component({\n selector: 'nb-input-group',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes()',\n },\n providers: [{ provide: NB_INPUT_GROUP, useExisting: NbInputGroup }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbInputGroup implements NbInputGroupContext {\n private readonly prefixes = contentChildren(NB_INPUT_PREFIX);\n private readonly suffixes = contentChildren(NB_INPUT_SUFFIX);\n\n readonly hasPrefix = computed(() => this.prefixes().length > 0);\n readonly hasSuffix = computed(() => this.suffixes().length > 0);\n\n protected readonly classes = computed(() =>\n nbClass(\n '[--nb-input-group-bg:var(--nb-input-bg,var(--nb-field-bg))]',\n '[--nb-input-group-border:var(--nb-border)]',\n '[--nb-input-group-radius:var(--nb-radius)]',\n 'relative inline-flex w-full rounded-(--nb-input-group-radius) border-2 border-(--nb-input-group-border)',\n 'bg-(--nb-input-group-bg) shadow-nb focus-within:outline-none',\n 'focus-within:ring-2 focus-within:ring-offset-2 focus-within:ring-(--nb-input-group-border) focus-within:shadow-none'\n )\n );\n}\n","import { Directive, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NB_INPUT_PREFIX } from './input-group.types';\n\nexport type NbInputPrefixAlign = 'center' | 'stretch';\n\n@Directive({\n selector: '[nbInputPrefix]',\n host: {\n '[class]': 'classes()',\n '[attr.data-align]': 'align()',\n },\n providers: [{ provide: NB_INPUT_PREFIX, useExisting: NbInputPrefix }],\n})\nexport class NbInputPrefix {\n readonly align = input<NbInputPrefixAlign>('center');\n\n protected readonly classes = computed(() =>\n nbClass(\n '[--nb-input-group-addon-bg:#ffd24a]',\n '[--nb-input-group-prefix-bg:var(--nb-input-group-addon-bg)]',\n 'flex w-12 shrink-0 justify-center',\n 'border-r-2 border-(--nb-input-group-border,var(--nb-border))',\n 'bg-(--nb-input-group-prefix-bg)',\n this.align() === 'stretch'\n ? 'self-stretch items-start pt-2'\n : 'items-center'\n )\n );\n}\n","import { Directive, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NB_INPUT_SUFFIX } from './input-group.types';\n\nexport type NbInputSuffixAlign = 'center' | 'stretch';\n\n@Directive({\n selector: '[nbInputSuffix]',\n host: {\n '[class]': 'classes()',\n '[attr.data-align]': 'align()',\n },\n providers: [{ provide: NB_INPUT_SUFFIX, useExisting: NbInputSuffix }],\n})\nexport class NbInputSuffix {\n readonly align = input<NbInputSuffixAlign>('center');\n\n protected readonly classes = computed(() =>\n nbClass(\n '[--nb-input-group-addon-bg:#ffd24a]',\n '[--nb-input-group-suffix-bg:var(--nb-input-group-addon-bg)]',\n 'flex w-12 shrink-0 items-center justify-center',\n 'border-l-2 border-(--nb-input-group-border,var(--nb-border))',\n 'bg-(--nb-input-group-suffix-bg)',\n this.align() === 'stretch' ? 'self-stretch' : ''\n )\n );\n}\n","import { Directive, computed, inject } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NB_INPUT_GROUP } from '../input-group/input-group.types';\n\n@Directive({\n selector: 'select[nbSelect]',\n host: {\n '[class]': 'classes()',\n },\n})\nexport class NbNativeSelect {\n private readonly group = inject(NB_INPUT_GROUP, { optional: true });\n\n protected readonly classes = computed(() => {\n const inGroup = this.group !== null;\n\n return nbClass(\n '[--nb-select-bg:var(--nb-input-bg,var(--nb-field-bg))]',\n '[--nb-select-fg:var(--nb-foreground)]',\n '[--nb-select-border:var(--nb-border)]',\n '[--nb-select-radius:var(--nb-radius)]',\n 'flex border-2 border-(--nb-select-border)',\n 'bg-(--nb-select-bg) text-(--nb-select-fg)',\n 'font-medium',\n 'appearance-none',\n 'pr-10',\n 'has-[option:disabled:checked]:text-gray-400',\n 'disabled:opacity-50 disabled:cursor-not-allowed',\n inGroup\n ? [\n 'flex-1 min-w-0',\n 'bg-transparent',\n 'border-0',\n 'focus-visible:outline-none',\n ]\n : [\n 'rounded-(--nb-select-radius)',\n 'shadow-nb',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-(--nb-select-border)',\n 'focus-visible:ring-offset-2 focus-visible:shadow-none',\n ]\n );\n });\n}\n","import { InjectionToken } from '@angular/core';\n\nimport type { NbSelectOption } from './nb-select-option';\n\nexport type NbSelectValue = string | number;\n\nexport interface NbSelectController {\n readonly disabled: () => boolean;\n readonly listboxId: string;\n\n isSelected(value: NbSelectValue | null): boolean;\n selectOption(option: NbSelectOption): void;\n focusPreviousOption(current: NbSelectOption): void;\n focusNextOption(current: NbSelectOption): void;\n closeAndFocusTrigger(): void;\n}\n\nexport const NB_SELECT = new InjectionToken<NbSelectController>('NB_SELECT');\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n booleanAttribute,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NB_SELECT, type NbSelectValue } from './select.types';\n\nlet nextSelectOptionId = 0;\n\n@Component({\n selector: 'nb-select-option',\n template: `\n <button\n #button\n type=\"button\"\n role=\"option\"\n [id]=\"id\"\n [attr.aria-selected]=\"selected()\"\n [disabled]=\"disabled() || select.disabled()\"\n [class]=\"classes()\"\n (click)=\"select.selectOption(this)\"\n (keydown)=\"selectOptionOnKey($event)\"\n >\n <span\n class=\"min-w-0 flex flex-1 items-center gap-3 truncate text-left [&_svg]:size-6 [&_svg]:shrink-0 [&_svg]:fill-none [&_svg]:stroke-current [&_svg]:stroke-[2.3] [&_svg]:stroke-linecap-round [&_svg]:stroke-linejoin-round\"\n >\n <ng-content />\n </span>\n @if (showIndicator()) {\n <svg\n class=\"size-6 shrink-0 fill-none stroke-current stroke-[3] stroke-linecap-round stroke-linejoin-round\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path d=\"m20 6-11 11-5-5\" />\n </svg>\n }\n </button>\n `,\n host: {\n class: 'block',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbSelectOption {\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n protected readonly select = inject(NB_SELECT);\n\n readonly id = `neo-select-option-${nextSelectOptionId++}`;\n readonly value = input<NbSelectValue | null>(null);\n readonly label = input('');\n readonly disabled = input(false, { transform: booleanAttribute });\n\n protected readonly selected = computed(() => {\n const value = this.value();\n\n return this.select.isSelected(value);\n });\n\n protected readonly showIndicator = computed(\n () => this.value() !== null && this.selected()\n );\n\n protected readonly classes = computed(() =>\n nbClass(\n 'flex h-11 w-full items-center gap-3 px-2',\n 'font-mono text-base font-bold text-(--nb-select-fg)',\n 'transition-colors duration-150',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-(--nb-select-border)',\n 'disabled:pointer-events-none disabled:opacity-50',\n this.selected()\n ? 'bg-[#bdf7c8]'\n : 'bg-transparent hover:bg-[#e8d6ff] focus-visible:bg-[#e8d6ff]'\n )\n );\n\n focus(): void {\n this.element.nativeElement.querySelector('button')?.focus();\n }\n\n selectOptionOnKey(event: KeyboardEvent): void {\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n this.select.focusPreviousOption(this);\n return;\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n this.select.focusNextOption(this);\n return;\n }\n\n if (event.key === 'Escape') {\n event.preventDefault();\n this.select.closeAndFocusTrigger();\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n booleanAttribute,\n computed,\n contentChildren,\n inject,\n input,\n model,\n viewChild,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NB_INPUT_GROUP } from '../input-group/input-group.types';\nimport { NbSelectOption } from './nb-select-option';\nimport {\n NB_SELECT,\n type NbSelectController,\n type NbSelectValue,\n} from './select.types';\n\nlet nextSelectId = 0;\n\n@Component({\n selector: 'nb-select',\n template: `\n <button\n #trigger\n type=\"button\"\n [id]=\"triggerId\"\n [class]=\"triggerClasses()\"\n [disabled]=\"disabled()\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-controls]=\"listboxId\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n (click)=\"toggle()\"\n (keydown)=\"openListboxOnKey($event)\"\n >\n <span [class]=\"valueClasses()\">\n {{ selectedLabel() || placeholder() }}\n </span>\n\n <svg\n class=\"size-6 shrink-0 fill-none stroke-current stroke-[3] stroke-linecap-round stroke-linejoin-round\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path [attr.d]=\"open() ? 'm18 15-6-6-6 6' : 'm6 9 6 6 6-6'\" />\n </svg>\n </button>\n\n @if (open()) {\n <div\n [id]=\"listboxId\"\n role=\"listbox\"\n [attr.aria-labelledby]=\"triggerId\"\n [class]=\"listboxClasses\"\n >\n <ng-content />\n </div>\n }\n `,\n host: {\n '[class]': 'hostClasses()',\n '[attr.data-state]': 'open() ? \"open\" : \"closed\"',\n '[attr.data-disabled]': 'disabled() ? \"\" : null',\n '(document:click)': 'closeOnOutsideClick($event)',\n },\n providers: [{ provide: NB_SELECT, useExisting: NbSelect }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbSelect implements NbSelectController {\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly group = inject(NB_INPUT_GROUP, { optional: true });\n\n readonly placeholder = input('Select an option');\n readonly value = model<NbSelectValue | null>(null);\n readonly disabled = input(false, { transform: booleanAttribute });\n readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });\n readonly ariaLabelledby = input<string | null>(null, {\n alias: 'aria-labelledby',\n });\n\n readonly options = contentChildren(NbSelectOption);\n private readonly trigger =\n viewChild<ElementRef<HTMLButtonElement>>('trigger');\n\n readonly open = model<boolean>(false);\n\n readonly id = nextSelectId++;\n readonly triggerId = `neo-select-trigger-${this.id}`;\n readonly listboxId = `neo-select-listbox-${this.id}`;\n\n protected readonly selectedOption = computed(() =>\n this.options().find((option) => option.value() === this.value())\n );\n\n protected readonly selectedLabel = computed(\n () => this.selectedOption()?.label() ?? ''\n );\n\n protected readonly hostClasses = computed(() => {\n const inGroup = this.group !== null;\n return nbClass(\n '[--nb-select-bg:var(--nb-input-bg,var(--nb-field-bg))]',\n '[--nb-select-fg:var(--nb-foreground)]',\n '[--nb-select-border:var(--nb-border)]',\n '[--nb-select-radius:var(--nb-radius)]',\n '[--nb-select-listbox-bg:var(--nb-select-bg)]',\n inGroup\n ? 'block w-full'\n : [\n 'relative block w-full',\n 'rounded-(--nb-select-radius) border-2 border-(--nb-select-border)',\n 'bg-(--nb-select-bg) shadow-nb',\n 'focus-within:outline-none focus-within:ring-2 focus-within:ring-(--nb-select-border)',\n 'focus-within:ring-offset-2 focus-within:shadow-none',\n 'data-[disabled]:border-gray-400 data-[disabled]:shadow-[5px_5px_0_0_#a3a3a3]',\n ]\n );\n });\n\n protected readonly triggerClasses = computed(() => {\n const inGroup = this.group !== null;\n return nbClass(\n 'flex h-14 w-full items-center gap-4 font-mono text-base font-bold',\n 'text-(--nb-select-fg) transition-all duration-150',\n 'disabled:cursor-not-allowed disabled:text-gray-400',\n inGroup\n ? ['flex-1 min-w-0 bg-transparent px-3 focus-visible:outline-none']\n : ['flex-1 min-w-0 bg-transparent px-5 focus-visible:outline-none']\n );\n });\n\n protected readonly valueClasses = computed(() =>\n nbClass(\n 'min-w-0 flex-1 truncate text-left',\n this.selectedLabel() ? 'text-(--nb-select-fg)' : 'text-gray-400'\n )\n );\n\n protected readonly listboxClasses = nbClass(\n 'absolute z-50 top-[calc(100%+8px)]',\n 'left-[-6px] w-[calc(100%+12px)] mt-0.5',\n 'rounded-b-(--nb-select-radius) border-2 border-(--nb-select-border) bg-(--nb-select-listbox-bg)',\n 'shadow-nb'\n );\n\n isSelected(value: NbSelectValue | null): boolean {\n return this.value() === value;\n }\n\n selectOption(option: NbSelectOption): void {\n if (this.disabled() || option.disabled()) {\n return;\n }\n\n this.value.set(option.value());\n this.closeAndFocusTrigger();\n }\n\n toggle(): void {\n if (!this.disabled()) {\n this.open.update((open) => !open);\n }\n }\n\n openAndFocusOption(): void {\n if (this.disabled()) {\n return;\n }\n\n this.open.set(true);\n queueMicrotask(() => {\n (this.selectedOption() ?? this.firstEnabledOption())?.focus();\n });\n }\n\n closeAndFocusTrigger(): void {\n this.open.set(false);\n queueMicrotask(() => this.trigger()?.nativeElement.focus());\n }\n\n focusPreviousOption(current: NbSelectOption): void {\n this.focusRelativeOption(current, -1);\n }\n\n focusNextOption(current: NbSelectOption): void {\n this.focusRelativeOption(current, 1);\n }\n\n openListboxOnKey(event: KeyboardEvent): void {\n if (\n event.key === 'ArrowDown' ||\n event.key === 'Enter' ||\n event.key === ' '\n ) {\n event.preventDefault();\n this.openAndFocusOption();\n }\n }\n\n closeOnOutsideClick(event: MouseEvent): void {\n if (!this.element.nativeElement.contains(event.target as Node)) {\n this.open.set(false);\n }\n }\n\n private firstEnabledOption(): NbSelectOption | undefined {\n return this.options().find((option) => !option.disabled());\n }\n\n private focusRelativeOption(\n current: NbSelectOption,\n direction: 1 | -1\n ): void {\n const options = this.options().filter((option) => !option.disabled());\n const currentIndex = options.indexOf(current);\n const nextIndex =\n (currentIndex + direction + options.length) % options.length;\n\n options[nextIndex]?.focus();\n }\n}\n","import { Directive, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport type { NbBadgeVariant } from './badge.types';\n\n@Directive({\n selector: 'span[nbBadge]',\n host: {\n '[class]': 'classes()',\n '[attr.data-variant]': 'variant()',\n },\n})\nexport class NbBadge {\n readonly variant = input<NbBadgeVariant>('default');\n\n protected readonly classes = computed(() =>\n nbClass(\n 'inline-flex items-center rounded-(--nb-badge-radius) border-2 border-(--nb-badge-border)',\n 'bg-(--nb-badge-bg) text-(--nb-badge-fg)',\n '[--nb-badge-bg:#fff]',\n '[--nb-badge-fg:var(--nb-foreground)]',\n '[--nb-badge-border:var(--nb-border)]',\n '[--nb-badge-radius:9999px]',\n '[--nb-badge-shadow:2px_2px_0_var(--nb-shadow)]',\n 'px-2.5 py-0.5 text-xs font-bold',\n 'shadow-[var(--nb-badge-shadow)]',\n this.variantClass()\n )\n );\n\n private variantClass(): string {\n const map: Record<NbBadgeVariant, string> = {\n default: '',\n secondary:\n '[--nb-badge-bg:var(--nb-accent)] [--nb-badge-fg:var(--nb-accent-foreground)]',\n success:\n '[--nb-badge-bg:var(--nb-success)] [--nb-badge-fg:var(--nb-success-foreground)]',\n warning:\n '[--nb-badge-bg:var(--nb-warning)] [--nb-badge-fg:var(--nb-warning-foreground)]',\n danger:\n '[--nb-badge-bg:var(--nb-danger)] [--nb-badge-fg:var(--nb-danger-foreground)]',\n };\n\n return map[this.variant()];\n }\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\n\n@Component({\n selector: 'nb-avatar',\n template: `\n @if (src()) {\n <img [src]=\"src()\" [alt]=\"alt()\" class=\"h-full w-full object-cover\" />\n } @else {\n <ng-content />\n }\n `,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"avatar\"',\n '[attr.role]': '\"img\"',\n '[attr.aria-label]': 'alt()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbAvatar {\n readonly src = input<string | undefined>(undefined);\n readonly alt = input<string>('');\n\n protected readonly classes = nbClass(\n '[--nb-avatar-bg:var(--nb-secondary-background)]',\n '[--nb-avatar-fg:var(--nb-foreground)]',\n '[--nb-avatar-border:var(--nb-border)]',\n '[--nb-avatar-radius:9999px]',\n '[--nb-avatar-shadow:2px_2px_0_0_var(--nb-shadow)]',\n 'relative inline-flex h-10 w-10 shrink-0 overflow-hidden',\n 'rounded-(--nb-avatar-radius) border-2 border-(--nb-avatar-border)',\n 'bg-(--nb-avatar-bg) text-(--nb-avatar-fg)',\n 'shadow-[var(--nb-avatar-shadow)]',\n 'font-bold text-sm items-center justify-center'\n );\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface NbDialogController {\n open(): void;\n close(): void;\n}\n\nexport const NB_DIALOG = new InjectionToken<NbDialogController>('NB_DIALOG');\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n PLATFORM_ID,\n inject,\n viewChild,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\nimport { nbClass } from '../core/class';\nimport { NB_DIALOG, type NbDialogController } from './dialog.types';\n\n@Component({\n selector: 'nb-dialog',\n template: `\n <dialog\n #dialogEl\n data-nb-dialog\n [class]=\"classes\"\n (click)=\"dismissOnBackdrop($event)\"\n >\n <ng-content />\n </dialog>\n `,\n host: { '[attr.data-slot]': '\"dialog\"' },\n providers: [{ provide: NB_DIALOG, useExisting: NbDialog }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbDialog implements NbDialogController {\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n private readonly dialogEl =\n viewChild.required<ElementRef<HTMLDialogElement>>('dialogEl');\n\n protected readonly classes = nbClass(\n '[--nb-dialog-bg:#fff]',\n '[--nb-dialog-fg:var(--nb-foreground)]',\n '[--nb-dialog-border:var(--nb-border)]',\n '[--nb-dialog-radius:0.5rem]',\n '[--nb-dialog-shadow:8px_8px_0_0_var(--nb-shadow)]',\n 'w-[calc(100vw-2rem)] max-w-2xl rounded-(--nb-dialog-radius)',\n 'border-2 border-(--nb-dialog-border)',\n 'bg-(--nb-dialog-bg) text-(--nb-dialog-fg)',\n 'shadow-[var(--nb-dialog-shadow)]',\n 'm-auto p-0 max-h-[90vh] overflow-x-hidden',\n 'open:flex open:flex-col'\n );\n\n open(): void {\n if (this.isBrowser) {\n this.dialogEl().nativeElement.showModal();\n }\n }\n\n close(): void {\n if (this.isBrowser) {\n this.dialogEl().nativeElement.close();\n }\n }\n\n protected dismissOnBackdrop(event: MouseEvent): void {\n if (event.target === this.dialogEl().nativeElement) {\n this.close();\n }\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[nbDialogTitle]',\n host: {\n '[attr.data-slot]': '\"dialog-title\"',\n },\n})\nexport class NbDialogTitle {}\n","import { Directive } from '@angular/core';\n\nimport { nbClass } from '../core/class';\n\n@Directive({\n selector: '[nbDialogDescription]',\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"dialog-description\"',\n },\n})\nexport class NbDialogDescription {\n protected readonly classes = nbClass(\n '[--nb-dialog-description-fg:#4b5563]',\n 'text-(--nb-dialog-description-fg)'\n );\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { nbClass } from '../core/class';\n\n@Component({\n selector: 'nb-dialog-content',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"dialog-content\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbDialogContent {\n protected readonly classes = nbClass(\n '[--nb-dialog-content-bg:transparent]',\n 'bg-(--nb-dialog-content-bg)'\n );\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { nbClass } from '../core/class';\n\n@Component({\n selector: 'nb-dialog-actions',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"dialog-actions\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbDialogActions {\n protected readonly classes = nbClass(\n '[--nb-dialog-actions-bg:transparent]',\n 'bg-(--nb-dialog-actions-bg)'\n );\n}\n","import { Directive, inject } from '@angular/core';\n\nimport { NB_DIALOG } from './dialog.types';\n\n@Directive({\n selector: '[nbDialogClose]',\n host: { '(click)': 'controller.close()' },\n})\nexport class NbDialogClose {\n protected readonly controller = inject(NB_DIALOG);\n}\n","// Foundation\nexport { nbClass } from './lib/core/class';\nexport { provideNgBrutalism } from './lib/core/provide';\nexport type { NbConfig } from './lib/core/provide';\nexport { NB_THEME_CONFIG } from './lib/tokens/theme.tokens';\nexport type { NbThemeConfig } from './lib/tokens/theme.tokens';\n\n// Components\nexport { NbCheckbox } from './lib/checkbox';\nexport type { NbCheckboxSize } from './lib/checkbox';\nexport {\n NbAccordion,\n NbAccordionContent,\n NbAccordionItem,\n NbAccordionTrigger,\n} from './lib/accordion';\nexport type { NbAccordionType, NbAccordionValue } from './lib/accordion';\nexport { NbButton } from './lib/button';\nexport type {\n NbButtonShadow,\n NbButtonSize,\n NbButtonVariant,\n} from './lib/button';\nexport {\n NbCard,\n NbCardHeader,\n NbCardTitle,\n NbCardDescription,\n NbCardActions,\n NbCardContent,\n NbCardFooter,\n} from './lib/card';\nexport type { NbCardActionsAlign } from './lib/card';\nexport { NbImageCard, NbImageCardCaption } from './lib/image-card';\nexport { NbMarquee, NbMarqueeItem } from './lib/marquee';\nexport { NbInput } from './lib/input';\nexport { NbLabel } from './lib/label';\nexport { NbTitle } from './lib/title';\nexport type { NbInputSize } from './lib/input';\nexport { NbTextarea } from './lib/textarea';\nexport type { NbTextareaSize } from './lib/textarea';\nexport { NbInputGroup, NbInputPrefix, NbInputSuffix } from './lib/input-group';\nexport type { NbInputPrefixAlign, NbInputSuffixAlign } from './lib/input-group';\nexport {\n NbNativeSelect,\n NbSelect,\n NbSelectOption,\n} from './lib/select';\nexport type { NbSelectValue } from './lib/select';\nexport { NbBadge } from './lib/badge';\nexport type { NbBadgeVariant } from './lib/badge';\nexport { NbAvatar } from './lib/avatar';\nexport {\n NbDialog,\n NbDialogTitle,\n NbDialogDescription,\n NbDialogContent,\n NbDialogActions,\n NbDialogClose,\n} from './lib/dialog';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-brutalism-ui.mjs","sources":["../../../libs/ui/src/lib/core/class.ts","../../../libs/ui/src/lib/tokens/theme.tokens.ts","../../../libs/ui/src/lib/core/provide.ts","../../../libs/ui/src/lib/tokens/tone.ts","../../../libs/ui/src/lib/tokens/radius.ts","../../../libs/ui/src/lib/tokens/shadow.ts","../../../libs/ui/src/lib/tokens/border.ts","../../../libs/ui/src/lib/tokens/spacing.ts","../../../libs/ui/src/lib/tokens/padding.ts","../../../libs/ui/src/lib/tokens/typography.ts","../../../libs/ui/src/lib/core/capabilities/nb-style-tokens.ts","../../../libs/ui/src/lib/core/capabilities/nb-tone-capability.ts","../../../libs/ui/src/lib/core/capabilities/nb-radius-capability.ts","../../../libs/ui/src/lib/core/capabilities/nb-shadow-capability.ts","../../../libs/ui/src/lib/core/capabilities/nb-border-capability.ts","../../../libs/ui/src/lib/core/capabilities/nb-padding-capability.ts","../../../libs/ui/src/lib/core/capabilities/nb-gap-capability.ts","../../../libs/ui/src/lib/core/capabilities/nb-underline-capability.ts","../../../libs/ui/src/lib/core/capabilities/nb-reset-margin-capability.ts","../../../libs/ui/src/lib/core/capabilities/index.ts","../../../libs/ui/src/lib/checkbox/nb-checkbox.ts","../../../libs/ui/src/lib/accordion/accordion.types.ts","../../../libs/ui/src/lib/accordion/nb-accordion-item.ts","../../../libs/ui/src/lib/accordion/nb-accordion.ts","../../../libs/ui/src/lib/accordion/nb-accordion-content.ts","../../../libs/ui/src/lib/accordion/nb-accordion-trigger.ts","../../../libs/ui/src/lib/button/nb-button.ts","../../../libs/ui/src/lib/icon/nb-icon.ts","../../../libs/ui/src/lib/button/nb-button-trailing-icon.ts","../../../libs/ui/src/lib/card/nb-card.ts","../../../libs/ui/src/lib/image-card/nb-image-card.ts","../../../libs/ui/src/lib/marquee/nb-marquee.ts","../../../libs/ui/src/lib/marquee/nb-marquee-item.ts","../../../libs/ui/src/lib/input-group/input-group.types.ts","../../../libs/ui/src/lib/input/nb-input.ts","../../../libs/ui/src/lib/label/nb-label.ts","../../../libs/ui/src/lib/title/nb-title.ts","../../../libs/ui/src/lib/display/nb-display.ts","../../../libs/ui/src/lib/typography/nb-typography.ts","../../../libs/ui/src/lib/separator/nb-separator.ts","../../../libs/ui/src/lib/textarea/nb-textarea.ts","../../../libs/ui/src/lib/input-group/nb-input-group.ts","../../../libs/ui/src/lib/input-group/nb-input-group-prefix.ts","../../../libs/ui/src/lib/input-group/nb-input-group-suffix.ts","../../../libs/ui/src/lib/select/nb-native-select.ts","../../../libs/ui/src/lib/select/select.types.ts","../../../libs/ui/src/lib/select/nb-select-option.ts","../../../libs/ui/src/lib/select/nb-select.ts","../../../libs/ui/src/lib/badge/nb-badge.ts","../../../libs/ui/src/lib/avatar/nb-avatar.ts","../../../libs/ui/src/lib/media-frame/nb-media-frame.ts","../../../libs/ui/src/lib/stat/nb-stat.ts","../../../libs/ui/src/lib/rating/nb-rating.ts","../../../libs/ui/src/lib/dialog/dialog.types.ts","../../../libs/ui/src/lib/dialog/nb-dialog.ts","../../../libs/ui/src/lib/dialog/nb-dialog-title.ts","../../../libs/ui/src/lib/dialog/nb-dialog-description.ts","../../../libs/ui/src/lib/dialog/nb-dialog-content.ts","../../../libs/ui/src/lib/dialog/nb-dialog-actions.ts","../../../libs/ui/src/lib/dialog/nb-dialog-close.ts","../../../libs/ui/src/lib/status-dot/nb-status-dot.ts","../../../libs/ui/src/lib/chip/nb-chip.ts","../../../libs/ui/src/lib/icon-button/nb-icon-button.ts","../../../libs/ui/src/lib/progress/nb-progress.ts","../../../libs/ui/src/lib/avatar-group/nb-avatar-group.ts","../../../libs/ui/src/lib/sticker/sticker.paths.ts","../../../libs/ui/src/lib/sticker/nb-sticker.ts","../../../libs/ui/src/lib/sticker/nb-sticker-face.ts","../../../libs/ui/src/lib/halftone/nb-halftone.ts","../../../libs/ui/src/lib/surface/nb-surface.ts","../../../libs/ui/src/lib/stack/nb-stack.ts","../../../libs/ui/src/lib/cluster/nb-cluster.ts","../../../libs/ui/src/lib/split/nb-split.ts","../../../libs/ui/src/lib/section/nb-section.ts","../../../libs/ui/src/lib/callout/nb-callout.ts","../../../libs/ui/src/lib/media-item/nb-media-item.ts","../../../libs/ui/src/lib/text/nb-text.ts","../../../libs/ui/src/index.ts","../../../libs/ui/src/ng-brutalism-ui.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * Merges class names with Tailwind conflict resolution.\n * Publicly exported for consumers extending library components.\n *\n * @example\n * nbClass('px-2 px-4') // -> 'px-4'\n * nbClass('flex', condition && 'w-full') // -> 'flex w-full' or 'flex'\n */\nexport function nbClass(...inputs: ClassValue[]): string {\n return twMerge(clsx(...inputs));\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface NbThemeConfig {\n primary?: string;\n secondary?: string;\n accent?: string;\n yellow?: string;\n pink?: string;\n mint?: string;\n lavender?: string;\n blue?: string;\n cream?: string;\n danger?: string;\n success?: string;\n warning?: string;\n radius?: string;\n borderWidth?: string;\n shadowOffsetX?: string;\n shadowOffsetY?: string;\n fontSans?: string;\n fontMono?: string;\n}\n\nexport const NB_THEME_CONFIG = new InjectionToken<NbThemeConfig>(\n 'NB_THEME_CONFIG'\n);\n","import {\n EnvironmentProviders,\n inject,\n makeEnvironmentProviders,\n PLATFORM_ID,\n provideAppInitializer,\n DOCUMENT,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\nimport { NB_THEME_CONFIG, NbThemeConfig } from '../tokens/theme.tokens';\n\nfunction applyThemeVars(doc: Document, config: NbThemeConfig): void {\n const root = doc.documentElement;\n const map: Record<keyof NbThemeConfig, string> = {\n primary: '--nb-primary',\n secondary: '--nb-secondary',\n accent: '--nb-accent',\n yellow: '--nb-yellow',\n pink: '--nb-pink',\n mint: '--nb-mint',\n lavender: '--nb-lavender',\n blue: '--nb-blue',\n cream: '--nb-cream',\n danger: '--nb-danger',\n success: '--nb-success',\n warning: '--nb-warning',\n radius: '--nb-radius',\n borderWidth: '--nb-border-width',\n shadowOffsetX: '--nb-shadow-offset-x',\n shadowOffsetY: '--nb-shadow-offset-y',\n fontSans: '--nb-font-sans',\n fontMono: '--nb-font-mono',\n };\n\n for (const [key, cssVar] of Object.entries(map)) {\n const value = config[key as keyof NbThemeConfig];\n if (value !== undefined) {\n root.style.setProperty(cssVar, value);\n }\n }\n}\n\nexport interface NbConfig {\n theme?: NbThemeConfig;\n}\n\nexport function provideNgBrutalism(\n config: NbConfig = {}\n): EnvironmentProviders {\n return makeEnvironmentProviders([\n {\n provide: NB_THEME_CONFIG,\n useValue: config.theme ?? {},\n },\n provideAppInitializer(() => {\n const initializerFn = (() => {\n const doc = inject(DOCUMENT);\n const platformId = inject(PLATFORM_ID);\n const themeConfig = inject(NB_THEME_CONFIG);\n\n return () => {\n if (isPlatformBrowser(platformId)) {\n applyThemeVars(doc, themeConfig);\n }\n };\n })();\n return initializerFn();\n }),\n ]);\n}\n","export type NbTone =\n | 'default'\n | 'cream'\n | 'white'\n | 'black'\n | 'yellow'\n | 'pink'\n | 'mint'\n | 'lavender'\n | 'blue'\n | 'primary'\n | 'secondary'\n | 'accent'\n | 'success'\n | 'warning'\n | 'danger';\n\nexport interface NbToneTokens {\n bg: string;\n fg: string;\n}\n\nexport const NB_TONE_TOKENS: Record<NbTone, NbToneTokens> = {\n default: {\n bg: 'var(--nb-surface)',\n fg: 'var(--nb-surface-foreground)',\n },\n cream: {\n bg: 'var(--nb-cream)',\n fg: '#000000',\n },\n white: {\n bg: '#ffffff',\n fg: '#000000',\n },\n black: {\n bg: '#000000',\n fg: '#ffffff',\n },\n yellow: {\n bg: 'var(--nb-yellow)',\n fg: '#000000',\n },\n pink: {\n bg: 'var(--nb-pink)',\n fg: '#000000',\n },\n mint: {\n bg: 'var(--nb-mint)',\n fg: '#000000',\n },\n lavender: {\n bg: 'var(--nb-lavender)',\n fg: '#000000',\n },\n blue: {\n bg: 'var(--nb-blue)',\n fg: '#000000',\n },\n primary: {\n bg: 'var(--nb-primary)',\n fg: 'var(--nb-primary-foreground)',\n },\n secondary: {\n bg: 'var(--nb-secondary)',\n fg: 'var(--nb-secondary-foreground)',\n },\n accent: {\n bg: 'var(--nb-accent)',\n fg: 'var(--nb-accent-foreground)',\n },\n success: {\n bg: 'var(--nb-success)',\n fg: 'var(--nb-success-foreground)',\n },\n warning: {\n bg: 'var(--nb-warning)',\n fg: 'var(--nb-warning-foreground)',\n },\n danger: {\n bg: 'var(--nb-danger)',\n fg: 'var(--nb-danger-foreground)',\n },\n};\n\nexport function nbToneTokens(tone: NbTone): NbToneTokens {\n return NB_TONE_TOKENS[tone];\n}\n\n/**\n * Neutral tone aliases accepted by the tone capability in addition to the core\n * {@link NbTone} palette. These map onto existing theme surfaces rather than\n * the playful/semantic palette:\n * - `surface` → the default surface tokens\n * - `background` → the page background/foreground\n * - `ink` → solid black (`black` tone)\n */\nexport type NbToneToken = NbTone | 'surface' | 'background' | 'ink';\n\n/**\n * Component-specific tone variables: background, foreground, and border color.\n * Border color is always the brutalist ink (`--nb-border`) so the border\n * *width* capability and the tone capability never fight over color.\n */\nexport interface NbToneVars {\n bg: string;\n fg: string;\n borderColor: string;\n}\n\nexport function nbToneVars(tone: NbToneToken): NbToneVars {\n const borderColor = 'var(--nb-border)';\n\n if (tone === 'surface') {\n return { ...nbToneTokens('default'), borderColor };\n }\n\n if (tone === 'background') {\n return {\n bg: 'var(--nb-background)',\n fg: 'var(--nb-foreground)',\n borderColor,\n };\n }\n\n if (tone === 'ink') {\n return { ...nbToneTokens('black'), borderColor };\n }\n\n return { ...nbToneTokens(tone), borderColor };\n}\n","/**\n * Shared brutalist radius scale. One geometry per token across all primitives —\n * the single source of truth that internal radius capabilities resolve against.\n *\n * Named input values are deterministic. Theme-driven radius comes from\n * component defaults and scoped public tokens such as `--nb-button-radius`.\n */\nexport type NbRadius = 'none' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\nconst RADIUS_VALUES: Record<NbRadius, string> = {\n none: '0px',\n sm: '0.25rem',\n md: '0.5rem',\n lg: '0.75rem',\n xl: '1rem',\n full: '9999px',\n};\n\nexport function nbRadiusValue(radius: NbRadius): string {\n return RADIUS_VALUES[radius];\n}\n","/**\n * Shared brutalist offset-shadow scale. Values are chunky, hard-edged offset\n * shadows (no blur) tinted with `--nb-shadow`. `default` tracks the themeable\n * `--nb-shadow-offset-x/y`.\n */\nexport type NbShadow = 'none' | 'sm' | 'default' | 'hard' | 'heavy';\n\nconst SHADOW_VALUES: Record<NbShadow, string> = {\n none: 'none',\n sm: '2px 2px 0 0 var(--nb-shadow)',\n default:\n 'var(--nb-shadow-offset-x) var(--nb-shadow-offset-y) 0 0 var(--nb-shadow)',\n hard: '6px 6px 0 0 var(--nb-shadow)',\n heavy: '10px 10px 0 0 var(--nb-shadow)',\n};\n\nexport function nbShadowValue(shadow: NbShadow): string {\n return SHADOW_VALUES[shadow];\n}\n","/**\n * Shared border-strength scale. Resolves to a border *width* only — border\n * *color* is owned by the tone vocabulary (`nbToneVars().borderColor`) so the\n * two never fight. `default` tracks the themeable `--nb-border-width`.\n */\nexport type NbBorderStrength = 'none' | 'thin' | 'default' | 'strong' | 'thick';\n\nconst BORDER_WIDTH_VALUES: Record<NbBorderStrength, string> = {\n none: '0px',\n thin: '1px',\n default: 'var(--nb-border-width)',\n strong: '3px',\n thick: '4px',\n};\n\nexport function nbBorderWidthValue(border: NbBorderStrength): string {\n return BORDER_WIDTH_VALUES[border];\n}\n","/**\n * Shared spacing scale used for layout `gap` across nbStack / nbCluster /\n * nbSplit. One source of truth so a given gap token means the same distance\n * everywhere.\n */\nexport type NbSpacing =\n | 'none'\n | 'xs'\n | 'sm'\n | 'md'\n | 'lg'\n | 'xl'\n | '2xl';\n\nconst SPACING_VALUES: Record<NbSpacing, string> = {\n none: '0px',\n xs: '0.25rem',\n sm: '0.5rem',\n md: '0.75rem',\n lg: '1rem',\n xl: '1.5rem',\n '2xl': '2rem',\n};\n\nexport function nbSpacingValue(spacing: NbSpacing): string {\n return SPACING_VALUES[spacing];\n}\n","/**\n * Shared container-padding scale (uniform). Used by layout/container primitives\n * that own symmetric padding (nbSection / nbCluster / nbSplit). Pill-style\n * primitives (nbChip) and asymmetric surfaces keep their own padding because\n * their spacing is anatomy, not a uniform container token.\n */\nexport type NbPadding = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nconst PADDING_VALUES: Record<NbPadding, string> = {\n none: '0px',\n xs: '0.5rem',\n sm: '0.75rem',\n md: '1rem',\n lg: '1.5rem',\n xl: '2rem',\n};\n\nexport function nbPaddingValue(padding: NbPadding): string {\n return PADDING_VALUES[padding];\n}\n","/**\n * Shared typography vocabulary. One source of truth for the font-weight scale,\n * the font-role contract, underline customization, and the text-tracking scale\n * so a token means the same thing across nbText / nbDisplay / nbTypography /\n * nbChipGroup.\n */\n\n/**\n * Shared underline variant used by both nbText and nbDisplay.\n * `NbTextUnderline` and `NbDisplayUnderline` are public aliases of this type.\n */\nexport type NbUnderlineVariant = 'none' | 'bar' | 'wave';\n\n/**\n * Letter-spacing scale shared by nbText and nbChipGroup.\n * Exported publicly as `NbTextTracking` from the text barrel.\n */\nexport type NbTextTracking = 'tight' | 'normal' | 'wide' | 'wider';\n\n/** Font-weight scale shared by nbText and nbDisplay. */\nexport type NbFontWeight =\n | 'normal'\n | 'medium'\n | 'semibold'\n | 'bold'\n | 'extrabold'\n | 'black';\n\nconst FONT_WEIGHT_VALUES: Record<NbFontWeight, string> = {\n normal: '400',\n medium: '500',\n semibold: '600',\n bold: '700',\n extrabold: '800',\n black: '900',\n};\n\nexport function nbFontWeightValue(weight: NbFontWeight): string {\n return FONT_WEIGHT_VALUES[weight];\n}\n\n/**\n * Font-role contract. The API picks a *role*; the role maps to a CSS token that\n * defines the actual stack, so theming/customization stays in CSS and templates\n * keep type safety. Each role falls back to the sans stack when its token is\n * unset. `inherit` writes nothing so the element keeps its inherited font.\n */\nexport type NbTypographyFont = 'inherit' | 'body' | 'display' | 'accent' | 'mono';\n\nconst FONT_ROLE_VALUES: Record<NbTypographyFont, string | null> = {\n inherit: null,\n body: 'var(--nb-font-body, var(--nb-font-sans))',\n display: 'var(--nb-font-display, var(--nb-font-sans))',\n accent: 'var(--nb-font-accent, var(--nb-font-sans))',\n mono: 'var(--nb-font-mono, monospace)',\n};\n\nexport function nbTypographyFontValue(font: NbTypographyFont): string | null {\n return FONT_ROLE_VALUES[font];\n}\n\n/**\n * Underline customization shared by nbText / nbDisplay `underline=\"bar\"|\"wave\"`.\n * Writes the public `--nb-underline-gap` / `--nb-underline-width` tokens that the\n * underline CSS already reads. `auto` leaves the CSS default in place. Color and\n * thickness remain token-driven (`--nb-underline-color`, `--nb-underline-height`)\n * for the rarer brand-specific cases.\n */\nexport type NbUnderlineGap = 'none' | 'xs' | 'sm' | 'md' | 'lg';\nexport type NbUnderlineWidth = 'auto' | 'xs' | 'sm' | 'md' | 'lg' | 'full';\n\nconst UNDERLINE_GAP_VALUES: Record<NbUnderlineGap, string> = {\n none: '0',\n xs: '0.25rem',\n sm: '0.5rem',\n md: '0.75rem',\n lg: '1.25rem',\n};\n\nconst UNDERLINE_WIDTH_VALUES: Record<NbUnderlineWidth, string | null> = {\n auto: null,\n xs: '2rem',\n sm: '4rem',\n md: '7rem',\n lg: '12rem',\n full: '100%',\n};\n\nexport function nbUnderlineGapValue(gap: NbUnderlineGap): string {\n return UNDERLINE_GAP_VALUES[gap];\n}\n\nexport function nbUnderlineWidthValue(width: NbUnderlineWidth): string | null {\n return UNDERLINE_WIDTH_VALUES[width];\n}\n","import { InjectionToken } from '@angular/core';\n\nimport type { NbBorderStrength } from '../../tokens/border';\nimport type { NbPadding } from '../../tokens/padding';\nimport type { NbRadius } from '../../tokens/radius';\nimport type { NbShadow } from '../../tokens/shadow';\nimport type { NbSpacing } from '../../tokens/spacing';\nimport type { NbToneToken } from '../../tokens/tone';\n\n/**\n * INTERNAL. The CSS-variable namespace a primitive owns, e.g. `'surface'` →\n * capabilities write `--nb-surface-*`. Every primitive that composes a style\n * capability must provide this on its element injector.\n */\nexport const NB_STYLE_NAMESPACE = new InjectionToken<string>(\n 'NB_STYLE_NAMESPACE',\n);\n\n/**\n * INTERNAL. Per-primitive default tokens. A capability resolves its value as:\n * explicit input → this default → the capability's own hard fallback.\n */\nexport interface NbStyleDefaults {\n tone?: NbToneToken;\n radius?: NbRadius;\n shadow?: NbShadow;\n border?: NbBorderStrength;\n padding?: NbPadding;\n gap?: NbSpacing;\n}\n\nexport const NB_STYLE_DEFAULTS = new InjectionToken<NbStyleDefaults>(\n 'NB_STYLE_DEFAULTS',\n { factory: () => ({}) },\n);\n","import { Directive, computed, inject, input } from '@angular/core';\n\nimport { nbToneVars, type NbToneToken } from '../../tokens/tone';\nimport { NB_STYLE_DEFAULTS, NB_STYLE_NAMESPACE } from './nb-style-tokens';\n\n/**\n * INTERNAL capability — not part of the public API. Composed into primitives via\n * `hostDirectives`. Defaults and scoped public tokens flow through low\n * specificity marker CSS; explicit inputs write final inline color properties.\n */\n@Directive({\n selector: '[nbToneCapability]',\n host: {\n class: 'nb-tone',\n '[style.--_nb-tone-bg-default]': 'toneBgDefaultVar()',\n '[style.--_nb-tone-fg-default]': 'toneFgDefaultVar()',\n '[style.--_nb-tone-border-color-default]': 'toneBorderColorDefaultVar()',\n '[style.--_nb-tone-bg-token]': 'toneBgTokenVar()',\n '[style.--_nb-tone-fg-token]': 'toneFgTokenVar()',\n '[style.--_nb-tone-border-color-token]': 'toneBorderColorTokenVar()',\n '[style.background-color]': 'toneInputBgStyle()',\n '[style.color]': 'toneInputFgStyle()',\n '[style.border-color]': 'toneInputBorderColorStyle()',\n '[attr.data-tone]': 'resolved()',\n },\n})\nexport class NbToneCapability {\n private readonly namespace = inject(NB_STYLE_NAMESPACE);\n private readonly defaults = inject(NB_STYLE_DEFAULTS);\n\n readonly tone = input<NbToneToken | undefined>(undefined);\n\n protected readonly resolved = computed(\n () => this.tone() ?? this.defaults.tone ?? 'default',\n );\n\n private readonly defaultVars = computed(() =>\n nbToneVars(this.defaults.tone ?? 'default'),\n );\n private readonly inputVars = computed(() => {\n const tone = this.tone();\n\n return tone ? nbToneVars(tone) : null;\n });\n\n protected readonly toneBgDefaultVar = computed(() => this.defaultVars().bg);\n protected readonly toneFgDefaultVar = computed(() => this.defaultVars().fg);\n protected readonly toneBorderColorDefaultVar = computed(\n () => this.defaultVars().borderColor,\n );\n\n protected readonly toneBgTokenVar = computed(\n () => `var(--nb-${this.namespace}-bg, var(--_nb-tone-bg-default))`,\n );\n protected readonly toneFgTokenVar = computed(\n () => `var(--nb-${this.namespace}-fg, var(--_nb-tone-fg-default))`,\n );\n protected readonly toneBorderColorTokenVar = computed(\n () =>\n `var(--nb-${this.namespace}-border-color, var(--_nb-tone-border-color-default))`,\n );\n\n protected readonly toneInputBgStyle = computed(\n () => this.inputVars()?.bg ?? null,\n );\n protected readonly toneInputFgStyle = computed(\n () => this.inputVars()?.fg ?? null,\n );\n protected readonly toneInputBorderColorStyle = computed(\n () => this.inputVars()?.borderColor ?? null,\n );\n}\n","import { Directive, computed, inject, input } from '@angular/core';\n\nimport { nbRadiusValue, type NbRadius } from '../../tokens/radius';\nimport { NB_STYLE_DEFAULTS, NB_STYLE_NAMESPACE } from './nb-style-tokens';\n\n/**\n * INTERNAL capability — not part of the public API. Defaults and scoped public\n * tokens flow through marker CSS; explicit inputs write the final property.\n */\n@Directive({\n selector: '[nbRadiusCapability]',\n host: {\n class: 'nb-radius',\n '[style.--_nb-radius-default]': 'radiusDefaultVar()',\n '[style.--nb-radius-token]': 'radiusTokenVar()',\n '[style.border-radius]': 'radiusInputStyle()',\n '[attr.data-radius]': 'resolved()',\n },\n})\nexport class NbRadiusCapability {\n private readonly namespace = inject(NB_STYLE_NAMESPACE);\n private readonly defaults = inject(NB_STYLE_DEFAULTS);\n\n readonly radius = input<NbRadius | undefined>(undefined);\n\n private readonly fallback = computed(() => this.defaults.radius ?? 'md');\n protected readonly resolved = computed(() => this.radius() ?? this.fallback());\n\n protected readonly radiusDefaultVar = computed(() => {\n const radius = this.fallback();\n\n return radius === 'md' ? 'var(--nb-radius)' : nbRadiusValue(radius);\n });\n protected readonly radiusTokenVar = computed(\n () => `var(--nb-${this.namespace}-radius, var(--_nb-radius-default))`,\n );\n protected readonly radiusInputStyle = computed(() => {\n const radius = this.radius();\n\n return radius ? nbRadiusValue(radius) : null;\n });\n}\n","import { Directive, computed, inject, input } from '@angular/core';\n\nimport { nbShadowValue, type NbShadow } from '../../tokens/shadow';\nimport { NB_STYLE_DEFAULTS, NB_STYLE_NAMESPACE } from './nb-style-tokens';\n\n/**\n * INTERNAL capability — not part of the public API. Defaults and scoped public\n * tokens flow through marker CSS; explicit inputs write the final property.\n */\n@Directive({\n selector: '[nbShadowCapability]',\n host: {\n class: 'nb-shadow',\n '[style.--_nb-shadow-default]': 'shadowDefaultVar()',\n '[style.--nb-shadow-token]': 'shadowTokenVar()',\n '[style.box-shadow]': 'shadowInputStyle()',\n '[attr.data-shadow]': 'resolved()',\n },\n})\nexport class NbShadowCapability {\n private readonly namespace = inject(NB_STYLE_NAMESPACE);\n private readonly defaults = inject(NB_STYLE_DEFAULTS);\n\n readonly shadow = input<NbShadow | undefined>(undefined);\n\n private readonly fallback = computed(() => this.defaults.shadow ?? 'default');\n protected readonly resolved = computed(() => this.shadow() ?? this.fallback());\n\n protected readonly shadowDefaultVar = computed(() =>\n nbShadowValue(this.fallback()),\n );\n protected readonly shadowTokenVar = computed(\n () => `var(--nb-${this.namespace}-shadow, var(--_nb-shadow-default))`,\n );\n protected readonly shadowInputStyle = computed(() => {\n const shadow = this.shadow();\n\n return shadow ? nbShadowValue(shadow) : null;\n });\n}\n","import { Directive, computed, inject, input } from '@angular/core';\n\nimport { nbBorderWidthValue, type NbBorderStrength } from '../../tokens/border';\nimport { NB_STYLE_DEFAULTS, NB_STYLE_NAMESPACE } from './nb-style-tokens';\n\n/**\n * INTERNAL capability — not part of the public API. Defaults and scoped public\n * tokens flow through marker CSS; explicit inputs write the final property.\n * Border color is owned by the tone capability.\n */\n@Directive({\n selector: '[nbBorderCapability]',\n host: {\n class: 'nb-border-width',\n '[style.--_nb-border-width-default]': 'borderWidthDefaultVar()',\n '[style.--nb-border-width-token]': 'borderWidthTokenVar()',\n '[style.border-width]': 'borderWidthInputStyle()',\n '[attr.data-border]': 'resolved()',\n },\n})\nexport class NbBorderCapability {\n private readonly namespace = inject(NB_STYLE_NAMESPACE);\n private readonly defaults = inject(NB_STYLE_DEFAULTS);\n\n readonly border = input<NbBorderStrength | undefined>(undefined);\n\n private readonly fallback = computed(() => this.defaults.border ?? 'default');\n protected readonly resolved = computed(() => this.border() ?? this.fallback());\n\n protected readonly borderWidthDefaultVar = computed(() =>\n nbBorderWidthValue(this.fallback()),\n );\n protected readonly borderWidthTokenVar = computed(\n () =>\n `var(--nb-${this.namespace}-border-width, var(--_nb-border-width-default))`,\n );\n protected readonly borderWidthInputStyle = computed(() => {\n const border = this.border();\n\n return border ? nbBorderWidthValue(border) : null;\n });\n}\n","import { Directive, computed, inject, input } from '@angular/core';\n\nimport { nbPaddingValue, type NbPadding } from '../../tokens/padding';\nimport { NB_STYLE_DEFAULTS, NB_STYLE_NAMESPACE } from './nb-style-tokens';\n\n/**\n * INTERNAL capability — not part of the public API. Defaults and scoped public\n * tokens flow through marker CSS; explicit inputs write the final property.\n */\n@Directive({\n selector: '[nbPaddingCapability]',\n host: {\n class: 'nb-padding',\n '[style.--_nb-padding-default]': 'paddingDefaultVar()',\n '[style.--nb-padding-token]': 'paddingTokenVar()',\n '[style.padding]': 'paddingInputStyle()',\n '[attr.data-padding]': 'resolved()',\n },\n})\nexport class NbPaddingCapability {\n private readonly namespace = inject(NB_STYLE_NAMESPACE);\n private readonly defaults = inject(NB_STYLE_DEFAULTS);\n\n readonly padding = input<NbPadding | undefined>(undefined);\n\n private readonly fallback = computed(() => this.defaults.padding ?? 'md');\n protected readonly resolved = computed(() => this.padding() ?? this.fallback());\n\n protected readonly paddingDefaultVar = computed(() =>\n nbPaddingValue(this.fallback()),\n );\n protected readonly paddingTokenVar = computed(\n () => `var(--nb-${this.namespace}-padding, var(--_nb-padding-default))`,\n );\n protected readonly paddingInputStyle = computed(() => {\n const padding = this.padding();\n\n return padding ? nbPaddingValue(padding) : null;\n });\n}\n","import { Directive, computed, inject, input } from '@angular/core';\n\nimport { nbSpacingValue, type NbSpacing } from '../../tokens/spacing';\nimport { NB_STYLE_DEFAULTS, NB_STYLE_NAMESPACE } from './nb-style-tokens';\n\n/**\n * INTERNAL capability — not part of the public API. Defaults and scoped public\n * tokens flow through marker CSS; explicit inputs write the final property.\n */\n@Directive({\n selector: '[nbGapCapability]',\n host: {\n class: 'nb-gap',\n '[style.--_nb-gap-input]': 'gapInputVar()',\n '[style.--_nb-gap-default]': 'gapDefaultVar()',\n '[style.--_nb-gap-resolved]': 'gapResolvedVar()',\n '[style.gap]': 'gapInputStyle()',\n '[attr.data-gap]': 'resolved()',\n },\n})\nexport class NbGapCapability {\n private readonly namespace = inject(NB_STYLE_NAMESPACE);\n private readonly defaults = inject(NB_STYLE_DEFAULTS);\n\n readonly gap = input<NbSpacing | undefined>(undefined);\n\n private readonly fallback = computed(() => this.defaults.gap ?? 'md');\n protected readonly resolved = computed(() => this.gap() ?? this.fallback());\n\n protected readonly gapDefaultVar = computed(() =>\n nbSpacingValue(this.fallback()),\n );\n protected readonly gapInputVar = computed(() => {\n const gap = this.gap();\n\n return gap ? nbSpacingValue(gap) : null;\n });\n protected readonly gapResolvedVar = computed(\n () =>\n `var(--_nb-gap-input, var(--nb-${this.namespace}-gap, var(--_nb-gap-default)))`,\n );\n protected readonly gapInputStyle = computed(() => {\n const gap = this.gap();\n\n return gap ? nbSpacingValue(gap) : null;\n });\n}\n","import {\n computed,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n} from '@angular/core';\n\nimport {\n nbUnderlineGapValue,\n nbUnderlineWidthValue,\n type NbUnderlineGap,\n type NbUnderlineVariant,\n type NbUnderlineWidth,\n} from '../../tokens/typography';\n\n/**\n * INTERNAL capability — not part of the public API. Handles the three underline\n * inputs shared by nbText and nbDisplay: the variant (none/bar/wave), the gap\n * between text baseline and the decoration, and the decoration width.\n *\n * Writes `data-underline`, `--nb-underline-gap`, and `--nb-underline-width`\n * onto the host when the Angular inputs are present so the underline CSS in the\n * theme can read them without each text primitive re-implementing the same\n * computed chain.\n */\n@Directive({\n selector: '[nbUnderlineCapability]',\n host: {\n '[attr.data-underline]': 'underlineAttr()',\n },\n})\nexport class NbUnderlineCapability {\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly writtenCustomProperties = new Set<string>();\n\n readonly underline = input<NbUnderlineVariant>('none');\n readonly underlineGap = input<NbUnderlineGap | undefined>(undefined);\n readonly underlineWidth = input<NbUnderlineWidth | undefined>(undefined);\n\n constructor() {\n effect(() => {\n this.syncCustomProperty(\n '--nb-underline-gap',\n this.underlineGapValue(),\n );\n });\n effect(() => {\n this.syncCustomProperty(\n '--nb-underline-width',\n this.underlineWidthValue(),\n );\n });\n }\n\n protected readonly underlineAttr = computed(() => {\n const u = this.underline();\n return u === 'none' ? null : u;\n });\n\n protected readonly underlineGapValue = computed(() => {\n const gap = this.underlineGap();\n return gap ? nbUnderlineGapValue(gap) : null;\n });\n\n protected readonly underlineWidthValue = computed(() => {\n const width = this.underlineWidth();\n return width ? nbUnderlineWidthValue(width) : null;\n });\n\n private syncCustomProperty(name: string, value: string | null): void {\n const style = this.element.nativeElement.style;\n\n if (value !== null) {\n style.setProperty(name, value);\n this.writtenCustomProperties.add(name);\n return;\n }\n\n if (this.writtenCustomProperties.has(name)) {\n style.removeProperty(name);\n this.writtenCustomProperties.delete(name);\n }\n }\n}\n","import { booleanAttribute, Directive, input } from '@angular/core';\n\n/**\n * INTERNAL capability — not part of the public API. Marks the host for a\n * low-specificity stylesheet margin reset when `reset` is true (the default),\n * so browser-default margins on `<p>`, `<h1>`–`<h6>`, and other typographic\n * elements don't interfere with layout-primitive spacing (nbStack, nbCluster,\n * etc.).\n *\n * Shared by nbText and nbDisplay so neither primitive re-implements the same\n * one-line computed.\n */\n@Directive({\n selector: '[nbResetMarginCapability]',\n host: {\n '[attr.data-nb-reset-margin]': 'reset() ? \"\" : null',\n },\n})\nexport class NbResetMarginCapability {\n readonly reset = input<boolean, unknown>(true, { transform: booleanAttribute });\n}\n","// INTERNAL barrel. Consumed by library primitives only — NOT re-exported from\n// the package entry point (`libs/ui/src/index.ts`). Capability directives are an\n// internal composition mechanism; users compose the public primitives instead.\nexport {\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from './nb-style-tokens';\nexport { NbToneCapability } from './nb-tone-capability';\nexport { NbRadiusCapability } from './nb-radius-capability';\nexport { NbShadowCapability } from './nb-shadow-capability';\nexport { NbBorderCapability } from './nb-border-capability';\nexport { NbPaddingCapability } from './nb-padding-capability';\nexport { NbGapCapability } from './nb-gap-capability';\nexport { NbUnderlineCapability } from './nb-underline-capability';\nexport { NbResetMarginCapability } from './nb-reset-margin-capability';\n","import { Directive, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport type { NbCheckboxSize } from './checkbox.types';\n\n@Directive({\n selector: 'input[nbCheckbox]',\n host: {\n '[class]': 'classes()',\n '[attr.data-size]': 'size()',\n },\n})\nexport class NbCheckbox {\n readonly size = input<NbCheckboxSize>('md');\n\n protected readonly classes = computed(() =>\n nbClass(\n '[--nb-checkbox-bg:var(--nb-main)]',\n '[--nb-checkbox-fg:#fff]',\n '[--nb-checkbox-border:var(--nb-border)]',\n '[--nb-checkbox-radius:0]',\n 'peer grid shrink-0 cursor-pointer appearance-none place-content-center',\n 'rounded-(--nb-checkbox-radius) outline-2 outline-(--nb-checkbox-border) ring-offset-white',\n 'checked:bg-(--nb-checkbox-bg) checked:text-(--nb-checkbox-fg)',\n 'focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-(--nb-checkbox-border) focus-visible:ring-offset-2',\n 'disabled:opacity-50 disabled:cursor-not-allowed',\n this.sizeClass()\n )\n );\n\n private sizeClass(): string {\n const map: Record<NbCheckboxSize, string> = {\n md: 'size-4',\n sm: 'size-3.5',\n lg: 'size-5',\n };\n return map[this.size()];\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport type NbAccordionType = 'single' | 'multiple';\n\nexport type NbAccordionValue = string | string[] | null;\n\nexport interface NbAccordionController {\n isItemOpen(value: string): boolean;\n toggleItem(value: string): void;\n}\n\nexport const NB_ACCORDION = new InjectionToken<NbAccordionController>(\n 'NB_ACCORDION'\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n booleanAttribute,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport {\n NbBorderCapability,\n NbRadiusCapability,\n NbShadowCapability,\n NbToneCapability,\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from '../core/capabilities';\nimport { NB_ACCORDION } from './accordion.types';\n\nlet nextAccordionItemId = 0;\n\n@Component({\n selector: 'nb-accordion-item',\n template: `\n <div [class]=\"classes()\">\n <ng-content />\n </div>\n `,\n providers: [\n { provide: NB_STYLE_NAMESPACE, useValue: 'accordion-item' },\n {\n provide: NB_STYLE_DEFAULTS,\n useValue: {\n tone: 'surface',\n radius: 'md',\n shadow: 'default',\n border: 'default',\n } satisfies NbStyleDefaults,\n },\n ],\n hostDirectives: [\n { directive: NbToneCapability, inputs: ['tone'] },\n { directive: NbRadiusCapability, inputs: ['radius'] },\n { directive: NbShadowCapability, inputs: ['shadow'] },\n { directive: NbBorderCapability, inputs: ['border'] },\n ],\n host: {\n class: 'block',\n '[attr.data-state]': 'open() ? \"open\" : \"closed\"',\n '[attr.data-disabled]': 'disabled() ? \"\" : null',\n '[attr.data-orientation]': '\"vertical\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbAccordionItem {\n private readonly id = nextAccordionItemId++;\n\n readonly value = input<string>(`neo-accordion-item-${this.id}`);\n readonly disabled = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n\n private readonly accordion = inject(NB_ACCORDION);\n\n readonly triggerId = `neo-accordion-trigger-${this.id}`;\n readonly contentId = `neo-accordion-content-${this.id}`;\n\n readonly open = computed(() => this.accordion.isItemOpen(this.value()));\n\n protected readonly classes = computed(() =>\n nbClass(\n 'overflow-hidden rounded-[var(--nb-radius-token,var(--_nb-radius-default))]',\n 'border-[length:var(--nb-border-width-token,var(--_nb-border-width-default))]',\n 'nb-tone',\n 'shadow-[var(--nb-shadow-token,var(--_nb-shadow-default))]',\n this.disabled() && 'opacity-50'\n )\n );\n\n toggle(): void {\n if (!this.disabled()) {\n this.accordion.toggleItem(this.value());\n }\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n contentChildren,\n input,\n model,\n} from '@angular/core';\n\nimport { NbAccordionItem } from './nb-accordion-item';\nimport {\n NB_ACCORDION,\n type NbAccordionController,\n type NbAccordionType,\n type NbAccordionValue,\n} from './accordion.types';\n\n@Component({\n selector: 'nb-accordion',\n template: `\n <div class=\"flex w-full flex-col gap-3\">\n <ng-content />\n </div>\n `,\n host: {\n class: 'block w-full',\n '[attr.data-orientation]': '\"vertical\"',\n '[attr.data-type]': 'type()',\n },\n providers: [{ provide: NB_ACCORDION, useExisting: NbAccordion }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbAccordion implements NbAccordionController {\n readonly type = input<NbAccordionType>('single');\n readonly collapsible = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n readonly value = model<NbAccordionValue>(null);\n\n readonly items = contentChildren(NbAccordionItem);\n\n isItemOpen(value: string): boolean {\n const currentValue = this.value();\n\n return Array.isArray(currentValue)\n ? currentValue.includes(value)\n : currentValue === value;\n }\n\n toggleItem(value: string): void {\n if (this.type() === 'multiple') {\n this.toggleMultipleItem(value);\n return;\n }\n\n if (this.isItemOpen(value)) {\n if (this.collapsible()) {\n this.value.set(null);\n }\n\n return;\n }\n\n this.value.set(value);\n }\n\n private toggleMultipleItem(value: string): void {\n const currentValue = this.value();\n const values = Array.isArray(currentValue)\n ? currentValue\n : currentValue\n ? [currentValue]\n : [];\n\n this.value.set(\n values.includes(value)\n ? values.filter((itemValue) => itemValue !== value)\n : [...values, value]\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NbAccordionItem } from './nb-accordion-item';\n\n@Component({\n selector: 'nb-accordion-content',\n template: `\n <div\n [id]=\"item.contentId\"\n [class]=\"classes()\"\n role=\"region\"\n [attr.aria-labelledby]=\"item.triggerId\"\n [attr.data-slot]=\"'accordion-content'\"\n [attr.data-state]=\"item.open() ? 'open' : 'closed'\"\n [attr.data-orientation]=\"'vertical'\"\n [attr.aria-hidden]=\"!item.open()\"\n >\n <div class=\"min-h-0 overflow-hidden\">\n <div class=\"p-4\">\n <ng-content />\n </div>\n </div>\n </div>\n `,\n host: {\n class: 'block',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbAccordionContent {\n protected readonly item = inject(NbAccordionItem);\n\n protected readonly classes = computed(() =>\n nbClass(\n '[--nb-accordion-content-bg:var(--nb-surface)]',\n '[--nb-accordion-content-fg:var(--nb-surface-foreground)]',\n 'grid overflow-hidden bg-(--nb-accordion-content-bg) text-sm font-medium',\n 'text-(--nb-accordion-content-fg)',\n 'transition-[grid-template-rows] duration-200 ease-out',\n this.item.open() ? 'grid-rows-[1fr]' : 'grid-rows-[0fr]'\n )\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NbAccordionItem } from './nb-accordion-item';\n\n@Component({\n selector: 'nb-accordion-trigger',\n template: `\n <h3 class=\"flex\">\n <button\n type=\"button\"\n [id]=\"item.triggerId\"\n [attr.aria-expanded]=\"item.open()\"\n [attr.aria-controls]=\"item.contentId\"\n [attr.data-state]=\"item.open() ? 'open' : 'closed'\"\n [disabled]=\"item.disabled()\"\n [class]=\"triggerClasses()\"\n (click)=\"item.toggle()\"\n >\n <ng-content />\n <svg\n class=\"size-6 shrink-0 fill-none stroke-current stroke-[3] stroke-linecap-round stroke-linejoin-round\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path [attr.d]=\"item.open() ? 'm18 15-6-6-6 6' : 'm6 9 6 6 6-6'\" />\n </svg>\n </button>\n </h3>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbAccordionTrigger {\n protected readonly item = inject(NbAccordionItem);\n\n protected readonly triggerClasses = computed(() =>\n nbClass(\n '[--nb-accordion-trigger-bg:var(--nb-main)]',\n '[--nb-accordion-trigger-fg:var(--nb-main-foreground)]',\n 'flex min-h-14 flex-1 items-center justify-between gap-4',\n 'w-full bg-(--nb-accordion-trigger-bg) p-4 text-left text-base font-bold',\n 'text-(--nb-accordion-trigger-fg) transition-all duration-200',\n 'focus-visible:outline-none focus-visible:ring-2',\n 'focus-visible:ring-[var(--_nb-tone-border-color-token,var(--_nb-tone-border-color-default))] focus-visible:ring-offset-2',\n 'disabled:pointer-events-none disabled:opacity-50',\n this.item.open() &&\n 'border-b-[length:var(--nb-border-width-token,var(--_nb-border-width-default))] border-b-[var(--_nb-tone-border-color-token,var(--_nb-tone-border-color-default))]'\n )\n );\n}\n","import { Directive, booleanAttribute, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport {\n NbBorderCapability,\n NbRadiusCapability,\n NbShadowCapability,\n NbToneCapability,\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from '../core/capabilities';\nimport type { NbButtonPress, NbButtonSize } from './button.types';\n\nconst sizeMap: Record<NbButtonSize, string> = {\n sm: 'h-9 px-3 text-sm gap-1.5',\n md: 'h-11 px-4 text-base gap-2',\n lg: 'h-[3.25rem] px-5 text-lg gap-2.5',\n xl: 'h-14 px-4 text-xl gap-3',\n};\n\n@Directive({\n selector: 'button[nbButton], a[nbButton]',\n providers: [\n { provide: NB_STYLE_NAMESPACE, useValue: 'button' },\n {\n provide: NB_STYLE_DEFAULTS,\n useValue: {\n tone: 'primary',\n radius: 'md',\n shadow: 'default',\n border: 'default',\n } satisfies NbStyleDefaults,\n },\n ],\n hostDirectives: [\n { directive: NbToneCapability, inputs: ['tone'] },\n { directive: NbRadiusCapability, inputs: ['radius'] },\n { directive: NbShadowCapability, inputs: ['shadow'] },\n { directive: NbBorderCapability, inputs: ['border'] },\n ],\n host: {\n '[class]': 'classes()',\n '[attr.data-press]': 'press()',\n '[attr.data-size]': 'size()',\n '[attr.data-full-width]': 'fullWidth() ? \"\" : null',\n },\n})\nexport class NbButton {\n readonly press = input<NbButtonPress>('push');\n readonly size = input<NbButtonSize>('md');\n readonly fullWidth = input<boolean, unknown>(false, { transform: booleanAttribute });\n\n protected readonly classes = computed(() =>\n nbClass(\n 'inline-flex items-center justify-center whitespace-nowrap select-none font-bold',\n 'transition-all duration-150 ease-out',\n '[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-(--nb-border) focus-visible:ring-offset-2',\n 'disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none',\n 'aria-disabled:opacity-50 aria-disabled:cursor-not-allowed aria-disabled:pointer-events-none',\n this.shadowClass(),\n this.sizeClass(),\n this.fullWidth() && 'w-full'\n )\n );\n\n private shadowClass(): string {\n const map: Record<NbButtonPress, string> = {\n push:\n 'hover:translate-x-(--nb-shadow-offset-x) hover:translate-y-(--nb-shadow-offset-y) hover:shadow-none',\n reverse:\n 'hover:-translate-x-(--nb-reverse-shadow-offset-x) hover:-translate-y-(--nb-reverse-shadow-offset-y)',\n none: '',\n };\n return map[this.press()];\n }\n\n private sizeClass(): string {\n return sizeMap[this.size()];\n }\n}\n","import {\n booleanAttribute,\n computed,\n Directive,\n effect,\n input,\n isDevMode,\n} from '@angular/core';\n\nexport type NbIconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nexport type NbIconTone =\n | 'current'\n | 'default'\n | 'muted'\n | 'inverse'\n | 'primary'\n | 'secondary'\n | 'accent'\n | 'danger'\n | 'success'\n | 'warning';\n\nexport type NbIconMode = 'mask' | 'image';\n\nconst sizeMap: Record<NbIconSize, string> = {\n xs: '0.75rem',\n sm: '1rem',\n md: '1.25rem',\n lg: '1.5rem',\n xl: '2rem',\n};\n\nconst toneMap: Record<NbIconTone, string> = {\n current: 'currentColor',\n default: 'var(--nb-foreground)',\n muted: 'color-mix(in srgb, var(--nb-foreground) 75%, transparent)',\n inverse: 'var(--nb-background)',\n primary: 'var(--nb-primary)',\n secondary: 'var(--nb-secondary)',\n accent: 'var(--nb-accent)',\n danger: 'var(--nb-danger)',\n success: 'var(--nb-success)',\n warning: 'var(--nb-warning)',\n};\n\n@Directive({\n selector: '[nbIcon]',\n standalone: true,\n exportAs: 'nbIcon',\n host: {\n '[attr.data-nb-icon]': '\"\"',\n '[attr.data-size]': 'size()',\n '[attr.data-tone]': 'tone()',\n '[attr.data-mode]': 'mode()',\n\n '[attr.role]': 'roleValue()',\n '[attr.aria-hidden]': 'ariaHiddenValue()',\n '[attr.aria-label]': 'ariaLabelValue()',\n\n '[style.--nb-icon-color]': 'toneValue()',\n\n '[style.display]': '\"inline-block\"',\n '[style.width]': 'sizeValue()',\n '[style.height]': 'sizeValue()',\n '[style.flex-shrink]': '\"0\"',\n '[style.vertical-align]': '\"middle\"',\n '[style.color]': 'toneValue()',\n\n '[style.background-color]': 'backgroundColorValue()',\n '[style.background-image]': 'backgroundImageValue()',\n '[style.background-size]': 'backgroundSizeValue()',\n '[style.background-position]': 'backgroundPositionValue()',\n '[style.background-repeat]': 'backgroundRepeatValue()',\n\n '[style.mask-image]': 'maskImageValue()',\n '[style.-webkit-mask-image]': 'maskImageValue()',\n '[style.mask-size]': 'maskSizeValue()',\n '[style.-webkit-mask-size]': 'maskSizeValue()',\n '[style.mask-position]': 'maskPositionValue()',\n '[style.-webkit-mask-position]': 'maskPositionValue()',\n '[style.mask-repeat]': 'maskRepeatValue()',\n '[style.-webkit-mask-repeat]': 'maskRepeatValue()',\n },\n})\nexport class NbIcon {\n readonly src = input.required<string>();\n readonly mode = input<NbIconMode>('mask');\n readonly size = input<NbIconSize>('md');\n readonly tone = input<NbIconTone>('current');\n readonly decorative = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n readonly label = input<string | null>(null);\n\n private hasWarnedAboutMissingA11y = false;\n\n protected readonly sizeValue = computed(() => sizeMap[this.size()]);\n protected readonly toneValue = computed(() => toneMap[this.tone()]);\n\n protected readonly srcValue = computed(() => `url(\"${this.src()}\")`);\n\n protected readonly isMaskMode = computed(() => this.mode() === 'mask');\n protected readonly isImageMode = computed(() => this.mode() === 'image');\n\n protected readonly roleValue = computed(() =>\n !this.decorative() && this.label() ? 'img' : null\n );\n\n protected readonly ariaHiddenValue = computed(() =>\n this.decorative() ? 'true' : null\n );\n\n protected readonly ariaLabelValue = computed(() =>\n this.decorative() ? null : this.label()\n );\n\n protected readonly backgroundColorValue = computed(() =>\n this.isMaskMode() ? 'var(--nb-icon-color, currentColor)' : null\n );\n\n protected readonly backgroundImageValue = computed(() =>\n this.isImageMode() ? this.srcValue() : null\n );\n\n protected readonly backgroundSizeValue = computed(() =>\n this.isImageMode() ? 'contain' : null\n );\n\n protected readonly backgroundPositionValue = computed(() =>\n this.isImageMode() ? 'center' : null\n );\n\n protected readonly backgroundRepeatValue = computed(() =>\n this.isImageMode() ? 'no-repeat' : null\n );\n\n protected readonly maskImageValue = computed(() =>\n this.isMaskMode() ? this.srcValue() : null\n );\n\n protected readonly maskSizeValue = computed(() =>\n this.isMaskMode() ? 'contain' : null\n );\n\n protected readonly maskPositionValue = computed(() =>\n this.isMaskMode() ? 'center' : null\n );\n\n protected readonly maskRepeatValue = computed(() =>\n this.isMaskMode() ? 'no-repeat' : null\n );\n\n constructor() {\n if (isDevMode()) {\n effect(() => {\n if (\n !this.hasWarnedAboutMissingA11y &&\n !this.decorative() &&\n !this.label()\n ) {\n console.warn(\n '[ng-brutalism] nbIcon should be marked decorative or given a label.'\n );\n this.hasWarnedAboutMissingA11y = true;\n }\n });\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NbIcon, type NbIconSize } from '../icon';\nimport type {\n NbButtonIconPush,\n NbButtonIconShape,\n NbButtonIconSize,\n NbButtonIconTone,\n} from './button.types';\n\nconst iconSizeMap: Record<NbButtonIconSize, string> = {\n sm: '1.5rem',\n md: '2rem',\n lg: '2.5rem',\n};\n\n// Glyph size for the internal `nbIcon`, sized to sit comfortably inside the\n// badge box defined by `size` above (roughly half the box).\nconst iconGlyphMap: Record<NbButtonIconSize, NbIconSize> = {\n sm: 'xs',\n md: 'sm',\n lg: 'md',\n};\n\nconst iconRadiusMap: Record<NbButtonIconShape, string> = {\n none: '0',\n square: 'var(--nb-radius-sm, 0.25rem)',\n circle: '999px',\n};\n\nconst iconToneMap: Record<NbButtonIconTone, { bg: string; color: string }> = {\n default: { bg: 'transparent', color: 'currentColor' },\n inverse: { bg: 'var(--nb-foreground)', color: 'var(--nb-background)' },\n current: { bg: 'currentColor', color: 'var(--nb-background)' },\n};\n\n@Component({\n selector: '[nbButtonTrailingIcon]',\n imports: [NbIcon],\n template: `\n @if (icon(); as iconSrc) {\n <span nbIcon [src]=\"iconSrc\" [size]=\"iconSize()\" decorative></span>\n }\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n '[attr.data-nb-button-trailing-icon]': '\"\"',\n '[style.width]': 'sizeVal()',\n '[style.height]': 'sizeVal()',\n '[style.borderRadius]': 'radiusVal()',\n '[style.background]': 'bgVal()',\n '[style.color]': 'colorVal()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbButtonTrailingIcon {\n readonly size = input<NbButtonIconSize | undefined>(undefined);\n readonly shape = input<NbButtonIconShape | undefined>(undefined);\n readonly tone = input<NbButtonIconTone | undefined>(undefined);\n readonly push = input<NbButtonIconPush>('none');\n // Optional icon, given as an SVG/image URL. Rendered through nbIcon in mask\n // mode so it tints to the badge's foreground color. Omit to project your own\n // icon as content instead.\n readonly icon = input<string>();\n\n protected readonly sizeVal = computed(() => {\n const s = this.size();\n return s !== undefined ? iconSizeMap[s] : null;\n });\n\n protected readonly iconSize = computed<NbIconSize>(() => {\n const s = this.size();\n return s !== undefined ? iconGlyphMap[s] : 'sm';\n });\n\n protected readonly radiusVal = computed(() => {\n const s = this.shape();\n return s !== undefined ? iconRadiusMap[s] : null;\n });\n\n protected readonly bgVal = computed(() => {\n const t = this.tone();\n return t !== undefined ? iconToneMap[t].bg : null;\n });\n\n protected readonly colorVal = computed(() => {\n const t = this.tone();\n return t !== undefined ? iconToneMap[t].color : null;\n });\n\n protected readonly classes = computed(() =>\n nbClass(\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n this.push() === 'end' && 'ml-auto',\n this.size() !== undefined && 'inline-flex items-center justify-center shrink-0'\n )\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport {\n NbBorderCapability,\n NbRadiusCapability,\n NbShadowCapability,\n NbToneCapability,\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from '../core/capabilities';\nimport type { NbBorderStrength } from '../tokens/border';\nimport type { NbRadius } from '../tokens/radius';\nimport type { NbShadow } from '../tokens/shadow';\nimport type { NbToneToken } from '../tokens/tone';\n\nexport type NbCardActionsAlign = 'start' | 'end';\nexport type NbCardTone = NbToneToken;\nexport type NbCardRadius = NbRadius;\nexport type NbCardShadow = NbShadow;\nexport type NbCardBorder = NbBorderStrength;\n\n@Component({\n selector: 'nb-card',\n template: `<ng-content />`,\n providers: [\n { provide: NB_STYLE_NAMESPACE, useValue: 'card' },\n {\n provide: NB_STYLE_DEFAULTS,\n useValue: {\n tone: 'background',\n radius: 'lg',\n shadow: 'default',\n border: 'default',\n } satisfies NbStyleDefaults,\n },\n ],\n hostDirectives: [\n { directive: NbToneCapability, inputs: ['tone'] },\n { directive: NbRadiusCapability, inputs: ['radius'] },\n { directive: NbShadowCapability, inputs: ['shadow'] },\n { directive: NbBorderCapability, inputs: ['border'] },\n ],\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"card\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbCard {\n protected readonly classes = nbClass(\n 'flex flex-col gap-6 py-6',\n 'font-medium'\n );\n}\n\n@Component({\n selector: 'nb-card-header',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"card-header\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbCardHeader {\n protected readonly classes = nbClass(\n 'grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6',\n '[.border-b]:pb-6'\n );\n}\n\n@Component({\n selector: 'nb-card-title',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"card-title\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbCardTitle {\n protected readonly classes = nbClass('font-bold leading-none');\n}\n\n@Component({\n selector: 'nb-card-description',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"card-description\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbCardDescription {\n protected readonly classes = nbClass('text-sm font-medium');\n}\n\n@Component({\n selector: 'nb-card-actions',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes()',\n '[attr.data-slot]': '\"card-actions\"',\n '[attr.data-align]': 'align()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbCardActions {\n readonly align = input<NbCardActionsAlign>('start');\n\n protected readonly classes = computed(() =>\n nbClass(\n 'flex flex-wrap items-center gap-3 px-6',\n '[[data-slot=card-footer]_&]:px-0',\n this.align() === 'end' ? 'justify-end' : 'justify-start'\n )\n );\n}\n\n@Component({\n selector: 'nb-card-content',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"card-content\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbCardContent {\n protected readonly classes = nbClass('px-6');\n}\n\n@Component({\n selector: 'nb-card-footer',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"card-footer\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbCardFooter {\n protected readonly classes = nbClass(\n 'flex items-center px-6',\n 'has-[[data-slot=card-actions]]:flex-wrap',\n 'has-[[data-slot=card-actions]]:justify-between',\n 'has-[[data-slot=card-actions]]:gap-4',\n '[.border-t]:pt-6'\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n input,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport {\n NbBorderCapability,\n NbRadiusCapability,\n NbShadowCapability,\n NbToneCapability,\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from '../core/capabilities';\nimport type { NbBorderStrength } from '../tokens/border';\nimport type { NbRadius } from '../tokens/radius';\nimport type { NbShadow } from '../tokens/shadow';\nimport type { NbToneToken } from '../tokens/tone';\n\nexport type NbImageCardTone = NbToneToken;\nexport type NbImageCardRadius = NbRadius;\nexport type NbImageCardShadow = NbShadow;\nexport type NbImageCardBorder = NbBorderStrength;\n\n@Component({\n selector: 'nb-image-card',\n template: `\n <img\n [src]=\"image()\"\n [alt]=\"alt()\"\n [class]=\"imageClasses\"\n loading=\"lazy\"\n decoding=\"async\"\n />\n <ng-content select=\"nb-image-card-caption\" />\n `,\n providers: [\n { provide: NB_STYLE_NAMESPACE, useValue: 'image-card' },\n {\n provide: NB_STYLE_DEFAULTS,\n useValue: {\n tone: 'background',\n radius: 'md',\n shadow: 'default',\n border: 'default',\n } satisfies NbStyleDefaults,\n },\n ],\n hostDirectives: [\n { directive: NbToneCapability, inputs: ['tone'] },\n { directive: NbRadiusCapability, inputs: ['radius'] },\n { directive: NbShadowCapability, inputs: ['shadow'] },\n { directive: NbBorderCapability, inputs: ['border'] },\n ],\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"image-card\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbImageCard {\n readonly image = input.required<string>();\n readonly alt = input.required<string>();\n\n protected readonly classes = nbClass(\n 'flex flex-col overflow-hidden',\n 'font-medium'\n );\n\n protected readonly imageClasses = nbClass('block w-full h-auto');\n}\n\n@Component({\n selector: 'nb-image-card-caption',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"image-card-caption\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbImageCardCaption {\n protected readonly classes = nbClass(\n 'border-t-[length:var(--nb-border-width-token,var(--_nb-border-width-default))] border-t-[var(--_nb-tone-border-color-token,var(--_nb-tone-border-color-default))]',\n 'px-6 py-4 text-center font-bold text-base'\n );\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n PLATFORM_ID,\n afterNextRender,\n booleanAttribute,\n computed,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\n\n@Component({\n selector: 'nb-marquee',\n host: {\n class: 'block',\n },\n template: `\n <div #wrapper [class]=\"wrapperClass()\" [style]=\"wrapperStyle()\">\n <div #strip1 [class]=\"strip1Class()\">\n <ng-content />\n </div>\n <div #strip2 [class]=\"strip2Class()\" aria-hidden=\"true\"></div>\n </div>\n `,\n styles: [\n `\n @keyframes nb-marquee-1 {\n from {\n transform: translateX(0%);\n }\n to {\n transform: translateX(-100%);\n }\n }\n @keyframes nb-marquee-2 {\n from {\n transform: translateX(100%);\n }\n to {\n transform: translateX(0%);\n }\n }\n @keyframes nb-marquee-reverse-1 {\n from {\n transform: translateX(0%);\n }\n to {\n transform: translateX(100%);\n }\n }\n @keyframes nb-marquee-reverse-2 {\n from {\n transform: translateX(-100%);\n }\n to {\n transform: translateX(0%);\n }\n }\n\n .nb-marquee-strip-1 {\n animation-name: nb-marquee-1;\n animation-duration: var(--nb-marquee-duration, 5s);\n animation-timing-function: linear;\n animation-iteration-count: infinite;\n }\n .nb-marquee-strip-1.nb-marquee-reverse {\n animation-name: nb-marquee-reverse-1;\n }\n\n .nb-marquee-strip-2 {\n animation-name: nb-marquee-2;\n animation-duration: var(--nb-marquee-duration, 5s);\n animation-timing-function: linear;\n animation-iteration-count: infinite;\n }\n .nb-marquee-strip-2.nb-marquee-reverse {\n animation-name: nb-marquee-reverse-2;\n }\n\n .nb-marquee-strip-1,\n .nb-marquee-strip-2 {\n display: flex;\n width: max-content;\n min-width: 100%;\n align-items: center;\n flex-shrink: 0;\n }\n\n .nb-marquee-wrapper.nb-pause-on-hover:hover .nb-marquee-strip-1,\n .nb-marquee-wrapper.nb-pause-on-hover:hover .nb-marquee-strip-2 {\n animation-play-state: paused;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbMarquee {\n readonly duration = input<string>('5s');\n readonly reverse = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n readonly pauseOnHover = input<boolean, unknown>(true, {\n transform: booleanAttribute,\n });\n\n private readonly wrapper =\n viewChild.required<ElementRef<HTMLElement>>('wrapper');\n private readonly strip1 =\n viewChild.required<ElementRef<HTMLElement>>('strip1');\n private readonly strip2 =\n viewChild.required<ElementRef<HTMLElement>>('strip2');\n private readonly destroyRef = inject(DestroyRef);\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n private readonly widthScale = signal(1);\n\n protected readonly wrapperClass = computed(() =>\n nbClass(\n 'nb-marquee-wrapper relative flex w-full overflow-hidden',\n 'border-t-2 border-b-2 border-(--nb-border)',\n 'bg-white text-black font-base',\n this.pauseOnHover() && 'nb-pause-on-hover'\n )\n );\n\n protected readonly wrapperStyle = computed(() => ({\n '--nb-marquee-duration': this.scaledDuration(),\n }));\n\n private readonly scaledDuration = computed(() => {\n const duration = this.duration();\n const durationMs = this.durationToMs(duration);\n\n if (durationMs === null) {\n return duration;\n }\n\n return `${durationMs * this.widthScale()}ms`;\n });\n\n protected readonly strip1Class = computed(() =>\n nbClass(\n 'nb-marquee-strip-1 whitespace-nowrap py-4',\n this.reverse() && 'nb-marquee-reverse'\n )\n );\n\n protected readonly strip2Class = computed(() =>\n nbClass(\n 'nb-marquee-strip-2 absolute top-0 left-0 whitespace-nowrap py-4',\n this.reverse() && 'nb-marquee-reverse'\n )\n );\n\n constructor() {\n if (!this.isBrowser) {\n return;\n }\n\n afterNextRender(() => {\n this.syncSecondStrip();\n this.updateAnimationScale();\n\n const mutationObserver = new MutationObserver(() => {\n this.syncSecondStrip();\n this.updateAnimationScale();\n });\n mutationObserver.observe(this.strip1().nativeElement, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true,\n });\n\n const resizeObserver = new ResizeObserver(() =>\n this.updateAnimationScale()\n );\n resizeObserver.observe(this.wrapper().nativeElement);\n resizeObserver.observe(this.strip1().nativeElement);\n\n this.destroyRef.onDestroy(() => {\n mutationObserver.disconnect();\n resizeObserver.disconnect();\n });\n });\n }\n\n private syncSecondStrip(): void {\n const source = this.strip1().nativeElement;\n const cloneTarget = this.strip2().nativeElement;\n const clones = Array.from(source.childNodes, (node) =>\n node.cloneNode(true)\n );\n\n cloneTarget.replaceChildren(...clones);\n }\n\n private updateAnimationScale(): void {\n const wrapperWidth = this.wrapper().nativeElement.clientWidth;\n const contentWidth = this.strip1().nativeElement.scrollWidth;\n\n if (wrapperWidth <= 0 || contentWidth <= 0) {\n this.widthScale.set(1);\n return;\n }\n\n this.widthScale.set(Math.max(1, contentWidth / wrapperWidth));\n }\n\n private durationToMs(duration: string): number | null {\n const match = duration.trim().match(/^(\\d*\\.?\\d+)(ms|s)$/);\n\n if (!match) {\n return null;\n }\n\n const value = Number(match[1]);\n return match[2] === 's' ? value * 1000 : value;\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'nb-marquee-item',\n host: {\n class: 'mx-4 inline-flex shrink-0 items-center text-4xl whitespace-nowrap',\n },\n template: `<ng-content />`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbMarqueeItem {}\n","import { InjectionToken, type Signal } from '@angular/core';\n\nexport interface NbInputGroupContext {\n readonly hasPrefix: Signal<boolean>;\n readonly hasSuffix: Signal<boolean>;\n}\n\nexport const NB_INPUT_GROUP = new InjectionToken<NbInputGroupContext>(\n 'NB_INPUT_GROUP'\n);\n\nexport const NB_INPUT_PREFIX = new InjectionToken<unknown>('NB_INPUT_PREFIX');\n\nexport const NB_INPUT_SUFFIX = new InjectionToken<unknown>('NB_INPUT_SUFFIX');\n","import { Directive, computed, inject, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NB_INPUT_GROUP } from '../input-group/input-group.types';\nimport type { NbInputSize } from './input.types';\n\n@Directive({\n selector: 'input[nbInput]',\n host: {\n '[class]': 'classes()',\n '[attr.data-size]': 'size()',\n },\n})\nexport class NbInput {\n readonly size = input<NbInputSize>('md');\n\n private readonly group = inject(NB_INPUT_GROUP, { optional: true });\n\n protected readonly classes = computed(() => {\n const inGroup = this.group !== null;\n\n return nbClass(\n '[--nb-input-bg:var(--nb-field-bg)]',\n '[--nb-input-fg:var(--nb-foreground)]',\n '[--nb-input-border:var(--nb-border)]',\n '[--nb-input-radius:var(--nb-radius)]',\n '[--nb-input-shadow:var(--nb-shadow-offset-x)_var(--nb-shadow-offset-y)_0_var(--nb-shadow)]',\n 'flex border-2 border-(--nb-input-border)',\n 'bg-(--nb-input-bg) text-(--nb-input-fg)',\n 'font-medium',\n 'placeholder:text-gray-400',\n 'file:h-full file:py-0 file:my-0 file:mr-3 file:px-3',\n 'file:cursor-pointer file:text-sm file:font-bold',\n 'file:bg-(--nb-main) file:text-(--nb-main-foreground)',\n 'file:border-0 file:border-r-2 file:border-(--nb-input-border)',\n 'disabled:opacity-50 disabled:cursor-not-allowed',\n inGroup\n ? [\n 'flex-1 min-w-0',\n 'bg-transparent',\n 'border-0',\n 'focus-visible:outline-none',\n ]\n : [\n 'rounded-(--nb-input-radius)',\n 'shadow-[var(--nb-input-shadow)]',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-(--nb-input-border)',\n 'focus-visible:ring-offset-2 focus-visible:shadow-none',\n ]\n );\n });\n}\n","import { Directive } from '@angular/core';\n\nimport { nbClass } from '../core/class';\n\n@Directive({\n selector: 'label[nbLabel]',\n host: {\n '[class]': 'classes',\n },\n})\nexport class NbLabel {\n protected readonly classes = nbClass(\n 'font-bold leading-none',\n 'peer-disabled:cursor-not-allowed peer-disabled:opacity-50'\n );\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[nbTitle]',\n host: {\n '[attr.data-nb-title]': '\"\"',\n '[attr.data-underline]': '\"wave\"',\n },\n})\nexport class NbTitle {}\n","import { booleanAttribute, computed, Directive, input } from '@angular/core';\n\nimport {\n NbResetMarginCapability,\n NbUnderlineCapability,\n} from '../core/capabilities';\nimport {\n nbFontWeightValue,\n type NbFontWeight,\n type NbUnderlineVariant,\n} from '../tokens/typography';\n\nexport type NbDisplaySize = 'sm' | 'md' | 'lg' | 'xl';\nexport type NbDisplayWeight = NbFontWeight;\nexport type NbDisplayTracking = 'normal' | 'tight' | 'tighter';\nexport type NbDisplayLeading = 'none' | 'tight' | 'display';\n\n// Alias of the shared underline variant — keeps the public type name stable.\nexport type NbDisplayUnderline = NbUnderlineVariant;\n\nconst SIZE_MAP: Record<NbDisplaySize, string> = {\n sm: '2rem',\n md: '3rem',\n lg: '3.75rem',\n xl: '4.75rem',\n};\n\n// Fluid scale: each size becomes a viewport-based clamp whose max matches the\n// fixed size above. Viewport units (vw) are used rather than container query\n// units so the scale is safe with or without an explicit container — the\n// library owns the min/preferred/max formula; users only opt in with `fluid`.\nconst FLUID_MAP: Record<NbDisplaySize, string> = {\n sm: 'clamp(1.75rem, 1.2rem + 2.75vw, 2rem)',\n md: 'clamp(2.25rem, 1.5rem + 3.75vw, 3rem)',\n lg: 'clamp(2.75rem, 1.8rem + 4.75vw, 3.75rem)',\n xl: 'clamp(3.25rem, 2rem + 6.25vw, 4.75rem)',\n};\n\nconst TRACKING_MAP: Record<NbDisplayTracking, string> = {\n normal: '0',\n tight: '-0.025em',\n tighter: '-0.08em',\n};\n\nconst LEADING_MAP: Record<NbDisplayLeading, string> = {\n none: '1',\n tight: '0.9',\n display: '0.84',\n};\n\n@Directive({\n selector: '[nbDisplay]',\n hostDirectives: [\n // underline variant + optional gap/width overrides → data-underline + CSS vars\n {\n directive: NbUnderlineCapability,\n inputs: ['underline', 'underlineGap', 'underlineWidth'],\n },\n // reset input → margin: 0 (removes native heading margin)\n { directive: NbResetMarginCapability, inputs: ['reset'] },\n ],\n host: {\n '[style.font-size]': 'fontSize()',\n '[style.font-weight]': 'weightValue()',\n '[style.color]': '\"var(--nb-display-color, currentColor)\"',\n '[style.letter-spacing]': 'trackingValue()',\n '[style.line-height]': 'leadingValue()',\n '[attr.data-nb-display]': '\"\"',\n },\n})\nexport class NbDisplay {\n readonly size = input<NbDisplaySize>('md');\n readonly weight = input<NbDisplayWeight>('black');\n readonly fluid = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n readonly tracking = input<NbDisplayTracking>('tight');\n readonly leading = input<NbDisplayLeading>('none');\n // underline / underlineGap / underlineWidth / reset → composed capabilities\n\n protected readonly fontSize = computed(() => {\n const base = this.fluid() ? FLUID_MAP[this.size()] : SIZE_MAP[this.size()];\n return `var(--nb-display-size, ${base})`;\n });\n protected readonly weightValue = computed(() =>\n nbFontWeightValue(this.weight()),\n );\n protected readonly trackingValue = computed(() => TRACKING_MAP[this.tracking()]);\n protected readonly leadingValue = computed(() => LEADING_MAP[this.leading()]);\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport {\n nbTypographyFontValue,\n type NbTypographyFont,\n} from '../tokens/typography';\n\n/**\n * Typography context. Picks a font *role* and writes the resolved stack as\n * `font-family` on the host so every descendant primitive (nbText, nbDisplay,\n * nbButton, nbChip, nbMediaItemTitle, …) inherits it through the cascade — no\n * raw font-family strings in templates.\n *\n * Precedence falls out of the cascade: a nested context overrides an outer one\n * (closest wins), and an inline token override (`--nb-font-accent: …`) wins over\n * the preset because the resolved value reads that token first.\n *\n * Also available as the `typography` input on nbSurface, which composes this\n * directive directly.\n */\n@Directive({\n selector: '[nbTypography]',\n exportAs: 'nbTypography',\n host: {\n '[attr.data-nb-typography]': 'font()',\n '[style.--nb-typography-font]': 'fontValue()',\n '[style.font-family]': 'fontValue()',\n },\n})\nexport class NbTypography {\n readonly font = input<NbTypographyFont>('inherit');\n\n protected readonly fontValue = computed(() =>\n nbTypographyFontValue(this.font()),\n );\n}\n","import { Directive, computed, input } from '@angular/core';\n\nexport type NbSeparatorOrientation = 'horizontal' | 'vertical';\nexport type NbSeparatorVariant = 'solid' | 'dashed' | 'thick';\n\nconst THICKNESS: Record<NbSeparatorVariant, string> = {\n solid: '2px',\n dashed: '2px',\n thick: '4px',\n};\n\n@Directive({\n selector: 'hr[nbSeparator]',\n host: {\n '[attr.data-nb-separator]': '\"\"',\n '[attr.aria-orientation]': 'orientation()',\n '[style.margin]': '\"0\"',\n '[style.border-top]': 'isHorizontal() ? borderLine() : \"none\"',\n '[style.border-bottom]': '\"none\"',\n '[style.border-left]': 'isVertical() ? borderLine() : \"none\"',\n '[style.border-right]': '\"none\"',\n '[style.width]': 'isVertical() ? \"0\" : \"100%\"',\n '[style.height]': 'isVertical() ? \"auto\" : \"0\"',\n '[style.align-self]': 'isVertical() ? \"stretch\" : \"auto\"',\n },\n})\nexport class NbSeparator {\n readonly orientation = input<NbSeparatorOrientation>('horizontal');\n readonly variant = input<NbSeparatorVariant>('solid');\n\n protected readonly isHorizontal = computed(() => this.orientation() === 'horizontal');\n protected readonly isVertical = computed(() => this.orientation() === 'vertical');\n\n protected readonly borderLine = computed(() => {\n const v = this.variant();\n const thickness = `var(--nb-separator-thickness, ${THICKNESS[v]})`;\n const style = v === 'dashed' ? 'dashed' : 'solid';\n return `${thickness} ${style} var(--nb-separator-color, var(--nb-border))`;\n });\n}\n","import { Directive, computed, inject, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NB_INPUT_GROUP } from '../input-group/input-group.types';\nimport type { NbTextareaSize } from './textarea.types';\n\n@Directive({\n selector: 'textarea[nbTextarea]',\n host: {\n '[class]': 'classes()',\n '[attr.data-size]': 'size()',\n },\n})\nexport class NbTextarea {\n readonly size = input<NbTextareaSize>('md');\n\n private readonly group = inject(NB_INPUT_GROUP, { optional: true });\n\n protected readonly classes = computed(() => {\n const inGroup = this.group !== null;\n\n return nbClass(\n '[--nb-textarea-bg:var(--nb-input-bg,var(--nb-field-bg))]',\n '[--nb-textarea-fg:var(--nb-foreground)]',\n '[--nb-textarea-border:var(--nb-border)]',\n '[--nb-textarea-radius:var(--nb-radius)]',\n '[--nb-textarea-shadow:var(--nb-shadow-offset-x)_var(--nb-shadow-offset-y)_0_var(--nb-shadow)]',\n 'flex border-2 border-(--nb-textarea-border)',\n 'bg-(--nb-textarea-bg) text-(--nb-textarea-fg)',\n 'font-medium',\n 'placeholder:text-gray-400',\n 'disabled:opacity-50 disabled:cursor-not-allowed',\n 'resize-none',\n inGroup\n ? [\n 'flex-1 min-w-0',\n 'bg-transparent',\n 'border-0',\n 'focus-visible:outline-none',\n ]\n : [\n 'rounded-(--nb-textarea-radius)',\n 'shadow-[var(--nb-textarea-shadow)]',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-(--nb-textarea-border)',\n 'focus-visible:ring-offset-2 focus-visible:shadow-none',\n ]\n );\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport {\n NB_INPUT_GROUP,\n NB_INPUT_PREFIX,\n NB_INPUT_SUFFIX,\n type NbInputGroupContext,\n} from './input-group.types';\n\n@Component({\n selector: 'nb-input-group',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes()',\n },\n providers: [{ provide: NB_INPUT_GROUP, useExisting: NbInputGroup }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbInputGroup implements NbInputGroupContext {\n private readonly prefixes = contentChildren(NB_INPUT_PREFIX);\n private readonly suffixes = contentChildren(NB_INPUT_SUFFIX);\n\n readonly hasPrefix = computed(() => this.prefixes().length > 0);\n readonly hasSuffix = computed(() => this.suffixes().length > 0);\n\n protected readonly classes = computed(() =>\n nbClass(\n '[--nb-input-group-bg:var(--nb-input-bg,var(--nb-field-bg))]',\n '[--nb-input-group-border:var(--nb-border)]',\n '[--nb-input-group-radius:var(--nb-radius)]',\n 'relative inline-flex w-full rounded-(--nb-input-group-radius) border-2 border-(--nb-input-group-border)',\n 'bg-(--nb-input-group-bg) shadow-nb focus-within:outline-none',\n 'focus-within:ring-2 focus-within:ring-offset-2 focus-within:ring-(--nb-input-group-border) focus-within:shadow-none'\n )\n );\n}\n","import { Directive, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NB_INPUT_PREFIX } from './input-group.types';\n\nexport type NbInputPrefixAlign = 'center' | 'stretch';\n\n@Directive({\n selector: '[nbInputPrefix]',\n host: {\n '[class]': 'classes()',\n '[attr.data-align]': 'align()',\n },\n providers: [{ provide: NB_INPUT_PREFIX, useExisting: NbInputPrefix }],\n})\nexport class NbInputPrefix {\n readonly align = input<NbInputPrefixAlign>('center');\n\n protected readonly classes = computed(() =>\n nbClass(\n '[--nb-input-group-addon-bg:#ffd24a]',\n '[--nb-input-group-prefix-bg:var(--nb-input-group-addon-bg)]',\n 'flex w-12 shrink-0 justify-center',\n 'border-r-2 border-(--nb-input-group-border,var(--nb-border))',\n 'bg-(--nb-input-group-prefix-bg)',\n this.align() === 'stretch'\n ? 'self-stretch items-start pt-2'\n : 'items-center'\n )\n );\n}\n","import { Directive, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NB_INPUT_SUFFIX } from './input-group.types';\n\nexport type NbInputSuffixAlign = 'center' | 'stretch';\n\n@Directive({\n selector: '[nbInputSuffix]',\n host: {\n '[class]': 'classes()',\n '[attr.data-align]': 'align()',\n },\n providers: [{ provide: NB_INPUT_SUFFIX, useExisting: NbInputSuffix }],\n})\nexport class NbInputSuffix {\n readonly align = input<NbInputSuffixAlign>('center');\n\n protected readonly classes = computed(() =>\n nbClass(\n '[--nb-input-group-addon-bg:#ffd24a]',\n '[--nb-input-group-suffix-bg:var(--nb-input-group-addon-bg)]',\n 'flex w-12 shrink-0 items-center justify-center',\n 'border-l-2 border-(--nb-input-group-border,var(--nb-border))',\n 'bg-(--nb-input-group-suffix-bg)',\n this.align() === 'stretch' ? 'self-stretch' : ''\n )\n );\n}\n","import { Directive, computed, inject } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NB_INPUT_GROUP } from '../input-group/input-group.types';\n\n@Directive({\n selector: 'select[nbSelect]',\n host: {\n '[class]': 'classes()',\n },\n})\nexport class NbNativeSelect {\n private readonly group = inject(NB_INPUT_GROUP, { optional: true });\n\n protected readonly classes = computed(() => {\n const inGroup = this.group !== null;\n\n return nbClass(\n '[--nb-select-bg:var(--nb-input-bg,var(--nb-field-bg))]',\n '[--nb-select-fg:var(--nb-foreground)]',\n '[--nb-select-border:var(--nb-border)]',\n '[--nb-select-radius:var(--nb-radius)]',\n 'flex border-2 border-(--nb-select-border)',\n 'bg-(--nb-select-bg) text-(--nb-select-fg)',\n 'font-medium',\n 'appearance-none',\n 'pr-10',\n 'has-[option:disabled:checked]:text-gray-400',\n 'disabled:opacity-50 disabled:cursor-not-allowed',\n inGroup\n ? [\n 'flex-1 min-w-0',\n 'bg-transparent',\n 'border-0',\n 'focus-visible:outline-none',\n ]\n : [\n 'rounded-(--nb-select-radius)',\n 'shadow-nb',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-(--nb-select-border)',\n 'focus-visible:ring-offset-2 focus-visible:shadow-none',\n ]\n );\n });\n}\n","import { InjectionToken } from '@angular/core';\n\nimport type { NbSelectOption } from './nb-select-option';\n\nexport type NbSelectValue = string | number;\n\nexport interface NbSelectController {\n readonly disabled: () => boolean;\n readonly listboxId: string;\n\n isSelected(value: NbSelectValue | null): boolean;\n selectOption(option: NbSelectOption): void;\n focusPreviousOption(current: NbSelectOption): void;\n focusNextOption(current: NbSelectOption): void;\n closeAndFocusTrigger(): void;\n}\n\nexport const NB_SELECT = new InjectionToken<NbSelectController>('NB_SELECT');\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n booleanAttribute,\n computed,\n inject,\n input,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NB_SELECT, type NbSelectValue } from './select.types';\n\nlet nextSelectOptionId = 0;\n\n@Component({\n selector: 'nb-select-option',\n template: `\n <button\n #button\n type=\"button\"\n role=\"option\"\n [id]=\"id\"\n [attr.aria-selected]=\"selected()\"\n [disabled]=\"disabled() || select.disabled()\"\n [class]=\"classes()\"\n (click)=\"select.selectOption(this)\"\n (keydown)=\"selectOptionOnKey($event)\"\n >\n <span\n class=\"min-w-0 flex flex-1 items-center gap-3 truncate text-left [&_svg]:size-6 [&_svg]:shrink-0 [&_svg]:fill-none [&_svg]:stroke-current [&_svg]:stroke-[2.3] [&_svg]:stroke-linecap-round [&_svg]:stroke-linejoin-round\"\n >\n <ng-content />\n </span>\n @if (showIndicator()) {\n <svg\n class=\"size-6 shrink-0 fill-none stroke-current stroke-[3] stroke-linecap-round stroke-linejoin-round\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path d=\"m20 6-11 11-5-5\" />\n </svg>\n }\n </button>\n `,\n host: {\n class: 'block',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbSelectOption {\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef);\n\n protected readonly select = inject(NB_SELECT);\n\n readonly id = `neo-select-option-${nextSelectOptionId++}`;\n readonly value = input<NbSelectValue | null>(null);\n readonly label = input<string>('');\n readonly disabled = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n\n protected readonly selected = computed(() => {\n const value = this.value();\n\n return this.select.isSelected(value);\n });\n\n protected readonly showIndicator = computed(\n () => this.value() !== null && this.selected()\n );\n\n protected readonly classes = computed(() =>\n nbClass(\n 'flex h-11 w-full items-center gap-3 px-2',\n 'font-mono text-base font-bold text-(--nb-select-fg)',\n 'transition-colors duration-150',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-(--nb-select-border)',\n 'disabled:pointer-events-none disabled:opacity-50',\n this.selected()\n ? 'bg-[#bdf7c8]'\n : 'bg-transparent hover:bg-[#e8d6ff] focus-visible:bg-[#e8d6ff]'\n )\n );\n\n focus(): void {\n this.element.nativeElement.querySelector('button')?.focus();\n }\n\n selectOptionOnKey(event: KeyboardEvent): void {\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n this.select.focusPreviousOption(this);\n return;\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n this.select.focusNextOption(this);\n return;\n }\n\n if (event.key === 'Escape') {\n event.preventDefault();\n this.select.closeAndFocusTrigger();\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n booleanAttribute,\n computed,\n contentChildren,\n inject,\n input,\n model,\n viewChild,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport { NB_INPUT_GROUP } from '../input-group/input-group.types';\nimport { NbSelectOption } from './nb-select-option';\nimport {\n NB_SELECT,\n type NbSelectController,\n type NbSelectValue,\n} from './select.types';\n\nlet nextSelectId = 0;\n\n@Component({\n selector: 'nb-select',\n template: `\n <button\n #trigger\n type=\"button\"\n [id]=\"triggerId\"\n [class]=\"triggerClasses()\"\n [disabled]=\"disabled()\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.aria-expanded]=\"open()\"\n [attr.aria-controls]=\"listboxId\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n (click)=\"toggle()\"\n (keydown)=\"openListboxOnKey($event)\"\n >\n <span [class]=\"valueClasses()\">\n {{ selectedLabel() || placeholder() }}\n </span>\n\n <svg\n class=\"size-6 shrink-0 fill-none stroke-current stroke-[3] stroke-linecap-round stroke-linejoin-round\"\n viewBox=\"0 0 24 24\"\n aria-hidden=\"true\"\n >\n <path [attr.d]=\"open() ? 'm18 15-6-6-6 6' : 'm6 9 6 6 6-6'\" />\n </svg>\n </button>\n\n @if (open()) {\n <div\n [id]=\"listboxId\"\n role=\"listbox\"\n [attr.aria-labelledby]=\"triggerId\"\n [class]=\"listboxClasses\"\n >\n <ng-content />\n </div>\n }\n `,\n host: {\n '[class]': 'hostClasses()',\n '[attr.data-state]': 'open() ? \"open\" : \"closed\"',\n '[attr.data-disabled]': 'disabled() ? \"\" : null',\n '(document:click)': 'closeOnOutsideClick($event)',\n },\n providers: [{ provide: NB_SELECT, useExisting: NbSelect }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbSelect implements NbSelectController {\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly group = inject(NB_INPUT_GROUP, { optional: true });\n\n readonly placeholder = input<string>('Select an option');\n readonly value = model<NbSelectValue | null>(null);\n readonly disabled = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });\n readonly ariaLabelledby = input<string | null>(null, {\n alias: 'aria-labelledby',\n });\n\n readonly options = contentChildren(NbSelectOption);\n private readonly trigger =\n viewChild<ElementRef<HTMLButtonElement>>('trigger');\n\n readonly open = model<boolean>(false);\n\n readonly id = nextSelectId++;\n readonly triggerId = `neo-select-trigger-${this.id}`;\n readonly listboxId = `neo-select-listbox-${this.id}`;\n\n protected readonly selectedOption = computed(() =>\n this.options().find((option) => option.value() === this.value())\n );\n\n protected readonly selectedLabel = computed(\n () => this.selectedOption()?.label() ?? ''\n );\n\n protected readonly hostClasses = computed(() => {\n const inGroup = this.group !== null;\n return nbClass(\n '[--nb-select-bg:var(--nb-input-bg,var(--nb-field-bg))]',\n '[--nb-select-fg:var(--nb-foreground)]',\n '[--nb-select-border:var(--nb-border)]',\n '[--nb-select-radius:var(--nb-radius)]',\n '[--nb-select-listbox-bg:var(--nb-select-bg)]',\n inGroup\n ? 'block w-full'\n : [\n 'relative block w-full',\n 'rounded-(--nb-select-radius) border-2 border-(--nb-select-border)',\n 'bg-(--nb-select-bg) shadow-nb',\n 'focus-within:outline-none focus-within:ring-2 focus-within:ring-(--nb-select-border)',\n 'focus-within:ring-offset-2 focus-within:shadow-none',\n 'data-[disabled]:border-gray-400 data-[disabled]:shadow-[5px_5px_0_0_#a3a3a3]',\n ]\n );\n });\n\n protected readonly triggerClasses = computed(() => {\n const inGroup = this.group !== null;\n return nbClass(\n 'flex h-14 w-full items-center gap-4 font-mono text-base font-bold',\n 'text-(--nb-select-fg) transition-all duration-150',\n 'disabled:cursor-not-allowed disabled:text-gray-400',\n inGroup\n ? ['flex-1 min-w-0 bg-transparent px-3 focus-visible:outline-none']\n : ['flex-1 min-w-0 bg-transparent px-5 focus-visible:outline-none']\n );\n });\n\n protected readonly valueClasses = computed(() =>\n nbClass(\n 'min-w-0 flex-1 truncate text-left',\n this.selectedLabel() ? 'text-(--nb-select-fg)' : 'text-gray-400'\n )\n );\n\n protected readonly listboxClasses = nbClass(\n 'absolute z-50 top-[calc(100%+8px)]',\n 'left-[-6px] w-[calc(100%+12px)] mt-0.5',\n 'rounded-b-(--nb-select-radius) border-2 border-(--nb-select-border) bg-(--nb-select-listbox-bg)',\n 'shadow-nb'\n );\n\n isSelected(value: NbSelectValue | null): boolean {\n return this.value() === value;\n }\n\n selectOption(option: NbSelectOption): void {\n if (this.disabled() || option.disabled()) {\n return;\n }\n\n this.value.set(option.value());\n this.closeAndFocusTrigger();\n }\n\n toggle(): void {\n if (!this.disabled()) {\n this.open.update((open) => !open);\n }\n }\n\n openAndFocusOption(): void {\n if (this.disabled()) {\n return;\n }\n\n this.open.set(true);\n queueMicrotask(() => {\n (this.selectedOption() ?? this.firstEnabledOption())?.focus();\n });\n }\n\n closeAndFocusTrigger(): void {\n this.open.set(false);\n queueMicrotask(() => this.trigger()?.nativeElement.focus());\n }\n\n focusPreviousOption(current: NbSelectOption): void {\n this.focusRelativeOption(current, -1);\n }\n\n focusNextOption(current: NbSelectOption): void {\n this.focusRelativeOption(current, 1);\n }\n\n openListboxOnKey(event: KeyboardEvent): void {\n if (\n event.key === 'ArrowDown' ||\n event.key === 'Enter' ||\n event.key === ' '\n ) {\n event.preventDefault();\n this.openAndFocusOption();\n }\n }\n\n closeOnOutsideClick(event: MouseEvent): void {\n if (!this.element.nativeElement.contains(event.target as Node)) {\n this.open.set(false);\n }\n }\n\n private firstEnabledOption(): NbSelectOption | undefined {\n return this.options().find((option) => !option.disabled());\n }\n\n private focusRelativeOption(\n current: NbSelectOption,\n direction: 1 | -1\n ): void {\n const options = this.options().filter((option) => !option.disabled());\n const currentIndex = options.indexOf(current);\n const nextIndex =\n (currentIndex + direction + options.length) % options.length;\n\n options[nextIndex]?.focus();\n }\n}\n","import { Directive } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport {\n NbBorderCapability,\n NbRadiusCapability,\n NbShadowCapability,\n NbToneCapability,\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from '../core/capabilities';\nimport type { NbBorderStrength } from '../tokens/border';\nimport type { NbRadius } from '../tokens/radius';\nimport type { NbShadow } from '../tokens/shadow';\nimport type { NbToneToken } from '../tokens/tone';\n\nexport type NbBadgeTone = NbToneToken;\nexport type NbBadgeRadius = NbRadius;\nexport type NbBadgeShadow = NbShadow;\nexport type NbBadgeBorder = NbBorderStrength;\n\n@Directive({\n selector: 'span[nbBadge]',\n providers: [\n { provide: NB_STYLE_NAMESPACE, useValue: 'badge' },\n {\n provide: NB_STYLE_DEFAULTS,\n useValue: {\n tone: 'white',\n radius: 'full',\n shadow: 'sm',\n border: 'default',\n } satisfies NbStyleDefaults,\n },\n ],\n hostDirectives: [\n { directive: NbToneCapability, inputs: ['tone'] },\n { directive: NbRadiusCapability, inputs: ['radius'] },\n { directive: NbShadowCapability, inputs: ['shadow'] },\n { directive: NbBorderCapability, inputs: ['border'] },\n ],\n host: {\n '[class]': 'classes',\n '[attr.data-nb-badge]': '\"\"',\n },\n})\nexport class NbBadge {\n protected readonly classes = nbClass(\n 'inline-flex items-center gap-1.5',\n 'px-2.5 py-0.5 text-xs font-bold'\n );\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport {\n NbBorderCapability,\n NbRadiusCapability,\n NbShadowCapability,\n NbToneCapability,\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from '../core/capabilities';\nimport type { NbBorderStrength } from '../tokens/border';\nimport type { NbRadius } from '../tokens/radius';\nimport type { NbShadow } from '../tokens/shadow';\nimport type { NbToneToken } from '../tokens/tone';\n\nexport type NbAvatarTone = NbToneToken;\nexport type NbAvatarRadius = NbRadius;\nexport type NbAvatarShadow = NbShadow;\nexport type NbAvatarBorder = NbBorderStrength;\n\n@Component({\n selector: 'nb-avatar',\n template: `\n @if (src()) {\n <img [src]=\"src()\" [alt]=\"alt()\" class=\"h-full w-full object-cover\" />\n } @else {\n <ng-content />\n }\n `,\n providers: [\n { provide: NB_STYLE_NAMESPACE, useValue: 'avatar' },\n {\n provide: NB_STYLE_DEFAULTS,\n useValue: {\n tone: 'surface',\n radius: 'full',\n shadow: 'sm',\n border: 'default',\n } satisfies NbStyleDefaults,\n },\n ],\n hostDirectives: [\n { directive: NbToneCapability, inputs: ['tone'] },\n { directive: NbRadiusCapability, inputs: ['radius'] },\n { directive: NbShadowCapability, inputs: ['shadow'] },\n { directive: NbBorderCapability, inputs: ['border'] },\n ],\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"avatar\"',\n '[attr.role]': '\"img\"',\n '[attr.aria-label]': 'alt()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbAvatar {\n readonly src = input<string | undefined>(undefined);\n readonly alt = input<string>('');\n\n protected readonly classes = nbClass(\n 'relative inline-flex h-10 w-10 shrink-0 overflow-hidden',\n 'font-bold text-sm items-center justify-center'\n );\n}\n","import { Directive, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport {\n NbBorderCapability,\n NbRadiusCapability,\n NbShadowCapability,\n NbToneCapability,\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from '../core/capabilities';\nimport type { NbBorderStrength } from '../tokens/border';\nimport type { NbRadius } from '../tokens/radius';\nimport type { NbShadow } from '../tokens/shadow';\nimport type { NbToneToken } from '../tokens/tone';\n\n// Public type aliases point at the shared token contracts.\nexport type NbMediaFrameTone = NbToneToken;\nexport type NbMediaFrameRadius = NbRadius;\nexport type NbMediaFrameShadow = NbShadow;\nexport type NbMediaFrameBorder = NbBorderStrength;\n\n// Media-frame-specific anatomy.\nexport type NbMediaFrameRatio =\n | 'auto'\n | '1/1'\n | '3/4'\n | '4/3'\n | '3/2'\n | '16/9'\n | '21/9';\n\nexport type NbMediaFrameFit = 'cover' | 'contain' | 'fill';\n\n@Directive({\n selector: '[nbMediaFrame]',\n providers: [\n { provide: NB_STYLE_NAMESPACE, useValue: 'media-frame' },\n {\n provide: NB_STYLE_DEFAULTS,\n useValue: {\n tone: 'default',\n radius: 'lg',\n shadow: 'none',\n border: 'default',\n } satisfies NbStyleDefaults,\n },\n ],\n hostDirectives: [\n { directive: NbToneCapability, inputs: ['tone'] },\n { directive: NbRadiusCapability, inputs: ['radius'] },\n { directive: NbShadowCapability, inputs: ['shadow'] },\n { directive: NbBorderCapability, inputs: ['border'] },\n ],\n host: {\n '[class]': 'classes()',\n '[attr.data-nb-media-frame]': '\"\"',\n '[attr.data-ratio]': 'ratio()',\n '[attr.data-fit]': 'fit()',\n },\n})\nexport class NbMediaFrame {\n readonly ratio = input<NbMediaFrameRatio>('auto');\n readonly fit = input<NbMediaFrameFit>('cover');\n\n protected readonly classes = computed(() =>\n nbClass(\n 'relative isolate block overflow-hidden',\n '[&>img]:h-full [&>img]:w-full',\n '[&>video]:h-full [&>video]:w-full',\n '[&>picture]:block [&>picture]:h-full [&>picture]:w-full',\n '[&>picture>img]:h-full [&>picture>img]:w-full',\n this.ratioClass(),\n this.fitClass()\n )\n );\n\n private ratioClass(): string {\n const map: Record<NbMediaFrameRatio, string> = {\n auto: '',\n '1/1': 'aspect-square',\n '3/4': 'aspect-[3/4]',\n '4/3': 'aspect-[4/3]',\n '3/2': 'aspect-[3/2]',\n '16/9': 'aspect-video',\n '21/9': 'aspect-[21/9]',\n };\n\n return map[this.ratio()];\n }\n\n private fitClass(): string {\n const map: Record<NbMediaFrameFit, string> = {\n cover:\n '[&>img]:object-cover [&>video]:object-cover [&>picture>img]:object-cover',\n contain:\n '[&>img]:object-contain [&>video]:object-contain [&>picture>img]:object-contain',\n fill: '[&>img]:object-fill [&>video]:object-fill [&>picture>img]:object-fill',\n };\n\n return map[this.fit()];\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\n\n@Component({\n selector: 'nb-stat',\n template: `\n <ng-content select=\"[slot=icon]\" />\n <span class=\"flex flex-col gap-0.5\">\n <span class=\"text-[length:var(--nb-stat-value-size)] font-black leading-none tracking-tight\">\n {{ value() }}\n </span>\n <span class=\"text-[length:var(--nb-stat-label-size)] font-bold text-(--nb-stat-label-fg) uppercase tracking-wide\">\n {{ label() }}\n </span>\n </span>\n `,\n host: {\n '[class]': 'classes()',\n '[attr.data-slot]': '\"stat\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbStat {\n readonly value = input.required<string>();\n readonly label = input.required<string>();\n readonly direction = input<'row' | 'column'>('column');\n\n protected readonly classes = computed(() =>\n nbClass(\n '[--nb-stat-value-size:1.5rem]',\n '[--nb-stat-label-size:0.625rem]',\n '[--nb-stat-label-fg:var(--nb-foreground)]',\n 'inline-flex items-center gap-2',\n this.direction() === 'row' ? 'flex-row' : 'flex-col'\n )\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\n\n@Component({\n selector: 'nb-rating',\n template: `\n @for (i of stars(); track i) {\n <span [class]=\"i <= filled() ? filledClass : emptyClass\">{{ i <= filled() ? '★' : '☆' }}</span>\n }\n @if (count() !== undefined) {\n <span class=\"text-xs font-bold text-(--nb-rating-empty) ml-0.5\">({{ count() }})</span>\n }\n `,\n host: {\n '[class]': 'classes',\n '[attr.aria-label]': 'ariaLabel()',\n '[attr.role]': '\"img\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbRating {\n readonly value = input<number>(0);\n readonly max = input<number>(5);\n readonly count = input<number | undefined>(undefined);\n\n protected readonly stars = computed(() =>\n Array.from({ length: this.max() }, (_, i) => i + 1)\n );\n\n protected readonly filled = computed(() =>\n Math.round(Math.min(Math.max(this.value(), 0), this.max()))\n );\n\n protected readonly ariaLabel = computed(\n () => `${this.value()} out of ${this.max()} stars`\n );\n\n protected readonly classes = nbClass(\n '[--nb-rating-filled:#f59e0b]',\n '[--nb-rating-empty:var(--nb-border)]',\n '[--nb-rating-size:1.25rem]',\n 'inline-flex items-center gap-0.5'\n );\n\n protected readonly filledClass = nbClass(\n 'text-(--nb-rating-filled)',\n 'text-[length:var(--nb-rating-size)]',\n 'leading-none'\n );\n\n protected readonly emptyClass = nbClass(\n 'text-(--nb-rating-empty)',\n 'text-[length:var(--nb-rating-size)]',\n 'leading-none'\n );\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface NbDialogController {\n open(): void;\n close(): void;\n}\n\nexport const NB_DIALOG = new InjectionToken<NbDialogController>('NB_DIALOG');\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n PLATFORM_ID,\n inject,\n viewChild,\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\nimport { nbClass } from '../core/class';\nimport {\n NbBorderCapability,\n NbRadiusCapability,\n NbShadowCapability,\n NbToneCapability,\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from '../core/capabilities';\nimport { NB_DIALOG, type NbDialogController } from './dialog.types';\n\n@Component({\n selector: 'nb-dialog',\n template: `\n <dialog\n #dialogEl\n data-nb-dialog\n [class]=\"classes\"\n (click)=\"dismissOnBackdrop($event)\"\n >\n <ng-content />\n </dialog>\n `,\n providers: [\n { provide: NB_STYLE_NAMESPACE, useValue: 'dialog' },\n {\n provide: NB_STYLE_DEFAULTS,\n useValue: {\n tone: 'white',\n radius: 'sm',\n shadow: 'hard',\n border: 'default',\n } satisfies NbStyleDefaults,\n },\n { provide: NB_DIALOG, useExisting: NbDialog },\n ],\n hostDirectives: [\n { directive: NbToneCapability, inputs: ['tone'] },\n { directive: NbRadiusCapability, inputs: ['radius'] },\n { directive: NbShadowCapability, inputs: ['shadow'] },\n { directive: NbBorderCapability, inputs: ['border'] },\n ],\n host: { '[attr.data-slot]': '\"dialog\"' },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbDialog implements NbDialogController {\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n private readonly dialogEl =\n viewChild.required<ElementRef<HTMLDialogElement>>('dialogEl');\n\n protected readonly classes = nbClass(\n 'w-[calc(100vw-2rem)] max-w-2xl',\n 'nb-tone',\n 'm-auto p-0 max-h-[90vh] overflow-x-hidden',\n 'open:flex open:flex-col'\n );\n\n open(): void {\n if (this.isBrowser) {\n this.dialogEl().nativeElement.showModal();\n }\n }\n\n close(): void {\n if (this.isBrowser) {\n this.dialogEl().nativeElement.close();\n }\n }\n\n protected dismissOnBackdrop(event: MouseEvent): void {\n if (event.target === this.dialogEl().nativeElement) {\n this.close();\n }\n }\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[nbDialogTitle]',\n host: {\n '[attr.data-slot]': '\"dialog-title\"',\n },\n})\nexport class NbDialogTitle {}\n","import { Directive } from '@angular/core';\n\nimport { nbClass } from '../core/class';\n\n@Directive({\n selector: '[nbDialogDescription]',\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"dialog-description\"',\n },\n})\nexport class NbDialogDescription {\n protected readonly classes = nbClass(\n '[--nb-dialog-description-fg:#4b5563]',\n 'text-(--nb-dialog-description-fg)'\n );\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { nbClass } from '../core/class';\n\n@Component({\n selector: 'nb-dialog-content',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"dialog-content\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbDialogContent {\n protected readonly classes = nbClass(\n '[--nb-dialog-content-bg:transparent]',\n 'bg-(--nb-dialog-content-bg)'\n );\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { nbClass } from '../core/class';\n\n@Component({\n selector: 'nb-dialog-actions',\n template: `<ng-content />`,\n host: {\n '[class]': 'classes',\n '[attr.data-slot]': '\"dialog-actions\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbDialogActions {\n protected readonly classes = nbClass(\n '[--nb-dialog-actions-bg:transparent]',\n 'bg-(--nb-dialog-actions-bg)'\n );\n}\n","import { Directive, inject } from '@angular/core';\n\nimport { NB_DIALOG } from './dialog.types';\n\n@Directive({\n selector: '[nbDialogClose]',\n host: { '(click)': 'controller.close()' },\n})\nexport class NbDialogClose {\n protected readonly controller = inject(NB_DIALOG);\n}\n","import {\n Directive,\n computed,\n input,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport {\n NbRadiusCapability,\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from '../core/capabilities';\n\nexport type NbStatusDotState = 'online' | 'offline' | 'live';\n\nexport type NbStatusDotSize = 'xs' | 'sm' | 'md' | 'lg';\n\nconst STATUS_DOT_SIZE_MAP: Record<NbStatusDotSize, string> = {\n xs: '8px',\n sm: '10px',\n md: '12px',\n lg: '16px',\n};\n\n@Directive({\n selector: 'span[nbStatusDot]',\n providers: [\n { provide: NB_STYLE_NAMESPACE, useValue: 'status-dot' },\n {\n provide: NB_STYLE_DEFAULTS,\n useValue: { radius: 'md' } satisfies NbStyleDefaults,\n },\n ],\n hostDirectives: [\n { directive: NbRadiusCapability, inputs: ['radius'] },\n ],\n host: {\n '[class]': 'classes()',\n '[style.--nb-status-dot-size]': 'sizeVar()',\n '[attr.role]': '\"img\"',\n '[attr.aria-label]': 'ariaLabel()',\n '[attr.data-state]': 'state()',\n '[attr.data-size]': 'size()',\n '[attr.data-nb-status-dot]': '\"\"',\n },\n})\nexport class NbStatusDot {\n readonly state = input<NbStatusDotState>('online');\n readonly size = input<NbStatusDotSize>('md');\n\n protected readonly classes = computed(() =>\n nbClass(\n 'inline-block shrink-0 rounded-full border-2 border-(--nb-border)',\n 'w-(--nb-status-dot-size) h-(--nb-status-dot-size)',\n this.stateClass()\n )\n );\n\n protected readonly ariaLabel = computed(() => `Status: ${this.state()}`);\n\n protected readonly sizeVar = computed(() =>\n STATUS_DOT_SIZE_MAP[this.size()]\n );\n\n private stateClass(): string {\n const map: Record<NbStatusDotState, string> = {\n online: 'bg-(--nb-success)',\n offline: 'bg-(--nb-secondary-background)',\n live: 'bg-(--nb-danger) animate-pulse',\n };\n return map[this.state()];\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n computed,\n input,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport {\n NbBorderCapability,\n NbRadiusCapability,\n NbShadowCapability,\n NbToneCapability,\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from '../core/capabilities';\nimport { NbIcon, type NbIconSize } from '../icon';\nimport { nbRadiusValue, type NbRadius } from '../tokens/radius';\nimport { nbShadowValue, type NbShadow } from '../tokens/shadow';\nimport { nbSpacingValue, type NbSpacing } from '../tokens/spacing';\nimport type { NbToneToken } from '../tokens/tone';\nimport type { NbTextTracking } from '../tokens/typography';\nimport type { NbTextTransform } from '../text';\n\nexport type NbChipTone = NbToneToken;\nexport type NbChipRadius = NbRadius;\nexport type NbChipShadow = NbShadow;\n// Token scale mirrors the layout directives for API consistency, but values\n// stay chip-specific and asymmetric (horizontal > vertical) because a chip is\n// an inline pill, not a container — uniform container padding would make it a\n// box. Padding therefore stays primitive-local rather than using the shared\n// padding capability.\nexport type NbChipPadding = 'none' | 'sm' | 'md' | 'lg' | 'xl';\n\nconst paddingMap: Record<NbChipPadding, string> = {\n none: 'px-0 py-0',\n sm: 'px-2 py-0.5',\n md: 'px-2.5 py-0.5',\n lg: 'px-4 py-2',\n xl: 'px-5 py-2.5',\n};\n\n@Component({\n selector: 'span[nbChip]',\n imports: [NbIcon],\n providers: [\n { provide: NB_STYLE_NAMESPACE, useValue: 'chip' },\n {\n provide: NB_STYLE_DEFAULTS,\n useValue: {\n tone: 'default',\n radius: 'none',\n shadow: 'sm',\n border: 'default',\n } satisfies NbStyleDefaults,\n },\n ],\n hostDirectives: [\n { directive: NbToneCapability, inputs: ['tone'] },\n { directive: NbRadiusCapability, inputs: ['radius'] },\n { directive: NbShadowCapability, inputs: ['shadow'] },\n { directive: NbBorderCapability, inputs: ['border'] },\n ],\n template: `\n @if (icon()) {\n <span nbIcon [src]=\"icon()!\" [size]=\"iconSize()\" decorative></span>\n }\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n '[attr.data-padding]': 'padding()',\n '[attr.data-nb-chip]': '\"\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbChip {\n readonly padding = input<NbChipPadding>('md');\n // Optional leading icon, given as an SVG/image URL. Rendered through nbIcon\n // in mask mode so it tints to the chip's foreground color. For full-color\n // or labeled icons, compose an `nbIcon` (or any element) as projected\n // content instead — the leading slot is only used when `icon` is set.\n readonly icon = input<string>();\n readonly iconSize = input<NbIconSize>('sm');\n\n protected readonly classes = computed(() =>\n nbClass(\n 'inline-flex items-center gap-1.5',\n 'text-xs font-bold',\n paddingMap[this.padding()],\n '[&_svg]:size-[var(--nb-chip-icon-size,0.75rem)] [&_svg]:shrink-0'\n )\n );\n}\n\nexport type NbChipGroupDirection = 'horizontal' | 'vertical';\nexport type NbChipGroupAlign = 'start' | 'center' | 'end' | 'stretch';\n\nconst chipGroupAlignMap: Record<NbChipGroupAlign, string> = {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n stretch: 'items-stretch',\n};\n\nconst chipGroupTrackingMap: Record<NbTextTracking, string | null> = {\n tight: '-0.025em',\n normal: null,\n wide: '0.025em',\n wider: '0.05em',\n};\n\n/**\n * Layout + shared style context for a set of chips. Owns the row/column layout\n * (direction, gap, align) and broadcasts chip-level styling — radius, shadow,\n * text transform, tracking — to every child `nbChip` through CSS variables and\n * inherited text properties, so chips don't repeat the same inputs. Individual\n * `nbChip` inputs still override the group (explicit input beats context token).\n */\n@Directive({\n selector: '[nbChipGroup]',\n host: {\n '[class]': 'classes()',\n '[style.gap]': 'gapValue()',\n '[style.--nb-chip-radius]': 'chipRadiusValue()',\n '[style.--nb-chip-shadow]': 'chipShadowValue()',\n '[style.text-transform]': 'transformValue()',\n '[style.letter-spacing]': 'trackingValue()',\n '[attr.data-nb-chip-group]': '\"\"',\n },\n})\nexport class NbChipGroup {\n readonly direction = input<NbChipGroupDirection>('horizontal');\n readonly gap = input<NbSpacing>('sm');\n readonly align = input<NbChipGroupAlign>('stretch');\n readonly radius = input<NbRadius | undefined>(undefined);\n readonly shadow = input<NbShadow | undefined>(undefined);\n readonly transform = input<NbTextTransform>('none');\n readonly tracking = input<NbTextTracking>('normal');\n\n protected readonly classes = computed(() =>\n nbClass(\n 'flex min-w-0',\n this.direction() === 'vertical' ? 'flex-col' : 'flex-wrap',\n chipGroupAlignMap[this.align()]\n )\n );\n\n protected readonly gapValue = computed(() => nbSpacingValue(this.gap()));\n\n protected readonly chipRadiusValue = computed(() => {\n const radius = this.radius();\n return radius ? nbRadiusValue(radius) : null;\n });\n\n protected readonly chipShadowValue = computed(() => {\n const shadow = this.shadow();\n return shadow ? nbShadowValue(shadow) : null;\n });\n\n protected readonly transformValue = computed(() => {\n const transform = this.transform();\n return transform === 'none' ? null : transform;\n });\n\n protected readonly trackingValue = computed(\n () => chipGroupTrackingMap[this.tracking()],\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n} from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport {\n NbBorderCapability,\n NbRadiusCapability,\n NbShadowCapability,\n NbToneCapability,\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from '../core/capabilities';\nimport { NbIcon, type NbIconSize } from '../icon';\n\nexport type NbIconButtonShape = 'square' | 'circle';\nexport type NbIconButtonSize = 'sm' | 'md' | 'lg' | 'xl';\n\n// Each size sets the square touch target plus a matching glyph size. The glyph\n// size feeds both the projected `<svg>` (via `[&_svg]:size-*`) and the internal\n// `nbIcon` (via `iconSize`) so the two authoring styles render identically.\nconst sizeMap: Record<NbIconButtonSize, string> = {\n sm: 'size-8 [&_svg]:size-4',\n md: 'size-10 [&_svg]:size-5',\n lg: 'size-12 [&_svg]:size-6',\n xl: 'size-14 [&_svg]:size-8',\n};\n\nconst iconSizeMap: Record<NbIconButtonSize, NbIconSize> = {\n sm: 'sm',\n md: 'md',\n lg: 'lg',\n xl: 'xl',\n};\n\n@Component({\n selector: 'button[nbIconButton]',\n imports: [NbIcon],\n providers: [\n { provide: NB_STYLE_NAMESPACE, useValue: 'icon-button' },\n {\n provide: NB_STYLE_DEFAULTS,\n useValue: {\n tone: 'default',\n radius: 'none',\n shadow: 'default',\n border: 'default',\n } satisfies NbStyleDefaults,\n },\n ],\n hostDirectives: [\n { directive: NbToneCapability, inputs: ['tone'] },\n { directive: NbRadiusCapability, inputs: ['radius'] },\n { directive: NbShadowCapability, inputs: ['shadow'] },\n { directive: NbBorderCapability, inputs: ['border'] },\n ],\n template: `\n @if (icon(); as iconSrc) {\n <span nbIcon [src]=\"iconSrc\" [size]=\"iconSize()\" decorative></span>\n }\n <ng-content />\n `,\n host: {\n '[class]': 'classes()',\n '[attr.data-shape]': 'shape()',\n '[attr.data-nb-icon-button]': '\"\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbIconButton {\n readonly shape = input<NbIconButtonShape>('square');\n readonly size = input<NbIconButtonSize>('md');\n // Optional icon, given as an SVG/image URL. Rendered through nbIcon in mask\n // mode so it tints to the button's foreground color and sizes to match the\n // button. For full-color or custom icons, project an `<svg>`/`nbIcon` as\n // content instead — the internal slot is only used when `icon` is set.\n readonly icon = input<string>();\n\n protected readonly iconSize = computed<NbIconSize>(() => iconSizeMap[this.size()]);\n\n protected readonly classes = computed(() =>\n nbClass(\n 'inline-flex items-center justify-center shrink-0 select-none',\n 'hover:translate-x-(--nb-shadow-offset-x) hover:translate-y-(--nb-shadow-offset-y) hover:shadow-none',\n 'transition-all duration-150 ease-out',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-(--nb-border) focus-visible:ring-offset-2',\n 'disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none',\n sizeMap[this.size()],\n this.shape() === 'circle' && 'rounded-full',\n )\n );\n}\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\n\nexport type NbProgressTone = 'default' | 'success' | 'warning' | 'danger' | 'accent';\n\n@Component({\n selector: 'nb-progress',\n template: `\n <div\n role=\"progressbar\"\n [attr.aria-valuenow]=\"clampedValue()\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuemax]=\"max()\"\n [attr.aria-label]=\"label() || 'Progress'\"\n class=\"relative h-full w-full overflow-hidden\"\n >\n <div\n class=\"h-full transition-all duration-300 ease-out\"\n [class]=\"fillClass()\"\n [style.width.%]=\"percentage()\"\n ></div>\n </div>\n `,\n host: {\n '[class]': 'hostClass()',\n '[attr.data-tone]': 'tone()',\n '[attr.data-nb-progress]': '\"\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbProgress {\n readonly value = input<number>(0);\n readonly max = input<number>(100);\n readonly tone = input<NbProgressTone>('default');\n readonly label = input<string>('');\n\n protected readonly clampedValue = computed(() =>\n Math.min(Math.max(this.value(), 0), this.max())\n );\n\n protected readonly percentage = computed(() =>\n (this.clampedValue() / this.max()) * 100\n );\n\n protected readonly hostClass = computed(() =>\n nbClass(\n 'block h-3 w-full overflow-hidden',\n 'border-2 border-(--nb-border)',\n 'bg-(--nb-secondary-background)',\n 'shadow-[var(--nb-shadow-offset-x)_var(--nb-shadow-offset-y)_0_var(--nb-shadow)]'\n )\n );\n\n protected readonly fillClass = computed(() => {\n const map: Record<NbProgressTone, string> = {\n default: 'bg-(--nb-main)',\n success: 'bg-(--nb-success)',\n warning: 'bg-(--nb-warning)',\n danger: 'bg-(--nb-danger)',\n accent: 'bg-(--nb-accent)',\n };\n return map[this.tone()];\n });\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n selector: 'nb-avatar-group',\n template: `\n <ng-content />\n @if (overflow() > 0) {\n <span\n class=\"relative inline-flex h-10 w-10 shrink-0 items-center justify-center\n rounded-full border-2 border-(--nb-border) bg-(--nb-surface)\n font-bold text-xs shadow-[2px_2px_0_0_var(--nb-shadow)]\"\n [attr.aria-label]=\"overflow() + ' more'\"\n >+{{ overflow() }}</span>\n }\n `,\n host: {\n '[class]': '\"flex items-center [&>*]:-ml-3 [&>*:first-child]:ml-0\"',\n '[attr.data-nb-avatar-group]': '\"\"',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbAvatarGroup {\n readonly overflow = input<number>(0);\n}\n","import type { NbStickerShape } from './sticker.types';\n\nexport interface NbStickerPathConfig {\n viewBox: string;\n path: string;\n shadowTransform: string;\n}\n\nexport const NB_STICKER_PATHS: Record<NbStickerShape, NbStickerPathConfig> = {\n burst: {\n viewBox: '0 0 160 160',\n shadowTransform: 'translate(7 7)',\n path: `\n M80 12\n L96 35\n L125 23\n L121 52\n L149 62\n L128 80\n L148 103\n L117 104\n L119 139\n L92 122\n L76 151\n L62 121\n L31 137\n L36 105\n L10 101\n L32 79\n L14 58\n L45 50\n L42 22\n L68 38\n Z\n `,\n },\n 'burst-wide': {\n viewBox: '0 0 220 160',\n shadowTransform: 'translate(8 8)',\n path: `\n M108 10\n L126 38\n L164 20\n L162 50\n L211 58\n L179 78\n L211 101\n L169 105\n L172 143\n L135 126\n L112 153\n L92 126\n L53 145\n L57 108\n L12 103\n L43 81\n L12 59\n L57 50\n L53 21\n L91 39\n Z\n `,\n },\n star: {\n viewBox: '65 105 858 780',\n shadowTransform: 'translate(34 38)',\n path: `\n M296 178\n L512 302\n L724 182\n L690 392\n L884 510\n L680 610\n L670 866\n L482 692\n L250 788\n L304 564\n L120 468\n L314 386\n Z\n `,\n },\n splat: {\n viewBox: '0 0 108 108',\n shadowTransform: 'translate(6 6)',\n path: 'M50 5 L61 25 L84 15 L77 39 L97 50 L77 61 L86 86 L61 75 L50 98 L39 76 L15 86 L23 62 L3 50 L24 39 L15 14 L39 25 Z',\n },\n};\n","import {\n ChangeDetectionStrategy,\n Component,\n booleanAttribute,\n computed,\n input,\n numberAttribute,\n} from '@angular/core';\n\nimport { NB_STICKER_PATHS } from './sticker.paths';\nimport type { NbStickerShape, NbStickerTone } from './sticker.types';\nimport { nbToneTokens } from '../tokens/tone';\n\ninterface NbStickerToneTokens {\n fill: string;\n ink: string;\n shadow: string;\n}\n\n@Component({\n selector: 'nb-sticker',\n template: `\n <span class=\"nb-sticker__root\">\n <svg\n class=\"nb-sticker__svg\"\n [attr.viewBox]=\"config().viewBox\"\n preserveAspectRatio=\"none\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <path\n class=\"nb-sticker__shadow\"\n [attr.d]=\"config().path\"\n [attr.transform]=\"config().shadowTransform\"\n />\n <path class=\"nb-sticker__shape\" [attr.d]=\"config().path\" />\n </svg>\n\n <span class=\"nb-sticker__content\">\n <ng-content />\n </span>\n </span>\n `,\n host: {\n class: 'nb-sticker',\n '[attr.data-shape]': 'shape()',\n '[attr.data-tone]': 'tone()',\n '[attr.data-nb-sticker]': '\"\"',\n '[attr.aria-hidden]': 'decorative() ? \"true\" : null',\n '[attr.role]': 'decorative() ? null : \"img\"',\n '[style.--nb-sticker-fill]': 'toneTokens().fill',\n '[style.--nb-sticker-ink]': 'toneTokens().ink',\n '[style.--nb-sticker-shadow]': 'toneTokens().shadow',\n '[style.--nb-sticker-rotate]': 'rotateStyle()',\n '[style.--nb-sticker-scale]': 'size()',\n },\n styles: [\n `\n :host {\n --nb-sticker-min-block-size: 8.75rem;\n --nb-sticker-padding-inline: 3.5rem;\n --nb-sticker-padding-block: 3rem;\n --nb-sticker-fill: var(--nb-mint, #9af7b5);\n --nb-sticker-ink: var(--nb-black, #050505);\n --nb-sticker-shadow: var(--nb-shadow, var(--nb-black, #050505));\n --nb-sticker-stroke-width: 5px;\n --nb-sticker-rotate: -6deg;\n --nb-sticker-font-size: 1.5rem;\n\n display: inline-block;\n vertical-align: middle;\n }\n\n :host([data-shape='burst-wide']) {\n --nb-sticker-padding-inline: 4rem;\n --nb-sticker-padding-block: 3rem;\n --nb-sticker-font-size: 1.5rem;\n }\n\n :host([data-shape='star']) {\n --nb-sticker-min-block-size: 7.5rem;\n --nb-sticker-padding-inline: 2.5rem;\n --nb-sticker-padding-block: 2.5rem;\n --nb-sticker-face-size: 3.5rem;\n --nb-sticker-rotate: 0deg;\n --nb-sticker-stroke-width: 5px;\n }\n\n :host([data-shape='splat']) {\n --nb-sticker-size: 6rem;\n --nb-sticker-shadow-x: 6px;\n --nb-sticker-shadow-y: 6px;\n --nb-sticker-stroke-width: 4px;\n --nb-sticker-rotate: -10deg;\n }\n\n .nb-sticker__root {\n position: relative;\n isolation: isolate;\n\n display: inline-grid;\n place-items: center;\n\n box-sizing: border-box;\n min-block-size: var(--nb-sticker-min-block-size);\n inline-size: max-content;\n block-size: max-content;\n\n transform: rotate(var(--nb-sticker-rotate)) scale(var(--nb-sticker-scale, 1));\n transform-origin: center;\n }\n\n :host([data-shape='splat']) .nb-sticker__root {\n inline-size: var(--nb-sticker-size);\n block-size: var(--nb-sticker-size);\n min-block-size: var(--nb-sticker-size);\n }\n\n .nb-sticker__svg {\n position: absolute;\n inset: 0;\n z-index: -1;\n\n inline-size: 100%;\n block-size: 100%;\n\n overflow: visible;\n }\n\n .nb-sticker__shadow {\n fill: var(--nb-sticker-shadow);\n }\n\n :host([data-shape='splat']) .nb-sticker__shadow {\n transform: translate(\n var(--nb-sticker-shadow-x),\n var(--nb-sticker-shadow-y)\n );\n }\n\n .nb-sticker__shape {\n fill: var(--nb-sticker-fill);\n stroke: var(--nb-sticker-ink);\n stroke-width: var(--nb-sticker-stroke-width);\n stroke-linejoin: round;\n stroke-linecap: round;\n vector-effect: non-scaling-stroke;\n }\n\n .nb-sticker__content {\n color: var(--nb-sticker-ink);\n\n display: block;\n max-width: 300px;\n padding-inline: var(--nb-sticker-padding-inline);\n padding-block: var(--nb-sticker-padding-block);\n overflow-wrap: break-word;\n\n font-family: var(--nb-font-display, system-ui, sans-serif);\n font-size: var(--nb-sticker-font-size);\n font-weight: 950;\n line-height: 0.9;\n letter-spacing: 0;\n text-align: center;\n text-transform: uppercase;\n\n pointer-events: none;\n user-select: none;\n }\n\n :host([data-shape='splat']) .nb-sticker__content {\n display: none;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbSticker {\n readonly shape = input<NbStickerShape>('burst');\n readonly tone = input<NbStickerTone>('mint');\n readonly decorative = input<boolean, unknown>(false, { transform: booleanAttribute });\n readonly rotate = input<number, unknown>(0, { transform: numberAttribute });\n readonly size = input<number, unknown>(1, { transform: numberAttribute });\n\n protected readonly config = computed(() => NB_STICKER_PATHS[this.shape()]);\n protected readonly toneTokens = computed(\n (): NbStickerToneTokens => {\n const tokens = nbToneTokens(this.tone());\n\n return {\n fill: tokens.bg,\n ink: tokens.fg,\n shadow: 'var(--nb-shadow, #050505)',\n };\n }\n );\n protected readonly rotateStyle = computed(() => `${this.rotate()}deg`);\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'nb-sticker-face',\n template: `\n <svg\n class=\"nb-sticker-face__svg\"\n viewBox=\"13 5 320 220\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <ellipse class=\"nb-sticker-face__eye\" cx=\"126\" cy=\"64\" rx=\"20\" ry=\"35\" />\n <ellipse class=\"nb-sticker-face__eye\" cx=\"214\" cy=\"64\" rx=\"20\" ry=\"35\" />\n <path\n class=\"nb-sticker-face__smile\"\n d=\"M78 132 C116 202 226 206 268 150\"\n />\n </svg>\n `,\n host: {\n class: 'nb-sticker-face',\n 'aria-hidden': 'true',\n '[attr.data-nb-sticker-face]': '\"\"',\n },\n styles: [\n `\n :host {\n --nb-sticker-face-ink: var(--nb-sticker-ink, #050505);\n\n display: block;\n width: var(--nb-sticker-face-size, 5.55rem);\n height: calc(var(--nb-sticker-face-size, 5.55rem) * 0.64);\n }\n\n .nb-sticker-face__svg {\n display: block;\n width: 100%;\n height: 100%;\n overflow: visible;\n }\n\n .nb-sticker-face__eye {\n fill: var(--nb-sticker-face-ink);\n }\n\n .nb-sticker-face__smile {\n fill: none;\n stroke: var(--nb-sticker-face-ink);\n stroke-width: 36;\n stroke-linecap: round;\n }\n `,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbStickerFace {}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n numberAttribute,\n} from '@angular/core';\n\nexport type NbHalftoneShape = 'square' | 'circle' | 'rectangle';\n\nconst DEFAULT_SHAPE: NbHalftoneShape = 'square';\nconst DEFAULT_ROWS = 7;\nconst DEFAULT_COLUMNS = 7;\nconst DEFAULT_DOT_SIZE = 6;\nconst DEFAULT_DOT_GAP = 5;\nconst RECTANGLE_DEFAULT_ROWS = 3;\nconst RECTANGLE_DEFAULT_COLUMNS = 13;\n\n@Component({\n selector: 'nb-halftone, [nbHalftone]',\n template: `\n @if (shape() !== 'rectangle') {\n <svg [attr.width]=\"svgW()\" [attr.height]=\"svgH()\" aria-hidden=\"true\">\n @for (dot of dots(); track $index) {\n <circle [attr.cx]=\"dot.cx\" [attr.cy]=\"dot.cy\" [attr.r]=\"dotR()\" [attr.fill]=\"resolvedColor()\" />\n }\n </svg>\n }\n `,\n styles: `\n :host {\n pointer-events: none;\n }\n\n :host(.nb-halftone--rectangle) {\n --nb-halftone-color: var(--nb-border);\n --nb-halftone-dot-size: 8px;\n --nb-halftone-gap-x: 28px;\n --nb-halftone-gap-y: 27px;\n\n display: block;\n overflow: hidden;\n width: calc(var(--nb-halftone-columns) * var(--nb-halftone-gap-x));\n height: calc(var(--nb-halftone-rows) * var(--nb-halftone-gap-y));\n background-image: radial-gradient(\n circle at center,\n var(--nb-halftone-color) 0 calc(var(--nb-halftone-dot-size) / 2),\n transparent calc((var(--nb-halftone-dot-size) / 2) + 1px)\n );\n background-size: var(--nb-halftone-gap-x) var(--nb-halftone-gap-y);\n background-repeat: repeat;\n background-position: 0 0;\n }\n\n :host(.nb-halftone--circle) {\n border-radius: 9999px;\n overflow: hidden;\n }\n `,\n host: {\n 'class': 'nb-halftone',\n '[class.pointer-events-none]': 'true',\n '[class.nb-halftone--square]': 'shape() === \"square\"',\n '[class.nb-halftone--circle]': 'shape() === \"circle\"',\n '[class.nb-halftone--rectangle]': 'shape() === \"rectangle\"',\n '[attr.aria-hidden]': '\"true\"',\n '[attr.data-shape]': 'shape()',\n '[attr.data-nb-halftone]': '\"\"',\n '[style.--nb-halftone-color]': 'color()',\n '[style.--nb-halftone-dot-size.px]': 'size()',\n '[style.--nb-halftone-gap-x.px]': 'resolvedGapXInput()',\n '[style.--nb-halftone-gap-y.px]': 'resolvedGapYInput()',\n '[style.--nb-halftone-rows]': 'resolvedRows()',\n '[style.--nb-halftone-columns]': 'resolvedColumns()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbHalftone {\n readonly shape = input<NbHalftoneShape>(DEFAULT_SHAPE);\n readonly color = input<string | null>(null);\n readonly size = input<number | null, unknown>(null, { transform: numberAttribute });\n readonly gap = input<number | null, unknown>(null, { transform: numberAttribute });\n readonly gapX = input<number | null, unknown>(null, { transform: numberAttribute });\n readonly gapY = input<number | null, unknown>(null, { transform: numberAttribute });\n readonly rows = input<number | null, unknown>(null, { transform: numberAttribute });\n readonly columns = input<number | null, unknown>(null, { transform: numberAttribute });\n\n protected readonly resolvedColor = computed(() => this.color() ?? 'var(--nb-border)');\n protected readonly resolvedSize = computed(() => this.size() ?? DEFAULT_DOT_SIZE);\n protected readonly resolvedGap = computed(() => this.gap() ?? DEFAULT_DOT_GAP);\n protected readonly resolvedGapXInput = computed(() => this.gapX() ?? this.gap());\n protected readonly resolvedGapYInput = computed(() => this.gapY() ?? this.gap());\n protected readonly resolvedRows = computed(\n () =>\n this.rows() ??\n (this.shape() === 'rectangle' ? RECTANGLE_DEFAULT_ROWS : DEFAULT_ROWS)\n );\n protected readonly resolvedColumns = computed(\n () =>\n this.columns() ??\n (this.shape() === 'rectangle' ? RECTANGLE_DEFAULT_COLUMNS : DEFAULT_COLUMNS)\n );\n\n protected readonly svgW = computed(\n () =>\n this.resolvedColumns() * (this.resolvedSize() + this.resolvedGap()) -\n this.resolvedGap()\n );\n protected readonly svgH = computed(\n () =>\n this.resolvedRows() * (this.resolvedSize() + this.resolvedGap()) -\n this.resolvedGap()\n );\n\n protected readonly dotR = computed(() => this.resolvedSize() / 2);\n\n protected readonly dots = computed(() => {\n const s = this.resolvedSize();\n const g = this.resolvedGap();\n const rows = this.resolvedRows();\n const cols = this.resolvedColumns();\n const total = s + g;\n const r = s / 2;\n const result: { cx: number; cy: number }[] = [];\n\n for (let row = 0; row < rows; row++) {\n for (let col = 0; col < cols; col++) {\n result.push({ cx: col * total + r, cy: row * total + r });\n }\n }\n\n return result;\n });\n}\n","import { Directive, booleanAttribute, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport {\n NbBorderCapability,\n NbPaddingCapability,\n NbRadiusCapability,\n NbShadowCapability,\n NbToneCapability,\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from '../core/capabilities';\nimport type { NbBorderStrength } from '../tokens/border';\nimport type { NbPadding } from '../tokens/padding';\nimport type { NbRadius } from '../tokens/radius';\nimport type { NbShadow } from '../tokens/shadow';\nimport type { NbToneToken } from '../tokens/tone';\nimport { NbTypography } from '../typography';\n\n// Public type aliases — kept for API stability. They now point at the shared\n// token contracts so a token means the same thing across every primitive.\nexport type NbSurfaceTone = NbToneToken;\nexport type NbSurfaceRadius = NbRadius;\nexport type NbSurfaceBorder = NbBorderStrength;\nexport type NbSurfaceShadow = NbShadow;\nexport type NbSurfacePadding = NbPadding;\n\n// Surface-specific anatomy (not shared tokens).\nexport type NbSurfaceSize = 'auto' | 'sm' | 'md' | 'lg' | 'xl';\nexport type NbSurfaceLayout = 'block' | 'center' | 'row' | 'stack';\nexport type NbSurfaceEdge = 'none' | 'top' | 'bottom';\n\n@Directive({\n selector: '[nbSurface]',\n providers: [\n { provide: NB_STYLE_NAMESPACE, useValue: 'surface' },\n {\n provide: NB_STYLE_DEFAULTS,\n useValue: {\n tone: 'default',\n radius: 'md',\n shadow: 'default',\n border: 'default',\n padding: 'none',\n } satisfies NbStyleDefaults,\n },\n ],\n hostDirectives: [\n { directive: NbToneCapability, inputs: ['tone'] },\n { directive: NbRadiusCapability, inputs: ['radius'] },\n { directive: NbShadowCapability, inputs: ['shadow'] },\n { directive: NbBorderCapability, inputs: ['border'] },\n { directive: NbPaddingCapability, inputs: ['padding'] },\n // Typography context — exposes nbTypography's `font` input as `typography`.\n { directive: NbTypography, inputs: ['font: typography'] },\n ],\n host: {\n '[class]': 'classes()',\n '[attr.data-nb-surface]': '\"\"',\n '[attr.data-size]': 'size()',\n '[attr.data-layout]': 'layout()',\n '[attr.data-padding]': 'padding()',\n '[attr.data-edge]': 'edge()',\n },\n})\nexport class NbSurface {\n readonly size = input<NbSurfaceSize>('auto');\n readonly layout = input<NbSurfaceLayout>('block');\n readonly padding = input<NbSurfacePadding>('none');\n readonly edge = input<NbSurfaceEdge>('none');\n readonly clip = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n\n // Tone, radius, shadow, and border-width are written as `--nb-surface-*`\n // variables by the composed capabilities; here we only *consume* them.\n protected readonly classes = computed(() =>\n nbClass(\n 'relative',\n this.clip() && 'overflow-hidden',\n this.sizeClass(),\n this.layoutClass(),\n this.edgeClass()\n )\n );\n\n private sizeClass(): string {\n const map: Record<NbSurfaceSize, string> = {\n auto: '',\n sm: 'size-8 shrink-0',\n md: 'size-10 shrink-0',\n lg: 'size-11 shrink-0',\n xl: 'size-12 shrink-0',\n };\n\n return map[this.size()];\n }\n\n private layoutClass(): string {\n const map: Record<NbSurfaceLayout, string> = {\n block: '',\n center: 'inline-flex items-center justify-center',\n row: 'flex items-center',\n stack: 'flex flex-col',\n };\n\n return map[this.layout()];\n }\n\n private edgeClass(): string {\n const map: Record<NbSurfaceEdge, string> = {\n none: '',\n top: '[--nb-surface-edge-width:2px] [--nb-surface-edge-color:var(--nb-border)] border-t-(length:--nb-surface-edge-width) border-t-(--nb-surface-edge-color)',\n bottom:\n '[--nb-surface-edge-width:2px] [--nb-surface-edge-color:var(--nb-border)] border-b-(length:--nb-surface-edge-width) border-b-(--nb-surface-edge-color)',\n };\n\n return map[this.edge()];\n }\n}\n","import { Directive, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport {\n NbGapCapability,\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from '../core/capabilities';\nimport type { NbSpacing } from '../tokens/spacing';\n\nexport type NbStackGap = NbSpacing;\n\nexport type NbStackAlign = 'stretch' | 'start' | 'center' | 'end';\n\nexport type NbStackJustify = 'start' | 'center' | 'end' | 'between';\n\nexport type NbStackSeparator = 'none' | 'solid' | 'dashed' | 'thick';\n\n@Directive({\n selector: '[nbStack]',\n providers: [\n { provide: NB_STYLE_NAMESPACE, useValue: 'stack' },\n {\n provide: NB_STYLE_DEFAULTS,\n useValue: { gap: 'md' } satisfies NbStyleDefaults,\n },\n ],\n hostDirectives: [{ directive: NbGapCapability, inputs: ['gap'] }],\n host: {\n '[class]': 'classes()',\n '[attr.data-nb-stack]': '\"\"',\n '[attr.data-align]': 'align()',\n '[attr.data-justify]': 'justify()',\n '[attr.data-separator]': 'separator()',\n },\n})\nexport class NbStack {\n readonly align = input<NbStackAlign>('stretch');\n readonly justify = input<NbStackJustify>('start');\n readonly separator = input<NbStackSeparator>('none');\n\n protected readonly classes = computed(() =>\n nbClass(\n 'flex min-w-0 flex-col',\n this.alignClass(),\n this.justifyClass(),\n this.separatorClass()\n )\n );\n\n private alignClass(): string {\n const map: Record<NbStackAlign, string> = {\n stretch: 'items-stretch',\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n };\n\n return map[this.align()];\n }\n\n private justifyClass(): string {\n const map: Record<NbStackJustify, string> = {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n };\n\n return map[this.justify()];\n }\n\n private separatorClass(): string {\n const map: Record<NbStackSeparator, string> = {\n none: '',\n solid: nbClass(\n '[&>*+*]:border-t-(length:--nb-border-width)',\n '[&>*+*]:border-solid',\n '[&>*+*]:[border-top-color:var(--nb-border)]',\n '[&>*+*]:pt-[var(--nb-stack-gap)]'\n ),\n dashed: nbClass(\n '[&>*+*]:border-t-(length:--nb-border-width)',\n '[&>*+*]:border-dashed',\n '[&>*+*]:[border-top-color:var(--nb-border)]',\n '[&>*+*]:pt-[var(--nb-stack-gap)]'\n ),\n thick: nbClass(\n '[&>*+*]:border-t-4',\n '[&>*+*]:border-solid',\n '[&>*+*]:[border-top-color:var(--nb-border)]',\n '[&>*+*]:pt-[var(--nb-stack-gap)]'\n ),\n };\n\n return map[this.separator()];\n }\n}\n","import { Directive, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport {\n NbGapCapability,\n NbPaddingCapability,\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from '../core/capabilities';\nimport type { NbPadding } from '../tokens/padding';\nimport type { NbSpacing } from '../tokens/spacing';\n\nexport type NbClusterGap = NbSpacing;\n\nexport type NbClusterPadding = NbPadding;\n\nexport type NbClusterAlign =\n | 'start'\n | 'center'\n | 'end'\n | 'baseline'\n | 'stretch';\n\nexport type NbClusterJustify = 'start' | 'center' | 'end' | 'between';\n\nexport type NbClusterWrap = 'wrap' | 'nowrap';\n\nexport type NbClusterSeparator = 'none' | 'solid' | 'dashed' | 'thick';\n\n@Directive({\n selector: '[nbCluster]',\n providers: [\n { provide: NB_STYLE_NAMESPACE, useValue: 'cluster' },\n {\n provide: NB_STYLE_DEFAULTS,\n useValue: { gap: 'md', padding: 'none' } satisfies NbStyleDefaults,\n },\n ],\n hostDirectives: [\n { directive: NbGapCapability, inputs: ['gap'] },\n { directive: NbPaddingCapability, inputs: ['padding'] },\n ],\n host: {\n '[class]': 'classes()',\n '[attr.data-nb-cluster]': '\"\"',\n '[attr.data-align]': 'align()',\n '[attr.data-justify]': 'justify()',\n '[attr.data-wrap]': 'wrap()',\n '[attr.data-separator]': 'separator()',\n '[style.column-gap]': 'separatorColumnGapStyle()',\n },\n})\nexport class NbCluster {\n readonly align = input<NbClusterAlign>('center');\n readonly justify = input<NbClusterJustify>('start');\n readonly wrap = input<NbClusterWrap>('wrap');\n readonly separator = input<NbClusterSeparator>('none');\n\n protected readonly separatorColumnGapStyle = computed(() =>\n this.separator() === 'none' ? null : '0px',\n );\n\n protected readonly classes = computed(() =>\n nbClass(\n 'flex min-w-0',\n this.gapClass(),\n this.alignClass(),\n this.justifyClass(),\n this.wrapClass(),\n this.separatorClass()\n )\n );\n\n private gapClass(): string {\n // With a separator, gap collapses on the inline axis (the separator owns\n // the inline spacing) and survives only on the block axis for wrapped rows.\n if (this.separator() !== 'none') {\n return 'gap-x-0';\n }\n\n return '';\n }\n\n private alignClass(): string {\n const map: Record<NbClusterAlign, string> = {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n baseline: 'items-baseline',\n stretch: 'items-stretch',\n };\n\n return map[this.align()];\n }\n\n private justifyClass(): string {\n const map: Record<NbClusterJustify, string> = {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n };\n\n return map[this.justify()];\n }\n\n private wrapClass(): string {\n const map: Record<NbClusterWrap, string> = {\n wrap: 'flex-wrap',\n nowrap: 'flex-nowrap',\n };\n\n return map[this.wrap()];\n }\n\n private separatorClass(): string {\n const separator = this.separator();\n if (separator === 'none') return '';\n\n return nbClass(separatorBaseClass, separatorStyleClass[separator]);\n }\n}\n\n// Written as module-level constants so Tailwind's static scanner emits the classes.\nconst separatorBaseClass = nbClass(\n '[--nb-cluster-separator-gap:calc(var(--_nb-gap-resolved)*0.5)]',\n '[--nb-cluster-separator-color:var(--nb-border)]',\n '[&>*+*]:[margin-inline-start:var(--nb-cluster-separator-gap)]',\n '[&>*+*]:[padding-inline-start:var(--nb-cluster-separator-gap)]',\n '[&>*+*]:[border-inline-start-color:var(--nb-cluster-separator-color)]'\n);\n\nconst separatorStyleClass: Record<Exclude<NbClusterSeparator, 'none'>, string> = {\n solid: nbClass(\n '[--nb-cluster-separator-thickness:2px]',\n '[&>*+*]:[border-inline-start-width:var(--nb-cluster-separator-thickness)]',\n '[&>*+*]:[border-inline-start-style:solid]'\n ),\n dashed: nbClass(\n '[--nb-cluster-separator-thickness:2px]',\n '[&>*+*]:[border-inline-start-width:var(--nb-cluster-separator-thickness)]',\n '[&>*+*]:[border-inline-start-style:dashed]'\n ),\n thick: nbClass(\n '[--nb-cluster-separator-thickness:4px]',\n '[&>*+*]:[border-inline-start-width:var(--nb-cluster-separator-thickness)]',\n '[&>*+*]:[border-inline-start-style:solid]'\n ),\n};\n","import { Directive, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport {\n NbGapCapability,\n NbPaddingCapability,\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from '../core/capabilities';\nimport type { NbPadding } from '../tokens/padding';\nimport type { NbSpacing } from '../tokens/spacing';\n\nexport type NbSplitRatio =\n | '1:1'\n | '2:1'\n | '3:1'\n | '1:2'\n | '1:3'\n | 'fill:auto'\n | 'auto:fill';\n\nexport type NbSplitGap = NbSpacing;\n\nexport type NbSplitPadding = NbPadding;\n\nexport type NbSplitCollapse = 'none' | 'sm' | 'md' | 'lg';\n\nexport type NbSplitAlign = 'start' | 'center' | 'end' | 'stretch';\n\nexport type NbSplitSeparator = 'none' | 'solid' | 'dashed' | 'thick';\n\n@Directive({\n selector: '[nbSplit]',\n providers: [\n { provide: NB_STYLE_NAMESPACE, useValue: 'split' },\n {\n provide: NB_STYLE_DEFAULTS,\n useValue: { gap: 'lg', padding: 'none' } satisfies NbStyleDefaults,\n },\n ],\n hostDirectives: [\n { directive: NbGapCapability, inputs: ['gap'] },\n { directive: NbPaddingCapability, inputs: ['padding'] },\n ],\n host: {\n '[class]': 'classes()',\n '[attr.data-nb-split]': '\"\"',\n '[attr.data-ratio]': 'ratio()',\n '[attr.data-collapse]': 'collapse()',\n '[attr.data-align]': 'align()',\n '[attr.data-separator]': 'separator()',\n },\n})\nexport class NbSplit {\n readonly ratio = input<NbSplitRatio>('1:1');\n readonly collapse = input<NbSplitCollapse>('md');\n readonly align = input<NbSplitAlign>('stretch');\n readonly separator = input<NbSplitSeparator>('none');\n\n protected readonly classes = computed(() =>\n nbClass(\n 'grid min-w-0',\n this.alignClass(),\n this.ratioClass(),\n this.collapseClass(),\n this.separatorClass()\n )\n );\n\n private alignClass(): string {\n const map: Record<NbSplitAlign, string> = {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n stretch: 'items-stretch',\n };\n\n return map[this.align()];\n }\n\n private ratioClass(): string {\n const map: Record<NbSplitRatio, string> = {\n '1:1': '[--nb-split-columns:minmax(0,1fr)_minmax(0,1fr)]',\n '2:1': '[--nb-split-columns:minmax(0,2fr)_minmax(0,1fr)]',\n '3:1': '[--nb-split-columns:minmax(0,3fr)_minmax(0,1fr)]',\n '1:2': '[--nb-split-columns:minmax(0,1fr)_minmax(0,2fr)]',\n '1:3': '[--nb-split-columns:minmax(0,1fr)_minmax(0,3fr)]',\n 'fill:auto': '[--nb-split-columns:minmax(0,1fr)_auto]',\n 'auto:fill': '[--nb-split-columns:auto_minmax(0,1fr)]',\n };\n\n return map[this.ratio()];\n }\n\n private collapseClass(): string {\n const map: Record<NbSplitCollapse, string> = {\n none: 'grid-cols-[var(--nb-split-columns)]',\n sm: 'grid-cols-1 sm:grid-cols-[var(--nb-split-columns)]',\n md: 'grid-cols-1 md:grid-cols-[var(--nb-split-columns)]',\n lg: 'grid-cols-1 lg:grid-cols-[var(--nb-split-columns)]',\n };\n\n return map[this.collapse()];\n }\n\n private separatorClass(): string {\n const separator = this.separator();\n\n if (separator === 'none') {\n return '';\n }\n\n return nbClass(\n separatorBaseClass,\n separatorStyleClass[separator],\n separatorVisibilityClass[this.collapse()]\n );\n }\n}\n\n// A `::after` pseudo-element on the first column draws the vertical line,\n// centered in the gap. These class strings are written out literally (rather\n// than assembled at runtime) so Tailwind's static scanner can emit them.\nconst separatorBaseClass = nbClass(\n '[&>*:first-child]:relative',\n '[&>*:first-child]:after:pointer-events-none',\n '[&>*:first-child]:after:absolute',\n '[&>*:first-child]:after:inset-y-0',\n '[&>*:first-child]:after:[inset-inline-end:calc(var(--_nb-gap-resolved)/-2)]',\n '[&>*:first-child]:after:[border-inline-end-color:var(--nb-border)]',\n '[&>*:first-child]:after:content-[\"\"]'\n);\n\nconst separatorStyleClass: Record<Exclude<NbSplitSeparator, 'none'>, string> = {\n solid: nbClass(\n '[&>*:first-child]:after:[border-inline-end-width:var(--nb-border-width)]',\n '[&>*:first-child]:after:border-solid'\n ),\n dashed: nbClass(\n '[&>*:first-child]:after:[border-inline-end-width:var(--nb-border-width)]',\n '[&>*:first-child]:after:border-dashed'\n ),\n thick: nbClass(\n '[&>*:first-child]:after:[border-inline-end-width:4px]',\n '[&>*:first-child]:after:border-solid'\n ),\n};\n\n// Hide the separator while the split is stacked into a single column, then\n// reveal it at the same breakpoint where the columns appear, so the line stays\n// in sync with `collapse` (and tracks Tailwind's breakpoint config).\nconst separatorVisibilityClass: Record<NbSplitCollapse, string> = {\n none: '',\n sm: '[&>*:first-child]:after:hidden sm:[&>*:first-child]:after:block',\n md: '[&>*:first-child]:after:hidden md:[&>*:first-child]:after:block',\n lg: '[&>*:first-child]:after:hidden lg:[&>*:first-child]:after:block',\n};\n","import { Directive, booleanAttribute, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport {\n NbPaddingCapability,\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from '../core/capabilities';\nimport type { NbDivider } from '../tokens/divider';\nimport type { NbPadding } from '../tokens/padding';\n\nexport type NbSectionPadding = NbPadding;\n\n// `divider` is line placement between regions — distinct from `border`\n// (outline strength) elsewhere in the library. Renamed from the former\n// `border` input so `border` means strength library-wide.\nexport type NbSectionDivider = NbDivider;\n\nexport type NbSectionDividerStyle = 'solid' | 'dashed' | 'dotted';\n\nexport type NbSectionLayout = 'default' | 'center' | 'between';\n\nexport type NbSectionAlign = 'stretch' | 'start' | 'center' | 'end';\n\n@Directive({\n selector: '[nbSection]',\n exportAs: 'nbSection',\n providers: [\n { provide: NB_STYLE_NAMESPACE, useValue: 'section' },\n {\n provide: NB_STYLE_DEFAULTS,\n useValue: { padding: 'md' } satisfies NbStyleDefaults,\n },\n ],\n hostDirectives: [{ directive: NbPaddingCapability, inputs: ['padding'] }],\n host: {\n '[class]': 'classes()',\n '[attr.data-nb-section]': '\"\"',\n '[attr.data-divider]': 'divider()',\n '[attr.data-divider-style]': 'dividerStyle()',\n '[attr.data-layout]': 'layout()',\n '[attr.data-align]': 'align()',\n '[attr.data-flush]': 'flush() ? \"\" : null',\n },\n})\nexport class NbSection {\n readonly divider = input<NbSectionDivider>('none');\n readonly dividerStyle = input<NbSectionDividerStyle>('solid');\n readonly layout = input<NbSectionLayout>('default');\n readonly align = input<NbSectionAlign>('stretch');\n readonly flush = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n\n protected readonly classes = computed(() =>\n nbClass(\n 'box-border min-w-0',\n this.layoutClass(),\n this.alignClass(),\n this.dividerClass(),\n this.flush() &&\n 'mx-[calc(var(--nb-padding-token,var(--_nb-padding-default))*-1)]'\n )\n );\n\n private layoutClass(): string {\n const map: Record<NbSectionLayout, string> = {\n default: 'block',\n center: 'flex justify-center gap-[var(--nb-spacing-md,1rem)]',\n between: 'flex justify-between gap-[var(--nb-spacing-md,1rem)]',\n };\n\n return map[this.layout()];\n }\n\n private alignClass(): string {\n if (this.layout() === 'default') {\n return '';\n }\n\n const map: Record<NbSectionAlign, string> = {\n stretch: 'items-stretch',\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n };\n\n return map[this.align()];\n }\n\n private dividerClass(): string {\n const side = this.divider();\n\n if (side === 'none') {\n return '';\n }\n\n const style = this.dividerStyleClass();\n\n const widthMap: Record<Exclude<NbSectionDivider, 'none'>, string> = {\n top: 'border-t-(length:--nb-border-width)',\n right: 'border-r-(length:--nb-border-width)',\n bottom: 'border-b-(length:--nb-border-width)',\n left: 'border-l-(length:--nb-border-width)',\n block: 'border-y-(length:--nb-border-width)',\n inline: 'border-x-(length:--nb-border-width)',\n all: 'border-(length:--nb-border-width)',\n };\n\n return nbClass(widthMap[side], 'border-(--nb-border)', style);\n }\n\n private dividerStyleClass(): string {\n const map: Record<NbSectionDividerStyle, string> = {\n solid: 'border-solid',\n dashed: 'border-dashed',\n dotted: 'border-dotted',\n };\n\n return map[this.dividerStyle()];\n }\n}\n","import { Directive, computed, input } from '@angular/core';\n\nimport { nbClass } from '../core/class';\nimport {\n NbShadowCapability,\n NbToneCapability,\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from '../core/capabilities';\nimport { nbRadiusValue, type NbRadius } from '../tokens/radius';\nimport type { NbToneToken } from '../tokens/tone';\n\nexport type NbCalloutTone = NbToneToken;\n\nexport type NbCalloutSize = 'sm' | 'md' | 'lg' | 'xl';\n\nexport type NbCalloutLayout = 'inline' | 'between' | 'center';\n\nexport type NbCalloutShadow = 'none' | 'default' | 'hard';\n\n// Optional radius override. When unset, the radius is derived from `size`\n// (larger callouts get rounder corners). Set this to opt out of that scaling.\nexport type NbCalloutRadius = NbRadius;\n\n@Directive({\n selector: '[nbCallout]',\n providers: [\n { provide: NB_STYLE_NAMESPACE, useValue: 'callout' },\n {\n provide: NB_STYLE_DEFAULTS,\n useValue: { tone: 'yellow', shadow: 'hard' } satisfies NbStyleDefaults,\n },\n ],\n hostDirectives: [\n { directive: NbToneCapability, inputs: ['tone'] },\n { directive: NbShadowCapability, inputs: ['shadow'] },\n ],\n host: {\n '[class]': 'classes()',\n '[attr.data-nb-callout]': '\"\"',\n '[attr.data-size]': 'size()',\n '[attr.data-layout]': 'layout()',\n '[attr.data-radius]': 'radius() ?? null',\n '[style.--nb-callout-radius]': 'radiusStyle()',\n },\n})\nexport class NbCallout {\n readonly size = input<NbCalloutSize>('lg');\n readonly layout = input<NbCalloutLayout>('inline');\n readonly radius = input<NbCalloutRadius | undefined>(undefined);\n\n protected readonly classes = computed(() =>\n nbClass(\n 'relative inline-flex items-center gap-3',\n 'border-(length:--nb-callout-border-width)',\n 'rounded-(--nb-callout-radius)',\n 'font-black uppercase leading-none',\n this.sizeClass(),\n this.layoutClass()\n )\n );\n\n // Inline style wins over the size-derived `--nb-callout-radius` class, so an\n // explicit `radius` always takes precedence; null leaves the size default.\n protected readonly radiusStyle = computed(() => {\n const r = this.radius();\n\n return r !== undefined ? nbRadiusValue(r) : null;\n });\n\n private sizeClass(): string {\n const map: Record<NbCalloutSize, string> = {\n sm: 'min-h-9 px-3 py-2 text-sm [--nb-callout-radius:0.5rem] [--nb-callout-border-width:2px]',\n md: 'min-h-11 px-4 py-2 text-base [--nb-callout-radius:0.625rem] [--nb-callout-border-width:2px]',\n lg: 'min-h-14 px-5 py-3 text-2xl [--nb-callout-radius:0.75rem] [--nb-callout-border-width:3px]',\n xl: 'min-h-20 px-6 py-4 text-5xl [--nb-callout-radius:0.875rem] [--nb-callout-border-width:4px]',\n };\n\n return map[this.size()];\n }\n\n private layoutClass(): string {\n const map: Record<NbCalloutLayout, string> = {\n inline: 'justify-start',\n between: 'w-full justify-between',\n center: 'justify-center text-center',\n };\n\n return map[this.layout()];\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n booleanAttribute,\n computed,\n input,\n} from '@angular/core';\nimport { nbClass } from '../core/class';\nimport {\n NbToneCapability,\n NB_STYLE_DEFAULTS,\n NB_STYLE_NAMESPACE,\n type NbStyleDefaults,\n} from '../core/capabilities';\nimport type { NbToneToken } from '../tokens/tone';\n\nexport type NbMediaItemVariant = 'plain' | 'boxed' | 'chip';\n\nexport type NbMediaItemOrientation = 'horizontal' | 'vertical';\n\nexport type NbMediaItemAlign = 'start' | 'center' | 'between';\n\nexport type NbMediaItemSize = 'xs' | 'sm' | 'md' | 'lg';\n\n// Tone is the shared color vocabulary; MediaItem does not redefine it. The tone\n// capability writes `--nb-media-item-{bg,fg,border-color}` from the same resolver\n// every other primitive uses.\nexport type NbMediaItemTone = NbToneToken;\n\n@Component({\n selector: 'nb-media-item, [nbMediaItem]',\n providers: [\n { provide: NB_STYLE_NAMESPACE, useValue: 'media-item' },\n {\n provide: NB_STYLE_DEFAULTS,\n useValue: { tone: 'default' } satisfies NbStyleDefaults,\n },\n ],\n hostDirectives: [{ directive: NbToneCapability, inputs: ['tone'] }],\n template: `\n @if (icon()) {\n @if (iconBackground()) {\n <span\n data-nb-media-item-icon\n data-surface=\"true\"\n [attr.data-background]=\"iconBackground()\"\n [class]=\"iconClasses()\"\n [style.--nb-media-item-icon-bg]=\"iconBackground()\"\n >\n <img [src]=\"icon()\" [alt]=\"iconAlt()\" />\n </span>\n } @else {\n <img [src]=\"icon()\" [alt]=\"iconAlt()\" />\n }\n } @else {\n <ng-content select=\"nb-media-item-icon, [nbMediaItemIcon], [nbSurface], img, svg\" />\n }\n\n <div data-nb-media-item-content class=\"min-w-0\">\n @if (title()) {\n <span data-nb-media-item-title>{{ title() }}</span>\n } @else {\n <ng-content select=\"nb-media-item-title, [nbMediaItemTitle]\" />\n }\n @if (description()) {\n <span data-nb-media-item-description>{{ description() }}</span>\n } @else {\n <ng-content select=\"nb-media-item-description, [nbMediaItemDescription]\" />\n }\n @if (!title() && !description()) {\n <ng-content />\n }\n </div>\n\n <ng-content select=\"nb-media-item-action, [nbMediaItemAction]\" />\n `,\n host: {\n '[class]': 'classes()',\n '[attr.data-nb-media-item]': '\"\"',\n '[attr.data-variant]': 'variant()',\n '[attr.data-orientation]': 'orientation()',\n '[attr.data-align]': 'align()',\n '[attr.data-size]': 'size()',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NbMediaItem {\n readonly variant = input<NbMediaItemVariant>('plain');\n readonly orientation = input<NbMediaItemOrientation>('horizontal');\n readonly align = input<NbMediaItemAlign>('start');\n readonly size = input<NbMediaItemSize>('md');\n readonly icon = input<string | undefined>(undefined);\n readonly iconAlt = input<string>('');\n readonly iconBackground = input<string | undefined>(undefined);\n readonly title = input<string | undefined>(undefined);\n readonly description = input<string | undefined>(undefined);\n\n protected readonly classes = computed(() =>\n nbClass(\n 'relative min-w-0',\n 'inline-flex font-bold leading-tight',\n '[--nb-media-item-description-opacity:0.7]',\n '[&_svg]:shrink-0 [&_img]:shrink-0 [&_[data-nb-media-item-icon]]:shrink-0 [&_[nbSurface]]:shrink-0',\n '[&_svg]:rounded-[calc(var(--nb-media-item-radius)-0.25rem)]',\n '[&_img]:rounded-[calc(var(--nb-media-item-radius)-0.25rem)]',\n '[&_svg]:h-[var(--nb-media-item-icon-size)] [&_svg]:max-w-[var(--nb-media-item-icon-size)] [&_svg]:w-auto',\n '[&_img]:h-[var(--nb-media-item-icon-size)] [&_img]:max-w-[var(--nb-media-item-icon-size)] [&_img]:w-auto [&_img]:object-contain',\n '[&_[data-nb-media-item-title]]:block',\n '[&_[data-nb-media-item-title]]:[font-family:var(--nb-media-item-title-font-family,inherit)]',\n '[&_[data-nb-media-item-title]]:font-black',\n '[&_[data-nb-media-item-title]]:leading-none',\n '[&_[data-nb-media-item-title]]:text-[length:var(--nb-media-item-title-size,var(--nb-media-item-title-default-size))]',\n '[&_[data-nb-media-item-description]]:mt-1',\n '[&_[data-nb-media-item-description]]:block',\n '[&_[data-nb-media-item-description]]:text-[length:var(--nb-media-item-description-size,var(--nb-media-item-description-default-size))]',\n '[&_[data-nb-media-item-description]]:font-bold',\n '[&_[data-nb-media-item-description]]:leading-none',\n '[&_[data-nb-media-item-description]]:opacity-[var(--nb-media-item-description-opacity)]',\n this.variantClass(),\n this.orientationClass(),\n this.alignClass(),\n this.sizeClass()\n )\n );\n\n protected readonly iconClasses = computed(() => mediaItemIconClasses());\n\n private variantClass(): string {\n const map: Record<NbMediaItemVariant, string> = {\n plain: '[--nb-media-item-radius:var(--nb-radius)] bg-transparent',\n boxed:\n 'border-[var(--nb-border-width)] border-[var(--nb-media-item-border-color)] bg-[var(--nb-media-item-bg)] shadow-[var(--nb-shadow-offset-x)_var(--nb-shadow-offset-y)_0_0_var(--nb-shadow)] [--nb-media-item-radius:var(--nb-radius)] rounded-[var(--nb-media-item-radius)]',\n chip: 'border-[var(--nb-border-width)] border-[var(--nb-media-item-border-color)] bg-[var(--nb-media-item-bg)] [--nb-media-item-radius:9999px] rounded-[var(--nb-media-item-radius)]',\n };\n return map[this.variant()];\n }\n\n private orientationClass(): string {\n const map: Record<NbMediaItemOrientation, string> = {\n horizontal: 'flex-row items-center',\n vertical: 'flex-col',\n };\n return map[this.orientation()];\n }\n\n private alignClass(): string {\n const map: Record<NbMediaItemAlign, string> = {\n start: 'justify-start text-left',\n center: 'justify-center text-center',\n between: 'w-full justify-between',\n };\n return map[this.align()];\n }\n\n private sizeClass(): string {\n const map: Record<NbMediaItemSize, string> = {\n xs: nbClass(\n 'gap-[var(--nb-media-item-gap)] text-[0.6875rem]',\n '[--nb-media-item-gap:0.375rem]',\n '[--nb-media-item-icon-size:1rem]',\n '[--nb-media-item-surface-size:2rem]',\n '[--nb-media-item-title-default-size:0.75rem]',\n '[--nb-media-item-description-default-size:0.5625rem]',\n this.variant() === 'plain' ? '' : 'px-2 py-1'\n ),\n sm: nbClass(\n 'gap-[var(--nb-media-item-gap)] text-xs',\n '[--nb-media-item-gap:0.5rem]',\n '[--nb-media-item-icon-size:1rem]',\n '[--nb-media-item-surface-size:2.25rem]',\n '[--nb-media-item-title-default-size:0.75rem]',\n '[--nb-media-item-description-default-size:0.625rem]',\n this.variant() === 'plain' ? '' : 'px-2.5 py-1.5'\n ),\n md: nbClass(\n 'gap-[var(--nb-media-item-gap)] text-sm',\n '[--nb-media-item-gap:0.75rem]',\n '[--nb-media-item-icon-size:1.25rem]',\n '[--nb-media-item-surface-size:2.75rem]',\n '[--nb-media-item-title-default-size:0.875rem]',\n '[--nb-media-item-description-default-size:0.65625rem]',\n this.variant() === 'plain' ? '' : 'px-3 py-2'\n ),\n lg: nbClass(\n 'gap-[var(--nb-media-item-gap)] text-base',\n '[--nb-media-item-gap:1rem]',\n '[--nb-media-item-icon-size:1.5rem]',\n '[--nb-media-item-surface-size:3.25rem]',\n '[--nb-media-item-title-default-size:1rem]',\n '[--nb-media-item-description-default-size:0.75rem]',\n this.variant() === 'plain' ? '' : 'px-4 py-3'\n ),\n };\n return map[this.size()];\n }\n}\n\n@Directive({\n selector: 'nb-media-item-icon, [nbMediaItemIcon]',\n host: {\n '[class]': 'classes()',\n '[attr.data-nb-media-item-icon]': '\"\"',\n '[attr.data-surface]': 'surface()',\n '[attr.data-background]': 'surface() ? background() : null',\n '[style.--nb-media-item-icon-bg]': 'surface() ? background() : null',\n },\n})\nexport class NbMediaItemIcon {\n readonly surface = input<boolean, unknown>(false, { transform: booleanAttribute });\n readonly background = input<string>('var(--nb-surface)');\n\n protected readonly classes = computed(() =>\n nbClass('shrink-0', this.surface() && mediaItemIconClasses())\n );\n}\n\n@Directive({\n selector: 'nb-media-item-title, [nbMediaItemTitle]',\n host: {\n '[attr.data-nb-media-item-title]': '\"\"',\n },\n})\nexport class NbMediaItemTitle {}\n\n@Directive({\n selector: 'nb-media-item-description, [nbMediaItemDescription]',\n host: {\n '[attr.data-nb-media-item-description]': '\"\"',\n },\n})\nexport class NbMediaItemDescription {}\n\nfunction mediaItemIconClasses(): string {\n return nbClass(\n 'relative inline-flex size-[var(--nb-media-item-surface-size)] items-center justify-center',\n 'rounded-lg border-[var(--nb-border-width)] border-[var(--nb-border)]',\n 'bg-(--nb-media-item-icon-bg) text-black'\n );\n}\n","import { computed, Directive, input } from '@angular/core';\n\nimport {\n NbResetMarginCapability,\n NbUnderlineCapability,\n} from '../core/capabilities';\nimport type { NbTone } from '../tokens/tone';\nimport {\n nbFontWeightValue,\n type NbFontWeight,\n type NbTextTracking,\n type NbUnderlineVariant,\n} from '../tokens/typography';\n\nexport type NbTextSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';\n\n// Weight reuses the shared font-weight scale so it stays in lockstep with\n// nbDisplay and any future typographic primitive.\nexport type NbTextWeight = NbFontWeight;\n\nexport type NbTextTone =\n | 'default'\n | 'muted'\n | 'subtle'\n | 'inverse'\n | Extract<\n NbTone,\n 'primary' | 'secondary' | 'accent' | 'success' | 'warning' | 'danger'\n >;\n\nexport type NbTextTransform = 'none' | 'uppercase' | 'lowercase' | 'capitalize';\n\n// NbTextTracking is defined in tokens/typography and re-exported here to keep\n// the public type path stable.\nexport type { NbTextTracking } from '../tokens/typography';\n\nexport type NbTextMeasure = 'none' | 'xs' | 'sm' | 'md' | 'lg';\n\nexport type NbTextLeading = 'none' | 'tight' | 'normal' | 'relaxed';\n\n// Alias of the shared underline variant — keeps the public type name stable.\nexport type NbTextUnderline = NbUnderlineVariant;\n\nconst sizeMap: Record<NbTextSize, string> = {\n xs: '0.75rem',\n sm: '0.875rem',\n md: '1rem',\n lg: '1.125rem',\n xl: '1.25rem',\n '2xl': '1.5rem',\n '3xl': '1.875rem',\n};\n\nconst defaultLineHeightMap: Record<NbTextSize, string> = {\n xs: '1rem',\n sm: '1.25rem',\n md: '1.5rem',\n lg: '1.75rem',\n xl: '1.875rem',\n '2xl': '2rem',\n '3xl': '2.25rem',\n};\n\nconst leadingMap: Record<NbTextLeading, string | null> = {\n none: '1',\n tight: '1.15',\n normal: null,\n relaxed: '1.65',\n};\n\nconst toneMap: Record<NbTextTone, string> = {\n default: 'var(--nb-foreground)',\n muted: 'color-mix(in srgb, var(--nb-foreground) 80%, transparent)',\n subtle: 'color-mix(in srgb, var(--nb-foreground) 65%, transparent)',\n inverse: 'var(--nb-background)',\n primary: 'var(--nb-primary)',\n secondary: 'var(--nb-secondary)',\n accent: 'var(--nb-accent)',\n danger: 'var(--nb-danger)',\n success: 'var(--nb-success)',\n warning: 'var(--nb-warning)',\n};\n\nconst trackingMap: Record<NbTextTracking, string> = {\n tight: '-0.025em',\n // Explicit 'normal' resets any inherited letter-spacing; do not collapse to null.\n normal: 'normal',\n wide: '0.025em',\n wider: '0.05em',\n};\n\nconst measureMap: Record<NbTextMeasure, string> = {\n none: 'none',\n xs: '20rem',\n sm: '28rem',\n md: '36rem',\n lg: '44rem',\n};\n\n@Directive({\n selector: '[nbText]',\n standalone: true,\n exportAs: 'nbText',\n hostDirectives: [\n // underline variant + optional gap/width overrides → data-underline + CSS vars\n {\n directive: NbUnderlineCapability,\n inputs: ['underline', 'underlineGap', 'underlineWidth'],\n },\n // reset input → margin: 0 (removes native paragraph/heading margin)\n { directive: NbResetMarginCapability, inputs: ['reset'] },\n ],\n host: {\n '[attr.data-nb-text]': '\"\"',\n '[attr.data-size]': 'size()',\n '[attr.data-weight]': 'weight()',\n '[attr.data-tone]': 'tone()',\n '[attr.data-transform]': 'transform()',\n '[attr.data-tracking]': 'tracking()',\n '[attr.data-measure]': 'measure()',\n '[attr.data-leading]': 'leading()',\n\n '[style.color]': 'colorValue()',\n '[style.font-size]': 'sizeValue()',\n '[style.line-height]': 'lineHeightValue()',\n '[style.font-weight]': 'weightValue()',\n '[style.text-transform]': 'transformValue()',\n '[style.letter-spacing]': 'trackingValue()',\n '[style.max-width]': 'measureValue()',\n },\n})\nexport class NbText {\n readonly size = input<NbTextSize>('md');\n readonly weight = input<NbTextWeight>('normal');\n readonly tone = input<NbTextTone>('default');\n readonly transform = input<NbTextTransform>('none');\n readonly tracking = input<NbTextTracking>('normal');\n readonly measure = input<NbTextMeasure>('none');\n readonly leading = input<NbTextLeading>('normal');\n // underline / underlineGap / underlineWidth / reset → composed capabilities\n\n protected readonly sizeValue = computed(() => sizeMap[this.size()]);\n\n protected readonly lineHeightValue = computed(() => {\n const explicitLeading = leadingMap[this.leading()];\n return explicitLeading ?? defaultLineHeightMap[this.size()];\n });\n\n protected readonly weightValue = computed(() => nbFontWeightValue(this.weight()));\n protected readonly colorValue = computed(() => toneMap[this.tone()]);\n protected readonly transformValue = computed(() => this.transform());\n protected readonly trackingValue = computed(() => trackingMap[this.tracking()]);\n protected readonly measureValue = computed(() => {\n const val = measureMap[this.measure()];\n return val === 'none' ? null : val;\n });\n}\n","// Foundation\nexport { nbClass } from './lib/core/class';\nexport { provideNgBrutalism } from './lib/core/provide';\nexport type { NbConfig } from './lib/core/provide';\nexport { NB_THEME_CONFIG } from './lib/tokens/theme.tokens';\nexport type { NbThemeConfig } from './lib/tokens/theme.tokens';\nexport type {\n NbTone,\n NbToneTokens,\n NbToneToken,\n NbToneVars,\n} from './lib/tokens/tone';\nexport { nbToneTokens, nbToneVars } from './lib/tokens/tone';\n\n// Shared design tokens — one vocabulary for every primitive's visual grammar.\nexport type { NbRadius } from './lib/tokens/radius';\nexport { nbRadiusValue } from './lib/tokens/radius';\nexport type { NbShadow } from './lib/tokens/shadow';\nexport { nbShadowValue } from './lib/tokens/shadow';\nexport type { NbBorderStrength } from './lib/tokens/border';\nexport { nbBorderWidthValue } from './lib/tokens/border';\nexport type { NbSpacing } from './lib/tokens/spacing';\nexport { nbSpacingValue } from './lib/tokens/spacing';\nexport type { NbPadding } from './lib/tokens/padding';\nexport { nbPaddingValue } from './lib/tokens/padding';\nexport type { NbDivider } from './lib/tokens/divider';\nexport type {\n NbFontWeight,\n NbTypographyFont,\n NbUnderlineVariant,\n NbUnderlineGap,\n NbUnderlineWidth,\n} from './lib/tokens/typography';\nexport {\n nbFontWeightValue,\n nbTypographyFontValue,\n nbUnderlineGapValue,\n nbUnderlineWidthValue,\n} from './lib/tokens/typography';\n\n// Angular private internals — exported only because Angular requires classes\n// referenced by `hostDirectives` to be reachable from the package entrypoint\n// (NG3001). These ɵ-prefixed names are not public API and must not be imported\n// by application code; compose public primitives such as nbSurface/nbButton.\nexport {\n NbToneCapability as ɵNbToneCapability,\n NbRadiusCapability as ɵNbRadiusCapability,\n NbShadowCapability as ɵNbShadowCapability,\n NbBorderCapability as ɵNbBorderCapability,\n NbPaddingCapability as ɵNbPaddingCapability,\n NbGapCapability as ɵNbGapCapability,\n NbUnderlineCapability as ɵNbUnderlineCapability,\n NbResetMarginCapability as ɵNbResetMarginCapability,\n NB_STYLE_NAMESPACE as ɵNB_STYLE_NAMESPACE,\n NB_STYLE_DEFAULTS as ɵNB_STYLE_DEFAULTS,\n} from './lib/core/capabilities';\nexport type { NbStyleDefaults as ɵNbStyleDefaults } from './lib/core/capabilities';\n\n// Components\nexport { NbCheckbox } from './lib/checkbox';\nexport type { NbCheckboxSize } from './lib/checkbox';\nexport {\n NbAccordion,\n NbAccordionContent,\n NbAccordionItem,\n NbAccordionTrigger,\n} from './lib/accordion';\nexport type { NbAccordionType, NbAccordionValue } from './lib/accordion';\nexport { NbButton } from './lib/button';\nexport type {\n NbButtonIconPush,\n NbButtonIconShape,\n NbButtonIconSize,\n NbButtonIconTone,\n NbButtonRadius,\n NbButtonShadow,\n NbButtonPress,\n NbButtonSize,\n NbButtonTone,\n} from './lib/button';\nexport {\n NbCard,\n NbCardHeader,\n NbCardTitle,\n NbCardDescription,\n NbCardActions,\n NbCardContent,\n NbCardFooter,\n} from './lib/card';\nexport type {\n NbCardActionsAlign,\n NbCardBorder,\n NbCardRadius,\n NbCardShadow,\n NbCardTone,\n} from './lib/card';\nexport { NbImageCard, NbImageCardCaption } from './lib/image-card';\nexport type {\n NbImageCardBorder,\n NbImageCardRadius,\n NbImageCardShadow,\n NbImageCardTone,\n} from './lib/image-card';\nexport { NbMarquee, NbMarqueeItem } from './lib/marquee';\nexport { NbInput } from './lib/input';\nexport { NbLabel } from './lib/label';\nexport { NbTitle } from './lib/title';\nexport { NbDisplay } from './lib/display';\nexport type {\n NbDisplayLeading,\n NbDisplaySize,\n NbDisplayTracking,\n NbDisplayUnderline,\n NbDisplayWeight,\n} from './lib/display';\nexport { NbTypography } from './lib/typography';\nexport { NbSeparator } from './lib/separator';\nexport type {\n NbSeparatorOrientation,\n NbSeparatorVariant,\n} from './lib/separator';\nexport type { NbInputSize } from './lib/input';\nexport { NbTextarea } from './lib/textarea';\nexport type { NbTextareaSize } from './lib/textarea';\nexport { NbInputGroup, NbInputPrefix, NbInputSuffix } from './lib/input-group';\nexport type { NbInputPrefixAlign, NbInputSuffixAlign } from './lib/input-group';\nexport { NbNativeSelect, NbSelect, NbSelectOption } from './lib/select';\nexport type { NbSelectValue } from './lib/select';\nexport { NbBadge } from './lib/badge';\nexport type {\n NbBadgeBorder,\n NbBadgeRadius,\n NbBadgeShadow,\n NbBadgeTone,\n} from './lib/badge';\nexport { NbAvatar } from './lib/avatar';\nexport type {\n NbAvatarBorder,\n NbAvatarRadius,\n NbAvatarShadow,\n NbAvatarTone,\n} from './lib/avatar';\nexport { NbMediaFrame } from './lib/media-frame';\nexport type {\n NbMediaFrameFit,\n NbMediaFrameRadius,\n NbMediaFrameRatio,\n NbMediaFrameShadow,\n NbMediaFrameTone,\n NbMediaFrameBorder,\n} from './lib/media-frame';\nexport { NbStat } from './lib/stat';\nexport { NbRating } from './lib/rating';\nexport {\n NbDialog,\n NbDialogTitle,\n NbDialogDescription,\n NbDialogContent,\n NbDialogActions,\n NbDialogClose,\n} from './lib/dialog';\nexport { NbStatusDot } from './lib/status-dot';\nexport type { NbStatusDotState } from './lib/status-dot';\nexport { NbChip, NbChipGroup } from './lib/chip';\nexport type {\n NbChipTone,\n NbChipPadding,\n NbChipGroupAlign,\n NbChipGroupDirection,\n} from './lib/chip';\nexport { NbIconButton } from './lib/icon-button';\nexport type { NbIconButtonShape, NbIconButtonSize } from './lib/icon-button';\nexport { NbButtonTrailingIcon } from './lib/button/nb-button-trailing-icon';\nexport { NbProgress } from './lib/progress';\nexport type { NbProgressTone } from './lib/progress';\nexport { NbAvatarGroup } from './lib/avatar-group';\nexport { NbSticker, NbStickerFace } from './lib/sticker';\nexport type { NbStickerShape, NbStickerTone } from './lib/sticker';\nexport { NbHalftone } from './lib/halftone';\nexport type { NbHalftoneShape } from './lib/halftone';\nexport { NbSurface } from './lib/surface';\nexport type {\n NbSurfaceBorder,\n NbSurfaceEdge,\n NbSurfaceLayout,\n NbSurfacePadding,\n NbSurfaceRadius,\n NbSurfaceShadow,\n NbSurfaceSize,\n NbSurfaceTone,\n} from './lib/surface';\nexport { NbStack } from './lib/stack';\nexport type {\n NbStackAlign,\n NbStackGap,\n NbStackJustify,\n NbStackSeparator,\n} from './lib/stack';\nexport { NbCluster } from './lib/cluster';\nexport type {\n NbClusterAlign,\n NbClusterGap,\n NbClusterJustify,\n NbClusterSeparator,\n NbClusterWrap,\n} from './lib/cluster';\nexport { NbSplit } from './lib/split';\nexport type {\n NbSplitAlign,\n NbSplitCollapse,\n NbSplitGap,\n NbSplitPadding,\n NbSplitRatio,\n NbSplitSeparator,\n} from './lib/split';\nexport { NbSection } from './lib/section';\nexport type {\n NbSectionAlign,\n NbSectionDivider,\n NbSectionDividerStyle,\n NbSectionLayout,\n NbSectionPadding,\n} from './lib/section';\nexport { NbCallout } from './lib/callout';\nexport type {\n NbCalloutLayout,\n NbCalloutShadow,\n NbCalloutSize,\n NbCalloutTone,\n} from './lib/callout';\nexport {\n NbMediaItem,\n NbMediaItemDescription,\n NbMediaItemIcon,\n NbMediaItemTitle,\n} from './lib/media-item';\nexport type {\n NbMediaItemAlign,\n NbMediaItemOrientation,\n NbMediaItemSize,\n NbMediaItemTone,\n NbMediaItemVariant,\n} from './lib/media-item';\nexport { NbText } from './lib/text';\nexport type {\n NbTextLeading,\n NbTextMeasure,\n NbTextSize,\n NbTextTone,\n NbTextTracking,\n NbTextTransform,\n NbTextWeight,\n} from './lib/text';\nexport { NbIcon } from './lib/icon';\nexport type { NbIconMode, NbIconSize, NbIconTone } from './lib/icon';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NbToneCapability","i2.NbRadiusCapability","i3.NbShadowCapability","i4.NbBorderCapability","sizeMap","toneMap","iconSizeMap","i1.NbUnderlineCapability","i2.NbResetMarginCapability","i1.NbRadiusCapability","i5.NbPaddingCapability","i6.NbTypography","i1.NbGapCapability","separatorBaseClass","separatorStyleClass","i2.NbPaddingCapability","i1.NbPaddingCapability","i2.NbShadowCapability"],"mappings":"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"}