@anvil-eco/design-components 0.0.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.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anvil-eco-design-components.mjs","sources":["../../../../../libs/design/design-components/src/lib/shared/design-list-nav/design-list-nav.component.ts","../../../../../libs/design/design-components/src/lib/component/component-list/component-list.component.html","../../../../../libs/design/design-components/src/lib/component/component-list/component-list.component.ts","../../../../../libs/design/design-components/src/lib/shared/elevation-selector/elevation-selector.component.html","../../../../../libs/design/design-components/src/lib/shared/elevation-selector/elevation-selector.component.ts","../../../../../libs/design/design-components/src/lib/shared/transition-selector/transition-selector.component.html","../../../../../libs/design/design-components/src/lib/shared/transition-selector/transition-selector.component.ts","../../../../../libs/design/design-components/src/lib/shared/color-editor/color-editor.component.html","../../../../../libs/design/design-components/src/lib/shared/color-editor/color-editor.component.ts","../../../../../libs/design/design-components/src/lib/shared/background-ink-editor/background-ink-editor.component.html","../../../../../libs/design/design-components/src/lib/shared/background-ink-editor/background-ink-editor.component.ts","../../../../../libs/design/design-components/src/lib/shared/nav-item-lab/nav-item-lab.component.html","../../../../../libs/design/design-components/src/lib/shared/nav-item-lab/nav-item-lab.component.ts","../../../../../libs/design/design-components/src/lib/shared/spacing-editor/spacing-editor.component.html","../../../../../libs/design/design-components/src/lib/shared/spacing-editor/spacing-editor.component.ts","../../../../../libs/design/design-components/src/lib/shared/border-editor/border-editor.component.html","../../../../../libs/design/design-components/src/lib/shared/border-editor/border-editor.component.ts","../../../../../libs/design/design-components/src/lib/shared/typography-editor/typography-editor.component.html","../../../../../libs/design/design-components/src/lib/shared/typography-editor/typography-editor.component.ts","../../../../../libs/design/design-components/src/lib/shared/generic-navbar-lab/generic-navbar-lab.component.html","../../../../../libs/design/design-components/src/lib/shared/generic-navbar-lab/generic-navbar-lab.component.ts","../../../../../libs/design/design-components/src/lib/foundation/foundation-edit-form.component/foundation-edit-form.component.ts","../../../../../libs/design/design-components/src/lib/component/navbar/navbar-editor/navbar-alias-map.ts","../../../../../libs/design/design-components/src/lib/component/navbar/navbar-editor/navabr-editor.component.html","../../../../../libs/design/design-components/src/lib/component/navbar/navbar-editor/navbar-editor.component.ts","../../../../../libs/design/design-components/src/lib/shared/size-editor/size-editor.component.html","../../../../../libs/design/design-components/src/lib/shared/size-editor/size-editor.component.ts","../../../../../libs/design/design-components/src/lib/component/title-bar/title-bar-alias-map.ts","../../../../../libs/design/design-components/src/lib/component/title-bar/title-bar-editor.component.html","../../../../../libs/design/design-components/src/lib/component/title-bar/title-bar-editor.component.ts","../../../../../libs/design/design-components/src/lib/component/title-bar/title-bar-title-editor.component.html","../../../../../libs/design/design-components/src/lib/component/title-bar/title-bar-title-editor.component.ts","../../../../../libs/design/design-components/src/lib/component/title-bar/title-bar-subtitle-editor.component.html","../../../../../libs/design/design-components/src/lib/component/title-bar/title-bar-subtitle-editor.component.ts","../../../../../libs/design/design-components/src/lib/component/title-bar/title-bar-avatar-editor.component.html","../../../../../libs/design/design-components/src/lib/component/title-bar/title-bar-avatar-editor.component.ts","../../../../../libs/design/design-components/src/lib/foundation/foundation-list/foundation-action-cell.component.ts","../../../../../libs/design/design-components/src/lib/foundation/foundation-create/foundation-create.component.ts","../../../../../libs/design/design-components/src/lib/foundation/foundation-edit/foundation-edit.component.ts","../../../../../libs/design/design-components/src/lib/foundation/foundation-list/foundation-list.component.html","../../../../../libs/design/design-components/src/lib/foundation/foundation-list/foundation-list.component.ts","../../../../../libs/design/design-components/src/lib/palettes/palette-color-cell/palette-color-cell.component.ts","../../../../../libs/design/design-components/src/lib/palettes/palette-color-picker-modal/palette-color-picker-modal.component.html","../../../../../libs/design/design-components/src/lib/palettes/palette-color-picker-modal/palette-color-picker-modal.component.ts","../../../../../libs/design/design-components/src/lib/palettes/palette-list/palette-list.component.html","../../../../../libs/design/design-components/src/lib/palettes/palette-list/palette-list.component.ts","../../../../../libs/design/design-components/src/lib/shared/elevation-editor/elevation-editor.component.ts","../../../../../libs/design/design-components/src/lib/shared/transition-editor/transition-editor.component.ts","../../../../../libs/design/design-components/src/lib/elevations/elevation-list.component.html","../../../../../libs/design/design-components/src/lib/elevations/elevation-list.component.ts","../../../../../libs/design/design-components/src/lib/transitions/transition-list/transition-list.component.html","../../../../../libs/design/design-components/src/lib/transitions/transition-list/transition-list.component.ts","../../../../../libs/design/design-components/src/lib/context/context-list/context-action-cell.component.ts","../../../../../libs/design/design-components/src/lib/context/context-list/context-create.component.ts","../../../../../libs/design/design-components/src/lib/context/context-list/context-edit.component.ts","../../../../../libs/design/design-components/src/lib/context/context-list/context-list.component.html","../../../../../libs/design/design-components/src/lib/context/context-list/context-list.component.ts","../../../../../libs/design/design-components/src/lib/component/accordion/accordion-editor/accordion-alias-map.ts","../../../../../libs/design/design-components/src/lib/component/accordion/accordion-editor/accordion-editor.component.html","../../../../../libs/design/design-components/src/lib/component/accordion/accordion-editor/accordion-editor.component.ts","../../../../../libs/design/design-components/src/lib/component/left-sidebar/left-sidebar-alias-map.ts","../../../../../libs/design/design-components/src/lib/component/left-sidebar/left-sidebar-editor.component.html","../../../../../libs/design/design-components/src/lib/component/left-sidebar/left-sidebar-editor.component.ts","../../../../../libs/design/design-components/src/lib/component/user-menu/user-menu-alias-map.ts","../../../../../libs/design/design-components/src/lib/component/user-menu/user-menu-editor.component.html","../../../../../libs/design/design-components/src/lib/component/user-menu/user-menu-editor.component.ts","../../../../../libs/design/design-components/src/lib/component/footer/footer-alias-map.ts","../../../../../libs/design/design-components/src/lib/component/footer/footer-editor.component.html","../../../../../libs/design/design-components/src/lib/component/footer/footer-editor.component.ts","../../../../../libs/design/design-components/src/lib/component/body/body-alias-map.ts","../../../../../libs/design/design-components/src/lib/component/body/body-editor.component.html","../../../../../libs/design/design-components/src/lib/component/body/body-editor.component.ts","../../../../../libs/design/design-components/src/lib/component/tooltip/tooltip-editor/tooltip-alias-map.ts","../../../../../libs/design/design-components/src/lib/component/tooltip/tooltip-editor/tooltip-editor.component.html","../../../../../libs/design/design-components/src/lib/component/tooltip/tooltip-editor/tooltip-editor.component.ts","../../../../../libs/design/design-components/src/lib/component/toast/toast-editor/toast-alias-map.ts","../../../../../libs/design/design-components/src/lib/component/toast/toast-editor/toast-editor.component.html","../../../../../libs/design/design-components/src/lib/component/toast/toast-editor/toast-editor.component.ts","../../../../../libs/design/design-components/src/lib/component/component-editor-host/component-editor-host.component.ts","../../../../../libs/design/design-components/src/lib/shared/font-decorator/font-decorator.component.ts","../../../../../libs/design/design-components/src/lib/shared/font-decorator/font-decorator.component.html","../../../../../libs/design/design-components/src/lib/shared/font-selector/font-selector.component.html","../../../../../libs/design/design-components/src/lib/shared/font-selector/font-selector.component.ts","../../../../../libs/design/design-components/src/lib/shared/padding-margin/padding-margin.component.ts","../../../../../libs/design/design-components/src/lib/shared/padding-margin/padding-margin.component.html","../../../../../libs/design/design-components/src/lib/shared/drop-down-design/drop-down-design.component.ts","../../../../../libs/design/design-components/src/lib/font-family/font-family-list/font-family-action-cell.component.ts","../../../../../libs/design/design-components/src/lib/font-family/font-family-create/font-family-create.component.ts","../../../../../libs/design/design-components/src/lib/font-family/font-family-list/font-family-list.component.html","../../../../../libs/design/design-components/src/lib/font-family/font-family-list/font-family-list.component.ts","../../../../../libs/design/design-components/src/lib/design.routes.ts","../../../../../libs/design/design-components/src/anvil-eco-design-components.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { PortalNavComponent } from '@anvil-eco/shared-ui';\n\n@Component({\n selector: 'lib-design-list-nav',\n standalone: true,\n imports: [PortalNavComponent],\n template: `\n <lib-portal-nav\n startAt=\"design\"\n layout=\"vertical\"\n [includeRoot]=\"false\"\n [depth]=\"2\">\n </lib-portal-nav>\n `,\n})\nexport class DesignListNavComponent {}","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n\n<lib-error-alert [sourceId]=\"sourceId\" />\n\n@if (loading()) {\n <div class=\"cl-loading\">\n <span class=\"cl-loading__spinner bi bi-arrow-repeat\" aria-hidden=\"true\"></span>\n <span>Loading components…</span>\n </div>\n} @else {\n <div class=\"cl-page\">\n @for (category of categories(); track trackCategory($index, category)) {\n <section class=\"cl-section\">\n <header class=\"cl-section__header\">\n <i [class]=\"'bi ' + categoryIcons[category.name]\" aria-hidden=\"true\"></i>\n <h2 class=\"cl-section__title\">{{ category.name }}</h2>\n <span class=\"cl-section__scope\">{{ category.scope }}</span>\n </header>\n\n <div class=\"cl-grid\">\n @for (comp of category.components; track trackComponent($index, comp)) {\n <a class=\"cl-card\"\n [routerLink]=\"['/design/components', comp.id, 'edit']\"\n [title]=\"comp.description\">\n <i class=\"cl-card__icon bi bi-puzzle\" aria-hidden=\"true\"></i>\n <span class=\"cl-card__name\">{{ comp.name }}</span>\n <span class=\"cl-card__desc\">{{ comp.description }}</span>\n </a>\n } @empty {\n <p class=\"cl-grid__empty\">No components in this category.</p>\n }\n </div>\n </section>\n }\n </div>\n}\n","import { Component, inject, signal, OnInit, ChangeDetectionStrategy } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { ComponentCategoryService, ComponentCategory, ComponentCategoryComponent } from '@anvil-eco/design-services';\nimport { ErrorAlertComponent, ErrorService, SideDrawerContentDirective } from '@anvil-eco/shared-ui';\nimport { AppError } from '@anvil-eco/shared-core';\nimport { DesignListNavComponent } from '../../shared/design-list-nav/design-list-nav.component';\n\n@Component({\n selector: 'lib-component-list',\n standalone: true,\n imports: [RouterLink, ErrorAlertComponent, DesignListNavComponent, SideDrawerContentDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './component-list.component.html',\n styleUrl: './component-list.component.scss',\n})\nexport class ComponentListComponent implements OnInit {\n private readonly categoryService = inject(ComponentCategoryService);\n private readonly errorService = inject(ErrorService);\n\n readonly sourceId = 'componentList';\n readonly categories = signal<ComponentCategory[]>([]);\n readonly loading = signal(true);\n\n readonly categoryIcons: Record<string, string> = {\n Layout: 'bi-layout-three-columns',\n Navigation: 'bi-signpost-2',\n Action: 'bi-cursor',\n Form: 'bi-ui-checks',\n Content: 'bi-card-text',\n Feedback: 'bi-bell',\n Typography: 'bi-type',\n };\n\n ngOnInit(): void {\n this.categoryService.getWithEditors().subscribe({\n next: (cats) => {\n this.categories.set(cats);\n this.loading.set(false);\n },\n error: (err: AppError) => {\n this.loading.set(false);\n this.errorService.setError(err, this.sourceId);\n },\n });\n }\n\n categoryIcon(name: string): string {\n return `bi ${this.categoryIcons[name] ?? 'bi-grid'}`;\n }\n\n trackCategory(_: number, cat: ComponentCategory): string { return cat.id; }\n trackComponent(_: number, comp: ComponentCategoryComponent): string { return comp.id; }\n}\n","<div class=\"es-root\">\n\n <div class=\"es-grid\">\n @for (preset of presets(); track preset.value) {\n <button\n type=\"button\"\n class=\"es-card\"\n [class.es-card--selected]=\"isSelected(preset)\"\n (click)=\"select(preset)\">\n\n <div class=\"es-preview-wrap\">\n <div class=\"es-preview-box\" [style.box-shadow]=\"preset.value\"></div>\n </div>\n\n <div class=\"es-card-body\">\n <span class=\"es-card-label\">{{ preset.label }}</span>\n <span class=\"es-card-desc\">{{ preset.description }}</span>\n </div>\n\n @if (isSelected(preset)) {\n <i class=\"bi bi-check2 es-check\" aria-hidden=\"true\"></i>\n }\n\n </button>\n }\n </div>\n\n</div>\n","import { Component, computed, inject, input, output } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { ElevationService, type Elevation } from '@anvil-eco/design-services';\n\nexport interface ElevationPreset {\n label: string;\n description: string;\n value: string;\n}\n\nfunction toPreset(e: Elevation): ElevationPreset {\n const cssVar = `var(--anv-elevation-${e.levelName})`;\n const label = e.levelName.replace(/-/g, ' ').replace(/\\b\\w/g, c => c.toUpperCase());\n return {\n label,\n description: `Token · ${cssVar}`,\n value: cssVar,\n };\n}\n\n@Component({\n selector: 'lib-elevation-selector',\n standalone: true,\n imports: [],\n templateUrl: './elevation-selector.component.html',\n styleUrl: './elevation-selector.component.scss',\n})\nexport class ElevationSelectorComponent {\n private readonly elevationService = inject(ElevationService);\n\n readonly value = input<string>('none');\n readonly valueChange = output<string>();\n\n private readonly elevations = toSignal(\n this.elevationService.getAll(), { initialValue: [] as Elevation[] }\n );\n\n readonly presets = computed<ElevationPreset[]>(() =>\n this.elevations().map(toPreset)\n );\n\n select(preset: ElevationPreset): void {\n this.valueChange.emit(preset.value);\n }\n\n isSelected(preset: ElevationPreset): boolean {\n return this.value() === preset.value;\n }\n}\n","<div class=\"ts-root\">\n\n <div class=\"ts-grid\">\n @for (preset of presets(); track preset.value) {\n <button\n type=\"button\"\n class=\"ts-card\"\n [class.ts-card--selected]=\"isSelected(preset)\"\n (click)=\"select(preset)\">\n\n <div class=\"ts-preview-track\">\n <div class=\"ts-preview-dot\" [style.transition]=\"preset.value\"></div>\n </div>\n\n <div class=\"ts-card-body\">\n <span class=\"ts-card-label\">{{ preset.label }}</span>\n <span class=\"ts-card-desc\">{{ preset.description }}</span>\n </div>\n\n @if (isSelected(preset)) {\n <i class=\"bi bi-check2 ts-check\" aria-hidden=\"true\"></i>\n }\n\n </button>\n }\n </div>\n\n</div>\n","import { Component, computed, inject, input, output } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { TransitionService, type Transition } from '@anvil-eco/design-services';\n\nexport interface TransitionPreset {\n label: string;\n description: string;\n value: string;\n}\n\nfunction toPreset(t: Transition): TransitionPreset {\n const cssVar = `var(--anv-transition-${t.name})`;\n const label = t.name.replace(/-/g, ' ').replace(/\\b\\w/g, c => c.toUpperCase());\n const description = t.durationFactor === 0\n ? 'No animation'\n : `${t.durationFactor * 100}ms · ${t.easing}`;\n return { label, description, value: cssVar };\n}\n\n@Component({\n selector: 'lib-transition-selector',\n standalone: true,\n imports: [],\n templateUrl: './transition-selector.component.html',\n styleUrl: './transition-selector.component.scss',\n})\nexport class TransitionSelectorComponent {\n private readonly transitionService = inject(TransitionService);\n\n readonly value = input<string>('var(--anv-transition-standard)');\n readonly valueChange = output<string>();\n\n private readonly transitions = toSignal(\n this.transitionService.getAll(), { initialValue: [] as Transition[] }\n );\n\n readonly presets = computed<TransitionPreset[]>(() =>\n this.transitions().map(toPreset)\n );\n\n select(preset: TransitionPreset): void {\n this.valueChange.emit(preset.value);\n }\n\n isSelected(preset: TransitionPreset): boolean {\n return this.value() === preset.value;\n }\n}\n","<div class=\"ce-root\">\n\n <!-- Background row -->\n <div class=\"ce-row\">\n <span class=\"ce-label\">{{ backgroundLabel() }}</span>\n <div class=\"ce-controls\">\n <div class=\"ce-swatch-wrap\">\n <button type=\"button\" class=\"ce-swatch\"\n [class.ce-swatch--transparent]=\"bgTransparent()\"\n [style.background-color]=\"bgTransparent() ? null : background()\"\n (click)=\"openPicker('background', $event)\">\n </button>\n <span class=\"ce-hex\">{{ bgTransparent() ? 'transparent' : background() }}</span>\n @if (bgTransparent()) {\n <button type=\"button\" class=\"ce-clear ce-clear--restore\" title=\"Pick a color\"\n (click)=\"openPicker('background', $event)\">\n <i class=\"bi bi-eyedropper\" aria-hidden=\"true\"></i>\n </button>\n } @else {\n <button type=\"button\" class=\"ce-clear\" title=\"Set transparent\"\n (click)=\"clearBackground()\">\n <i class=\"bi bi-x-circle\" aria-hidden=\"true\"></i>\n </button>\n }\n </div>\n\n <lib-filterable-select\n [data]=\"paletteItems()\"\n textField=\"label\"\n valueField=\"value\"\n placeholder=\"From palette…\"\n searchPlaceholder=\"Search colors…\"\n noDataText=\"No palette colors found\"\n (valueChange)=\"onPalettePick('background', $event)\">\n <ng-template #itemTemplate let-item>\n <span class=\"ce-palette-dot\" [style.background]=\"$any(item)['hex']\"></span>\n <span>{{ $any(item)['label'] }}</span>\n </ng-template>\n <ng-template #selectedItemTemplate let-item>\n <span class=\"ce-palette-dot\" [style.background]=\"$any(item)['hex']\"></span>\n <span>{{ $any(item)['label'] }}</span>\n </ng-template>\n </lib-filterable-select>\n </div>\n\n @if (activePicker() === 'background') {\n <div class=\"ce-backdrop\" (click)=\"closePicker()\"></div>\n <div class=\"ce-popover\"\n [style.top.px]=\"pickerPos().top\"\n [style.left.px]=\"pickerPos().left\">\n <color-chrome\n [color]=\"bgTransparent() ? '#ffffff' : background()\"\n [disableAlpha]=\"true\"\n (onChangeComplete)=\"onBackgroundChange($event)\">\n </color-chrome>\n </div>\n }\n </div>\n\n <!-- Ink row (optional) -->\n @if (ink() !== undefined) {\n <div class=\"ce-row\">\n <span class=\"ce-label\">{{ inkLabel() }}</span>\n <div class=\"ce-controls\">\n <div class=\"ce-swatch-wrap\">\n <button type=\"button\" class=\"ce-swatch\"\n [class.ce-swatch--transparent]=\"inkTransparent()\"\n [style.background-color]=\"inkTransparent() ? null : ink()\"\n (click)=\"openPicker('ink', $event)\">\n </button>\n <span class=\"ce-hex\">{{ inkTransparent() ? 'transparent' : ink() }}</span>\n @if (inkTransparent()) {\n <button type=\"button\" class=\"ce-clear ce-clear--restore\" title=\"Pick a color\"\n (click)=\"openPicker('ink', $event)\">\n <i class=\"bi bi-eyedropper\" aria-hidden=\"true\"></i>\n </button>\n } @else {\n <button type=\"button\" class=\"ce-clear\" title=\"Set transparent\"\n (click)=\"clearInk()\">\n <i class=\"bi bi-x-circle\" aria-hidden=\"true\"></i>\n </button>\n }\n </div>\n\n <lib-filterable-select\n [data]=\"paletteItems()\"\n textField=\"label\"\n valueField=\"value\"\n placeholder=\"From palette…\"\n searchPlaceholder=\"Search colors…\"\n noDataText=\"No palette colors found\"\n (valueChange)=\"onPalettePick('ink', $event)\">\n <ng-template #itemTemplate let-item>\n <span class=\"ce-palette-dot\" [style.background]=\"$any(item)['hex']\"></span>\n <span>{{ $any(item)['label'] }}</span>\n </ng-template>\n <ng-template #selectedItemTemplate let-item>\n <span class=\"ce-palette-dot\" [style.background]=\"$any(item)['hex']\"></span>\n <span>{{ $any(item)['label'] }}</span>\n </ng-template>\n </lib-filterable-select>\n </div>\n\n @if (activePicker() === 'ink') {\n <div class=\"ce-backdrop\" (click)=\"closePicker()\"></div>\n <div class=\"ce-popover\"\n [style.top.px]=\"pickerPos().top\"\n [style.left.px]=\"pickerPos().left\">\n <color-chrome\n [color]=\"inkTransparent() ? '#ffffff' : ink()!\"\n [disableAlpha]=\"true\"\n (onChangeComplete)=\"onInkChange($event)\">\n </color-chrome>\n </div>\n }\n </div>\n }\n\n</div>\n","import { Component, computed, inject, input, output, signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { ColorChromeModule } from 'ngx-color/chrome';\nimport { FilterableSelectComponent, type FilterableSelectChangeEvent } from '@anvil-eco/shared-ui';\nimport { PaletteService, type Palette } from '@anvil-eco/design-services';\n\ninterface PaletteItem {\n [key: string]: unknown;\n label: string;\n value: string;\n hex: string;\n}\n\nfunction toPaletteItem(p: Palette): PaletteItem {\n const role = p.semantic?.roleName ?? 'Color';\n const ctx = p.context?.name ?? '';\n const label = ctx ? `${role} · ${ctx}` : role;\n return { label, value: p.baseHex, hex: p.baseHex };\n}\n\n@Component({\n selector: 'lib-color-editor',\n standalone: true,\n imports: [ColorChromeModule, FilterableSelectComponent],\n templateUrl: './color-editor.component.html',\n styleUrl: './color-editor.component.scss',\n})\nexport class ColorEditorComponent {\n private readonly paletteService = inject(PaletteService);\n\n readonly background = input<string>('#ffffff');\n readonly ink = input<string | undefined>(undefined);\n readonly backgroundLabel = input<string>('Background');\n readonly inkLabel = input<string>('Ink');\n\n readonly backgroundChange = output<string>();\n readonly inkChange = output<string>();\n\n private readonly palettes = toSignal(this.paletteService.getCurrent(), { initialValue: [] as Palette[] });\n readonly paletteItems = computed<PaletteItem[]>(() => this.palettes().map(toPaletteItem));\n\n readonly activePicker = signal<'background' | 'ink' | null>(null);\n readonly pickerPos = signal<{ top: number; left: number }>({ top: 0, left: 0 });\n\n readonly bgTransparent = computed(() => this.background() === 'transparent');\n readonly inkTransparent = computed(() => this.ink() === 'transparent');\n\n private static readonly PICKER_HEIGHT = 230;\n private static readonly PICKER_WIDTH = 225;\n\n openPicker(slot: 'background' | 'ink', event: MouseEvent): void {\n const rect = (event.currentTarget as HTMLElement).getBoundingClientRect();\n const ph = ColorEditorComponent.PICKER_HEIGHT;\n const pw = ColorEditorComponent.PICKER_WIDTH;\n const top = rect.bottom + 4 + ph > window.innerHeight\n ? rect.top - ph - 4\n : rect.bottom + 4;\n const left = Math.min(rect.left, window.innerWidth - pw - 8);\n this.pickerPos.set({ top, left });\n this.activePicker.update(v => (v === slot ? null : slot));\n }\n\n closePicker(): void {\n this.activePicker.set(null);\n }\n\n clearBackground(): void {\n this.activePicker.set(null);\n this.backgroundChange.emit('transparent');\n }\n\n clearInk(): void {\n this.activePicker.set(null);\n this.inkChange.emit('transparent');\n }\n\n onBackgroundChange(event: { color: { hex: string } }): void {\n this.backgroundChange.emit(event.color.hex);\n }\n\n onInkChange(event: { color: { hex: string } }): void {\n this.inkChange.emit(event.color.hex);\n }\n\n onPalettePick(slot: 'background' | 'ink', event: FilterableSelectChangeEvent): void {\n const hex = event.value as string;\n if (!hex) return;\n this.activePicker.set(null);\n if (slot === 'background') {\n this.backgroundChange.emit(hex);\n } else {\n this.inkChange.emit(hex);\n }\n }\n}\n","<div class=\"bie-root\">\n\n <span class=\"bie-label\">{{ backgroundLabel() }}</span>\n <div class=\"bie-swatch-wrap\">\n <button\n type=\"button\"\n class=\"bie-swatch\"\n [class.bie-swatch--transparent]=\"isTransparent()\"\n [style.background-color]=\"isTransparent() ? null : background()\"\n (click)=\"openPicker('background', $event)\">\n </button>\n <span class=\"bie-hex\">{{ background() }}</span>\n @if (allowTransparent()) {\n @if (isTransparent()) {\n <button type=\"button\" class=\"bie-clear bie-clear--active\" title=\"Pick a color\" (click)=\"openPicker('background', $event)\">\n <i class=\"bi bi-eyedropper\" aria-hidden=\"true\"></i>\n </button>\n } @else {\n <button type=\"button\" class=\"bie-clear\" title=\"Set transparent\" (click)=\"clearBackground()\">\n <i class=\"bi bi-x-circle\" aria-hidden=\"true\"></i>\n </button>\n }\n }\n @if (activePicker() === 'background') {\n <div class=\"bie-backdrop\" (click)=\"closePicker()\"></div>\n <div class=\"bie-popover\"\n [style.top.px]=\"pickerPos().top\"\n [style.left.px]=\"pickerPos().left\">\n <color-chrome\n [color]=\"pickerColor()\"\n [disableAlpha]=\"true\"\n (onChangeComplete)=\"onBackgroundChange($event)\">\n </color-chrome>\n </div>\n }\n </div>\n\n <span class=\"bie-label\">{{ inkLabel() }}</span>\n <div class=\"bie-swatch-wrap\">\n <button\n type=\"button\"\n class=\"bie-swatch\"\n [style.background-color]=\"ink()\"\n (click)=\"openPicker('ink', $event)\">\n </button>\n <span class=\"bie-hex\">{{ ink() }}</span>\n @if (activePicker() === 'ink') {\n <div class=\"bie-backdrop\" (click)=\"closePicker()\"></div>\n <div class=\"bie-popover\"\n [style.top.px]=\"pickerPos().top\"\n [style.left.px]=\"pickerPos().left\">\n <color-chrome\n [color]=\"ink()\"\n [disableAlpha]=\"true\"\n (onChangeComplete)=\"onInkChange($event)\">\n </color-chrome>\n </div>\n }\n </div>\n\n</div>\n","import { Component, computed, input, output, signal } from '@angular/core';\nimport { ColorChromeModule } from 'ngx-color/chrome';\n\n@Component({\n selector: 'lib-background-ink-editor',\n standalone: true,\n imports: [ColorChromeModule],\n templateUrl: './background-ink-editor.component.html',\n styleUrl: './background-ink-editor.component.scss',\n})\nexport class BackgroundInkEditorComponent {\n readonly background = input<string>('#ffffff');\n readonly ink = input<string>('#000000');\n readonly backgroundLabel = input<string>('Background');\n readonly inkLabel = input<string>('Ink');\n readonly allowTransparent = input<boolean>(false);\n\n readonly isTransparent = computed(() => this.background() === 'transparent');\n readonly pickerColor = computed(() => this.isTransparent() ? '#ffffff' : this.background());\n\n readonly backgroundChange = output<string>();\n readonly inkChange = output<string>();\n\n readonly activePicker = signal<'background' | 'ink' | null>(null);\n readonly pickerPos = signal<{ top: number; left: number }>({ top: 0, left: 0 });\n\n openPicker(slot: 'background' | 'ink', event: MouseEvent): void {\n const rect = (event.currentTarget as HTMLElement).getBoundingClientRect();\n this.pickerPos.set({ top: rect.bottom + 4, left: rect.left });\n this.activePicker.update(v => v === slot ? null : slot);\n }\n\n closePicker(): void {\n this.activePicker.set(null);\n }\n\n clearBackground(): void {\n this.activePicker.set(null);\n this.backgroundChange.emit('transparent');\n }\n\n onBackgroundChange(event: { color: { hex: string } }): void {\n this.backgroundChange.emit(event.color.hex);\n }\n\n onInkChange(event: { color: { hex: string } }): void {\n this.inkChange.emit(event.color.hex);\n }\n}\n","<div class=\"nil-root\">\n\n <!-- ─── Live preview strip ───────────────────────────────────────────────── -->\n <div class=\"nil-strip\" #nilStrip aria-label=\"Nav item state preview\">\n @for (state of states(); track state.key) {\n <div class=\"nil-col\" [class.nil-col--editing]=\"activeState() === state.key\"\n (click)=\"activeState.set(state.key)\">\n <button\n type=\"button\"\n class=\"nil-item\"\n [ngClass]=\"'nil-item--' + state.key\">\n Nav Item\n </button>\n <span class=\"nil-state-label\">{{ state.label }}</span>\n </div>\n }\n </div>\n\n <!-- ─── State pill selector ──────────────────────────────────────────────── -->\n <div class=\"nil-pills\">\n @for (state of states(); track state.key) {\n <button\n type=\"button\"\n class=\"nil-pill\"\n [class.nil-pill--active]=\"activeState() === state.key\"\n (click)=\"activeState.set(state.key)\">\n {{ state.label }}\n </button>\n }\n </div>\n\n <!-- ─── State editor ─────────────────────────────────────────────────────── -->\n @for (state of states(); track state.key) {\n @if (activeState() === state.key) {\n\n <div class=\"nil-editor\">\n\n <!-- Colors -->\n <p class=\"nil-section\">Colors</p>\n <lib-background-ink-editor\n backgroundLabel=\"Background\"\n inkLabel=\"Ink\"\n [allowTransparent]=\"true\"\n [background]=\"val(state.key, 'background')\"\n [ink]=\"val(state.key, 'color')\"\n (backgroundChange)=\"emit(state.key, 'background', $event)\"\n (inkChange)=\"emit(state.key, 'color', $event)\" />\n\n <!-- Borders -->\n <p class=\"nil-section\">Borders</p>\n <div class=\"nil-border-grid\">\n <span class=\"nil-th\"></span>\n <span class=\"nil-th\">Width</span>\n <span class=\"nil-th\">Style</span>\n <span class=\"nil-th\">Color</span>\n @for (side of SIDES; track side.key) {\n <span class=\"nil-side\">{{ side.label }}</span>\n <div class=\"nil-border-w\">\n <input type=\"number\" class=\"nil-input\" step=\"1\" min=\"0\"\n [value]=\"numBorderVal(state.key, side.key)\"\n (input)=\"emitBorderWidth(state.key, side.key, $event)\" />\n <span class=\"nil-unit\">px</span>\n </div>\n <select class=\"nil-select\"\n [value]=\"val(state.key, 'border-' + side.key + '-style') || 'solid'\"\n (change)=\"emitBorderStyle(state.key, side.key, $event)\">\n @for (s of BORDER_STYLES; track s) {\n <option [value]=\"s\">{{ s }}</option>\n }\n </select>\n <input type=\"color\" class=\"nil-color-input\"\n [value]=\"borderColorVal(state.key, side.key)\"\n (input)=\"emitBorderColor(state.key, side.key, $event)\" />\n }\n </div>\n\n <!-- Font decorations -->\n <p class=\"nil-section\">Decorations</p>\n <div class=\"nil-deco-row\">\n <button type=\"button\" class=\"nil-deco-btn\"\n [class.nil-deco-btn--on]=\"isBold(state.key)\"\n title=\"Bold\" (click)=\"toggleBold(state.key)\">\n <span class=\"nil-deco-b\">B</span>\n </button>\n <button type=\"button\" class=\"nil-deco-btn\"\n [class.nil-deco-btn--on]=\"isItalic(state.key)\"\n title=\"Italic\" (click)=\"toggleItalic(state.key)\">\n <span class=\"nil-deco-i\">I</span>\n </button>\n <button type=\"button\" class=\"nil-deco-btn\"\n [class.nil-deco-btn--on]=\"isUnderline(state.key)\"\n title=\"Underline\" (click)=\"toggleUnderline(state.key)\">\n <span class=\"nil-deco-u\">U</span>\n </button>\n <button type=\"button\" class=\"nil-deco-btn\"\n [class.nil-deco-btn--on]=\"isStrikethrough(state.key)\"\n title=\"Strikethrough\" (click)=\"toggleStrikethrough(state.key)\">\n <span class=\"nil-deco-s\">S</span>\n </button>\n </div>\n\n </div>\n\n }\n }\n\n</div>\n","import { Component, ElementRef, effect, input, output, signal, viewChild } from '@angular/core';\nimport { NgClass } from '@angular/common';\nimport { BackgroundInkEditorComponent } from '../background-ink-editor/background-ink-editor.component';\n\nexport type BorderSide = 'top' | 'right' | 'bottom' | 'left';\n\nconst SIDES: { key: BorderSide; label: string }[] = [\n { key: 'top', label: 'Top' },\n { key: 'right', label: 'Right' },\n { key: 'bottom', label: 'Bot' },\n { key: 'left', label: 'Left' },\n];\n\nconst BORDER_STYLES = ['none', 'solid', 'dashed', 'dotted', 'double'];\n\nexport interface NavItemLabState {\n key: string;\n label: string;\n}\n\nexport const DEFAULT_LAB_STATES: NavItemLabState[] = [\n { key: 'default', label: 'Default' },\n { key: 'hover', label: 'Hover' },\n { key: 'active', label: 'Active' },\n { key: 'active-hover', label: 'Active:Hover' },\n];\n\n@Component({\n selector: 'lib-nav-item-lab',\n standalone: true,\n imports: [NgClass, BackgroundInkEditorComponent],\n templateUrl: './nav-item-lab.component.html',\n styleUrl: './nav-item-lab.component.scss',\n})\nexport class NavItemLabComponent {\n\n readonly prefix = input.required<string>();\n readonly values = input.required<Record<string, string>>();\n readonly states = input<NavItemLabState[]>(DEFAULT_LAB_STATES);\n readonly stripBackground = input<string>('');\n readonly loadFonts = input<(() => Promise<string[]> | string[]) | null>(null);\n readonly valueChange = output<{ cssVar: string; value: string }>();\n readonly activeState = signal<string>('default');\n\n readonly SIDES = SIDES;\n readonly BORDER_STYLES = BORDER_STYLES;\n\n private readonly stripEl = viewChild<ElementRef<HTMLElement>>('nilStrip');\n\n constructor() {\n effect(() => {\n const el = this.stripEl()?.nativeElement;\n if (!el) return;\n\n const v = this.values();\n const p = this.prefix();\n\n const set = (nilVar: string, srcVar: string, fallback = '') => {\n const val = v[srcVar] ?? fallback;\n if (val) el.style.setProperty(nilVar, val);\n else el.style.removeProperty(nilVar);\n };\n\n set('--nil-color', `${p}-color`);\n set('--nil-background', `${p}-background`, 'transparent');\n set('--nil-font-family', `${p}-font-family`, 'inherit');\n set('--nil-font-weight', `${p}-font-weight`, 'normal');\n set('--nil-font-style', `${p}-font-style`, 'normal');\n set('--nil-text-decoration', `${p}-text-decoration`, 'none');\n set('--nil-line-height', `${p}-line-height`, '1.25');\n\n set('--nil-color-hover', `${p}-color-hover`, v[`${p}-color`] ?? '');\n set('--nil-background-hover', `${p}-background-hover`, 'transparent');\n set('--nil-font-weight-hover', `${p}-font-weight-hover`);\n set('--nil-font-style-hover', `${p}-font-style-hover`);\n set('--nil-text-decoration-hover', `${p}-text-decoration-hover`);\n set('--nil-font-family-hover', `${p}-font-family-hover`);\n\n set('--nil-color-active', `${p}-color-active`, v[`${p}-color`] ?? '');\n set('--nil-background-active', `${p}-background-active`, 'transparent');\n set('--nil-font-weight-active', `${p}-font-weight-active`);\n set('--nil-font-style-active', `${p}-font-style-active`);\n set('--nil-text-decoration-active', `${p}-text-decoration-active`);\n set('--nil-font-family-active', `${p}-font-family-active`);\n\n set('--nil-color-active-hover', `${p}-color-active-hover`, v[`${p}-color-active`] ?? '');\n set('--nil-background-active-hover', `${p}-background-active-hover`, 'transparent');\n set('--nil-font-weight-active-hover', `${p}-font-weight-active-hover`);\n set('--nil-font-style-active-hover', `${p}-font-style-active-hover`);\n set('--nil-text-decoration-active-hover', `${p}-text-decoration-active-hover`);\n set('--nil-font-family-active-hover', `${p}-font-family-active-hover`);\n\n const fs = v[`${p}-font-size`];\n if (fs) el.style.setProperty('--nil-font-size', `${parseFloat(fs)}rem`);\n else el.style.removeProperty('--nil-font-size');\n\n const bg = this.stripBackground();\n if (bg) el.style.setProperty('--nil-strip-background', bg);\n else el.style.removeProperty('--nil-strip-background');\n });\n }\n\n // ─── CSS var helpers ──────────────────────────────────────────────────────\n\n cssVar(prop: string, stateKey: string): string {\n return stateKey === 'default'\n ? `${this.prefix()}-${prop}`\n : `${this.prefix()}-${prop}-${stateKey}`;\n }\n\n val(stateKey: string, prop: string): string {\n return this.values()[this.cssVar(prop, stateKey)] ?? '';\n }\n\n numVal(stateKey: string, prop: string): number {\n const direct = parseFloat(this.val(stateKey, prop));\n if (!isNaN(direct) && direct !== 0) return direct;\n if (stateKey !== 'default') {\n const base = parseFloat(this.val('default', prop));\n if (!isNaN(base)) return base;\n }\n return 0;\n }\n\n emit(stateKey: string, prop: string, value: string): void {\n this.valueChange.emit({ cssVar: this.cssVar(prop, stateKey), value });\n }\n\n // ─── Border helpers ───────────────────────────────────────────────────────\n\n numBorderVal(stateKey: string, side: BorderSide): number {\n return parseFloat(this.val(stateKey, `border-${side}-width`)) || 0;\n }\n\n borderColorVal(stateKey: string, side: BorderSide): string {\n const v = this.val(stateKey, `border-${side}-color`);\n return /^#[0-9a-fA-F]{6}$/.test(v) ? v : '#000000';\n }\n\n emitBorderWidth(stateKey: string, side: BorderSide, event: Event): void {\n const n = parseFloat((event.target as HTMLInputElement).value);\n if (!isNaN(n)) this.emit(stateKey, `border-${side}-width`, n.toString());\n }\n\n emitBorderStyle(stateKey: string, side: BorderSide, event: Event): void {\n this.emit(stateKey, `border-${side}-style`, (event.target as HTMLSelectElement).value);\n }\n\n emitBorderColor(stateKey: string, side: BorderSide, event: Event): void {\n this.emit(stateKey, `border-${side}-color`, (event.target as HTMLInputElement).value);\n }\n\n // ─── Font decoration helpers ──────────────────────────────────────────────\n\n isBold(stateKey: string): boolean {\n return this.val(stateKey, 'font-weight') === 'bold';\n }\n\n isItalic(stateKey: string): boolean {\n return this.val(stateKey, 'font-style') === 'italic';\n }\n\n isUnderline(stateKey: string): boolean {\n return this.val(stateKey, 'text-decoration').includes('underline');\n }\n\n isStrikethrough(stateKey: string): boolean {\n return this.val(stateKey, 'text-decoration').includes('line-through');\n }\n\n toggleBold(stateKey: string): void {\n this.emit(stateKey, 'font-weight', this.isBold(stateKey) ? 'normal' : 'bold');\n }\n\n toggleItalic(stateKey: string): void {\n this.emit(stateKey, 'font-style', this.isItalic(stateKey) ? 'normal' : 'italic');\n }\n\n toggleUnderline(stateKey: string): void {\n const hasStrike = this.isStrikethrough(stateKey);\n const on = !this.isUnderline(stateKey);\n this.emit(stateKey, 'text-decoration',\n on ? (hasStrike ? 'underline line-through' : 'underline')\n : (hasStrike ? 'line-through' : 'none'));\n }\n\n toggleStrikethrough(stateKey: string): void {\n const hasUnderline = this.isUnderline(stateKey);\n const on = !this.isStrikethrough(stateKey);\n this.emit(stateKey, 'text-decoration',\n on ? (hasUnderline ? 'underline line-through' : 'line-through')\n : (hasUnderline ? 'underline' : 'none'));\n }\n}\n","<div class=\"se-root\">\n\n <!-- ─── Padding ────────────────────────────────────────────────────────── -->\n <p class=\"se-section\">Padding</p>\n <ng-container *ngTemplateOutlet=\"cross; context: { prop: 'padding' }\" />\n\n <!-- ─── Margin ─────────────────────────────────────────────────────────── -->\n @if (showMargin()) {\n <p class=\"se-section\">Margin</p>\n <ng-container *ngTemplateOutlet=\"cross; context: { prop: 'margin' }\" />\n }\n\n <!-- ─── Gap ────────────────────────────────────────────────────────────── -->\n @if (showGap()) {\n <div class=\"se-inline-row\">\n <span class=\"se-inline-label\">Gap</span>\n <input type=\"number\" class=\"se-input se-input--sm\" step=\"0.0625\" min=\"0\"\n [value]=\"numVal('gap')\"\n (input)=\"onInput('gap', $event)\" />\n <span class=\"se-unit\">rem</span>\n </div>\n }\n\n</div>\n\n<!-- ─── Cross template ────────────────────────────────────────────────────── -->\n<ng-template #cross let-prop=\"prop\">\n <div class=\"se-cross\">\n\n <div class=\"se-cross__top\">\n <span class=\"se-cross__lbl\">T</span>\n <input type=\"number\" class=\"se-input se-input--sm\" step=\"0.0625\" min=\"0\"\n [value]=\"numVal(prop + '-top')\"\n (input)=\"onInput(prop + '-top', $event)\" />\n <span class=\"se-unit\">rem</span>\n </div>\n\n <div class=\"se-cross__mid\">\n <div class=\"se-cross__side\">\n <span class=\"se-cross__lbl\">L</span>\n <input type=\"number\" class=\"se-input se-input--sm\" step=\"0.0625\" min=\"0\"\n [value]=\"numVal(prop + '-left')\"\n (input)=\"onInput(prop + '-left', $event)\" />\n <span class=\"se-unit\">rem</span>\n </div>\n <div class=\"se-cross__box\"></div>\n <div class=\"se-cross__side\">\n <span class=\"se-cross__lbl\">R</span>\n <input type=\"number\" class=\"se-input se-input--sm\" step=\"0.0625\" min=\"0\"\n [value]=\"numVal(prop + '-right')\"\n (input)=\"onInput(prop + '-right', $event)\" />\n <span class=\"se-unit\">rem</span>\n </div>\n </div>\n\n <div class=\"se-cross__bot\">\n <span class=\"se-cross__lbl\">B</span>\n <input type=\"number\" class=\"se-input se-input--sm\" step=\"0.0625\" min=\"0\"\n [value]=\"numVal(prop + '-bottom')\"\n (input)=\"onInput(prop + '-bottom', $event)\" />\n <span class=\"se-unit\">rem</span>\n </div>\n\n </div>\n</ng-template>\n","import { Component, input, output } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\n\n@Component({\n selector: 'lib-spacing-editor',\n standalone: true,\n imports: [NgTemplateOutlet],\n templateUrl: './spacing-editor.component.html',\n styleUrl: './spacing-editor.component.scss',\n})\nexport class SpacingEditorComponent {\n readonly prefix = input.required<string>();\n readonly values = input.required<Record<string, string>>();\n readonly showGap = input<boolean>(false);\n readonly showMargin = input<boolean>(false);\n readonly valueChange = output<{ cssVar: string; value: string }>();\n\n cssVar(prop: string): string {\n return `${this.prefix()}-${prop}`;\n }\n\n val(prop: string): string {\n return this.values()[this.cssVar(prop)] ?? '';\n }\n\n numVal(prop: string): number {\n return parseFloat(this.val(prop)) || 0;\n }\n\n onInput(prop: string, event: Event): void {\n const n = parseFloat((event.target as HTMLInputElement).value);\n if (!isNaN(n)) {\n this.valueChange.emit({ cssVar: this.cssVar(prop), value: `${n}rem` });\n }\n }\n}\n","<div class=\"bde-root\">\n\n <!-- ─── Border Radius ────────────────────────────────────────────────────── -->\n <div class=\"bde-section-row\">\n <p class=\"bde-section\">Border Radius</p>\n <button type=\"button\"\n class=\"bde-link-btn\"\n [class.bde-link-btn--active]=\"radiusLinked()\"\n (click)=\"toggleRadiusLink()\"\n title=\"Link all corners\">\n <i class=\"bi bi-link-45deg\" aria-hidden=\"true\"></i>\n All\n </button>\n </div>\n\n <div class=\"bde-radius-grid\">\n\n <div class=\"bde-radius-cell\">\n <span class=\"bde-radius-icon bde-radius-icon--tl\"></span>\n <input type=\"number\" class=\"bde-input\" step=\"1\" min=\"0\"\n [value]=\"numVal('border-radius-tl')\"\n (input)=\"onNumInput('border-radius-tl', $event)\" />\n <span class=\"bde-unit\">px</span>\n </div>\n\n <div class=\"bde-radius-cell\">\n <span class=\"bde-radius-icon bde-radius-icon--tr\"></span>\n <input type=\"number\" class=\"bde-input\" step=\"1\" min=\"0\"\n [value]=\"numVal('border-radius-tr')\"\n (input)=\"onNumInput('border-radius-tr', $event)\" />\n <span class=\"bde-unit\">px</span>\n </div>\n\n <div class=\"bde-radius-cell\">\n <span class=\"bde-radius-icon bde-radius-icon--bl\"></span>\n <input type=\"number\" class=\"bde-input\" step=\"1\" min=\"0\"\n [value]=\"numVal('border-radius-bl')\"\n (input)=\"onNumInput('border-radius-bl', $event)\" />\n <span class=\"bde-unit\">px</span>\n </div>\n\n <div class=\"bde-radius-cell\">\n <span class=\"bde-radius-icon bde-radius-icon--br\"></span>\n <input type=\"number\" class=\"bde-input\" step=\"1\" min=\"0\"\n [value]=\"numVal('border-radius-br')\"\n (input)=\"onNumInput('border-radius-br', $event)\" />\n <span class=\"bde-unit\">px</span>\n </div>\n\n </div>\n\n <hr class=\"bde-divider\" />\n\n <!-- ─── Border Sides ─────────────────────────────────────────────────────── -->\n <div class=\"bde-section-row\">\n <p class=\"bde-section\">Borders</p>\n <button type=\"button\"\n class=\"bde-link-btn\"\n [class.bde-link-btn--active]=\"sidesLinked()\"\n (click)=\"toggleSidesLink()\"\n title=\"Link all sides\">\n <i class=\"bi bi-link-45deg\" aria-hidden=\"true\"></i>\n All\n </button>\n </div>\n\n <div class=\"bde-border-grid\">\n\n <span class=\"bde-th\"></span>\n <span class=\"bde-th\">Width</span>\n <span class=\"bde-th\">Style</span>\n <span class=\"bde-th\">Color</span>\n\n @for (side of sides; track side.key) {\n\n <span class=\"bde-side\">{{ side.label }}</span>\n\n <div class=\"bde-control\">\n <input type=\"number\" class=\"bde-input\" step=\"1\" min=\"0\"\n [value]=\"numVal('border-' + side.key + '-width')\"\n (input)=\"onNumInput('border-' + side.key + '-width', $event)\" />\n <span class=\"bde-unit\">px</span>\n </div>\n\n <select class=\"bde-select\"\n [value]=\"val('border-' + side.key + '-style') || 'none'\"\n (change)=\"onSelectChange('border-' + side.key + '-style', $event)\">\n @for (s of borderStyles; track s) {\n <option [value]=\"s\">{{ s }}</option>\n }\n </select>\n\n <input type=\"color\" class=\"bde-color\"\n [value]=\"colorVal(side.key)\"\n (input)=\"onColorInput(side.key, $event)\" />\n\n }\n\n </div>\n\n</div>\n","import { Component, input, output, signal } from '@angular/core';\n\nexport type BorderSide = 'top' | 'right' | 'bottom' | 'left';\n\nconst SIDES: { key: BorderSide; label: string }[] = [\n { key: 'top', label: 'Top' },\n { key: 'right', label: 'Right' },\n { key: 'bottom', label: 'Bot' },\n { key: 'left', label: 'Left' },\n];\n\nconst BORDER_STYLES = ['none', 'solid', 'dashed', 'dotted', 'double', 'inset', 'outset'];\n\n@Component({\n selector: 'lib-border-editor',\n standalone: true,\n templateUrl: './border-editor.component.html',\n styleUrl: './border-editor.component.scss',\n})\nexport class BorderEditorComponent {\n readonly prefix = input.required<string>();\n readonly values = input.required<Record<string, string>>();\n readonly valueChange = output<{ cssVar: string; value: string }>();\n\n readonly sides = SIDES;\n readonly borderStyles = BORDER_STYLES;\n readonly radiusLinked = signal(false);\n readonly sidesLinked = signal(false);\n\n toggleRadiusLink(): void { this.radiusLinked.update(v => !v); }\n toggleSidesLink(): void { this.sidesLinked.update(v => !v); }\n\n cssVar(prop: string): string {\n return `${this.prefix()}-${prop}`;\n }\n\n val(prop: string): string {\n return this.values()[this.cssVar(prop)] ?? '';\n }\n\n numVal(prop: string): number {\n return parseFloat(this.val(prop)) || 0;\n }\n\n colorVal(side: BorderSide): string {\n const v = this.val(`border-${side}-color`);\n return /^#[0-9a-fA-F]{6}$/.test(v) ? v : '#000000';\n }\n\n onNumInput(prop: string, event: Event): void {\n const n = parseFloat((event.target as HTMLInputElement).value);\n if (isNaN(n)) return;\n if (this.radiusLinked() && prop.startsWith('border-radius-')) {\n for (const corner of ['tl', 'tr', 'bl', 'br']) {\n this.valueChange.emit({ cssVar: this.cssVar(`border-radius-${corner}`), value: `${n}px` });\n }\n } else if (this.sidesLinked() && prop.startsWith('border-') && prop.endsWith('-width')) {\n for (const side of ['top', 'right', 'bottom', 'left']) {\n this.valueChange.emit({ cssVar: this.cssVar(`border-${side}-width`), value: `${n}px` });\n }\n } else {\n this.valueChange.emit({ cssVar: this.cssVar(prop), value: `${n}px` });\n }\n }\n\n onSelectChange(prop: string, event: Event): void {\n const value = (event.target as HTMLSelectElement).value;\n if (this.sidesLinked() && prop.endsWith('-style')) {\n for (const side of ['top', 'right', 'bottom', 'left']) {\n this.valueChange.emit({ cssVar: this.cssVar(`border-${side}-style`), value });\n }\n } else {\n this.valueChange.emit({ cssVar: this.cssVar(prop), value });\n }\n }\n\n onColorInput(side: BorderSide, event: Event): void {\n const value = (event.target as HTMLInputElement).value;\n if (this.sidesLinked()) {\n for (const s of ['top', 'right', 'bottom', 'left'] as BorderSide[]) {\n this.valueChange.emit({ cssVar: this.cssVar(`border-${s}-color`), value });\n }\n } else {\n this.valueChange.emit({ cssVar: this.cssVar(`border-${side}-color`), value });\n }\n }\n}\n","<div class=\"te-root\">\n\n <!-- Font family -->\n <div class=\"te-row\">\n <span class=\"te-label\">Font</span>\n <div class=\"te-control\">\n <lib-filterable-select\n [loadItems]=\"selectLoadFn()\"\n [data]=\"[]\"\n textField=\"name\"\n valueField=\"name\"\n placeholder=\"Select font…\"\n [allowClear]=\"false\"\n [ngModel]=\"font()\"\n (valueChange)=\"onFontChange($event)\">\n <ng-template #selectedItemTemplate let-item>\n <span [style.font-family]=\"item.name === 'inherit' ? 'inherit' : item.name\">{{ item.name }}</span>\n </ng-template>\n <ng-template #itemTemplate let-item>\n <span [style.font-family]=\"item.name === 'inherit' ? 'inherit' : item.name\">{{ item.name }}</span>\n </ng-template>\n </lib-filterable-select>\n </div>\n </div>\n\n <!-- Font size -->\n @if (showSizing()) {\n <div class=\"te-row\">\n <span class=\"te-label\">Size</span>\n <div class=\"te-slider-wrap\">\n <input type=\"range\" class=\"te-range\"\n [min]=\"fontSizeMin()\" [max]=\"fontSizeMax()\" step=\"0.05\"\n [value]=\"fontSize()\"\n (input)=\"onFontSizeChange($any($event.target).value)\" />\n <span class=\"te-mono\">{{ fontSize() | number:'1.2-2' }}rem</span>\n </div>\n </div>\n\n <!-- Line height -->\n <div class=\"te-row\">\n <span class=\"te-label\">Line Height</span>\n <div class=\"te-slider-wrap\">\n <input type=\"range\" class=\"te-range\"\n [min]=\"lineHeightMin()\" [max]=\"lineHeightMax()\" step=\"0.05\"\n [value]=\"lineHeight()\"\n (input)=\"onLineHeightChange($any($event.target).value)\" />\n <span class=\"te-mono\">{{ lineHeight() | number:'1.2-2' }}</span>\n </div>\n </div>\n }\n\n <!-- Decorator buttons -->\n @if (showDecorators()) {\n <div class=\"te-row te-row--decorators\">\n <span class=\"te-label\">Style</span>\n <div class=\"te-decorators\" role=\"group\" aria-label=\"Text style\">\n\n <button type=\"button\" class=\"te-deco-btn\" [class.te-deco-btn--active]=\"isBold()\"\n title=\"Bold\" (click)=\"toggleBold()\">\n <span class=\"te-deco-glyph te-deco-glyph--bold\">B</span>\n </button>\n\n <button type=\"button\" class=\"te-deco-btn\" [class.te-deco-btn--active]=\"isItalic()\"\n title=\"Italic\" (click)=\"toggleItalic()\">\n <span class=\"te-deco-glyph te-deco-glyph--italic\">I</span>\n </button>\n\n <button type=\"button\" class=\"te-deco-btn\" [class.te-deco-btn--active]=\"isUnderline()\"\n title=\"Underline\" (click)=\"toggleUnderline()\">\n <span class=\"te-deco-glyph te-deco-glyph--underline\">U</span>\n </button>\n\n <button type=\"button\" class=\"te-deco-btn\" [class.te-deco-btn--active]=\"isStrikethrough()\"\n title=\"Strikethrough\" (click)=\"toggleStrikethrough()\">\n <span class=\"te-deco-glyph te-deco-glyph--strikethrough\">S</span>\n </button>\n\n </div>\n </div>\n }\n\n</div>\n","import { Component, computed, inject, input, output } from '@angular/core';\nimport { DecimalPipe } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { firstValueFrom } from 'rxjs';\nimport { FilterableSelectComponent, FilterableSelectLoadFn } from '@anvil-eco/shared-ui';\nimport { FontFamilyService } from '@anvil-eco/design-services';\nimport { DesignTokenService } from '@anvil-eco/shared-services';\n\ninterface FontItem { name: string; }\n\nconst SYSTEM_FONTS: FontItem[] = [\n { name: 'inherit' },\n { name: 'Arial' },\n { name: 'Arial Black' },\n { name: 'Comic Sans MS' },\n { name: 'Courier New' },\n { name: 'Georgia' },\n { name: 'Impact' },\n { name: 'Lucida Console' },\n { name: 'Lucida Sans Unicode' },\n { name: 'Palatino Linotype'},\n { name: 'Tahoma' },\n { name: 'Times New Roman' },\n { name: 'Trebuchet MS' },\n { name: 'Verdana' },\n];\n\n@Component({\n selector: 'lib-typography-editor',\n standalone: true,\n imports: [FilterableSelectComponent, DecimalPipe, FormsModule],\n templateUrl: './typography-editor.component.html',\n styleUrl: './typography-editor.component.scss',\n})\nexport class TypographyEditorComponent {\n private readonly fontFamilyService = inject(FontFamilyService);\n private readonly designTokenService = inject(DesignTokenService);\n\n // ─── Inputs ────────────────────────────────────────────────────────────────\n\n readonly font = input<string>('inherit');\n readonly fontSize = input<number>(1);\n readonly lineHeight = input<number>(1.5);\n readonly fontWeight = input<string>('normal');\n readonly fontStyle = input<string>('normal');\n readonly textDecoration = input<string>('none');\n\n readonly fontSizeMin = input<number>(0.5);\n readonly fontSizeMax = input<number>(4);\n readonly lineHeightMin = input<number>(1);\n readonly lineHeightMax = input<number>(3);\n\n readonly loadFonts = input<(() => Promise<string[]> | string[]) | null>(null);\n readonly showDecorators = input<boolean>(true);\n readonly showSizing = input<boolean>(true);\n\n // ─── Outputs ───────────────────────────────────────────────────────────────\n\n readonly fontChange = output<string>();\n readonly fontSizeChange = output<number>();\n readonly lineHeightChange = output<number>();\n readonly fontWeightChange = output<string>();\n readonly fontStyleChange = output<string>();\n readonly textDecorationChange = output<string>();\n\n // ─── Derived state ─────────────────────────────────────────────────────────\n\n readonly isBold = computed(() => this.fontWeight() === 'bold');\n readonly isItalic = computed(() => this.fontStyle() === 'italic');\n readonly isUnderline = computed(() => this.textDecoration().includes('underline'));\n readonly isStrikethrough = computed(() => this.textDecoration().includes('line-through'));\n\n readonly selectLoadFn = computed((): FilterableSelectLoadFn<FontItem> => {\n const fn = this.loadFonts();\n return async (term: string) => {\n let catalogItems: FontItem[];\n if (fn) {\n catalogItems = (await fn()).map(n => ({ name: n }));\n } else {\n const families = await firstValueFrom(this.fontFamilyService.getAll());\n for (const f of families) {\n this.designTokenService.injectGoogleFontLink(f.googleFontSlug);\n }\n catalogItems = families.map(f => ({ name: f.name }));\n }\n\n const systemNames = new Set(SYSTEM_FONTS.map(f => f.name.toLowerCase()));\n const deduped = catalogItems.filter(f => !systemNames.has(f.name.toLowerCase()));\n const merged = [...SYSTEM_FONTS, ...deduped];\n const inherit = merged.filter(f => f.name === 'inherit');\n const rest = merged.filter(f => f.name !== 'inherit').sort((a, b) => a.name.localeCompare(b.name));\n const all: FontItem[] = [...inherit, ...rest];\n\n const q = term.toLowerCase();\n return q ? all.filter(f => f.name.toLowerCase().includes(q)) : all;\n };\n });\n\n // ─── Handlers ──────────────────────────────────────────────────────────────\n\n onFontChange(event: { value: unknown }): void {\n this.fontChange.emit(String(event.value ?? 'inherit'));\n }\n\n onFontSizeChange(value: string): void {\n this.fontSizeChange.emit(Number(value));\n }\n\n onLineHeightChange(value: string): void {\n this.lineHeightChange.emit(Number(value));\n }\n\n toggleBold(): void {\n this.fontWeightChange.emit(this.isBold() ? 'normal' : 'bold');\n }\n\n toggleItalic(): void {\n this.fontStyleChange.emit(this.isItalic() ? 'normal' : 'italic');\n }\n\n toggleUnderline(): void {\n const hasStrike = this.isStrikethrough();\n const on = !this.isUnderline();\n this.textDecorationChange.emit(\n on ? (hasStrike ? 'underline line-through' : 'underline')\n : (hasStrike ? 'line-through' : 'none')\n );\n }\n\n toggleStrikethrough(): void {\n const hasUnderline = this.isUnderline();\n const on = !this.isStrikethrough();\n this.textDecorationChange.emit(\n on ? (hasUnderline ? 'underline line-through' : 'line-through')\n : (hasUnderline ? 'underline' : 'none')\n );\n }\n}\n","<div class=\"gnl-root\">\n\n <!-- ─── Tab bar ─────────────────────────────────────────────────────────── -->\n <lib-tab-strip\n [tabs]=\"tabs()\"\n [activeKey]=\"activeTab()\"\n tabAlign=\"left\"\n (activeKeyChange)=\"activeTab.set($event)\" />\n\n <!-- ─── Tab: Container ──────────────────────────────────────────────────── -->\n @if (activeTab() === 'container') {\n <div class=\"gnl-panel\">\n\n <div class=\"gnl-col\">\n <p class=\"gnl-section\">Colors</p>\n <lib-color-editor\n backgroundLabel=\"Background\"\n inkLabel=\"Text & Icons\"\n [background]=\"val(containerPrefix() + '-background')\"\n [ink]=\"val(containerPrefix() + '-color')\"\n (backgroundChange)=\"emit(containerPrefix() + '-background', $event)\"\n (inkChange)=\"emit(containerPrefix() + '-color', $event)\" />\n\n <p class=\"gnl-section\">Item Spacing</p>\n <lib-spacing-editor\n [prefix]=\"itemPrefix()\"\n [values]=\"values()\"\n [showGap]=\"true\"\n [showMargin]=\"true\"\n (valueChange)=\"valueChange.emit($event)\" />\n </div>\n\n <div class=\"gnl-col\">\n @if (showContainerElevation()) {\n <p class=\"gnl-section\">Shadow</p>\n <lib-elevation-selector\n [value]=\"val(containerPrefix() + '-shadow')\"\n (valueChange)=\"emit(containerPrefix() + '-shadow', $event)\" />\n }\n\n @if (showContainerTransition()) {\n <p class=\"gnl-section\">Transition</p>\n <lib-transition-selector\n [value]=\"val(containerPrefix() + '-transition')\"\n (valueChange)=\"emit(containerPrefix() + '-transition', $event)\" />\n }\n </div>\n\n </div>\n }\n\n <!-- ─── Tab: Header ────────────────────────────────────────────────────── -->\n @if (activeTab() === 'header' && headerPrefix()) {\n <div class=\"gnl-panel\">\n\n <div class=\"gnl-col\">\n <p class=\"gnl-section\">Colors</p>\n <lib-color-editor\n backgroundLabel=\"Background\"\n inkLabel=\"Text\"\n [background]=\"val(headerPrefix()! + '-background')\"\n [ink]=\"val(headerPrefix()! + '-color')\"\n (backgroundChange)=\"emit(headerPrefix()! + '-background', $event)\"\n (inkChange)=\"emit(headerPrefix()! + '-color', $event)\" />\n\n <p class=\"gnl-section\">Borders</p>\n <lib-border-editor\n [prefix]=\"headerPrefix()!\"\n [values]=\"values()\"\n (valueChange)=\"valueChange.emit($event)\" />\n </div>\n\n <div class=\"gnl-col\">\n <p class=\"gnl-section\">Typography</p>\n <lib-typography-editor\n [font]=\"val(headerPrefix()! + '-font-family')\"\n [fontSize]=\"numVal(headerPrefix()! + '-font-size')\"\n [lineHeight]=\"1\"\n [fontWeight]=\"val(headerPrefix()! + '-font-weight') || 'normal'\"\n [fontStyle]=\"'normal'\"\n [textDecoration]=\"'none'\"\n [loadFonts]=\"loadFonts()\"\n [showDecorators]=\"false\"\n (fontChange)=\"emit(headerPrefix()! + '-font-family', $event)\"\n (fontSizeChange)=\"emit(headerPrefix()! + '-font-size', $event + 'rem')\"\n (fontWeightChange)=\"emit(headerPrefix()! + '-font-weight', $event)\" />\n\n <p class=\"gnl-section\">Spacing</p>\n <lib-spacing-editor\n [prefix]=\"headerPrefix()!\"\n [values]=\"values()\"\n [showGap]=\"false\"\n [showMargin]=\"true\"\n (valueChange)=\"valueChange.emit($event)\" />\n </div>\n\n </div>\n }\n\n <!-- ─── Tab: Items ──────────────────────────────────────────────────────── -->\n @if (activeTab() === 'items') {\n <div class=\"gnl-panel\">\n\n <div class=\"gnl-col\">\n <p class=\"gnl-section\">Base Font</p>\n <lib-typography-editor\n [font]=\"val(itemPrefix() + '-font-family')\"\n [fontSize]=\"numVal(itemPrefix() + '-font-size')\"\n [lineHeight]=\"numVal(itemPrefix() + '-line-height')\"\n [fontWeight]=\"'normal'\"\n [fontStyle]=\"'normal'\"\n [textDecoration]=\"'none'\"\n [loadFonts]=\"loadFonts()\"\n [showDecorators]=\"false\"\n (fontChange)=\"emit(itemPrefix() + '-font-family', $event)\"\n (fontSizeChange)=\"emit(itemPrefix() + '-font-size', $event + 'rem')\"\n (lineHeightChange)=\"emit(itemPrefix() + '-line-height', $event.toString())\" />\n\n <p class=\"gnl-section\">Transition</p>\n <lib-transition-selector\n [value]=\"val(itemPrefix() + '-transition')\"\n (valueChange)=\"emit(itemPrefix() + '-transition', $event)\" />\n </div>\n\n <div class=\"gnl-col\">\n <p class=\"gnl-section\">States</p>\n <lib-nav-item-lab\n [prefix]=\"itemPrefix()\"\n [values]=\"values()\"\n [loadFonts]=\"loadFonts()\"\n [stripBackground]=\"val(containerPrefix() + '-background')\"\n (valueChange)=\"valueChange.emit($event)\" />\n </div>\n\n </div>\n }\n\n <!-- ─── Tab: Dropdown Panel ─────────────────────────────────────────────── -->\n @if (activeTab() === 'dropdown-panel' && dropdownPanelPrefix()) {\n <div class=\"gnl-panel\">\n\n <div class=\"gnl-col\">\n <p class=\"gnl-section\">Colors</p>\n <lib-color-editor\n backgroundLabel=\"Panel Background\"\n inkLabel=\"Panel Text\"\n [background]=\"val(dropdownPanelPrefix()! + '-background')\"\n [ink]=\"val(dropdownPanelPrefix()! + '-color')\"\n (backgroundChange)=\"emit(dropdownPanelPrefix()! + '-background', $event)\"\n (inkChange)=\"emit(dropdownPanelPrefix()! + '-color', $event)\" />\n\n @if (dropdownItemPrefix()) {\n <p class=\"gnl-section\">Item Spacing</p>\n <lib-spacing-editor\n [prefix]=\"dropdownItemPrefix()!\"\n [values]=\"values()\"\n [showGap]=\"true\"\n [showMargin]=\"true\"\n (valueChange)=\"valueChange.emit($event)\" />\n }\n </div>\n\n <div class=\"gnl-col\">\n <p class=\"gnl-section\">Shadow</p>\n <lib-elevation-selector\n [value]=\"val(dropdownPanelPrefix()! + '-shadow')\"\n (valueChange)=\"emit(dropdownPanelPrefix()! + '-shadow', $event)\" />\n\n <p class=\"gnl-section\">Transition</p>\n <lib-transition-selector\n [value]=\"val(dropdownPanelPrefix()! + '-transition')\"\n (valueChange)=\"emit(dropdownPanelPrefix()! + '-transition', $event)\" />\n </div>\n\n </div>\n }\n\n <!-- ─── Tab: Dropdown Items ─────────────────────────────────────────────── -->\n @if (activeTab() === 'dropdown-items' && dropdownItemPrefix()) {\n <div class=\"gnl-panel\">\n\n <div class=\"gnl-col\">\n <p class=\"gnl-section\">Base Font</p>\n <lib-typography-editor\n [font]=\"val(dropdownItemPrefix()! + '-font-family')\"\n [fontSize]=\"numVal(dropdownItemPrefix()! + '-font-size')\"\n [lineHeight]=\"numVal(dropdownItemPrefix()! + '-line-height')\"\n [fontWeight]=\"'normal'\"\n [fontStyle]=\"'normal'\"\n [textDecoration]=\"'none'\"\n [loadFonts]=\"loadFonts()\"\n [showDecorators]=\"false\"\n (fontChange)=\"emit(dropdownItemPrefix()! + '-font-family', $event)\"\n (fontSizeChange)=\"emit(dropdownItemPrefix()! + '-font-size', $event + 'rem')\"\n (lineHeightChange)=\"emit(dropdownItemPrefix()! + '-line-height', $event.toString())\" />\n\n <p class=\"gnl-section\">Transition</p>\n <lib-transition-selector\n [value]=\"val(dropdownItemPrefix()! + '-transition')\"\n (valueChange)=\"emit(dropdownItemPrefix()! + '-transition', $event)\" />\n </div>\n\n <div class=\"gnl-col\">\n <p class=\"gnl-section\">States</p>\n <lib-nav-item-lab\n [prefix]=\"dropdownItemPrefix()!\"\n [values]=\"values()\"\n [loadFonts]=\"loadFonts()\"\n [stripBackground]=\"val(dropdownPanelPrefix()! + '-background')\"\n (valueChange)=\"valueChange.emit($event)\" />\n </div>\n\n </div>\n }\n\n</div>\n","import { Component, OnInit, computed, input, output, signal } from '@angular/core';\nimport { TabStripComponent } from '@anvil-eco/shared-ui';\nimport { ElevationSelectorComponent } from '../elevation-selector/elevation-selector.component';\nimport { TransitionSelectorComponent } from '../transition-selector/transition-selector.component';\nimport { ColorEditorComponent } from '../color-editor/color-editor.component';\nimport { NavItemLabComponent } from '../nav-item-lab/nav-item-lab.component';\nimport { SpacingEditorComponent } from '../spacing-editor/spacing-editor.component';\nimport { BorderEditorComponent } from '../border-editor/border-editor.component';\nimport { TypographyEditorComponent } from '../typography-editor/typography-editor.component';\n\n@Component({\n selector: 'lib-generic-navbar-lab',\n standalone: true,\n imports: [\n ColorEditorComponent,\n ElevationSelectorComponent,\n TransitionSelectorComponent,\n NavItemLabComponent,\n SpacingEditorComponent,\n BorderEditorComponent,\n TypographyEditorComponent,\n TabStripComponent,\n ],\n templateUrl: './generic-navbar-lab.component.html',\n styleUrl: './generic-navbar-lab.component.scss',\n})\nexport class GenericNavbarLabComponent implements OnInit {\n\n readonly containerLabel = input<string>('Container');\n readonly containerPrefix = input.required<string>();\n readonly itemLabel = input<string>('Items');\n readonly itemPrefix = input.required<string>();\n readonly headerLabel = input<string>('Header');\n readonly headerPrefix = input<string | undefined>(undefined);\n readonly dropdownPanelLabel = input<string>('Dropdown Panel');\n readonly dropdownPanelPrefix = input<string | undefined>(undefined);\n readonly dropdownItemLabel = input<string>('Dropdown Items');\n readonly dropdownItemPrefix = input<string | undefined>(undefined);\n readonly showContainerElevation = input<boolean>(true);\n readonly showContainerTransition = input<boolean>(true);\n readonly values = input.required<Record<string, string>>();\n readonly loadFonts = input<(() => Promise<string[]> | string[]) | null>(null);\n readonly valueChange = output<{ cssVar: string; value: string }>();\n\n readonly activeTab = signal<string>('container');\n\n ngOnInit(): void {\n this.activeTab.set(this.tabs()[0]?.key ?? 'container');\n }\n\n readonly tabs = computed(() => {\n const t: { key: string; label: string }[] = [];\n if (this.headerPrefix()) t.push({ key: 'header', label: this.headerLabel() });\n t.push({ key: 'container', label: this.containerLabel() });\n t.push({ key: 'items', label: this.itemLabel() });\n if (this.dropdownPanelPrefix()) t.push({ key: 'dropdown-panel', label: this.dropdownPanelLabel() });\n if (this.dropdownItemPrefix()) t.push({ key: 'dropdown-items', label: this.dropdownItemLabel() });\n return t;\n });\n\n val(cssVar: string): string {\n return this.values()[cssVar] ?? '';\n }\n\n numVal(cssVar: string): number {\n return parseFloat(this.val(cssVar)) || 0;\n }\n\n emit(cssVar: string, value: string): void {\n this.valueChange.emit({ cssVar, value });\n }\n}\n","import { ChangeDetectionStrategy, Component, DestroyRef, OnInit, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ReactiveFormsModule, FormBuilder, Validators, type FormGroup } from '@angular/forms';\nimport { CommonModule, DecimalPipe } from '@angular/common';\nimport { DOCUMENT } from '@angular/common';\nimport { ErrorAlertComponent, ErrorService, ToastService } from '@anvil-eco/shared-ui';\nimport { AppError } from '@anvil-eco/shared-core';\nimport { FoundationService, type Foundation, type FoundationUpdate } from '@anvil-eco/design-services';\n\nconst KNOB_MAP: { field: string; cssVar: string }[] = [\n { field: 'baselinePx', cssVar: '--anv-f-baseline-px' },\n { field: 'typeScaleRatio', cssVar: '--anv-f-type-scale' },\n { field: 'spacingScaleRatio', cssVar: '--anv-f-spacing-scale' },\n { field: 'globalIntensity', cssVar: '--anv-f-intensity' },\n { field: 'colorDarkenFactor', cssVar: '--anv-f-color-darken' },\n { field: 'colorLightenFactor', cssVar: '--anv-f-color-lighten' },\n { field: 'lineHeightBase', cssVar: '--anv-f-line-height-base' },\n { field: 'enableGradients', cssVar: '--anv-f-enable-gradients' },\n];\n\n@Component({\n selector: 'lib-foundation-edit-form',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, ReactiveFormsModule, ErrorAlertComponent, DecimalPipe],\n template: `\n <div class=\"fef-root\">\n <div class=\"fef-header\">\n <span class=\"fef-title\">Foundation</span>\n <button type=\"button\" class=\"fef-btn-reset\" (click)=\"reset()\" title=\"Reset preview to saved values\">\n <i class=\"bi bi-arrow-counterclockwise\" aria-hidden=\"true\"></i>\n </button>\n </div>\n\n <lib-error-alert sourceId=\"foundationEditForm\" />\n\n @if (loading()) {\n <div class=\"fef-loading\">Loading…</div>\n }\n\n @if (!loading() && foundations().length > 1) {\n <div class=\"fef-field\">\n <label class=\"fef-label\">Active Foundation</label>\n <select class=\"fef-select\" (change)=\"onSelectFoundation($any($event.target).value)\">\n @for (f of foundations(); track f.id) {\n <option [value]=\"f.id\" [selected]=\"selected()?.id === f.id\">{{ f.name }}</option>\n }\n </select>\n </div>\n }\n\n @if (selected()) {\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\" class=\"fef-form\">\n\n <div class=\"fef-field\">\n <label class=\"fef-label\">Name</label>\n <input type=\"text\" class=\"fef-input\" formControlName=\"name\" />\n </div>\n\n <div class=\"fef-section-label\">Typography</div>\n\n <div class=\"fef-field\">\n <div class=\"fef-slider-header\">\n <label class=\"fef-label\">Baseline (px)</label>\n <span class=\"fef-mono\">{{ form.value.baselinePx }}</span>\n </div>\n <input type=\"range\" class=\"fef-range\" min=\"4\" max=\"24\" step=\"1\" formControlName=\"baselinePx\" />\n </div>\n\n <div class=\"fef-field\">\n <div class=\"fef-slider-header\">\n <label class=\"fef-label\">Type Scale Ratio</label>\n <span class=\"fef-mono\">{{ form.value.typeScaleRatio | number:'1.2-2' }}</span>\n </div>\n <input type=\"range\" class=\"fef-range\" min=\"1.0\" max=\"1.5\" step=\"0.01\" formControlName=\"typeScaleRatio\" />\n </div>\n\n <div class=\"fef-field\">\n <div class=\"fef-slider-header\">\n <label class=\"fef-label\">Line Height Base</label>\n <span class=\"fef-mono\">{{ form.value.lineHeightBase | number:'1.2-2' }}</span>\n </div>\n <input type=\"range\" class=\"fef-range\" min=\"1.0\" max=\"2.0\" step=\"0.01\" formControlName=\"lineHeightBase\" />\n </div>\n\n <div class=\"fef-section-label\">Spacing</div>\n\n <div class=\"fef-field\">\n <div class=\"fef-slider-header\">\n <label class=\"fef-label\">Spacing Scale Ratio</label>\n <span class=\"fef-mono\">{{ form.value.spacingScaleRatio | number:'1.2-2' }}</span>\n </div>\n <input type=\"range\" class=\"fef-range\" min=\"1.0\" max=\"2.0\" step=\"0.01\" formControlName=\"spacingScaleRatio\" />\n </div>\n\n <div class=\"fef-section-label\">Color</div>\n\n <div class=\"fef-field\">\n <div class=\"fef-slider-header\">\n <label class=\"fef-label\">Global Intensity</label>\n <span class=\"fef-mono\">{{ form.value.globalIntensity | number:'1.2-2' }}</span>\n </div>\n <input type=\"range\" class=\"fef-range\" min=\"0\" max=\"2\" step=\"0.01\" formControlName=\"globalIntensity\" />\n </div>\n\n <div class=\"fef-field\">\n <div class=\"fef-slider-header\">\n <label class=\"fef-label\">Darken Factor</label>\n <span class=\"fef-mono\">{{ form.value.colorDarkenFactor | number:'1.2-2' }}</span>\n </div>\n <input type=\"range\" class=\"fef-range\" min=\"0\" max=\"1\" step=\"0.01\" formControlName=\"colorDarkenFactor\" />\n </div>\n\n <div class=\"fef-field\">\n <div class=\"fef-slider-header\">\n <label class=\"fef-label\">Lighten Factor</label>\n <span class=\"fef-mono\">{{ form.value.colorLightenFactor | number:'1.2-2' }}</span>\n </div>\n <input type=\"range\" class=\"fef-range\" min=\"0\" max=\"1\" step=\"0.01\" formControlName=\"colorLightenFactor\" />\n </div>\n\n <div class=\"fef-field fef-field--checkbox\">\n <label class=\"fef-label\">Enable Gradients</label>\n <input type=\"checkbox\" formControlName=\"enableGradients\" />\n </div>\n\n <div class=\"fef-actions\">\n <button type=\"submit\" class=\"fef-btn fef-btn--primary\" [disabled]=\"form.invalid || saving()\">\n {{ saving() ? 'Saving…' : 'Save' }}\n </button>\n </div>\n\n </form>\n }\n </div>\n `,\n styles: [`\n .fef-root { display: flex; flex-direction: column; gap: 0.75rem; padding: 1rem; height: 100%; overflow-y: auto; box-sizing: border-box; }\n .fef-header { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; }\n .fef-title { font-weight: 600; font-size: 0.875rem; color: var(--anv-color-dark, #212529); }\n .fef-btn-reset { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px;\n border: 1px solid var(--anv-color-outline, #dee2e6); border-radius: 4px;\n background: transparent; cursor: pointer; color: inherit; font-size: 0.875rem;\n &:hover { background: color-mix(in srgb, currentColor 8%, transparent); } }\n .fef-loading { font-size: 0.875rem; color: var(--anv-color-secondary, #6c757d); }\n .fef-form { display: flex; flex-direction: column; gap: 0.75rem; }\n .fef-section-label{ font-size: 0.625rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em;\n color: var(--anv-color-secondary, #6c757d); padding-top: 0.5rem;\n border-top: 1px solid var(--anv-color-outline, #dee2e6); margin-top: 0.25rem; }\n .fef-field { display: flex; flex-direction: column; gap: 0.25rem; }\n .fef-field--checkbox { flex-direction: row; align-items: center; gap: 0.5rem; }\n .fef-slider-header{ display: flex; justify-content: space-between; align-items: baseline; }\n .fef-label { font-size: 0.8125rem; color: var(--anv-color-dark, #01132c); }\n .fef-mono { font-size: 0.75rem; font-family: monospace; color: var(--anv-color-secondary, #6c757d); min-width: 40px; text-align: right; }\n .fef-range { width: 100%; cursor: pointer; accent-color: var(--anv-color-primary, #0d6efd); }\n .fef-input { font-size: 0.875rem; padding: 0.3rem 0.5rem; border: 1px solid var(--anv-color-outline, #dee2e6);\n border-radius: 4px; width: 100%; box-sizing: border-box; }\n .fef-select { font-size: 0.875rem; padding: 0.3rem 0.5rem; border: 1px solid var(--anv-color-outline, #dee2e6);\n border-radius: 4px; width: 100%; }\n .fef-actions { margin-top: 0.25rem; }\n .fef-btn { padding: 0.4rem 1rem; border: none; border-radius: 4px; cursor: pointer; font-size: 0.875rem; width: 100%; }\n .fef-btn--primary { background: var(--anv-color-primary, #0d6efd); color: #fff;\n &:disabled { opacity: 0.6; cursor: not-allowed; } }\n `],\n})\nexport class FoundationEditFormComponent implements OnInit {\n private readonly doc = inject(DOCUMENT);\n private readonly destroyRef = inject(DestroyRef);\n private readonly service = inject(FoundationService);\n private readonly fb = inject(FormBuilder);\n private readonly toast = inject(ToastService);\n private readonly errorService = inject(ErrorService);\n\n readonly loading = signal(true);\n readonly saving = signal(false);\n readonly foundations = signal<Foundation[]>([]);\n readonly selected = signal<Foundation | null>(null);\n\n private readonly originalCssVars = this.readCurrentVars();\n\n readonly form: FormGroup = this.fb.group({\n name: ['', [Validators.required, Validators.maxLength(100)]],\n baselinePx: [null, [Validators.required]],\n typeScaleRatio: [null, [Validators.required]],\n spacingScaleRatio: [null, [Validators.required]],\n globalIntensity: [null, [Validators.required]],\n colorDarkenFactor: [null, [Validators.required]],\n colorLightenFactor: [null, [Validators.required]],\n lineHeightBase: [null, [Validators.required]],\n enableGradients: [false],\n });\n\n ngOnInit(): void {\n this.form.valueChanges\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(v => this.applyPreview(v));\n\n this.destroyRef.onDestroy(() => this.removePreview());\n\n this.service.getAll().subscribe({\n next: (list) => {\n this.foundations.set(list);\n if (list.length > 0) this.selectFoundation(list[0]);\n this.loading.set(false);\n },\n error: (err: AppError) => {\n this.errorService.setError(err, 'foundationEditForm');\n this.loading.set(false);\n },\n });\n }\n\n onSelectFoundation(id: string): void {\n const f = this.foundations().find(x => x.id === id);\n if (f) this.selectFoundation(f);\n }\n\n reset(): void {\n const f = this.selected();\n if (f) this.selectFoundation(f);\n }\n\n save(): void {\n if (this.form.invalid || !this.selected()) return;\n this.saving.set(true);\n const model: FoundationUpdate = { id: this.selected()!.id, ...this.form.value };\n this.service.update(model).subscribe({\n next: (updated) => {\n this.foundations.update(list => list.map(f => f.id === updated.id ? updated : f));\n this.selected.set(updated);\n this.saving.set(false);\n this.toast.show({ message: 'Foundation saved', type: 'success' });\n },\n error: (err: AppError) => {\n this.errorService.setError(err, 'foundationEditForm');\n this.saving.set(false);\n },\n });\n }\n\n private selectFoundation(f: Foundation): void {\n this.selected.set(f);\n this.form.patchValue({\n name: f.name,\n baselinePx: f.baselinePx,\n typeScaleRatio: f.typeScaleRatio,\n spacingScaleRatio: f.spacingScaleRatio,\n globalIntensity: f.globalIntensity,\n colorDarkenFactor: f.colorDarkenFactor,\n colorLightenFactor: f.colorLightenFactor,\n lineHeightBase: f.lineHeightBase,\n enableGradients: f.enableGradients,\n }, { emitEvent: false });\n this.applyPreview(this.form.value);\n }\n\n private applyPreview(v: Record<string, unknown>): void {\n const style = this.doc.documentElement.style;\n for (const { field, cssVar } of KNOB_MAP) {\n const val = v[field];\n if (val == null) continue;\n style.setProperty(\n cssVar,\n field === 'enableGradients' ? (val ? '1' : '0') : String(val),\n );\n }\n }\n\n private removePreview(): void {\n const style = this.doc.documentElement.style;\n for (const { cssVar } of KNOB_MAP) {\n style.removeProperty(cssVar);\n }\n }\n\n private readCurrentVars(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n KNOB_MAP.map(({ cssVar }) => [cssVar, computed.getPropertyValue(cssVar).trim()])\n );\n }\n}\n","import { ComponentAliasGroup } from '../../component-alias.model';\n\nexport const NAVBAR_ALIAS_MAP: ComponentAliasGroup[] = [\n {\n label: 'Nav Bar',\n aliases: [\n { cssVar: '--anv-navbar-background', label: 'Background', type: 'color', semanticRole: 'primary', default: '#00174b' },\n { cssVar: '--anv-navbar-color', label: 'Text & Icons', type: 'color', semanticRole: 'light', default: '#f2f2f2' },\n { cssVar: '--anv-navbar-shadow', label: 'Shadow', type: 'shadow', semanticRole: 'none', default: 'var(--anv-elevation-none)' },\n { cssVar: '--anv-navbar-transition', label: 'Transition', type: 'transition', semanticRole: 'none', default: 'var(--anv-transition-fast)' },\n ],\n },\n {\n label: 'Nav Items',\n aliases: [\n { cssVar: '--anv-navbar-link-color', label: 'Link Color', type: 'color', semanticRole: 'light', default: '#f2f2f2' },\n { cssVar: '--anv-navbar-link-font-family', label: 'Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-navbar-link-font-size', label: 'Font Size', type: 'length', semanticRole: 'none', default: '0.875rem', unit: 'rem', min: 0.5, max: 2 },\n { cssVar: '--anv-navbar-link-line-height', label: 'Line Height', type: 'length', semanticRole: 'none', default: '1.25', unit: '' },\n { cssVar: '--anv-navbar-link-font-weight', label: 'Font Weight', type: 'font-weight', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-navbar-link-font-style', label: 'Font Style', type: 'font-style', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-navbar-link-text-decoration', label: 'Text Decoration', type: 'text-decoration', semanticRole: 'none', default: 'none' },\n { cssVar: '--anv-navbar-link-transition', label: 'Transition', type: 'transition', semanticRole: 'none', default: 'var(--anv-transition-fast)' },\n { cssVar: '--anv-navbar-link-padding-top', label: 'Padding Top', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-link-padding-right', label: 'Padding Right', type: 'length', semanticRole: 'none', default: '0.75rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-link-padding-bottom', label: 'Padding Bottom', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-link-padding-left', label: 'Padding Left', type: 'length', semanticRole: 'none', default: '0.75rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-link-gap', label: 'Gap', type: 'length', semanticRole: 'none', default: '0.375rem', unit: 'rem', min: 0, max: 2 },\n { cssVar: '--anv-navbar-link-margin-top', label: 'Margin Top', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-link-margin-right', label: 'Margin Right', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-link-margin-bottom', label: 'Margin Bottom', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-link-margin-left', label: 'Margin Left', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-link-border-radius-tl', label: 'Radius TL', type: 'length', semanticRole: 'none', default: '4px', unit: 'px', min: 0, max: 48 },\n { cssVar: '--anv-navbar-link-border-radius-tr', label: 'Radius TR', type: 'length', semanticRole: 'none', default: '4px', unit: 'px', min: 0, max: 48 },\n { cssVar: '--anv-navbar-link-border-radius-br', label: 'Radius BR', type: 'length', semanticRole: 'none', default: '4px', unit: 'px', min: 0, max: 48 },\n { cssVar: '--anv-navbar-link-border-radius-bl', label: 'Radius BL', type: 'length', semanticRole: 'none', default: '4px', unit: 'px', min: 0, max: 48 },\n { cssVar: '--anv-navbar-link-border-top-width', label: 'Border Top Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-link-border-top-style', label: 'Border Top Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-link-border-top-color', label: 'Border Top Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-link-border-right-width', label: 'Border Right Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-link-border-right-style', label: 'Border Right Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-link-border-right-color', label: 'Border Right Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-link-border-bottom-width', label: 'Border Bottom Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-link-border-bottom-style', label: 'Border Bottom Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-link-border-bottom-color', label: 'Border Bottom Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-link-border-left-width', label: 'Border Left Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-link-border-left-style', label: 'Border Left Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-link-border-left-color', label: 'Border Left Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-link-background-hover', label: 'Hover Background', type: 'color', semanticRole: 'none', default: '#142c60' },\n { cssVar: '--anv-navbar-link-color-hover', label: 'Hover Text', type: 'color', semanticRole: 'secondary', default: '#b8c2c7' },\n { cssVar: '--anv-navbar-link-font-family-hover', label: 'Hover Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-navbar-link-font-weight-hover', label: 'Hover Font Weight', type: 'font-weight', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-navbar-link-font-style-hover', label: 'Hover Font Style', type: 'font-style', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-navbar-link-text-decoration-hover', label: 'Hover Text Decoration', type: 'text-decoration', semanticRole: 'none', default: 'none' },\n { cssVar: '--anv-navbar-link-border-top-width-hover', label: 'Hover Border Top Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-link-border-top-style-hover', label: 'Hover Border Top Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-link-border-top-color-hover', label: 'Hover Border Top Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-link-border-right-width-hover', label: 'Hover Border Right Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-link-border-right-style-hover', label: 'Hover Border Right Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-link-border-right-color-hover', label: 'Hover Border Right Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-link-border-bottom-width-hover', label: 'Hover Border Bottom Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-link-border-bottom-style-hover', label: 'Hover Border Bottom Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-link-border-bottom-color-hover', label: 'Hover Border Bottom Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-link-border-left-width-hover', label: 'Hover Border Left Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-link-border-left-style-hover', label: 'Hover Border Left Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-link-border-left-color-hover', label: 'Hover Border Left Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-link-background-active', label: 'Active Background', type: 'color', semanticRole: 'light', default: '#f2f2f2' },\n { cssVar: '--anv-navbar-link-color-active', label: 'Active Text', type: 'color', semanticRole: 'light', default: '#f2f2f2' },\n { cssVar: '--anv-navbar-link-font-family-active', label: 'Active Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-navbar-link-font-weight-active', label: 'Active Font Weight', type: 'font-weight', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-navbar-link-font-style-active', label: 'Active Font Style', type: 'font-style', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-navbar-link-text-decoration-active', label: 'Active Text Decoration', type: 'text-decoration', semanticRole: 'none', default: 'none' },\n { cssVar: '--anv-navbar-link-border-top-width-active', label: 'Active Border Top Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-link-border-top-style-active', label: 'Active Border Top Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-link-border-top-color-active', label: 'Active Border Top Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-link-border-right-width-active', label: 'Active Border Right Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-link-border-right-style-active', label: 'Active Border Right Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-link-border-right-color-active', label: 'Active Border Right Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-link-border-bottom-width-active', label: 'Active Border Bottom Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-link-border-bottom-style-active', label: 'Active Border Bottom Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-link-border-bottom-color-active', label: 'Active Border Bottom Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-link-border-left-width-active', label: 'Active Border Left Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-link-border-left-style-active', label: 'Active Border Left Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-link-border-left-color-active', label: 'Active Border Left Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-link-background-active-hover', label: 'Active:Hover Background', type: 'color', semanticRole: 'none', default: 'transparent' },\n { cssVar: '--anv-navbar-link-color-active-hover', label: 'Active:Hover Text', type: 'color', semanticRole: 'light', default: '#f2f2f2' },\n { cssVar: '--anv-navbar-link-font-family-active-hover', label: 'Active:Hover Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-navbar-link-font-weight-active-hover', label: 'Active:Hover Font Weight', type: 'font-weight', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-navbar-link-font-style-active-hover', label: 'Active:Hover Font Style', type: 'font-style', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-navbar-link-text-decoration-active-hover', label: 'Active:Hover Text Decoration', type: 'text-decoration', semanticRole: 'none', default: 'none' },\n { cssVar: '--anv-navbar-link-border-top-width-active-hover', label: 'Active:Hover Border Top Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-link-border-top-style-active-hover', label: 'Active:Hover Border Top Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-link-border-top-color-active-hover', label: 'Active:Hover Border Top Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-link-border-right-width-active-hover', label: 'Active:Hover Border Right Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-link-border-right-style-active-hover', label: 'Active:Hover Border Right Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-link-border-right-color-active-hover', label: 'Active:Hover Border Right Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-link-border-bottom-width-active-hover',label: 'Active:Hover Border Bottom Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-link-border-bottom-style-active-hover',label: 'Active:Hover Border Bottom Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-link-border-bottom-color-active-hover',label: 'Active:Hover Border Bottom Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-link-border-left-width-active-hover', label: 'Active:Hover Border Left Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-link-border-left-style-active-hover', label: 'Active:Hover Border Left Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-link-border-left-color-active-hover', label: 'Active:Hover Border Left Color', type: 'color', semanticRole: 'none', default: '#000000' },\n ],\n },\n {\n label: 'Dropdown Panels',\n aliases: [\n { cssVar: '--anv-navbar-dropdown-panel-background', label: 'Panel Background', type: 'color', semanticRole: 'surface', default: '#ffffff' },\n { cssVar: '--anv-navbar-dropdown-panel-color', label: 'Panel Text', type: 'color', semanticRole: 'dark', default: '#01132c' },\n { cssVar: '--anv-navbar-dropdown-panel-padding-top', label: 'Padding Top', type: 'length', semanticRole: 'none', default: '0.25rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-dropdown-panel-padding-right', label: 'Padding Right', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-dropdown-panel-padding-bottom', label: 'Padding Bottom', type: 'length', semanticRole: 'none', default: '0.25rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-dropdown-panel-padding-left', label: 'Padding Left', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-dropdown-panel-shadow', label: 'Shadow', type: 'shadow', semanticRole: 'none', default: 'var(--anv-elevation-level-3)' },\n { cssVar: '--anv-navbar-dropdown-panel-transition', label: 'Transition', type: 'transition', semanticRole: 'none', default: 'var(--anv-transition-fast)' },\n ],\n },\n {\n label: 'Dropdown Items',\n aliases: [\n { cssVar: '--anv-navbar-dropdown-item-color', label: 'Text', type: 'color', semanticRole: 'dark', default: '#01132c' },\n { cssVar: '--anv-navbar-dropdown-item-background', label: 'Background', type: 'color', semanticRole: 'none', default: 'transparent' },\n { cssVar: '--anv-navbar-dropdown-item-font-family', label: 'Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-navbar-dropdown-item-font-size', label: 'Font Size', type: 'length', semanticRole: 'none', default: '0.875rem', unit: 'rem', min: 0.5, max: 2 },\n { cssVar: '--anv-navbar-dropdown-item-line-height', label: 'Line Height', type: 'length', semanticRole: 'none', default: '1.25', unit: '' },\n { cssVar: '--anv-navbar-dropdown-item-font-weight', label: 'Font Weight', type: 'font-weight', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-navbar-dropdown-item-font-style', label: 'Font Style', type: 'font-style', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-navbar-dropdown-item-text-decoration', label: 'Text Decoration', type: 'text-decoration', semanticRole: 'none', default: 'none' },\n { cssVar: '--anv-navbar-dropdown-item-transition', label: 'Transition', type: 'transition', semanticRole: 'none', default: 'var(--anv-transition-fast)' },\n { cssVar: '--anv-navbar-dropdown-item-padding-top', label: 'Padding Top', type: 'length', semanticRole: 'none', default: '0.375rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-dropdown-item-padding-right', label: 'Padding Right', type: 'length', semanticRole: 'none', default: '1rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-dropdown-item-padding-bottom', label: 'Padding Bottom', type: 'length', semanticRole: 'none', default: '0.375rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-dropdown-item-padding-left', label: 'Padding Left', type: 'length', semanticRole: 'none', default: '1rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-dropdown-item-gap', label: 'Gap', type: 'length', semanticRole: 'none', default: '0.5rem', unit: 'rem', min: 0, max: 2 },\n { cssVar: '--anv-navbar-dropdown-item-margin-top', label: 'Margin Top', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-dropdown-item-margin-right', label: 'Margin Right', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-dropdown-item-margin-bottom', label: 'Margin Bottom', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-dropdown-item-margin-left', label: 'Margin Left', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-navbar-dropdown-item-border-radius-tl', label: 'Radius TL', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 48 },\n { cssVar: '--anv-navbar-dropdown-item-border-radius-tr', label: 'Radius TR', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 48 },\n { cssVar: '--anv-navbar-dropdown-item-border-radius-br', label: 'Radius BR', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 48 },\n { cssVar: '--anv-navbar-dropdown-item-border-radius-bl', label: 'Radius BL', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 48 },\n { cssVar: '--anv-navbar-dropdown-item-border-top-width', label: 'Border Top Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-dropdown-item-border-top-style', label: 'Border Top Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-dropdown-item-border-top-color', label: 'Border Top Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-dropdown-item-border-right-width', label: 'Border Right Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-dropdown-item-border-right-style', label: 'Border Right Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-dropdown-item-border-right-color', label: 'Border Right Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-dropdown-item-border-bottom-width', label: 'Border Bottom Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-dropdown-item-border-bottom-style', label: 'Border Bottom Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-dropdown-item-border-bottom-color', label: 'Border Bottom Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-dropdown-item-border-left-width', label: 'Border Left Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-dropdown-item-border-left-style', label: 'Border Left Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-dropdown-item-border-left-color', label: 'Border Left Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-dropdown-item-background-hover', label: 'Hover Background', type: 'color', semanticRole: 'none', default: '#f0f4ff' },\n { cssVar: '--anv-navbar-dropdown-item-color-hover', label: 'Hover Text', type: 'color', semanticRole: 'dark', default: '#01132c' },\n { cssVar: '--anv-navbar-dropdown-item-font-family-hover', label: 'Hover Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-navbar-dropdown-item-font-weight-hover', label: 'Hover Font Weight', type: 'font-weight', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-navbar-dropdown-item-font-style-hover', label: 'Hover Font Style', type: 'font-style', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-navbar-dropdown-item-text-decoration-hover', label: 'Hover Text Decoration', type: 'text-decoration', semanticRole: 'none', default: 'none' },\n { cssVar: '--anv-navbar-dropdown-item-border-top-width-hover', label: 'Hover Border Top Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-dropdown-item-border-top-style-hover', label: 'Hover Border Top Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-dropdown-item-border-top-color-hover', label: 'Hover Border Top Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-dropdown-item-border-right-width-hover', label: 'Hover Border Right Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-dropdown-item-border-right-style-hover', label: 'Hover Border Right Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-dropdown-item-border-right-color-hover', label: 'Hover Border Right Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-dropdown-item-border-bottom-width-hover', label: 'Hover Border Bottom Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-dropdown-item-border-bottom-style-hover', label: 'Hover Border Bottom Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-dropdown-item-border-bottom-color-hover', label: 'Hover Border Bottom Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-dropdown-item-border-left-width-hover', label: 'Hover Border Left Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-dropdown-item-border-left-style-hover', label: 'Hover Border Left Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-dropdown-item-border-left-color-hover', label: 'Hover Border Left Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-dropdown-item-background-active', label: 'Active Background', type: 'color', semanticRole: 'none', default: 'transparent' },\n { cssVar: '--anv-navbar-dropdown-item-color-active', label: 'Active Text', type: 'color', semanticRole: 'dark', default: '#01132c' },\n { cssVar: '--anv-navbar-dropdown-item-font-family-active', label: 'Active Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-navbar-dropdown-item-font-weight-active', label: 'Active Font Weight', type: 'font-weight', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-navbar-dropdown-item-font-style-active', label: 'Active Font Style', type: 'font-style', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-navbar-dropdown-item-text-decoration-active', label: 'Active Text Decoration', type: 'text-decoration', semanticRole: 'none', default: 'none' },\n { cssVar: '--anv-navbar-dropdown-item-border-top-width-active', label: 'Active Border Top Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-dropdown-item-border-top-style-active', label: 'Active Border Top Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-dropdown-item-border-top-color-active', label: 'Active Border Top Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-dropdown-item-border-right-width-active', label: 'Active Border Right Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-dropdown-item-border-right-style-active', label: 'Active Border Right Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-dropdown-item-border-right-color-active', label: 'Active Border Right Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-dropdown-item-border-bottom-width-active', label: 'Active Border Bottom Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-dropdown-item-border-bottom-style-active', label: 'Active Border Bottom Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-dropdown-item-border-bottom-color-active', label: 'Active Border Bottom Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-dropdown-item-border-left-width-active', label: 'Active Border Left Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-dropdown-item-border-left-style-active', label: 'Active Border Left Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-dropdown-item-border-left-color-active', label: 'Active Border Left Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-dropdown-item-background-active-hover', label: 'Active:Hover Background', type: 'color', semanticRole: 'none', default: 'transparent' },\n { cssVar: '--anv-navbar-dropdown-item-color-active-hover', label: 'Active:Hover Text', type: 'color', semanticRole: 'dark', default: '#01132c' },\n { cssVar: '--anv-navbar-dropdown-item-font-family-active-hover', label: 'Active:Hover Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-navbar-dropdown-item-font-weight-active-hover', label: 'Active:Hover Font Weight', type: 'font-weight', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-navbar-dropdown-item-font-style-active-hover', label: 'Active:Hover Font Style', type: 'font-style', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-navbar-dropdown-item-text-decoration-active-hover', label: 'Active:Hover Text Decoration', type: 'text-decoration', semanticRole: 'none', default: 'none' },\n { cssVar: '--anv-navbar-dropdown-item-border-top-width-active-hover', label: 'Active:Hover Border Top Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-dropdown-item-border-top-style-active-hover', label: 'Active:Hover Border Top Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-dropdown-item-border-top-color-active-hover', label: 'Active:Hover Border Top Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-dropdown-item-border-right-width-active-hover', label: 'Active:Hover Border Right Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-dropdown-item-border-right-style-active-hover', label: 'Active:Hover Border Right Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-dropdown-item-border-right-color-active-hover', label: 'Active:Hover Border Right Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-dropdown-item-border-bottom-width-active-hover',label: 'Active:Hover Border Bottom Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-dropdown-item-border-bottom-style-active-hover',label: 'Active:Hover Border Bottom Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-dropdown-item-border-bottom-color-active-hover',label: 'Active:Hover Border Bottom Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-navbar-dropdown-item-border-left-width-active-hover', label: 'Active:Hover Border Left Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-navbar-dropdown-item-border-left-style-active-hover', label: 'Active:Hover Border Left Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-navbar-dropdown-item-border-left-color-active-hover', label: 'Active:Hover Border Left Color', type: 'color', semanticRole: 'none', default: '#000000' },\n ],\n },\n];\n\nexport const ALL_NAVBAR_ALIASES = NAVBAR_ALIAS_MAP.flatMap(g => g.aliases);\n","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n<ng-template overDrawerContent>\n <lib-foundation-edit-form />\n</ng-template>\n\n<div class=\"nbe-root\">\n\n <lib-error-alert [sourceId]=\"'navbar-editor'\" mode=\"inline\" />\n\n <header class=\"nbe-header\">\n <span class=\"nbe-header__title\">Navbar</span>\n <div class=\"nbe-header-actions\">\n <button type=\"button\" class=\"nbe-btn-ghost\" (click)=\"reset()\"\n [disabled]=\"saveState() === 'saving'\">\n <i class=\"bi bi-arrow-counterclockwise\" aria-hidden=\"true\"></i>\n Reset\n </button>\n <button type=\"button\" class=\"nbe-btn-primary\" (click)=\"save()\"\n [disabled]=\"saveState() === 'saving'\">\n @switch (saveState()) {\n @case ('saving') { <i class=\"bi bi-hourglass-split\" aria-hidden=\"true\"></i> Saving… }\n @case ('saved') { <i class=\"bi bi-check-lg\" aria-hidden=\"true\"></i> Saved }\n @case ('error') { <i class=\"bi bi-exclamation-triangle\" aria-hidden=\"true\"></i> Error }\n @default { <i class=\"bi bi-cloud-upload\" aria-hidden=\"true\"></i> Save }\n }\n </button>\n </div>\n </header>\n\n <div class=\"nbe-groups\">\n <lib-generic-navbar-lab\n containerLabel=\"Nav Bar\"\n containerPrefix=\"--anv-navbar\"\n itemLabel=\"Nav Items\"\n itemPrefix=\"--anv-navbar-link\"\n dropdownPanelLabel=\"Dropdown Panels\"\n dropdownPanelPrefix=\"--anv-navbar-dropdown-panel\"\n dropdownItemLabel=\"Dropdown Items\"\n dropdownItemPrefix=\"--anv-navbar-dropdown-item\"\n [values]=\"values()\"\n (valueChange)=\"updateValue($event.cssVar, $event.value)\" />\n </div>\n\n</div>\n","import { DOCUMENT } from '@angular/common';\nimport { HttpContext } from '@angular/common/http';\nimport { Component, effect, inject, OnDestroy, signal } from '@angular/core';\nimport { DesignTokenService } from '@anvil-eco/shared-services';\nimport { OverDrawerContentDirective, SideDrawerContentDirective, ErrorAlertComponent, ErrorParserService, ErrorService } from '@anvil-eco/shared-ui';\nimport { BYPASS_GLOBAL_ERROR } from '@anvil-eco/shared-core';\nimport { GenericNavbarLabComponent } from '../../../shared/generic-navbar-lab/generic-navbar-lab.component';\nimport { FoundationEditFormComponent } from '../../../foundation/foundation-edit-form.component/foundation-edit-form.component';\nimport { DesignListNavComponent } from '../../../shared/design-list-nav/design-list-nav.component';\nimport { NAVBAR_ALIAS_MAP, ALL_NAVBAR_ALIASES } from './navbar-alias-map';\n\n@Component({\n selector: 'lib-navbar-editor',\n standalone: true,\n imports: [\n SideDrawerContentDirective,\n OverDrawerContentDirective,\n DesignListNavComponent,\n FoundationEditFormComponent,\n GenericNavbarLabComponent,\n ErrorAlertComponent,\n ],\n templateUrl: './navabr-editor.component.html',\n styleUrl: './navbar-editor.component.scss',\n})\nexport class NavbarEditorComponent implements OnDestroy {\n private readonly doc = inject(DOCUMENT);\n private readonly tokenService = inject(DesignTokenService);\n private readonly errorService = inject(ErrorService);\n private readonly errorParser = inject(ErrorParserService);\n\n private static readonly SOURCE = 'navbar-editor';\n\n readonly groups = NAVBAR_ALIAS_MAP;\n\n private readonly originalRawValues: Record<string, string> = this.captureRawValues();\n private readonly originalValues = this.readCurrentValues();\n\n values = signal<Record<string, string>>({ ...this.originalValues });\n saveState = signal<'idle' | 'saving' | 'saved' | 'error'>('idle');\n\n constructor() {\n effect(() => {\n const v = this.values();\n const el = this.doc.documentElement;\n for (const a of ALL_NAVBAR_ALIASES) {\n el.style.setProperty(a.cssVar, v[a.cssVar]);\n }\n });\n }\n\n ngOnDestroy(): void {\n const el = this.doc.documentElement;\n for (const a of ALL_NAVBAR_ALIASES) {\n const raw = this.originalRawValues[a.cssVar];\n if (raw) el.style.setProperty(a.cssVar, raw);\n else el.style.removeProperty(a.cssVar);\n }\n }\n\n getValue(cssVar: string): string {\n return this.values()[cssVar];\n }\n\n updateValue(cssVar: string, value: string): void {\n this.values.update(v => ({ ...v, [cssVar]: value }));\n }\n\n reset(): void {\n this.values.set({ ...this.originalValues });\n }\n\n async save(): Promise<void> {\n const contextId = this.tokenService.payload()?.context.id;\n if (!contextId) return;\n\n this.saveState.set('saving');\n this.errorService.clearError();\n\n const v = this.values();\n const overrides = ALL_NAVBAR_ALIASES.map(a => ({\n cssVar: a.cssVar,\n value: v[a.cssVar],\n }));\n\n const ctx = new HttpContext().set(BYPASS_GLOBAL_ERROR, true);\n\n try {\n await this.tokenService.saveComponentAliasOverrides(contextId, overrides, ctx);\n for (const o of overrides) {\n this.originalRawValues[o.cssVar] = o.value;\n }\n this.saveState.set('saved');\n setTimeout(() => this.saveState.set('idle'), 2000);\n } catch (err) {\n const appError = (err as any)?.isTechnical !== undefined\n ? (err as any)\n : { title: 'Save Failed', message: 'Could not save navbar settings.', status: 0,\n severity: 'error', fieldErrors: {}, timestamp: new Date().toISOString(), isTechnical: true };\n this.errorService.setError(appError, NavbarEditorComponent.SOURCE);\n this.saveState.set('error');\n setTimeout(() => this.saveState.set('idle'), 3000);\n }\n }\n\n private captureRawValues(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n ALL_NAVBAR_ALIASES.map(a => [a.cssVar, computed.getPropertyValue(a.cssVar).trim()])\n );\n }\n\n private readCurrentValues(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n ALL_NAVBAR_ALIASES.map(a => {\n const raw = computed.getPropertyValue(a.cssVar).trim();\n if (!raw) return [a.cssVar, a.default];\n const resolved = this.resolveVar(raw, computed);\n if (!resolved) return [a.cssVar, a.default];\n if (a.type === 'length' && a.unit) {\n // Normalise: if stored as bare number (legacy), append unit\n const withUnit = /^-?[\\d.]+$/.test(resolved) ? resolved + a.unit : resolved;\n return [a.cssVar, withUnit || a.default];\n }\n if (a.type === 'color' && !/^#[0-9A-Fa-f]{6}$/.test(resolved)) {\n return [a.cssVar, a.default];\n }\n if (a.type === 'shadow' || a.type === 'transition') {\n return [a.cssVar, a.default];\n }\n return [a.cssVar, resolved];\n })\n );\n }\n\n /** Walk var(--x, fallback) chains until we reach a concrete value. */\n private resolveVar(value: string, computed: CSSStyleDeclaration, depth = 0): string {\n if (depth > 8 || !value.startsWith('var(')) return value;\n const inner = value.slice(4, -1).trim();\n const commaIdx = inner.indexOf(',');\n const varName = commaIdx >= 0 ? inner.slice(0, commaIdx).trim() : inner;\n const fallback = commaIdx >= 0 ? inner.slice(commaIdx + 1).trim() : '';\n const next = computed.getPropertyValue(varName).trim();\n if (!next) return fallback;\n return this.resolveVar(next, computed, depth + 1);\n }\n}\n","<div class=\"sze-root\">\n\n <div class=\"sze-row\">\n <span class=\"sze-label\">W</span>\n <input\n type=\"number\"\n class=\"sze-input\"\n step=\"1\"\n min=\"0\"\n [value]=\"getNum('width')\"\n [disabled]=\"getUnit('width') === 'auto'\"\n (change)=\"onNumChange('width', $event)\" />\n <select class=\"sze-unit\" [value]=\"getUnit('width')\" (change)=\"onUnitChange('width', $event)\">\n @for (u of units; track u) {\n <option [value]=\"u\">{{ u }}</option>\n }\n </select>\n </div>\n\n <div class=\"sze-row\">\n <span class=\"sze-label\">H</span>\n <input\n type=\"number\"\n class=\"sze-input\"\n step=\"1\"\n min=\"0\"\n [value]=\"getNum('height')\"\n [disabled]=\"getUnit('height') === 'auto'\"\n (change)=\"onNumChange('height', $event)\" />\n <select class=\"sze-unit\" [value]=\"getUnit('height')\" (change)=\"onUnitChange('height', $event)\">\n @for (u of units; track u) {\n <option [value]=\"u\">{{ u }}</option>\n }\n </select>\n </div>\n\n</div>\n","import { Component, input, output } from '@angular/core';\n\n@Component({\n selector: 'lib-size-editor',\n standalone: true,\n imports: [],\n templateUrl: './size-editor.component.html',\n styleUrl: './size-editor.component.scss',\n})\nexport class SizeEditorComponent {\n readonly prefix = input.required<string>();\n readonly values = input.required<Record<string, string>>();\n readonly valueChange = output<{ cssVar: string; value: string }>();\n\n readonly units = ['px', '%', 'rem', 'em', 'vw', 'vh', 'auto'];\n\n cssVar(prop: string): string {\n return `${this.prefix()}-${prop}`;\n }\n\n val(prop: string): string {\n return this.values()[this.cssVar(prop)] ?? 'auto';\n }\n\n parseValue(raw: string): { num: number; unit: string } {\n if (!raw || raw === 'auto' || raw === 'none') return { num: 0, unit: 'auto' };\n const match = raw.match(/^([0-9.]+)\\s*(\\S+)$/);\n if (match) return { num: parseFloat(match[1]), unit: match[2] };\n return { num: parseFloat(raw) || 0, unit: 'px' };\n }\n\n getNum(prop: string): number {\n return this.parseValue(this.val(prop)).num;\n }\n\n getUnit(prop: string): string {\n return this.parseValue(this.val(prop)).unit;\n }\n\n onNumChange(prop: string, event: Event): void {\n const n = parseFloat((event.target as HTMLInputElement).value);\n if (isNaN(n)) return;\n const unit = this.getUnit(prop);\n if (unit === 'auto') return;\n this.valueChange.emit({ cssVar: this.cssVar(prop), value: `${n}${unit}` });\n }\n\n onUnitChange(prop: string, event: Event): void {\n const unit = (event.target as HTMLSelectElement).value;\n if (unit === 'auto') {\n this.valueChange.emit({ cssVar: this.cssVar(prop), value: 'auto' });\n } else {\n const n = this.getNum(prop);\n this.valueChange.emit({ cssVar: this.cssVar(prop), value: `${n}${unit}` });\n }\n }\n}\n","import { ComponentAliasGroup } from '../component-alias.model';\n\n// ── Parent: TitleBar (cb000006) ──────────────────────────────────────────────\nexport const TITLE_BAR_ALIAS_MAP: ComponentAliasGroup[] = [\n {\n label: 'Title Bar',\n aliases: [\n { cssVar: '--anv-title-bar-background', label: 'Background', type: 'color', semanticRole: 'primary', default: '#00174b' },\n { cssVar: '--anv-title-bar-color', label: 'Text & Icons', type: 'color', semanticRole: 'light', default: '#f2f2f2' },\n { cssVar: '--anv-title-bar-shadow', label: 'Shadow', type: 'shadow', semanticRole: 'none', default: 'var(--anv-elevation-level-1)' },\n ],\n },\n];\n\nexport const ALL_TITLE_BAR_ALIASES = TITLE_BAR_ALIAS_MAP.flatMap(g => g.aliases);\n\n// ── Child: TitleBar.Title (cb000043) ─────────────────────────────────────────\nexport const TITLE_BAR_TITLE_ALIAS_MAP: ComponentAliasGroup[] = [\n {\n label: 'Portal Title',\n aliases: [\n { cssVar: '--anv-title-bar-title-font-family', label: 'Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-header-title-size', label: 'Font Size', type: 'length', semanticRole: 'none', default: '1.75', unit: 'rem', min: 0.5, max: 4 },\n { cssVar: '--anv-header-title-font-weight', label: 'Font Weight', type: 'font-weight', semanticRole: 'none', default: '600' },\n { cssVar: '--anv-header-title-color', label: 'Color', type: 'color', semanticRole: 'light', default: '#f2f2f2' },\n ],\n },\n {\n label: 'Spacing',\n aliases: [\n { cssVar: '--anv-header-title-padding-top', label: 'Padding Top', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-header-title-padding-right', label: 'Padding Right', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-header-title-padding-bottom', label: 'Padding Bottom', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-header-title-padding-left', label: 'Padding Left', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n ],\n },\n];\n\nexport const ALL_TITLE_BAR_TITLE_ALIASES = TITLE_BAR_TITLE_ALIAS_MAP.flatMap(g => g.aliases);\n\n// ── Child: TitleBar.Subtitle (cb000053) ──────────────────────────────────────\nexport const TITLE_BAR_SUBTITLE_ALIAS_MAP: ComponentAliasGroup[] = [\n {\n label: 'Enterprise Name',\n aliases: [\n { cssVar: '--anv-header-subtitle-font-family', label: 'Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-header-subtitle-size', label: 'Font Size', type: 'length', semanticRole: 'none', default: '1', unit: 'rem', min: 0.5, max: 3 },\n { cssVar: '--anv-header-subtitle-font-weight', label: 'Font Weight', type: 'font-weight', semanticRole: 'none', default: '400' },\n { cssVar: '--anv-header-subtitle-color', label: 'Color', type: 'color', semanticRole: 'light', default: '#f2f2f2' },\n { cssVar: '--anv-header-subtitle-opacity', label: 'Opacity', type: 'length', semanticRole: 'none', default: '0.75', unit: '', min: 0, max: 1 },\n ],\n },\n {\n label: 'Spacing',\n aliases: [\n { cssVar: '--anv-header-subtitle-padding-top', label: 'Padding Top', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-header-subtitle-padding-right', label: 'Padding Right', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-header-subtitle-padding-bottom', label: 'Padding Bottom', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-header-subtitle-padding-left', label: 'Padding Left', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n ],\n },\n];\n\nexport const ALL_TITLE_BAR_SUBTITLE_ALIASES = TITLE_BAR_SUBTITLE_ALIAS_MAP.flatMap(g => g.aliases);\n\n// ── Child: TitleBar.Avatar (cb000044) ────────────────────────────────────────\nexport const TITLE_BAR_AVATAR_ALIAS_MAP: ComponentAliasGroup[] = [\n {\n label: 'Avatar',\n aliases: [\n { cssVar: '--anv-title-bar-avatar-width', label: 'Width', type: 'size', semanticRole: 'none', default: '2.75rem' },\n { cssVar: '--anv-title-bar-avatar-height', label: 'Height', type: 'size', semanticRole: 'none', default: '2.75rem' },\n { cssVar: '--anv-title-bar-avatar-background', label: 'Avatar Fill', type: 'color', semanticRole: 'accent-1', default: '#5585d5' },\n { cssVar: '--anv-title-bar-avatar-color', label: 'Avatar Icon', type: 'color', semanticRole: 'primary', default: '#00174b' },\n ],\n },\n];\n\nexport const ALL_TITLE_BAR_AVATAR_ALIASES = TITLE_BAR_AVATAR_ALIAS_MAP.flatMap(g => g.aliases);\n","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n<ng-template overDrawerContent>\n <lib-foundation-edit-form />\n</ng-template>\n\n<div class=\"tbe-root\">\n\n <lib-error-alert [sourceId]=\"'title-bar-editor'\" mode=\"inline\" />\n\n <header class=\"tbe-header\">\n <span class=\"tbe-header__title\">Title Bar</span>\n <div class=\"tbe-header-actions\">\n <button type=\"button\" class=\"tbe-btn-ghost\" (click)=\"reset()\"\n [disabled]=\"saveState() === 'saving'\">\n <i class=\"bi bi-arrow-counterclockwise\" aria-hidden=\"true\"></i>\n Reset\n </button>\n <button type=\"button\" class=\"tbe-btn-primary\" (click)=\"save()\"\n [disabled]=\"saveState() === 'saving'\">\n @switch (saveState()) {\n @case ('saving') { <i class=\"bi bi-hourglass-split\" aria-hidden=\"true\"></i> Saving… }\n @case ('saved') { <i class=\"bi bi-check-lg\" aria-hidden=\"true\"></i> Saved }\n @case ('error') { <i class=\"bi bi-exclamation-triangle\" aria-hidden=\"true\"></i> Error }\n @default { <i class=\"bi bi-cloud-upload\" aria-hidden=\"true\"></i> Save }\n }\n </button>\n </div>\n </header>\n\n <!-- ─── Live Preview ──────────────────────────────────────────────────────── -->\n <div class=\"tbe-preview\">\n <div class=\"tbe-preview-bar\">\n <lib-header-portal-title />\n </div>\n </div>\n\n <div class=\"tbe-groups\">\n\n <!-- ─── Title Bar ─────────────────────────────────────────────────────── -->\n <section class=\"tbe-card\">\n <div class=\"tbe-card__title\">Title Bar</div>\n\n <lib-accordian [multi]=\"true\">\n\n <lib-accordian-panel title=\"Colors\" [initiallyOpen]=\"true\">\n <lib-color-editor\n backgroundLabel=\"Background\"\n inkLabel=\"Text & Icons\"\n [background]=\"getValue('--anv-title-bar-background')\"\n [ink]=\"getValue('--anv-title-bar-color')\"\n (backgroundChange)=\"updateValue('--anv-title-bar-background', $event)\"\n (inkChange)=\"updateValue('--anv-title-bar-color', $event)\" />\n </lib-accordian-panel>\n\n <lib-accordian-panel title=\"Elevation\">\n <lib-elevation-selector\n [value]=\"getValue('--anv-title-bar-shadow')\"\n (valueChange)=\"updateValue('--anv-title-bar-shadow', $event)\" />\n </lib-accordian-panel>\n\n </lib-accordian>\n </section>\n\n <!-- ─── Portal Title ──────────────────────────────────────────────────── -->\n <section class=\"tbe-card\">\n <div class=\"tbe-card__title\">Portal Title</div>\n\n <lib-accordian [multi]=\"true\">\n\n <lib-accordian-panel title=\"Typography\" [initiallyOpen]=\"true\">\n <lib-typography-editor\n [font]=\"getValue('--anv-title-bar-title-font-family')\"\n [fontSize]=\"numVal('--anv-header-title-size')\"\n [fontSizeMin]=\"0.5\"\n [fontSizeMax]=\"4\"\n [fontWeight]=\"getValue('--anv-header-title-font-weight')\"\n (fontChange)=\"updateValue('--anv-title-bar-title-font-family', $event)\"\n (fontSizeChange)=\"updateValue('--anv-header-title-size', $event.toString())\"\n (fontWeightChange)=\"updateValue('--anv-header-title-font-weight', $event)\" />\n </lib-accordian-panel>\n\n <lib-accordian-panel title=\"Color\">\n <lib-color-editor\n backgroundLabel=\"Title Color\"\n [background]=\"getValue('--anv-header-title-color')\"\n (backgroundChange)=\"updateValue('--anv-header-title-color', $event)\" />\n </lib-accordian-panel>\n\n <lib-accordian-panel title=\"Spacing\">\n <lib-spacing-editor\n prefix=\"--anv-header-title\"\n [values]=\"values()\"\n (valueChange)=\"updateFromChild($event)\" />\n </lib-accordian-panel>\n\n </lib-accordian>\n </section>\n\n <!-- ─── Enterprise Name ───────────────────────────────────────────────── -->\n <section class=\"tbe-card\">\n <div class=\"tbe-card__title\">Enterprise Name</div>\n\n <lib-accordian [multi]=\"true\">\n\n <lib-accordian-panel title=\"Typography\" [initiallyOpen]=\"true\">\n <lib-typography-editor\n [font]=\"getValue('--anv-header-subtitle-font-family')\"\n [fontSize]=\"numVal('--anv-header-subtitle-size')\"\n [fontSizeMin]=\"0.5\"\n [fontSizeMax]=\"3\"\n [fontWeight]=\"getValue('--anv-header-subtitle-font-weight')\"\n (fontChange)=\"updateValue('--anv-header-subtitle-font-family', $event)\"\n (fontSizeChange)=\"updateValue('--anv-header-subtitle-size', $event.toString())\"\n (fontWeightChange)=\"updateValue('--anv-header-subtitle-font-weight', $event)\" />\n </lib-accordian-panel>\n\n <lib-accordian-panel title=\"Color\">\n <lib-color-editor\n backgroundLabel=\"Subtitle Color\"\n [background]=\"getValue('--anv-header-subtitle-color')\"\n (backgroundChange)=\"updateValue('--anv-header-subtitle-color', $event)\" />\n </lib-accordian-panel>\n\n <lib-accordian-panel title=\"Spacing\">\n <lib-spacing-editor\n prefix=\"--anv-header-subtitle\"\n [values]=\"values()\"\n (valueChange)=\"updateFromChild($event)\" />\n </lib-accordian-panel>\n\n </lib-accordian>\n </section>\n\n <!-- ─── Avatar ────────────────────────────────────────────────────────── -->\n <section class=\"tbe-card\">\n <div class=\"tbe-card__title\">Avatar</div>\n\n <lib-accordian [multi]=\"true\">\n\n <lib-accordian-panel title=\"Colors\" [initiallyOpen]=\"true\">\n <lib-color-editor\n backgroundLabel=\"Avatar Fill\"\n inkLabel=\"Avatar Icon\"\n [background]=\"getValue('--anv-title-bar-avatar-background')\"\n [ink]=\"getValue('--anv-title-bar-avatar-color')\"\n (backgroundChange)=\"updateValue('--anv-title-bar-avatar-background', $event)\"\n (inkChange)=\"updateValue('--anv-title-bar-avatar-color', $event)\" />\n </lib-accordian-panel>\n\n <lib-accordian-panel title=\"Size\">\n <lib-size-editor\n prefix=\"--anv-title-bar-avatar\"\n [values]=\"values()\"\n (valueChange)=\"updateFromChild($event)\" />\n </lib-accordian-panel>\n\n </lib-accordian>\n </section>\n\n </div>\n\n</div>\n","import { DOCUMENT } from '@angular/common';\nimport { HttpContext } from '@angular/common/http';\nimport { Component, effect, inject, OnDestroy, signal } from '@angular/core';\nimport { DesignTokenService } from '@anvil-eco/shared-services';\nimport { AccordianComponent, AccordianPanelComponent, HeaderPortalTitleComponent, OverDrawerContentDirective, SideDrawerContentDirective, ErrorAlertComponent, ErrorParserService, ErrorService } from '@anvil-eco/shared-ui';\nimport { BYPASS_GLOBAL_ERROR } from '@anvil-eco/shared-core';\nimport { ElevationSelectorComponent } from '../../shared/elevation-selector/elevation-selector.component';\nimport { ColorEditorComponent } from '../../shared/color-editor/color-editor.component';\nimport { TypographyEditorComponent } from '../../shared/typography-editor/typography-editor.component';\nimport { SpacingEditorComponent } from '../../shared/spacing-editor/spacing-editor.component';\nimport { SizeEditorComponent } from '../../shared/size-editor/size-editor.component';\nimport { FoundationEditFormComponent } from '../../foundation/foundation-edit-form.component/foundation-edit-form.component';\nimport { DesignListNavComponent } from '../../shared/design-list-nav/design-list-nav.component';\nimport {\n TITLE_BAR_ALIAS_MAP,\n ALL_TITLE_BAR_ALIASES,\n ALL_TITLE_BAR_TITLE_ALIASES,\n ALL_TITLE_BAR_SUBTITLE_ALIASES,\n ALL_TITLE_BAR_AVATAR_ALIASES,\n} from './title-bar-alias-map';\n\n@Component({\n selector: 'lib-title-bar-editor',\n standalone: true,\n imports: [\n SideDrawerContentDirective,\n OverDrawerContentDirective,\n DesignListNavComponent,\n FoundationEditFormComponent,\n AccordianComponent,\n AccordianPanelComponent,\n ColorEditorComponent,\n ElevationSelectorComponent,\n TypographyEditorComponent,\n SpacingEditorComponent,\n SizeEditorComponent,\n HeaderPortalTitleComponent,\n ErrorAlertComponent,\n ],\n templateUrl: './title-bar-editor.component.html',\n styleUrl: './title-bar-editor.component.scss',\n})\nexport class TitleBarEditorComponent implements OnDestroy {\n private readonly doc = inject(DOCUMENT);\n private readonly tokenService = inject(DesignTokenService);\n private readonly errorService = inject(ErrorService);\n private readonly errorParser = inject(ErrorParserService);\n\n private static readonly SOURCE = 'title-bar-editor';\n\n readonly groups = TITLE_BAR_ALIAS_MAP;\n\n private static readonly ALL = [\n ...ALL_TITLE_BAR_ALIASES,\n ...ALL_TITLE_BAR_TITLE_ALIASES,\n ...ALL_TITLE_BAR_SUBTITLE_ALIASES,\n ...ALL_TITLE_BAR_AVATAR_ALIASES,\n ];\n\n private readonly originalRawValues = this.captureRawValues();\n private readonly originalValues = this.readCurrentValues();\n\n values = signal<Record<string, string>>({ ...this.originalValues });\n saveState = signal<'idle' | 'saving' | 'saved' | 'error'>('idle');\n\n constructor() {\n effect(() => {\n const v = this.values();\n for (const a of TitleBarEditorComponent.ALL) {\n const val = a.type === 'length' ? `${v[a.cssVar]}${a.unit ?? ''}` : v[a.cssVar];\n this.doc.documentElement.style.setProperty(a.cssVar, val);\n }\n });\n }\n\n ngOnDestroy(): void {\n const el = this.doc.documentElement;\n for (const a of TitleBarEditorComponent.ALL) {\n const raw = this.originalRawValues[a.cssVar];\n if (raw) el.style.setProperty(a.cssVar, raw);\n else el.style.removeProperty(a.cssVar);\n }\n }\n\n getValue(cssVar: string): string { return this.values()[cssVar]; }\n numVal(cssVar: string): number { return parseFloat(this.values()[cssVar] ?? '0') || 0; }\n updateFromChild(e: { cssVar: string; value: string }): void { this.updateValue(e.cssVar, e.value); }\n\n updateValue(cssVar: string, value: string): void {\n this.values.update(v => ({ ...v, [cssVar]: value }));\n }\n\n reset(): void {\n this.values.set({ ...this.originalValues });\n }\n\n async save(): Promise<void> {\n const contextId = this.tokenService.payload()?.context.id;\n if (!contextId) return;\n\n this.saveState.set('saving');\n this.errorService.clearError();\n\n const v = this.values();\n const overrides = TitleBarEditorComponent.ALL.map(a => ({\n cssVar: a.cssVar,\n value: a.type === 'length' ? `${v[a.cssVar]}${a.unit ?? ''}` : v[a.cssVar],\n }));\n\n const ctx = new HttpContext().set(BYPASS_GLOBAL_ERROR, true);\n\n try {\n await this.tokenService.saveComponentAliasOverrides(contextId, overrides, ctx);\n this.saveState.set('saved');\n setTimeout(() => this.saveState.set('idle'), 2000);\n } catch (err) {\n const appError = (err as any)?.isTechnical !== undefined\n ? (err as any)\n : { title: 'Save Failed', message: 'Could not save title bar settings.', status: 0,\n severity: 'error', fieldErrors: {}, timestamp: new Date().toISOString(), isTechnical: true };\n this.errorService.setError(appError, TitleBarEditorComponent.SOURCE);\n this.saveState.set('error');\n setTimeout(() => this.saveState.set('idle'), 3000);\n }\n }\n\n private captureRawValues(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n TitleBarEditorComponent.ALL.map(a => [a.cssVar, computed.getPropertyValue(a.cssVar).trim()])\n );\n }\n\n private readCurrentValues(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n TitleBarEditorComponent.ALL.map(a => {\n const raw = computed.getPropertyValue(a.cssVar).trim();\n if (!raw) return [a.cssVar, a.default];\n const resolved = this.resolveVar(raw, computed);\n if (!resolved) return [a.cssVar, a.default];\n if (a.type === 'length' && a.unit) {\n const stripped = resolved.endsWith(a.unit) ? resolved.slice(0, -a.unit.length).trim() : resolved;\n return [a.cssVar, stripped || a.default];\n }\n if (a.type === 'color' && !/^#[0-9A-Fa-f]{6}$/.test(resolved)) return [a.cssVar, a.default];\n if (a.type === 'shadow' || a.type === 'transition') return [a.cssVar, a.default];\n if (a.type === 'size') return [a.cssVar, resolved || a.default];\n return [a.cssVar, resolved];\n })\n );\n }\n\n private resolveVar(value: string, computed: CSSStyleDeclaration, depth = 0): string {\n if (depth > 8 || !value.startsWith('var(')) return value;\n const inner = value.slice(4, -1).trim();\n const commaIdx = inner.indexOf(',');\n const varName = commaIdx >= 0 ? inner.slice(0, commaIdx).trim() : inner;\n const fallback = commaIdx >= 0 ? inner.slice(commaIdx + 1).trim() : '';\n const next = computed.getPropertyValue(varName).trim();\n if (!next) return fallback;\n return this.resolveVar(next, computed, depth + 1);\n }\n}\n","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n<ng-template overDrawerContent>\n <lib-foundation-edit-form />\n</ng-template>\n\n<div class=\"tbe-root\">\n\n <lib-error-alert [sourceId]=\"'title-bar-title-editor'\" mode=\"inline\" />\n\n <header class=\"tbe-header\">\n <span class=\"tbe-header__title\">Title Bar › Title</span>\n <div class=\"tbe-header-actions\">\n <button type=\"button\" class=\"tbe-btn-ghost\" (click)=\"reset()\"\n [disabled]=\"saveState() === 'saving'\">\n <i class=\"bi bi-arrow-counterclockwise\" aria-hidden=\"true\"></i> Reset\n </button>\n <button type=\"button\" class=\"tbe-btn-primary\" (click)=\"save()\"\n [disabled]=\"saveState() === 'saving'\">\n @switch (saveState()) {\n @case ('saving') { <i class=\"bi bi-hourglass-split\" aria-hidden=\"true\"></i> Saving… }\n @case ('saved') { <i class=\"bi bi-check-lg\" aria-hidden=\"true\"></i> Saved }\n @case ('error') { <i class=\"bi bi-exclamation-triangle\" aria-hidden=\"true\"></i> Error }\n @default { <i class=\"bi bi-cloud-upload\" aria-hidden=\"true\"></i> Save }\n }\n </button>\n </div>\n </header>\n\n <div class=\"tbe-preview\">\n <div class=\"tbe-preview-bar\">\n <lib-header-portal-title />\n </div>\n </div>\n\n <div class=\"tbe-groups\">\n\n <section class=\"tbe-card\">\n <div class=\"tbe-card__title\">Portal Title</div>\n\n <lib-accordian [multi]=\"true\">\n\n <lib-accordian-panel title=\"Typography\" [initiallyOpen]=\"true\">\n <lib-typography-editor\n [font]=\"getValue('--anv-title-bar-title-font-family')\"\n [fontSize]=\"numVal('--anv-header-title-size')\"\n [fontSizeMin]=\"0.5\"\n [fontSizeMax]=\"4\"\n [fontWeight]=\"getValue('--anv-header-title-font-weight')\"\n (fontChange)=\"updateValue('--anv-title-bar-title-font-family', $event)\"\n (fontSizeChange)=\"updateValue('--anv-header-title-size', $event.toString())\"\n (fontWeightChange)=\"updateValue('--anv-header-title-font-weight', $event)\" />\n </lib-accordian-panel>\n\n <lib-accordian-panel title=\"Color\">\n <lib-color-editor\n backgroundLabel=\"Title Color\"\n [background]=\"getValue('--anv-header-title-color')\"\n (backgroundChange)=\"updateValue('--anv-header-title-color', $event)\" />\n </lib-accordian-panel>\n\n <lib-accordian-panel title=\"Spacing\">\n <lib-spacing-editor\n prefix=\"--anv-header-title\"\n [values]=\"values()\"\n (valueChange)=\"updateFromSpacing($event)\" />\n </lib-accordian-panel>\n\n </lib-accordian>\n </section>\n\n </div>\n\n</div>\n","import { DOCUMENT, DecimalPipe } from '@angular/common';\nimport { HttpContext } from '@angular/common/http';\nimport { Component, effect, inject, OnDestroy, signal } from '@angular/core';\nimport { DesignTokenService } from '@anvil-eco/shared-services';\nimport { AccordianComponent, AccordianPanelComponent, HeaderPortalTitleComponent, OverDrawerContentDirective, SideDrawerContentDirective, ErrorAlertComponent, ErrorParserService, ErrorService } from '@anvil-eco/shared-ui';\nimport { BYPASS_GLOBAL_ERROR } from '@anvil-eco/shared-core';\nimport { TypographyEditorComponent } from '../../shared/typography-editor/typography-editor.component';\nimport { ColorEditorComponent } from '../../shared/color-editor/color-editor.component';\nimport { SpacingEditorComponent } from '../../shared/spacing-editor/spacing-editor.component';\nimport { FoundationEditFormComponent } from '../../foundation/foundation-edit-form.component/foundation-edit-form.component';\nimport { DesignListNavComponent } from '../../shared/design-list-nav/design-list-nav.component';\nimport { TITLE_BAR_TITLE_ALIAS_MAP, ALL_TITLE_BAR_TITLE_ALIASES } from './title-bar-alias-map';\n\n@Component({\n selector: 'lib-title-bar-title-editor',\n standalone: true,\n imports: [\n SideDrawerContentDirective,\n OverDrawerContentDirective,\n DesignListNavComponent,\n FoundationEditFormComponent,\n AccordianComponent,\n AccordianPanelComponent,\n TypographyEditorComponent,\n ColorEditorComponent,\n SpacingEditorComponent,\n HeaderPortalTitleComponent,\n DecimalPipe,\n ErrorAlertComponent,\n ],\n templateUrl: './title-bar-title-editor.component.html',\n styleUrl: './title-bar-editor.component.scss',\n})\nexport class TitleBarTitleEditorComponent implements OnDestroy {\n private readonly doc = inject(DOCUMENT);\n private readonly tokenService = inject(DesignTokenService);\n private readonly errorService = inject(ErrorService);\n private readonly errorParser = inject(ErrorParserService);\n\n private static readonly SOURCE = 'title-bar-title-editor';\n\n readonly groups = TITLE_BAR_TITLE_ALIAS_MAP;\n\n private readonly originalRawValues = this.captureRawValues();\n private readonly originalValues = this.readCurrentValues();\n\n values = signal<Record<string, string>>({ ...this.originalValues });\n saveState = signal<'idle' | 'saving' | 'saved' | 'error'>('idle');\n\n constructor() {\n effect(() => {\n const v = this.values();\n for (const a of ALL_TITLE_BAR_TITLE_ALIASES) {\n const val = a.type === 'length' ? `${v[a.cssVar]}${a.unit}` : v[a.cssVar];\n this.doc.documentElement.style.setProperty(a.cssVar, val);\n }\n });\n }\n\n ngOnDestroy(): void {\n const el = this.doc.documentElement;\n for (const a of ALL_TITLE_BAR_TITLE_ALIASES) {\n const raw = this.originalRawValues[a.cssVar];\n if (raw) el.style.setProperty(a.cssVar, raw);\n else el.style.removeProperty(a.cssVar);\n }\n }\n\n getValue(cssVar: string): string { return this.values()[cssVar]; }\n numVal(cssVar: string): number { return parseFloat(this.values()[cssVar] ?? '0') || 0; }\n updateFromSpacing(e: { cssVar: string; value: string }): void { this.updateValue(e.cssVar, e.value); }\n\n updateValue(cssVar: string, value: string): void {\n this.values.update(v => ({ ...v, [cssVar]: value }));\n }\n\n reset(): void { this.values.set({ ...this.originalValues }); }\n\n async save(): Promise<void> {\n const contextId = this.tokenService.payload()?.context.id;\n if (!contextId) return;\n\n this.saveState.set('saving');\n this.errorService.clearError();\n\n const v = this.values();\n const overrides = ALL_TITLE_BAR_TITLE_ALIASES.map(a => ({\n cssVar: a.cssVar,\n value: a.type === 'length' ? `${v[a.cssVar]}${a.unit ?? ''}` : v[a.cssVar],\n }));\n\n const ctx = new HttpContext().set(BYPASS_GLOBAL_ERROR, true);\n\n try {\n await this.tokenService.saveComponentAliasOverrides(contextId, overrides, ctx);\n this.saveState.set('saved');\n setTimeout(() => this.saveState.set('idle'), 2000);\n } catch (err) {\n const appError = (err as any)?.isTechnical !== undefined\n ? (err as any)\n : { title: 'Save Failed', message: 'Could not save title settings.', status: 0,\n severity: 'error', fieldErrors: {}, timestamp: new Date().toISOString(), isTechnical: true };\n this.errorService.setError(appError, TitleBarTitleEditorComponent.SOURCE);\n this.saveState.set('error');\n setTimeout(() => this.saveState.set('idle'), 3000);\n }\n }\n\n private captureRawValues(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n ALL_TITLE_BAR_TITLE_ALIASES.map(a => [a.cssVar, computed.getPropertyValue(a.cssVar).trim()])\n );\n }\n\n private readCurrentValues(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n ALL_TITLE_BAR_TITLE_ALIASES.map(a => {\n const raw = computed.getPropertyValue(a.cssVar).trim();\n if (!raw) return [a.cssVar, a.default];\n const resolved = this.resolveVar(raw, computed);\n if (!resolved) return [a.cssVar, a.default];\n if (a.type === 'length' && a.unit) {\n const stripped = resolved.endsWith(a.unit) ? resolved.slice(0, -a.unit.length).trim() : resolved;\n return [a.cssVar, stripped || a.default];\n }\n if (a.type === 'color' && !/^#[0-9A-Fa-f]{6}$/.test(resolved)) return [a.cssVar, a.default];\n if (a.type === 'shadow' || a.type === 'transition') return [a.cssVar, a.default];\n return [a.cssVar, resolved];\n })\n );\n }\n\n private resolveVar(value: string, computed: CSSStyleDeclaration, depth = 0): string {\n if (depth > 8 || !value.startsWith('var(')) return value;\n const inner = value.slice(4, -1).trim();\n const commaIdx = inner.indexOf(',');\n const varName = commaIdx >= 0 ? inner.slice(0, commaIdx).trim() : inner;\n const fallback = commaIdx >= 0 ? inner.slice(commaIdx + 1).trim() : '';\n const next = computed.getPropertyValue(varName).trim();\n if (!next) return fallback;\n return this.resolveVar(next, computed, depth + 1);\n }\n}\n","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n<ng-template overDrawerContent>\n <lib-foundation-edit-form />\n</ng-template>\n\n<div class=\"tbe-root\">\n\n <lib-error-alert [sourceId]=\"'title-bar-subtitle-editor'\" mode=\"inline\" />\n\n <header class=\"tbe-header\">\n <span class=\"tbe-header__title\">Title Bar › Subtitle</span>\n <div class=\"tbe-header-actions\">\n <button type=\"button\" class=\"tbe-btn-ghost\" (click)=\"reset()\"\n [disabled]=\"saveState() === 'saving'\">\n <i class=\"bi bi-arrow-counterclockwise\" aria-hidden=\"true\"></i> Reset\n </button>\n <button type=\"button\" class=\"tbe-btn-primary\" (click)=\"save()\"\n [disabled]=\"saveState() === 'saving'\">\n @switch (saveState()) {\n @case ('saving') { <i class=\"bi bi-hourglass-split\" aria-hidden=\"true\"></i> Saving… }\n @case ('saved') { <i class=\"bi bi-check-lg\" aria-hidden=\"true\"></i> Saved }\n @case ('error') { <i class=\"bi bi-exclamation-triangle\" aria-hidden=\"true\"></i> Error }\n @default { <i class=\"bi bi-cloud-upload\" aria-hidden=\"true\"></i> Save }\n }\n </button>\n </div>\n </header>\n\n <div class=\"tbe-preview\">\n <div class=\"tbe-preview-bar\">\n <lib-header-portal-title />\n </div>\n </div>\n\n <div class=\"tbe-groups\">\n\n <section class=\"tbe-card\">\n <div class=\"tbe-card__title\">Enterprise Name</div>\n\n <lib-accordian [multi]=\"true\">\n\n <lib-accordian-panel title=\"Typography\" [initiallyOpen]=\"true\">\n <lib-typography-editor\n [font]=\"getValue('--anv-header-subtitle-font-family')\"\n [fontSize]=\"numVal('--anv-header-subtitle-size')\"\n [fontSizeMin]=\"0.5\"\n [fontSizeMax]=\"3\"\n [fontWeight]=\"getValue('--anv-header-subtitle-font-weight')\"\n (fontChange)=\"updateValue('--anv-header-subtitle-font-family', $event)\"\n (fontSizeChange)=\"updateValue('--anv-header-subtitle-size', $event.toString())\"\n (fontWeightChange)=\"updateValue('--anv-header-subtitle-font-weight', $event)\" />\n </lib-accordian-panel>\n\n <lib-accordian-panel title=\"Color\">\n <lib-color-editor\n backgroundLabel=\"Subtitle Color\"\n [background]=\"getValue('--anv-header-subtitle-color')\"\n (backgroundChange)=\"updateValue('--anv-header-subtitle-color', $event)\" />\n </lib-accordian-panel>\n\n <lib-accordian-panel title=\"Spacing\">\n <lib-spacing-editor\n prefix=\"--anv-header-subtitle\"\n [values]=\"values()\"\n (valueChange)=\"updateFromSpacing($event)\" />\n </lib-accordian-panel>\n\n </lib-accordian>\n </section>\n\n </div>\n\n</div>\n","import { DOCUMENT, DecimalPipe } from '@angular/common';\nimport { HttpContext } from '@angular/common/http';\nimport { Component, effect, inject, OnDestroy, signal } from '@angular/core';\nimport { DesignTokenService } from '@anvil-eco/shared-services';\nimport { AccordianComponent, AccordianPanelComponent, HeaderPortalTitleComponent, OverDrawerContentDirective, SideDrawerContentDirective, ErrorAlertComponent, ErrorParserService, ErrorService } from '@anvil-eco/shared-ui';\nimport { BYPASS_GLOBAL_ERROR } from '@anvil-eco/shared-core';\nimport { TypographyEditorComponent } from '../../shared/typography-editor/typography-editor.component';\nimport { ColorEditorComponent } from '../../shared/color-editor/color-editor.component';\nimport { SpacingEditorComponent } from '../../shared/spacing-editor/spacing-editor.component';\nimport { FoundationEditFormComponent } from '../../foundation/foundation-edit-form.component/foundation-edit-form.component';\nimport { DesignListNavComponent } from '../../shared/design-list-nav/design-list-nav.component';\nimport { TITLE_BAR_SUBTITLE_ALIAS_MAP, ALL_TITLE_BAR_SUBTITLE_ALIASES } from './title-bar-alias-map';\n\n@Component({\n selector: 'lib-title-bar-subtitle-editor',\n standalone: true,\n imports: [\n SideDrawerContentDirective,\n OverDrawerContentDirective,\n DesignListNavComponent,\n FoundationEditFormComponent,\n AccordianComponent,\n AccordianPanelComponent,\n TypographyEditorComponent,\n ColorEditorComponent,\n SpacingEditorComponent,\n HeaderPortalTitleComponent,\n DecimalPipe,\n ErrorAlertComponent,\n ],\n templateUrl: './title-bar-subtitle-editor.component.html',\n styleUrl: './title-bar-editor.component.scss',\n})\nexport class TitleBarSubtitleEditorComponent implements OnDestroy {\n private readonly doc = inject(DOCUMENT);\n private readonly tokenService = inject(DesignTokenService);\n private readonly errorService = inject(ErrorService);\n private readonly errorParser = inject(ErrorParserService);\n\n private static readonly SOURCE = 'title-bar-subtitle-editor';\n\n readonly groups = TITLE_BAR_SUBTITLE_ALIAS_MAP;\n\n private readonly originalRawValues = this.captureRawValues();\n private readonly originalValues = this.readCurrentValues();\n\n values = signal<Record<string, string>>({ ...this.originalValues });\n saveState = signal<'idle' | 'saving' | 'saved' | 'error'>('idle');\n\n constructor() {\n effect(() => {\n const v = this.values();\n for (const a of ALL_TITLE_BAR_SUBTITLE_ALIASES) {\n const val = a.type === 'length' ? `${v[a.cssVar]}${a.unit}` : v[a.cssVar];\n this.doc.documentElement.style.setProperty(a.cssVar, val);\n }\n });\n }\n\n ngOnDestroy(): void {\n const el = this.doc.documentElement;\n for (const a of ALL_TITLE_BAR_SUBTITLE_ALIASES) {\n const raw = this.originalRawValues[a.cssVar];\n if (raw) el.style.setProperty(a.cssVar, raw);\n else el.style.removeProperty(a.cssVar);\n }\n }\n\n getValue(cssVar: string): string { return this.values()[cssVar]; }\n numVal(cssVar: string): number { return parseFloat(this.values()[cssVar] ?? '0') || 0; }\n updateFromSpacing(e: { cssVar: string; value: string }): void { this.updateValue(e.cssVar, e.value); }\n\n updateValue(cssVar: string, value: string): void {\n this.values.update(v => ({ ...v, [cssVar]: value }));\n }\n\n reset(): void { this.values.set({ ...this.originalValues }); }\n\n async save(): Promise<void> {\n const contextId = this.tokenService.payload()?.context.id;\n if (!contextId) return;\n\n this.saveState.set('saving');\n this.errorService.clearError();\n\n const v = this.values();\n const overrides = ALL_TITLE_BAR_SUBTITLE_ALIASES.map(a => ({\n cssVar: a.cssVar,\n value: a.type === 'length' ? `${v[a.cssVar]}${a.unit ?? ''}` : v[a.cssVar],\n }));\n\n const ctx = new HttpContext().set(BYPASS_GLOBAL_ERROR, true);\n\n try {\n await this.tokenService.saveComponentAliasOverrides(contextId, overrides, ctx);\n this.saveState.set('saved');\n setTimeout(() => this.saveState.set('idle'), 2000);\n } catch (err) {\n const appError = (err as any)?.isTechnical !== undefined\n ? (err as any)\n : { title: 'Save Failed', message: 'Could not save subtitle settings.', status: 0,\n severity: 'error', fieldErrors: {}, timestamp: new Date().toISOString(), isTechnical: true };\n this.errorService.setError(appError, TitleBarSubtitleEditorComponent.SOURCE);\n this.saveState.set('error');\n setTimeout(() => this.saveState.set('idle'), 3000);\n }\n }\n\n private captureRawValues(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n ALL_TITLE_BAR_SUBTITLE_ALIASES.map(a => [a.cssVar, computed.getPropertyValue(a.cssVar).trim()])\n );\n }\n\n private readCurrentValues(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n ALL_TITLE_BAR_SUBTITLE_ALIASES.map(a => {\n const raw = computed.getPropertyValue(a.cssVar).trim();\n if (!raw) return [a.cssVar, a.default];\n const resolved = this.resolveVar(raw, computed);\n if (!resolved) return [a.cssVar, a.default];\n if (a.type === 'length' && a.unit !== undefined) {\n const stripped = a.unit && resolved.endsWith(a.unit) ? resolved.slice(0, -a.unit.length).trim() : resolved;\n return [a.cssVar, stripped || a.default];\n }\n if (a.type === 'color' && !/^#[0-9A-Fa-f]{6}$/.test(resolved)) return [a.cssVar, a.default];\n return [a.cssVar, resolved];\n })\n );\n }\n\n private resolveVar(value: string, computed: CSSStyleDeclaration, depth = 0): string {\n if (depth > 8 || !value.startsWith('var(')) return value;\n const inner = value.slice(4, -1).trim();\n const commaIdx = inner.indexOf(',');\n const varName = commaIdx >= 0 ? inner.slice(0, commaIdx).trim() : inner;\n const fallback = commaIdx >= 0 ? inner.slice(commaIdx + 1).trim() : '';\n const next = computed.getPropertyValue(varName).trim();\n if (!next) return fallback;\n return this.resolveVar(next, computed, depth + 1);\n }\n}\n","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n<ng-template overDrawerContent>\n <lib-foundation-edit-form />\n</ng-template>\n\n<div class=\"tbe-root\">\n\n <lib-error-alert [sourceId]=\"'title-bar-avatar-editor'\" mode=\"inline\" />\n\n <header class=\"tbe-header\">\n <span class=\"tbe-header__title\">Title Bar › Avatar</span>\n <div class=\"tbe-header-actions\">\n <button type=\"button\" class=\"tbe-btn-ghost\" (click)=\"reset()\"\n [disabled]=\"saveState() === 'saving'\">\n <i class=\"bi bi-arrow-counterclockwise\" aria-hidden=\"true\"></i> Reset\n </button>\n <button type=\"button\" class=\"tbe-btn-primary\" (click)=\"save()\"\n [disabled]=\"saveState() === 'saving'\">\n @switch (saveState()) {\n @case ('saving') { <i class=\"bi bi-hourglass-split\" aria-hidden=\"true\"></i> Saving… }\n @case ('saved') { <i class=\"bi bi-check-lg\" aria-hidden=\"true\"></i> Saved }\n @case ('error') { <i class=\"bi bi-exclamation-triangle\" aria-hidden=\"true\"></i> Error }\n @default { <i class=\"bi bi-cloud-upload\" aria-hidden=\"true\"></i> Save }\n }\n </button>\n </div>\n </header>\n\n <div class=\"tbe-preview\">\n <div class=\"tbe-preview-bar\">\n <lib-header-portal-title />\n </div>\n </div>\n\n <div class=\"tbe-groups\">\n\n <section class=\"tbe-card\">\n <div class=\"tbe-card__title\">Avatar</div>\n\n <lib-accordian [multi]=\"true\">\n\n <lib-accordian-panel title=\"Colors\" [initiallyOpen]=\"true\">\n <lib-color-editor\n backgroundLabel=\"Avatar Fill\"\n inkLabel=\"Avatar Icon\"\n [background]=\"getValue('--anv-title-bar-avatar-background')\"\n [ink]=\"getValue('--anv-title-bar-avatar-color')\"\n (backgroundChange)=\"updateValue('--anv-title-bar-avatar-background', $event)\"\n (inkChange)=\"updateValue('--anv-title-bar-avatar-color', $event)\" />\n </lib-accordian-panel>\n\n <lib-accordian-panel title=\"Size\">\n <lib-size-editor\n prefix=\"--anv-title-bar-avatar\"\n [values]=\"values()\"\n (valueChange)=\"updateFromSize($event)\" />\n </lib-accordian-panel>\n\n </lib-accordian>\n </section>\n\n </div>\n\n</div>\n","import { DOCUMENT } from '@angular/common';\nimport { HttpContext } from '@angular/common/http';\nimport { Component, effect, inject, OnDestroy, signal } from '@angular/core';\nimport { DesignTokenService } from '@anvil-eco/shared-services';\nimport { AccordianComponent, AccordianPanelComponent, HeaderPortalTitleComponent, OverDrawerContentDirective, SideDrawerContentDirective, ErrorAlertComponent, ErrorParserService, ErrorService } from '@anvil-eco/shared-ui';\nimport { BYPASS_GLOBAL_ERROR } from '@anvil-eco/shared-core';\nimport { SizeEditorComponent } from '../../shared/size-editor/size-editor.component';\nimport { ColorEditorComponent } from '../../shared/color-editor/color-editor.component';\nimport { FoundationEditFormComponent } from '../../foundation/foundation-edit-form.component/foundation-edit-form.component';\nimport { DesignListNavComponent } from '../../shared/design-list-nav/design-list-nav.component';\nimport { TITLE_BAR_AVATAR_ALIAS_MAP, ALL_TITLE_BAR_AVATAR_ALIASES } from './title-bar-alias-map';\n\n@Component({\n selector: 'lib-title-bar-avatar-editor',\n standalone: true,\n imports: [\n SideDrawerContentDirective,\n OverDrawerContentDirective,\n DesignListNavComponent,\n FoundationEditFormComponent,\n AccordianComponent,\n AccordianPanelComponent,\n ColorEditorComponent,\n SizeEditorComponent,\n HeaderPortalTitleComponent,\n ErrorAlertComponent,\n ],\n templateUrl: './title-bar-avatar-editor.component.html',\n styleUrl: './title-bar-editor.component.scss',\n})\nexport class TitleBarAvatarEditorComponent implements OnDestroy {\n private readonly doc = inject(DOCUMENT);\n private readonly tokenService = inject(DesignTokenService);\n private readonly errorService = inject(ErrorService);\n private readonly errorParser = inject(ErrorParserService);\n\n private static readonly SOURCE = 'title-bar-avatar-editor';\n\n readonly groups = TITLE_BAR_AVATAR_ALIAS_MAP;\n\n private readonly originalRawValues = this.captureRawValues();\n private readonly originalValues = this.readCurrentValues();\n\n values = signal<Record<string, string>>({ ...this.originalValues });\n saveState = signal<'idle' | 'saving' | 'saved' | 'error'>('idle');\n\n constructor() {\n effect(() => {\n const v = this.values();\n for (const a of ALL_TITLE_BAR_AVATAR_ALIASES) {\n const val = a.type === 'length' ? `${v[a.cssVar]}${a.unit}` : v[a.cssVar];\n this.doc.documentElement.style.setProperty(a.cssVar, val);\n }\n });\n }\n\n ngOnDestroy(): void {\n const el = this.doc.documentElement;\n for (const a of ALL_TITLE_BAR_AVATAR_ALIASES) {\n const raw = this.originalRawValues[a.cssVar];\n if (raw) el.style.setProperty(a.cssVar, raw);\n else el.style.removeProperty(a.cssVar);\n }\n }\n\n getValue(cssVar: string): string { return this.values()[cssVar]; }\n updateFromSize(e: { cssVar: string; value: string }): void { this.updateValue(e.cssVar, e.value); }\n\n updateValue(cssVar: string, value: string): void {\n this.values.update(v => ({ ...v, [cssVar]: value }));\n }\n\n reset(): void { this.values.set({ ...this.originalValues }); }\n\n async save(): Promise<void> {\n const contextId = this.tokenService.payload()?.context.id;\n if (!contextId) return;\n\n this.saveState.set('saving');\n this.errorService.clearError();\n\n const v = this.values();\n const overrides = ALL_TITLE_BAR_AVATAR_ALIASES.map(a => ({\n cssVar: a.cssVar,\n value: a.type === 'length' ? `${v[a.cssVar]}${a.unit ?? ''}` : v[a.cssVar],\n }));\n\n const ctx = new HttpContext().set(BYPASS_GLOBAL_ERROR, true);\n\n try {\n await this.tokenService.saveComponentAliasOverrides(contextId, overrides, ctx);\n this.saveState.set('saved');\n setTimeout(() => this.saveState.set('idle'), 2000);\n } catch (err) {\n const appError = (err as any)?.isTechnical !== undefined\n ? (err as any)\n : { title: 'Save Failed', message: 'Could not save avatar settings.', status: 0,\n severity: 'error', fieldErrors: {}, timestamp: new Date().toISOString(), isTechnical: true };\n this.errorService.setError(appError, TitleBarAvatarEditorComponent.SOURCE);\n this.saveState.set('error');\n setTimeout(() => this.saveState.set('idle'), 3000);\n }\n }\n\n private captureRawValues(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n ALL_TITLE_BAR_AVATAR_ALIASES.map(a => [a.cssVar, computed.getPropertyValue(a.cssVar).trim()])\n );\n }\n\n private readCurrentValues(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n ALL_TITLE_BAR_AVATAR_ALIASES.map(a => {\n const raw = computed.getPropertyValue(a.cssVar).trim();\n if (!raw) return [a.cssVar, a.default];\n const resolved = this.resolveVar(raw, computed);\n if (!resolved) return [a.cssVar, a.default];\n if (a.type === 'length' && a.unit) {\n const stripped = resolved.endsWith(a.unit) ? resolved.slice(0, -a.unit.length).trim() : resolved;\n return [a.cssVar, stripped || a.default];\n }\n if (a.type === 'color' && !/^#[0-9A-Fa-f]{6}$/.test(resolved)) return [a.cssVar, a.default];\n if (a.type === 'size') return [a.cssVar, resolved || a.default];\n return [a.cssVar, resolved];\n })\n );\n }\n\n private resolveVar(value: string, computed: CSSStyleDeclaration, depth = 0): string {\n if (depth > 8 || !value.startsWith('var(')) return value;\n const inner = value.slice(4, -1).trim();\n const commaIdx = inner.indexOf(',');\n const varName = commaIdx >= 0 ? inner.slice(0, commaIdx).trim() : inner;\n const fallback = commaIdx >= 0 ? inner.slice(commaIdx + 1).trim() : '';\n const next = computed.getPropertyValue(varName).trim();\n if (!next) return fallback;\n return this.resolveVar(next, computed, depth + 1);\n }\n}\n","import { Component } from '@angular/core';\nimport type { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\nimport type { Foundation } from '@anvil-eco/design-services';\nimport { DropDownComponent, type DropDownItemConfig, type DropDownTogglerConfig } from '@anvil-eco/shared-ui';\n\nexport interface FoundationActionCellParams extends ICellRendererParams {\n onEdit: (foundation: Foundation) => void;\n onDelete: (foundation: Foundation) => void;\n}\n\n@Component({\n selector: 'lib-foundation-action-cell',\n standalone: true,\n imports: [DropDownComponent],\n template: `<lib-dropdown [toggler]=\"toggler\" [items]=\"items\" />`,\n styles: [`:host { display: flex; align-items: center; }`],\n})\nexport class FoundationActionCellComponent implements ICellRendererComp {\n private params!: FoundationActionCellParams;\n\n readonly toggler: DropDownTogglerConfig = {\n icon: 'bi bi-three-dots-vertical',\n showCarat: false,\n };\n\n items: DropDownItemConfig[] = [];\n\n agInit(params: FoundationActionCellParams): void {\n this.params = params;\n this.items = this.buildItems();\n }\n\n refresh(params: FoundationActionCellParams): boolean {\n this.params = params;\n this.items = this.buildItems();\n return true;\n }\n\n getGui(): HTMLElement { return document.createElement('div'); }\n\n private buildItems(): DropDownItemConfig[] {\n return [\n {\n text: 'Edit',\n icon: 'bi bi-pencil-square',\n onClick: () => this.params.onEdit(this.params.data),\n },\n {\n text: 'Delete',\n icon: 'bi bi-trash',\n onClick: () => this.params.onDelete(this.params.data),\n },\n ];\n }\n}\n","import { ChangeDetectionStrategy, Component, inject, output } from '@angular/core';\nimport { ReactiveFormsModule, FormBuilder, Validators, type FormGroup } from '@angular/forms';\nimport { FormModalComponent, FormFieldComponent, FormModalFieldsDirective, ErrorAlertComponent } from '@anvil-eco/shared-ui';\nimport { FoundationService, type FoundationCreate } from '@anvil-eco/design-services';\n\n@Component({\n selector: 'lib-foundation-create',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ReactiveFormsModule, FormModalComponent, FormFieldComponent, FormModalFieldsDirective, ErrorAlertComponent],\n template: `\n <lib-form-modal\n [formGroup]=\"form\"\n [submitFn]=\"submitForm\"\n title=\"Create Foundation\"\n submitLabel=\"Create\"\n successMessage=\"Foundation created successfully\"\n [showOverlay]=\"true\"\n (submitted)=\"onSuccess()\"\n (dismissed)=\"onCancel()\"\n (cancelled)=\"onCancel()\">\n <ng-template formModalFields>\n <lib-error-alert sourceId=\"foundationCreate\" />\n <lib-form-field controlName=\"name\" label=\"Name\" tooltip=\"Unique name for this foundation\">\n <input type=\"text\" class=\"anv-input\" formControlName=\"name\" placeholder=\"e.g. Default\" />\n </lib-form-field>\n <lib-form-field controlName=\"baselinePx\" label=\"Baseline (px)\" tooltip=\"Base pixel size for spacing calculations\">\n <input type=\"number\" class=\"anv-input\" formControlName=\"baselinePx\" placeholder=\"e.g. 4\" />\n </lib-form-field>\n <lib-form-field controlName=\"typeScaleRatio\" label=\"Type Scale Ratio\" tooltip=\"Typographic scale multiplier\">\n <input type=\"number\" class=\"anv-input\" formControlName=\"typeScaleRatio\" placeholder=\"e.g. 1.25\" step=\"0.01\" />\n </lib-form-field>\n <lib-form-field controlName=\"spacingScaleRatio\" label=\"Spacing Scale Ratio\" tooltip=\"Spacing scale multiplier\">\n <input type=\"number\" class=\"anv-input\" formControlName=\"spacingScaleRatio\" placeholder=\"e.g. 1.5\" step=\"0.01\" />\n </lib-form-field>\n <lib-form-field controlName=\"globalIntensity\" label=\"Global Intensity\" tooltip=\"Global intensity factor (0–1)\">\n <input type=\"number\" class=\"anv-input\" formControlName=\"globalIntensity\" placeholder=\"e.g. 0.8\" step=\"0.01\" min=\"0\" max=\"1\" />\n </lib-form-field>\n <lib-form-field controlName=\"colorDarkenFactor\" label=\"Color Darken Factor\" tooltip=\"Factor applied when darkening colours\">\n <input type=\"number\" class=\"anv-input\" formControlName=\"colorDarkenFactor\" placeholder=\"e.g. 0.1\" step=\"0.01\" />\n </lib-form-field>\n <lib-form-field controlName=\"colorLightenFactor\" label=\"Color Lighten Factor\" tooltip=\"Factor applied when lightening colours\">\n <input type=\"number\" class=\"anv-input\" formControlName=\"colorLightenFactor\" placeholder=\"e.g. 0.1\" step=\"0.01\" />\n </lib-form-field>\n <lib-form-field controlName=\"lineHeightBase\" label=\"Line Height Base\" tooltip=\"Base line-height multiplier\">\n <input type=\"number\" class=\"anv-input\" formControlName=\"lineHeightBase\" placeholder=\"e.g. 1.5\" step=\"0.01\" />\n </lib-form-field>\n <lib-form-field controlName=\"enableGradients\" label=\"Enable Gradients\" tooltip=\"Allow gradient generation\">\n <input type=\"checkbox\" formControlName=\"enableGradients\" />\n </lib-form-field>\n </ng-template>\n </lib-form-modal>\n `,\n styles: [`:host { display: contents; }`],\n})\nexport class FoundationCreateComponent {\n private readonly fb = inject(FormBuilder);\n private readonly service = inject(FoundationService);\n\n created = output<void>();\n cancelled = output<void>();\n\n readonly form: FormGroup = this.fb.group({\n name: ['', [Validators.required, Validators.maxLength(100)]],\n baselinePx: [null, [Validators.required]],\n typeScaleRatio: [null, [Validators.required]],\n spacingScaleRatio: [null, [Validators.required]],\n globalIntensity: [null, [Validators.required]],\n colorDarkenFactor: [null, [Validators.required]],\n colorLightenFactor: [null, [Validators.required]],\n lineHeightBase: [null, [Validators.required]],\n enableGradients: [false],\n });\n\n readonly submitForm = (value: unknown) => {\n const v = value as FoundationCreate;\n return this.service.create(v);\n };\n\n onSuccess(): void { this.form.reset({ enableGradients: false }); this.created.emit(); }\n onCancel(): void { this.form.reset({ enableGradients: false }); this.cancelled.emit(); }\n}\n","import { ChangeDetectionStrategy, Component, OnChanges, inject, input, output } from '@angular/core';\nimport { ReactiveFormsModule, FormBuilder, Validators, type FormGroup } from '@angular/forms';\nimport { FormModalComponent, FormFieldComponent, FormModalFieldsDirective, ErrorAlertComponent } from '@anvil-eco/shared-ui';\nimport { FoundationService, type Foundation, type FoundationUpdate } from '@anvil-eco/design-services';\n\n@Component({\n selector: 'lib-foundation-edit',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ReactiveFormsModule, FormModalComponent, FormFieldComponent, FormModalFieldsDirective, ErrorAlertComponent],\n template: `\n <lib-form-modal\n [formGroup]=\"form\"\n [submitFn]=\"submitForm\"\n title=\"Edit Foundation\"\n submitLabel=\"Save\"\n successMessage=\"Foundation updated successfully\"\n [showOverlay]=\"true\"\n (submitted)=\"onSuccess()\"\n (dismissed)=\"onCancel()\"\n (cancelled)=\"onCancel()\">\n <ng-template formModalFields>\n <lib-error-alert sourceId=\"foundationEdit\" />\n <lib-form-field controlName=\"name\" label=\"Name\" tooltip=\"Unique name for this foundation\">\n <input type=\"text\" class=\"anv-input\" formControlName=\"name\" />\n </lib-form-field>\n <lib-form-field controlName=\"baselinePx\" label=\"Baseline (px)\" tooltip=\"Base pixel size for spacing calculations\">\n <input type=\"number\" class=\"anv-input\" formControlName=\"baselinePx\" />\n </lib-form-field>\n <lib-form-field controlName=\"typeScaleRatio\" label=\"Type Scale Ratio\" tooltip=\"Typographic scale multiplier\">\n <input type=\"number\" class=\"anv-input\" formControlName=\"typeScaleRatio\" step=\"0.01\" />\n </lib-form-field>\n <lib-form-field controlName=\"spacingScaleRatio\" label=\"Spacing Scale Ratio\" tooltip=\"Spacing scale multiplier\">\n <input type=\"number\" class=\"anv-input\" formControlName=\"spacingScaleRatio\" step=\"0.01\" />\n </lib-form-field>\n <lib-form-field controlName=\"globalIntensity\" label=\"Global Intensity\" tooltip=\"Global intensity factor (0–1)\">\n <input type=\"number\" class=\"anv-input\" formControlName=\"globalIntensity\" step=\"0.01\" min=\"0\" max=\"1\" />\n </lib-form-field>\n <lib-form-field controlName=\"colorDarkenFactor\" label=\"Color Darken Factor\" tooltip=\"Factor applied when darkening colours\">\n <input type=\"number\" class=\"anv-input\" formControlName=\"colorDarkenFactor\" step=\"0.01\" />\n </lib-form-field>\n <lib-form-field controlName=\"colorLightenFactor\" label=\"Color Lighten Factor\" tooltip=\"Factor applied when lightening colours\">\n <input type=\"number\" class=\"anv-input\" formControlName=\"colorLightenFactor\" step=\"0.01\" />\n </lib-form-field>\n <lib-form-field controlName=\"lineHeightBase\" label=\"Line Height Base\" tooltip=\"Base line-height multiplier\">\n <input type=\"number\" class=\"anv-input\" formControlName=\"lineHeightBase\" step=\"0.01\" />\n </lib-form-field>\n <lib-form-field controlName=\"enableGradients\" label=\"Enable Gradients\" tooltip=\"Allow gradient generation\">\n <input type=\"checkbox\" formControlName=\"enableGradients\" />\n </lib-form-field>\n </ng-template>\n </lib-form-modal>\n `,\n styles: [`:host { display: contents; }`],\n})\nexport class FoundationEditComponent implements OnChanges {\n private readonly fb = inject(FormBuilder);\n private readonly service = inject(FoundationService);\n\n foundation = input.required<Foundation>();\n\n updated = output<void>();\n cancelled = output<void>();\n\n readonly form: FormGroup = this.fb.group({\n name: ['', [Validators.required, Validators.maxLength(100)]],\n baselinePx: [null, [Validators.required]],\n typeScaleRatio: [null, [Validators.required]],\n spacingScaleRatio: [null, [Validators.required]],\n globalIntensity: [null, [Validators.required]],\n colorDarkenFactor: [null, [Validators.required]],\n colorLightenFactor: [null, [Validators.required]],\n lineHeightBase: [null, [Validators.required]],\n enableGradients: [false],\n });\n\n ngOnChanges(): void {\n const f = this.foundation();\n this.form.patchValue({\n name: f.name,\n baselinePx: f.baselinePx,\n typeScaleRatio: f.typeScaleRatio,\n spacingScaleRatio: f.spacingScaleRatio,\n globalIntensity: f.globalIntensity,\n colorDarkenFactor: f.colorDarkenFactor,\n colorLightenFactor: f.colorLightenFactor,\n lineHeightBase: f.lineHeightBase,\n enableGradients: f.enableGradients,\n });\n }\n\n readonly submitForm = (value: unknown) => {\n const v = value as Omit<FoundationUpdate, 'id'>;\n return this.service.update({ id: this.foundation().id, ...v });\n };\n\n onSuccess(): void { this.updated.emit(); }\n onCancel(): void { this.cancelled.emit(); }\n}\n","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n<div class=\"fl-toolbar\">\n <lib-error-alert sourceId=\"foundationList\" />\n <lib-button-base variant=\"primary\" icon=\"plus\" (clicked)=\"onCreate()\">\n Add Foundation\n </lib-button-base>\n</div>\n\n<ag-grid-angular\n #agGrid\n class=\"ag-theme-quartz fl-grid\"\n [columnDefs]=\"columnDefs\"\n [defaultColDef]=\"defaultColDef\"\n [rowSelection]=\"rowSelection\"\n [rowModelType]=\"'infinite'\"\n [pagination]=\"true\"\n [paginationPageSize]=\"25\"\n [paginationPageSizeSelector]=\"[25, 50, 100]\"\n [cacheBlockSize]=\"25\"\n (gridReady)=\"onGridReady($event)\"\n (filterChanged)=\"onFilterChanged()\"\n (sortChanged)=\"onSortChanged()\"\n (cellClicked)=\"onCellClicked($event)\" />\n\n@if (showCreateModal()) {\n <lib-foundation-create\n (created)=\"onCreated()\"\n (cancelled)=\"onCreateCancelled()\" />\n}\n\n@if (showEditModal() && foundationToEdit()) {\n <lib-foundation-edit\n [foundation]=\"foundationToEdit()!\"\n (updated)=\"onUpdated()\"\n (cancelled)=\"onEditCancelled()\" />\n}\n\n@if (showDeleteMessageBox()) {\n <lib-message-box\n [isVisible]=\"true\"\n [config]=\"deleteMessageBoxConfig()\"\n (yes)=\"onDeleteConfirmed()\"\n (no)=\"onDeleteCancelled()\" />\n}\n","import { Component, OnDestroy, OnInit, inject, signal } from '@angular/core';\nimport { AgGridAngular } from 'ag-grid-angular';\nimport {\n ColDef, GridReadyEvent, GridApi, RowSelectionOptions,\n CellClickedEvent, IDatasource, IGetRowsParams,\n AllCommunityModule, ModuleRegistry, SortModelItem,\n} from 'ag-grid-community';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { FoundationService, type Foundation } from '@anvil-eco/design-services';\nimport { AppError } from '@anvil-eco/shared-core';\nimport { ErrorAlertComponent, ErrorService, ToastService, ButtonBaseComponent, MessageBoxComponent, SideDrawerContentDirective, type MessageBoxConfig } from '@anvil-eco/shared-ui';\nimport { GridQueryRequest, GridFilterItem } from '@anvil-eco/shared-core';\nimport { DesignListNavComponent } from '../../shared/design-list-nav/design-list-nav.component';\nimport { FoundationActionCellComponent, type FoundationActionCellParams } from './foundation-action-cell.component';\nimport { FoundationCreateComponent } from '../foundation-create/foundation-create.component';\nimport { FoundationEditComponent } from '../foundation-edit/foundation-edit.component';\n\nModuleRegistry.registerModules([AllCommunityModule]);\n\n@Component({\n selector: 'lib-foundation-list',\n standalone: true,\n imports: [\n AgGridAngular,\n ErrorAlertComponent,\n ButtonBaseComponent,\n MessageBoxComponent,\n SideDrawerContentDirective,\n DesignListNavComponent,\n FoundationActionCellComponent,\n FoundationCreateComponent,\n FoundationEditComponent,\n ],\n templateUrl: './foundation-list.component.html',\n styleUrl: './foundation-list.component.scss',\n})\nexport class FoundationListComponent implements OnInit, OnDestroy {\n private readonly service = inject(FoundationService);\n private readonly toast = inject(ToastService);\n private readonly errorService = inject(ErrorService);\n\n private gridApi?: GridApi<Foundation>;\n private readonly destroy$ = new Subject<void>();\n private currentSortModel: SortModelItem[] = [];\n private currentFilterModel: Record<string, unknown> = {};\n\n readonly rowSelection: RowSelectionOptions = {\n mode: 'singleRow',\n checkboxes: false,\n enableClickSelection: true,\n };\n\n readonly columnDefs: ColDef<Foundation>[] = [\n {\n headerName: '',\n width: 52,\n sortable: false,\n filter: false,\n pinned: 'left',\n cellRenderer: FoundationActionCellComponent,\n cellRendererParams: {\n onEdit: (f: Foundation) => this.onEdit(f),\n onDelete: (f: Foundation) => this.onDelete(f),\n } satisfies Partial<FoundationActionCellParams>,\n },\n { field: 'name', headerName: 'Name', flex: 2, sortable: true, filter: true },\n { field: 'baselinePx', headerName: 'Baseline (px)', flex: 1, sortable: true, filter: false },\n { field: 'typeScaleRatio', headerName: 'Type Scale', flex: 1, sortable: false, filter: false },\n { field: 'spacingScaleRatio', headerName: 'Spacing Scale', flex: 1, sortable: false, filter: false },\n { field: 'enableGradients', headerName: 'Gradients', flex: 1, sortable: false, filter: false },\n ];\n\n readonly defaultColDef: ColDef = { resizable: true, minWidth: 80, sortable: false, filter: false };\n\n readonly showCreateModal = signal(false);\n readonly showEditModal = signal(false);\n readonly showDeleteMessageBox = signal(false);\n readonly foundationToEdit = signal<Foundation | null>(null);\n readonly foundationToDelete = signal<Foundation | null>(null);\n readonly deleteMessageBoxConfig = signal<MessageBoxConfig>({\n title: 'Confirm Delete',\n message: 'Are you sure you want to delete this foundation?',\n context: 'danger',\n });\n\n ngOnInit(): void { }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n onGridReady(event: GridReadyEvent<Foundation>): void {\n this.gridApi = event.api;\n setTimeout(() => this.gridApi?.setGridOption('datasource', this.buildDatasource()), 0);\n }\n\n onFilterChanged(): void {\n this.currentFilterModel = (this.gridApi?.getFilterModel() ?? {}) as Record<string, unknown>;\n this.gridApi?.setGridOption('datasource', this.buildDatasource());\n }\n\n onSortChanged(): void {\n this.currentSortModel = this.gridApi?.getColumnState()\n .filter(s => s.sort)\n .map(s => ({ colId: s.colId, sort: s.sort! } as SortModelItem)) ?? [];\n this.gridApi?.setGridOption('datasource', this.buildDatasource());\n }\n\n onCellClicked(event: CellClickedEvent<Foundation>): void {\n if ((event.event as MouseEvent)?.detail === 2 && event.data) {\n this.onEdit(event.data);\n }\n }\n\n private mapFilterModel(filterModel: Record<string, unknown>): GridFilterItem[] {\n return Object.entries(filterModel).map(([field, raw]) => {\n const f = raw as Record<string, unknown>;\n return {\n field,\n filterType: (f['filterType'] as string) ?? 'text',\n operator: (f['type'] as string) ?? 'contains',\n value: f['filter'] != null ? String(f['filter']) : undefined,\n valueTo: f['filterTo'] != null ? String(f['filterTo']) : undefined,\n } as GridFilterItem;\n });\n }\n\n private buildDatasource(): IDatasource {\n const sortModel = this.currentSortModel;\n const filterModel = this.currentFilterModel;\n return {\n getRows: (params: IGetRowsParams) => {\n const pageSize = params.endRow - params.startRow;\n const page = Math.floor(params.startRow / pageSize) + 1;\n const sortCol = sortModel[0];\n\n const query: GridQueryRequest = {\n page,\n pageSize,\n sortField: sortCol?.colId,\n sortDirection: sortCol?.sort as 'asc' | 'desc' | undefined,\n filters: this.mapFilterModel(filterModel),\n };\n\n this.service.getPaged(query).pipe(takeUntil(this.destroy$)).subscribe({\n next: (result: { items: Foundation[]; totalCount: number }) => params.successCallback(result.items, result.totalCount),\n error: (err: AppError) => {\n this.errorService.setError(err, 'foundationList');\n params.failCallback();\n },\n });\n },\n };\n }\n\n private refreshGrid(): void {\n this.gridApi?.setGridOption('datasource', this.buildDatasource());\n }\n\n onCreate(): void { this.showCreateModal.set(true); }\n\n onCreated(): void {\n this.showCreateModal.set(false);\n this.toast.show({ message: 'Foundation created', type: 'success' });\n this.refreshGrid();\n }\n\n onCreateCancelled(): void { this.showCreateModal.set(false); }\n\n onEdit(foundation: Foundation): void {\n this.foundationToEdit.set(foundation);\n this.showEditModal.set(true);\n }\n\n onUpdated(): void {\n this.showEditModal.set(false);\n this.foundationToEdit.set(null);\n this.toast.show({ message: 'Foundation updated', type: 'success' });\n this.refreshGrid();\n }\n\n onEditCancelled(): void {\n this.showEditModal.set(false);\n this.foundationToEdit.set(null);\n }\n\n onDelete(foundation: Foundation): void {\n this.foundationToDelete.set(foundation);\n this.deleteMessageBoxConfig.set({\n title: 'Confirm Delete',\n message: `Delete foundation \"${foundation.name}\"? This cannot be undone.`,\n context: 'danger',\n });\n this.showDeleteMessageBox.set(true);\n }\n\n onDeleteConfirmed(): void {\n const foundation = this.foundationToDelete();\n if (!foundation) return;\n\n this.service.delete(foundation.id).subscribe({\n next: () => {\n this.toast.show({ message: 'Foundation deleted', type: 'success' });\n this.showDeleteMessageBox.set(false);\n this.foundationToDelete.set(null);\n this.refreshGrid();\n },\n error: (err: AppError) => {\n this.errorService.setError(err, 'foundationList');\n this.showDeleteMessageBox.set(false);\n this.foundationToDelete.set(null);\n },\n });\n }\n\n onDeleteCancelled(): void {\n this.showDeleteMessageBox.set(false);\n this.foundationToDelete.set(null);\n }\n}\n","import { Component, signal } from '@angular/core';\nimport { ICellRendererAngularComp } from 'ag-grid-angular';\nimport { ICellRendererParams } from 'ag-grid-community';\nimport { Palette } from '@anvil-eco/design-services';\n\nexport interface PaletteColorCellParams extends ICellRendererParams<Palette> {\n onClick: (palette: Palette) => void;\n}\n\n@Component({\n selector: 'lib-palette-color-cell',\n standalone: true,\n template: `\n <div class=\"pcc-wrapper\" (click)=\"handleClick()\">\n <span\n class=\"pcc-swatch\"\n [style.background-color]=\"hex()\">\n </span>\n </div>\n `,\n styles: [`\n .pcc-wrapper {\n display: flex;\n align-items: center;\n height: 100%;\n cursor: pointer;\n }\n .pcc-swatch {\n display: inline-block;\n width: 28px;\n height: 20px;\n border-radius: 3px;\n border: 1px solid rgba(0,0,0,0.15);\n flex-shrink: 0;\n }\n `],\n})\nexport class PaletteColorCellComponent implements ICellRendererAngularComp {\n private params!: PaletteColorCellParams;\n\n readonly hex = signal<string>('#ffffff');\n\n agInit(params: PaletteColorCellParams): void {\n this.params = params;\n this.hex.set(params.data?.baseHex ?? '#ffffff');\n }\n\n refresh(params: PaletteColorCellParams): boolean {\n this.params = params;\n this.hex.set(params.data?.baseHex ?? '#ffffff');\n return true;\n }\n\n handleClick(): void {\n if (this.params.data) {\n this.params.onClick(this.params.data);\n }\n }\n}\n","<lib-modal\n [isOpen]=\"isOpen()\"\n [title]=\"'Edit Color' + (palette()?.semantic?.roleName ? ' — ' + palette()!.semantic!.roleName : '')\"\n size=\"sm\"\n (closed)=\"onClose()\">\n\n <lib-error-alert [sourceId]=\"sourceId\" />\n\n <div class=\"pcpm-body\">\n <color-chrome\n [color]=\"workingHex()\"\n [disableAlpha]=\"true\"\n (onChangeComplete)=\"onPickerChange($event)\">\n </color-chrome>\n\n <div class=\"pcpm-hex-row\">\n <label class=\"pcpm-hex-label\" for=\"pcpm-hex-input\">Hex</label>\n <div class=\"pcpm-hex-input-wrap\">\n <span class=\"pcpm-hex-prefix\">#</span>\n <input\n id=\"pcpm-hex-input\"\n class=\"pcpm-hex-input\"\n type=\"text\"\n maxlength=\"7\"\n [value]=\"workingHex().replace('#', '')\"\n (input)=\"onHexInput($any($event.target).value)\"\n spellcheck=\"false\"\n autocomplete=\"off\" />\n </div>\n <span class=\"pcpm-hex-preview\" [style.background-color]=\"workingHex()\"></span>\n </div>\n </div>\n\n <div modalFooter class=\"pcpm-footer\">\n <lib-button-base\n variant=\"secondary\"\n [disabled]=\"saving()\"\n (clicked)=\"onClose()\">\n Cancel\n </lib-button-base>\n <lib-button-base\n variant=\"primary\"\n [disabled]=\"saving()\"\n (clicked)=\"onSave()\">\n @if (saving()) { Saving… } @else { Save }\n </lib-button-base>\n </div>\n\n</lib-modal>\n","import { Component, inject, input, output, effect, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ColorChromeModule } from 'ngx-color/chrome';\nimport { ModalComponent, ModalFooterDirective, ButtonBaseComponent, ToastService, ErrorAlertComponent, ErrorService } from '@anvil-eco/shared-ui';\nimport { AppError } from '@anvil-eco/shared-core';\nimport { PaletteService, Palette } from '@anvil-eco/design-services';\n\n@Component({\n selector: 'lib-palette-color-picker-modal',\n standalone: true,\n imports: [\n ModalComponent,\n ModalFooterDirective,\n ButtonBaseComponent,\n ErrorAlertComponent,\n ColorChromeModule,\n FormsModule,\n ],\n templateUrl: './palette-color-picker-modal.component.html',\n styleUrl: './palette-color-picker-modal.component.scss',\n})\nexport class PaletteColorPickerModalComponent {\n private readonly paletteService = inject(PaletteService);\n private readonly toast = inject(ToastService);\n private readonly errorService = inject(ErrorService);\n\n readonly palette = input<Palette | null>(null);\n readonly isOpen = input<boolean>(false);\n\n readonly saved = output<Palette>();\n readonly closed = output<void>();\n\n readonly workingHex = signal<string>('#ffffff');\n readonly saving = signal<boolean>(false);\n\n readonly sourceId = 'paletteColorPicker';\n\n constructor() {\n effect(() => {\n const p = this.palette();\n if (p) {\n this.workingHex.set(p.baseHex ?? '#ffffff');\n this.errorService.clearError();\n }\n });\n }\n\n onPickerChange(event: { color: { hex: string } }): void {\n this.workingHex.set(event.color.hex);\n }\n\n onHexInput(value: string): void {\n const normalized = value.startsWith('#') ? value : `#${value}`;\n if (/^#[0-9A-Fa-f]{6}$/.test(normalized)) {\n this.workingHex.set(normalized);\n }\n }\n\n onSave(): void {\n const p = this.palette();\n if (!p || this.saving()) return;\n\n this.saving.set(true);\n this.errorService.clearError();\n this.paletteService.update({\n id: p.id,\n baseHex: this.workingHex(),\n intensityOverride: p.intensityOverride,\n }).subscribe({\n next: (updated) => {\n this.saving.set(false);\n this.toast.show({ message: 'Palette color updated', type: 'success' });\n this.saved.emit(updated);\n },\n error: (err: AppError) => {\n this.saving.set(false);\n this.errorService.setError(err, this.sourceId);\n },\n });\n }\n\n onClose(): void {\n this.errorService.clearError();\n this.closed.emit();\n }\n}\n","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n<div class=\"pl-toolbar\">\n <lib-error-alert sourceId=\"paletteList\" />\n</div>\n\n<ag-grid-angular\n class=\"ag-theme-quartz pl-grid\"\n [columnDefs]=\"columnDefs\"\n [defaultColDef]=\"defaultColDef\"\n [rowModelType]=\"'infinite'\"\n [pagination]=\"true\"\n [paginationPageSize]=\"25\"\n [paginationPageSizeSelector]=\"[25, 50, 100]\"\n [cacheBlockSize]=\"25\"\n (gridReady)=\"onGridReady($event)\"\n (filterChanged)=\"onFilterChanged()\"\n (sortChanged)=\"onSortChanged()\" />\n\n<lib-palette-color-picker-modal\n [palette]=\"selectedPalette()\"\n [isOpen]=\"showColorPicker()\"\n (saved)=\"onColorSaved($event)\"\n (closed)=\"onPickerClosed()\" />\n","import { Component, inject, signal } from '@angular/core';\nimport { AgGridAngular } from 'ag-grid-angular';\nimport {\n AllCommunityModule,\n ColDef,\n GridApi,\n GridReadyEvent,\n IDatasource,\n IGetRowsParams,\n ModuleRegistry,\n SortModelItem,\n} from 'ag-grid-community';\n\nimport { PaletteService, Palette } from '@anvil-eco/design-services';\nimport { DesignListNavComponent } from '../../shared/design-list-nav/design-list-nav.component';\nimport { GridFilterItem, GridQueryRequest } from '@anvil-eco/shared-core';\nimport { AppError } from '@anvil-eco/shared-core';\nimport { BooleanColumnFilterComponent, ErrorAlertComponent, ErrorService, SideDrawerContentDirective } from '@anvil-eco/shared-ui';\nimport { PaletteColorCellComponent } from '../palette-color-cell/palette-color-cell.component';\nimport { PaletteColorPickerModalComponent } from '../palette-color-picker-modal/palette-color-picker-modal.component';\n\nModuleRegistry.registerModules([AllCommunityModule]);\n\n@Component({\n selector: 'lib-palette-list',\n standalone: true,\n imports: [\n AgGridAngular,\n ErrorAlertComponent,\n SideDrawerContentDirective,\n DesignListNavComponent,\n PaletteColorCellComponent,\n PaletteColorPickerModalComponent,\n ],\n templateUrl: './palette-list.component.html',\n styleUrl: './palette-list.component.scss',\n})\nexport class PaletteListComponent {\n private readonly paletteService = inject(PaletteService);\n private readonly errorService = inject(ErrorService);\n\n private gridApi?: GridApi<Palette>;\n private currentFilterModel: Record<string, unknown> = {};\n private currentSortModel: SortModelItem[] = [];\n\n readonly showColorPicker = signal(false);\n readonly selectedPalette = signal<Palette | null>(null);\n\n readonly defaultColDef: ColDef = { resizable: true, minWidth: 80, sortable: true, filter: true };\n\n readonly columnDefs: ColDef<Palette>[] = [\n {\n headerName: 'Color',\n width: 72,\n sortable: false,\n filter: false,\n pinned: 'left',\n cellRenderer: PaletteColorCellComponent,\n cellRendererParams: {\n onClick: (palette: Palette) => this.openColorPicker(palette),\n },\n },\n {\n colId: 'roleName',\n headerName: 'Role',\n flex: 2,\n valueGetter: p => p.data?.semantic?.roleName ?? '',\n },\n {\n colId: 'category',\n headerName: 'Category',\n flex: 2,\n valueGetter: p => p.data?.semantic?.category ?? '',\n },\n {\n colId: 'contextName',\n headerName: 'Context',\n flex: 2,\n valueGetter: p => p.data?.context?.name ?? '',\n },\n {\n colId: 'isDarkMode',\n headerName: 'Dark Mode',\n width: 110,\n sortable: false,\n filter: BooleanColumnFilterComponent,\n valueGetter: p => p.data?.context?.isDarkMode ? 'Yes' : 'No',\n cellStyle: p => p.value === 'Yes' ? { color: 'var(--anv-color-primary, #3b82f6)', fontWeight: '600' } : null,\n },\n {\n field: 'baseHex',\n headerName: 'Base Hex',\n width: 120,\n valueFormatter: p => (p.value as string)?.toUpperCase() ?? '',\n cellStyle: { fontFamily: 'monospace' },\n },\n {\n field: 'intensityOverride',\n headerName: 'Intensity',\n width: 110,\n filter: 'agNumberColumnFilter',\n type: 'numericColumn',\n valueFormatter: p => p.value != null ? String(p.value) : '—',\n },\n ];\n\n onGridReady(event: GridReadyEvent<Palette>): void {\n this.gridApi = event.api;\n setTimeout(() => this.gridApi?.setGridOption('datasource', this.buildDatasource()), 0);\n }\n\n onFilterChanged(): void {\n this.currentFilterModel = (this.gridApi?.getFilterModel() ?? {}) as Record<string, unknown>;\n this.gridApi?.setGridOption('datasource', this.buildDatasource());\n }\n\n onSortChanged(): void {\n this.currentSortModel = this.gridApi?.getColumnState()\n .filter(s => s.sort)\n .map(s => ({ colId: s.colId, sort: s.sort! } as SortModelItem)) ?? [];\n this.gridApi?.setGridOption('datasource', this.buildDatasource());\n }\n\n openColorPicker(palette: Palette): void {\n this.selectedPalette.set(palette);\n this.showColorPicker.set(true);\n }\n\n onColorSaved(updated: Palette): void {\n this.showColorPicker.set(false);\n this.selectedPalette.set(null);\n this.gridApi?.setGridOption('datasource', this.buildDatasource());\n }\n\n onPickerClosed(): void {\n this.showColorPicker.set(false);\n this.selectedPalette.set(null);\n }\n\n private buildDatasource(): IDatasource {\n const filterModel = this.currentFilterModel;\n const sortModel = this.currentSortModel;\n return {\n getRows: (params: IGetRowsParams) => {\n const pageSize = params.endRow - params.startRow;\n const page = Math.floor(params.startRow / pageSize) + 1;\n const sortCol = sortModel[0];\n const query: GridQueryRequest = {\n page,\n pageSize,\n sortField: sortCol?.colId,\n sortDirection: sortCol?.sort as 'asc' | 'desc' | undefined,\n filters: this.mapFilterModel(filterModel),\n };\n this.paletteService.getCurrentPaged(query).subscribe({\n next: result => params.successCallback(result.items, result.totalCount),\n error: (err: AppError) => {\n this.errorService.setError(err, 'paletteList');\n params.failCallback();\n },\n });\n },\n };\n }\n\n private mapFilterModel(filterModel: Record<string, unknown>): GridFilterItem[] {\n return Object.entries(filterModel).map(([field, raw]) => {\n const f = raw as Record<string, unknown>;\n return {\n field,\n filterType: (f['filterType'] as string) ?? 'text',\n operator: (f['type'] as string) ?? 'contains',\n value: f['filter'] != null ? String(f['filter']) : undefined,\n valueTo: f['filterTo'] != null ? String(f['filterTo']) : undefined,\n } as GridFilterItem;\n });\n }\n}\n","import { Component, input, output } from '@angular/core';\nimport { ElevationSelectorComponent } from '../elevation-selector/elevation-selector.component';\n\n@Component({\n selector: 'lib-elevation-editor',\n standalone: true,\n imports: [ElevationSelectorComponent],\n template: `\n <lib-elevation-selector\n [value]=\"value()\"\n (valueChange)=\"valueChange.emit($event)\" />\n `,\n})\nexport class ElevationEditorComponent {\n readonly value = input<string>('none');\n readonly valueChange = output<string>();\n}\n","import { Component, input, output } from '@angular/core';\nimport { TransitionSelectorComponent } from '../transition-selector/transition-selector.component';\n\n@Component({\n selector: 'lib-transition-editor',\n standalone: true,\n imports: [TransitionSelectorComponent],\n template: `\n <lib-transition-selector\n [value]=\"value()\"\n (valueChange)=\"valueChange.emit($event)\" />\n `,\n})\nexport class TransitionEditorComponent {\n readonly value = input<string>('all 200ms ease');\n readonly valueChange = output<string>();\n}\n","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n\n<lib-error-alert sourceId=\"elevationList\" />\n\n<ag-grid-angular\n #agGrid\n class=\"ag-theme-quartz el-grid\"\n [columnDefs]=\"columnDefs\"\n [defaultColDef]=\"defaultColDef\"\n [rowSelection]=\"rowSelection\"\n [rowData]=\"rowData()\"\n [pagination]=\"true\"\n [paginationPageSize]=\"25\"\n [paginationPageSizeSelector]=\"[25, 50, 100]\"\n (gridReady)=\"onGridReady($event)\"\n />\n","import { Component, OnDestroy, OnInit, inject, signal } from '@angular/core';\nimport { AgGridAngular } from 'ag-grid-angular';\nimport {\n ColDef, GridReadyEvent, GridApi, RowSelectionOptions,\n AllCommunityModule, ModuleRegistry,\n} from 'ag-grid-community';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { ElevationService, type Elevation } from '@anvil-eco/design-services';\nimport { AppError } from '@anvil-eco/shared-core';\nimport { ErrorAlertComponent, ErrorService, SideDrawerContentDirective } from '@anvil-eco/shared-ui';\nimport { DesignListNavComponent } from '../shared/design-list-nav/design-list-nav.component';\n\nModuleRegistry.registerModules([AllCommunityModule]);\n\n@Component({\n selector: 'lib-elevation-list',\n standalone: true,\n imports: [\n AgGridAngular,\n ErrorAlertComponent,\n SideDrawerContentDirective,\n DesignListNavComponent,\n ],\n templateUrl: './elevation-list.component.html',\n styleUrl: './elevation-list.component.scss',\n})\nexport class ElevationListComponent implements OnInit, OnDestroy {\n private readonly service = inject(ElevationService);\n private readonly errorService = inject(ErrorService);\n\n private gridApi?: GridApi<Elevation>;\n private readonly destroy$ = new Subject<void>();\n\n readonly rowData = signal<Elevation[]>([]);\n\n readonly rowSelection: RowSelectionOptions = {\n mode: 'singleRow',\n checkboxes: false,\n enableClickSelection: false,\n };\n\n readonly columnDefs: ColDef<Elevation>[] = [\n { field: 'levelName', headerName: 'Level', flex: 1, sortable: true, filter: true },\n { field: 'offsetFactor', headerName: 'Offset Factor', flex: 1, sortable: false, filter: false },\n { field: 'blurFactor', headerName: 'Blur Factor', flex: 1, sortable: false, filter: false },\n { field: 'spreadFactor', headerName: 'Spread Factor', flex: 1, sortable: false, filter: false },\n ];\n\n readonly defaultColDef: ColDef = { resizable: true, minWidth: 80, sortable: false, filter: false };\n\n ngOnInit(): void {\n this.loadData();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n onGridReady(event: GridReadyEvent<Elevation>): void {\n this.gridApi = event.api;\n }\n\n private loadData(): void {\n this.service.getAll().pipe(takeUntil(this.destroy$)).subscribe({\n next: (items) => this.rowData.set(items),\n error: (err: AppError) => this.errorService.setError(err, 'elevationList'),\n });\n }\n\n}\n","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n<lib-error-alert sourceId=\"transitionList\" />\n\n<ag-grid-angular\n #agGrid\n class=\"ag-theme-quartz tl-grid\"\n [columnDefs]=\"columnDefs\"\n [defaultColDef]=\"defaultColDef\"\n [rowData]=\"rowData()\"\n [pagination]=\"true\"\n [paginationPageSize]=\"25\"\n [paginationPageSizeSelector]=\"[25, 50, 100]\"\n (gridReady)=\"onGridReady($event)\" />\n","import { Component, OnDestroy, OnInit, inject, signal } from '@angular/core';\nimport { AgGridAngular } from 'ag-grid-angular';\nimport {\n ColDef, GridReadyEvent, GridApi, AllCommunityModule, ModuleRegistry,\n} from 'ag-grid-community';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { TransitionService, type Transition } from '@anvil-eco/design-services';\nimport { AppError } from '@anvil-eco/shared-core';\nimport { ErrorAlertComponent, ErrorService, SideDrawerContentDirective } from '@anvil-eco/shared-ui';\nimport { DesignListNavComponent } from '../../shared/design-list-nav/design-list-nav.component';\n\nModuleRegistry.registerModules([AllCommunityModule]);\n\n@Component({\n selector: 'lib-transition-list',\n standalone: true,\n imports: [\n AgGridAngular,\n ErrorAlertComponent,\n SideDrawerContentDirective,\n DesignListNavComponent,\n ],\n templateUrl: './transition-list.component.html',\n styleUrl: './transition-list.component.scss',\n})\nexport class TransitionListComponent implements OnInit, OnDestroy {\n private readonly service = inject(TransitionService);\n private readonly errorService = inject(ErrorService);\n\n private gridApi?: GridApi<Transition>;\n private readonly destroy$ = new Subject<void>();\n\n readonly rowData = signal<Transition[]>([]);\n\n readonly columnDefs: ColDef<Transition>[] = [\n { field: 'name', headerName: 'Name', flex: 1, sortable: true, filter: true },\n { field: 'durationFactor', headerName: 'Duration Factor', flex: 1, sortable: false, filter: false },\n { field: 'easing', headerName: 'Easing', flex: 1, sortable: false, filter: false },\n ];\n\n readonly defaultColDef: ColDef = { resizable: true, minWidth: 80, sortable: false, filter: false };\n\n ngOnInit(): void {\n this.loadData();\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n onGridReady(event: GridReadyEvent<Transition>): void {\n this.gridApi = event.api;\n }\n\n private loadData(): void {\n this.service.getPaged({ page: 1, pageSize: 1000, filters: [] })\n .pipe(takeUntil(this.destroy$))\n .subscribe({\n next: (result) => this.rowData.set(result.items),\n error: (err: AppError) => this.errorService.setError(err, 'transitionList'),\n });\n }\n}\n","import { Component } from '@angular/core';\nimport type { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\nimport type { Context } from '@anvil-eco/design-services';\nimport { DropDownComponent, type DropDownItemConfig, type DropDownTogglerConfig } from '@anvil-eco/shared-ui';\n\nexport interface ContextActionCellParams extends ICellRendererParams {\n onEdit: (context: Context) => void;\n onDelete: (context: Context) => void;\n}\n\n@Component({\n selector: 'lib-context-action-cell',\n standalone: true,\n imports: [DropDownComponent],\n template: `<lib-dropdown [toggler]=\"toggler\" [items]=\"items\" />`,\n styles: [`:host { display: flex; align-items: center; }`],\n})\nexport class ContextActionCellComponent implements ICellRendererComp {\n private params!: ContextActionCellParams;\n\n readonly toggler: DropDownTogglerConfig = {\n icon: 'bi bi-three-dots-vertical',\n showCarat: false,\n };\n\n items: DropDownItemConfig[] = [];\n\n agInit(params: ContextActionCellParams): void {\n this.params = params;\n this.items = this.buildItems();\n }\n\n refresh(params: ContextActionCellParams): boolean {\n this.params = params;\n this.items = this.buildItems();\n return true;\n }\n\n getGui(): HTMLElement { return document.createElement('div'); }\n\n private buildItems(): DropDownItemConfig[] {\n return [\n {\n text: 'Edit',\n icon: 'bi bi-pencil-square',\n onClick: () => this.params.onEdit(this.params.data),\n },\n {\n text: 'Delete',\n icon: 'bi bi-trash',\n onClick: () => this.params.onDelete(this.params.data),\n },\n ];\n }\n}\n","import { ChangeDetectionStrategy, Component, OnInit, inject, output, signal } from '@angular/core';\nimport { ReactiveFormsModule, FormBuilder, Validators, type FormGroup } from '@angular/forms';\nimport { FormModalComponent, FormFieldComponent, FormModalFieldsDirective, ErrorAlertComponent, FilterableSelectComponent, type FilterableSelectItem } from '@anvil-eco/shared-ui';\nimport { ContextService, type ContextCreate, FoundationService, type Foundation } from '@anvil-eco/design-services';\n\n@Component({\n selector: 'lib-context-create',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ReactiveFormsModule, FormModalComponent, FormFieldComponent, FormModalFieldsDirective, ErrorAlertComponent, FilterableSelectComponent],\n template: `\n <lib-form-modal\n [formGroup]=\"form\"\n [submitFn]=\"submitForm\"\n title=\"Create Context\"\n submitLabel=\"Create\"\n [showOverlay]=\"true\"\n (submitted)=\"onSuccess()\"\n (dismissed)=\"onCancel()\"\n (cancelled)=\"onCancel()\">\n <ng-template formModalFields>\n <lib-error-alert sourceId=\"contextCreate\" />\n <lib-form-field controlName=\"name\" label=\"Name\" tooltip=\"Unique name for this context\">\n <input type=\"text\" class=\"anv-input\" formControlName=\"name\" placeholder=\"e.g. Light\" />\n </lib-form-field>\n <lib-form-field controlName=\"foundationId\" label=\"Foundation\" tooltip=\"Foundation this context is based on\">\n <lib-filterable-select\n formControlName=\"foundationId\"\n [data]=\"foundations()\"\n textField=\"name\"\n valueField=\"id\"\n placeholder=\"Select a foundation...\"\n label=\"Foundation\" />\n </lib-form-field>\n <div class=\"anv-field\">\n <label class=\"anv-checkbox-row\">\n <input type=\"checkbox\" formControlName=\"isDarkMode\" />\n <span>Dark Mode</span>\n </label>\n </div>\n </ng-template>\n </lib-form-modal>\n `,\n styles: [`\n :host { display: contents; }\n .anv-checkbox-row { display: flex; align-items: center; gap: 8px; cursor: pointer; }\n .anv-checkbox-row input[type=\"checkbox\"] { width: 16px; height: 16px; cursor: pointer; }\n `],\n})\nexport class ContextCreateComponent implements OnInit {\n private readonly fb = inject(FormBuilder);\n private readonly service = inject(ContextService);\n private readonly foundationService = inject(FoundationService);\n\n created = output<void>();\n cancelled = output<void>();\n\n readonly foundations = signal<FilterableSelectItem[]>([]);\n\n readonly form: FormGroup = this.fb.group({\n name: ['', [Validators.required, Validators.maxLength(255)]],\n foundationId: ['', [Validators.required]],\n isDarkMode: [false],\n });\n\n ngOnInit(): void {\n this.foundationService.getAll().subscribe(list => this.foundations.set(list as unknown as FilterableSelectItem[]));\n }\n\n readonly submitForm = (value: unknown) => {\n return this.service.create(value as ContextCreate);\n };\n\n onSuccess(): void { this.form.reset({ isDarkMode: false }); this.created.emit(); }\n onCancel(): void { this.form.reset({ isDarkMode: false }); this.cancelled.emit(); }\n}\n","import { ChangeDetectionStrategy, Component, OnChanges, OnInit, inject, input, output, signal } from '@angular/core';\nimport { ReactiveFormsModule, FormBuilder, Validators, type FormGroup } from '@angular/forms';\nimport { FormModalComponent, FormFieldComponent, FormModalFieldsDirective, ErrorAlertComponent, FilterableSelectComponent, type FilterableSelectItem } from '@anvil-eco/shared-ui';\nimport { ContextService, type Context, type ContextUpdate, FoundationService, type Foundation } from '@anvil-eco/design-services';\n\n@Component({\n selector: 'lib-context-edit',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ReactiveFormsModule, FormModalComponent, FormFieldComponent, FormModalFieldsDirective, ErrorAlertComponent, FilterableSelectComponent],\n template: `\n <lib-form-modal\n [formGroup]=\"form\"\n [submitFn]=\"submitForm\"\n title=\"Edit Context\"\n submitLabel=\"Save\"\n [showOverlay]=\"true\"\n (submitted)=\"onSuccess()\"\n (dismissed)=\"onCancel()\"\n (cancelled)=\"onCancel()\">\n <ng-template formModalFields>\n <lib-error-alert sourceId=\"contextEdit\" />\n <lib-form-field controlName=\"name\" label=\"Name\" tooltip=\"Unique name for this context\">\n <input type=\"text\" class=\"anv-input\" formControlName=\"name\" />\n </lib-form-field>\n <lib-form-field controlName=\"foundationId\" label=\"Foundation\" tooltip=\"Foundation this context is based on\">\n <lib-filterable-select\n formControlName=\"foundationId\"\n [data]=\"foundations()\"\n textField=\"name\"\n valueField=\"id\"\n placeholder=\"Select a foundation...\"\n label=\"Foundation\" />\n </lib-form-field>\n <div class=\"anv-field\">\n <label class=\"anv-checkbox-row\">\n <input type=\"checkbox\" formControlName=\"isDarkMode\" />\n <span>Dark Mode</span>\n </label>\n </div>\n </ng-template>\n </lib-form-modal>\n `,\n styles: [`\n :host { display: contents; }\n .anv-checkbox-row { display: flex; align-items: center; gap: 8px; cursor: pointer; }\n .anv-checkbox-row input[type=\"checkbox\"] { width: 16px; height: 16px; cursor: pointer; }\n `],\n})\nexport class ContextEditComponent implements OnInit, OnChanges {\n private readonly fb = inject(FormBuilder);\n private readonly service = inject(ContextService);\n private readonly foundationService = inject(FoundationService);\n\n context = input.required<Context>();\n updated = output<void>();\n cancelled = output<void>();\n\n readonly foundations = signal<FilterableSelectItem[]>([]);\n\n readonly form: FormGroup = this.fb.group({\n name: ['', [Validators.required, Validators.maxLength(255)]],\n foundationId: ['', [Validators.required]],\n isDarkMode: [false],\n });\n\n ngOnInit(): void {\n this.foundationService.getAll().subscribe(list => this.foundations.set(list as unknown as FilterableSelectItem[]));\n }\n\n ngOnChanges(): void {\n const c = this.context();\n this.form.patchValue({ name: c.name, foundationId: c.foundationId, isDarkMode: c.isDarkMode });\n }\n\n readonly submitForm = (value: unknown) => {\n const v = value as Omit<ContextUpdate, 'id'>;\n return this.service.update({ id: this.context().id, ...v });\n };\n\n onSuccess(): void { this.updated.emit(); }\n onCancel(): void { this.cancelled.emit(); }\n}\n","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n<div class=\"cl-toolbar\">\n <lib-error-alert sourceId=\"contextList\" />\n <lib-button-base variant=\"primary\" icon=\"plus\" (clicked)=\"onCreate()\">\n Add Context\n </lib-button-base>\n</div>\n\n<ag-grid-angular\n #agGrid\n class=\"ag-theme-quartz cl-grid\"\n [columnDefs]=\"columnDefs\"\n [defaultColDef]=\"defaultColDef\"\n [rowSelection]=\"rowSelection\"\n [rowModelType]=\"'infinite'\"\n [pagination]=\"true\"\n [paginationPageSize]=\"25\"\n [paginationPageSizeSelector]=\"[25, 50, 100]\"\n [cacheBlockSize]=\"25\"\n (gridReady)=\"onGridReady($event)\"\n (filterChanged)=\"onFilterChanged()\"\n (sortChanged)=\"onSortChanged()\"\n (cellClicked)=\"onCellClicked($event)\" />\n\n@if (showCreateModal()) {\n <lib-context-create\n (created)=\"onCreated()\"\n (cancelled)=\"onCreateCancelled()\" />\n}\n\n@if (showEditModal() && contextToEdit()) {\n <lib-context-edit\n [context]=\"contextToEdit()!\"\n (updated)=\"onUpdated()\"\n (cancelled)=\"onEditCancelled()\" />\n}\n\n@if (showDeleteMessageBox()) {\n <lib-message-box\n [isVisible]=\"true\"\n [config]=\"deleteMessageBoxConfig()\"\n (yes)=\"onDeleteConfirmed()\"\n (no)=\"onDeleteCancelled()\" />\n}\n","import { Component, OnDestroy, OnInit, inject, signal } from '@angular/core';\nimport { AgGridAngular } from 'ag-grid-angular';\nimport {\n ColDef, GridReadyEvent, GridApi, RowSelectionOptions,\n CellClickedEvent, IDatasource, IGetRowsParams,\n AllCommunityModule, ModuleRegistry, SortModelItem,\n} from 'ag-grid-community';\nimport { Subject, takeUntil } from 'rxjs';\n\nimport { ContextService, type Context } from '@anvil-eco/design-services';\nimport { AppError } from '@anvil-eco/shared-core';\nimport { ErrorAlertComponent, ErrorService, ToastService, ButtonBaseComponent, MessageBoxComponent, SideDrawerContentDirective, type MessageBoxConfig } from '@anvil-eco/shared-ui';\nimport { GridQueryRequest, GridFilterItem } from '@anvil-eco/shared-core';\nimport { DesignListNavComponent } from '../../shared/design-list-nav/design-list-nav.component';\nimport { ContextActionCellComponent, type ContextActionCellParams } from './context-action-cell.component';\nimport { ContextCreateComponent } from './context-create.component';\nimport { ContextEditComponent } from './context-edit.component';\n\nModuleRegistry.registerModules([AllCommunityModule]);\n\n@Component({\n selector: 'lib-context-list',\n standalone: true,\n imports: [\n AgGridAngular,\n ErrorAlertComponent,\n ButtonBaseComponent,\n MessageBoxComponent,\n SideDrawerContentDirective,\n DesignListNavComponent,\n ContextActionCellComponent,\n ContextCreateComponent,\n ContextEditComponent,\n ],\n templateUrl: './context-list.component.html',\n styleUrl: './context-list.component.scss',\n})\nexport class ContextListComponent implements OnInit, OnDestroy {\n private readonly service = inject(ContextService);\n private readonly toast = inject(ToastService);\n private readonly errorService = inject(ErrorService);\n\n private gridApi?: GridApi<Context>;\n private readonly destroy$ = new Subject<void>();\n private currentSortModel: SortModelItem[] = [];\n private currentFilterModel: Record<string, unknown> = {};\n\n readonly rowSelection: RowSelectionOptions = {\n mode: 'singleRow',\n checkboxes: false,\n enableClickSelection: true,\n };\n\n readonly columnDefs: ColDef<Context>[] = [\n {\n headerName: '',\n width: 52,\n sortable: false,\n filter: false,\n pinned: 'left',\n cellRenderer: ContextActionCellComponent,\n cellRendererParams: {\n onEdit: (c: Context) => this.onEdit(c),\n onDelete: (c: Context) => this.onDelete(c),\n } satisfies Partial<ContextActionCellParams>,\n },\n { field: 'name', headerName: 'Name', flex: 2, sortable: true, filter: true },\n { field: 'foundationName', headerName: 'Foundation', flex: 2, sortable: true, filter: true },\n { field: 'isDarkMode', headerName: 'Dark Mode', flex: 1, sortable: false, filter: false },\n ];\n\n readonly defaultColDef: ColDef = { resizable: true, minWidth: 80, sortable: false, filter: false };\n\n readonly showCreateModal = signal(false);\n readonly showEditModal = signal(false);\n readonly showDeleteMessageBox = signal(false);\n readonly contextToEdit = signal<Context | null>(null);\n readonly contextToDelete = signal<Context | null>(null);\n readonly deleteMessageBoxConfig = signal<MessageBoxConfig>({\n title: 'Confirm Delete',\n message: 'Are you sure you want to delete this context?',\n context: 'danger',\n });\n\n ngOnInit(): void { }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n onGridReady(event: GridReadyEvent<Context>): void {\n this.gridApi = event.api;\n setTimeout(() => this.gridApi?.setGridOption('datasource', this.buildDatasource()), 0);\n }\n\n onFilterChanged(): void {\n this.currentFilterModel = (this.gridApi?.getFilterModel() ?? {}) as Record<string, unknown>;\n this.gridApi?.setGridOption('datasource', this.buildDatasource());\n }\n\n onSortChanged(): void {\n this.currentSortModel = this.gridApi?.getColumnState()\n .filter(s => s.sort)\n .map(s => ({ colId: s.colId, sort: s.sort! } as SortModelItem)) ?? [];\n this.gridApi?.setGridOption('datasource', this.buildDatasource());\n }\n\n onCellClicked(event: CellClickedEvent<Context>): void {\n if ((event.event as MouseEvent)?.detail === 2 && event.data) {\n this.onEdit(event.data);\n }\n }\n\n private mapFilterModel(filterModel: Record<string, unknown>): GridFilterItem[] {\n return Object.entries(filterModel).map(([field, raw]) => {\n const f = raw as Record<string, unknown>;\n return {\n field,\n filterType: (f['filterType'] as string) ?? 'text',\n operator: (f['type'] as string) ?? 'contains',\n value: f['filter'] != null ? String(f['filter']) : undefined,\n valueTo: f['filterTo'] != null ? String(f['filterTo']) : undefined,\n } as GridFilterItem;\n });\n }\n\n private buildDatasource(): IDatasource {\n const sortModel = this.currentSortModel;\n const filterModel = this.currentFilterModel;\n return {\n getRows: (params: IGetRowsParams) => {\n const pageSize = params.endRow - params.startRow;\n const page = Math.floor(params.startRow / pageSize) + 1;\n const sortCol = sortModel[0];\n\n const query: GridQueryRequest = {\n page,\n pageSize,\n sortField: sortCol?.colId,\n sortDirection: sortCol?.sort as 'asc' | 'desc' | undefined,\n filters: this.mapFilterModel(filterModel),\n };\n\n this.service.getPaged(query).pipe(takeUntil(this.destroy$)).subscribe({\n next: (result: { items: Context[]; totalCount: number }) =>\n params.successCallback(result.items, result.totalCount),\n error: (err: AppError) => {\n this.errorService.setError(err, 'contextList');\n params.failCallback();\n },\n });\n },\n };\n }\n\n private refreshGrid(): void {\n this.gridApi?.setGridOption('datasource', this.buildDatasource());\n }\n\n onCreate(): void { this.showCreateModal.set(true); }\n\n onCreated(): void {\n this.showCreateModal.set(false);\n this.refreshGrid();\n }\n\n onCreateCancelled(): void { this.showCreateModal.set(false); }\n\n onEdit(context: Context): void {\n this.contextToEdit.set(context);\n this.showEditModal.set(true);\n }\n\n onUpdated(): void {\n this.showEditModal.set(false);\n this.contextToEdit.set(null);\n this.refreshGrid();\n }\n\n onEditCancelled(): void {\n this.showEditModal.set(false);\n this.contextToEdit.set(null);\n }\n\n onDelete(context: Context): void {\n this.contextToDelete.set(context);\n this.deleteMessageBoxConfig.set({\n title: 'Confirm Delete',\n message: `Delete context \"${context.name}\"? This cannot be undone.`,\n context: 'danger',\n });\n this.showDeleteMessageBox.set(true);\n }\n\n onDeleteConfirmed(): void {\n const context = this.contextToDelete();\n if (!context) return;\n\n this.service.delete(context.id).subscribe({\n next: () => {\n this.toast.show({ message: 'Context deleted', type: 'success' });\n this.showDeleteMessageBox.set(false);\n this.contextToDelete.set(null);\n this.refreshGrid();\n },\n error: (err: AppError) => {\n this.errorService.setError(err, 'contextList');\n this.showDeleteMessageBox.set(false);\n this.contextToDelete.set(null);\n },\n });\n }\n\n onDeleteCancelled(): void {\n this.showDeleteMessageBox.set(false);\n this.contextToDelete.set(null);\n }\n}\n","import { ComponentAliasGroup } from '../../component-alias.model';\n\nexport const ACCORDION_ALIAS_MAP: ComponentAliasGroup[] = [\n {\n label: 'Header — Default',\n aliases: [\n { cssVar: '--anv-accordion-header-background', label: 'Background', type: 'color', semanticRole: 'surface-container', default: '#e9ecef' },\n { cssVar: '--anv-accordion-header-color', label: 'Text', type: 'color', semanticRole: 'dark', default: '#01132c' },\n ],\n },\n {\n label: 'Header — Active (open)',\n aliases: [\n { cssVar: '--anv-accordion-header-background-active', label: 'Background', type: 'color', semanticRole: 'primary', default: '#00174b' },\n { cssVar: '--anv-accordion-header-color-active', label: 'Text', type: 'color', semanticRole: 'light', default: '#f2f2f2' },\n ],\n },\n {\n label: 'Body',\n aliases: [\n { cssVar: '--anv-accordion-body-background', label: 'Background', type: 'color', semanticRole: 'surface', default: '#ffffff' },\n { cssVar: '--anv-accordion-body-color', label: 'Text', type: 'color', semanticRole: 'dark', default: '#01132c' },\n ],\n },\n {\n label: 'Panel',\n aliases: [\n { cssVar: '--anv-accordion-shadow', label: 'Shadow', type: 'shadow', semanticRole: 'none', default: 'var(--anv-elevation-none)' },\n { cssVar: '--anv-accordion-transition', label: 'Transition', type: 'transition', semanticRole: 'none', default: 'var(--anv-transition-fast)' },\n ],\n },\n];\n\nexport const ALL_ACCORDION_ALIASES = ACCORDION_ALIAS_MAP.flatMap(g => g.aliases);\n","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n<ng-template overDrawerContent>\n <lib-foundation-edit-form />\n</ng-template>\n\n<div class=\"ace-root\">\n\n <header class=\"ace-header\">\n <span class=\"ace-header__title\">Accordion</span>\n <div class=\"ace-header-actions\">\n <button type=\"button\" class=\"ace-btn-ghost\" (click)=\"reset()\">\n <i class=\"bi bi-arrow-counterclockwise\" aria-hidden=\"true\"></i>\n Reset\n </button>\n </div>\n </header>\n\n <!-- ─── Live Preview ──────────────────────────────────────────────────────── -->\n <div class=\"ace-preview\">\n <lib-accordian>\n <lib-accordian-panel title=\"Panel One\" [initiallyOpen]=\"true\">\n <p class=\"ace-preview__text\">\n This is the body of <strong>Panel One</strong>. Adjust the controls below\n to see header, body, and panel token changes in real time.\n </p>\n </lib-accordian-panel>\n <lib-accordian-panel title=\"Panel Two\">\n <p class=\"ace-preview__text\">\n This is the body of <strong>Panel Two</strong>. Only one panel stays open\n at a time (single-expand mode).\n </p>\n </lib-accordian-panel>\n <lib-accordian-panel title=\"Panel Three\" icon=\"bi bi-star\">\n <p class=\"ace-preview__text\">\n This panel has an <strong>icon</strong> in its header.\n </p>\n </lib-accordian-panel>\n </lib-accordian>\n </div>\n\n <!-- ─── Controls ─────────────────────────────────────────────────────────── -->\n <div class=\"ace-groups\">\n\n @for (group of groups; track group.label) {\n <section class=\"ace-card\">\n <div class=\"ace-card__title\">{{ group.label }}</div>\n\n @for (alias of group.aliases; track alias.cssVar) {\n\n @if (alias.type === 'color') {\n <div class=\"ace-prop\">\n <label class=\"ace-prop__label\">{{ alias.label }}</label>\n <div class=\"ace-color-row\">\n <button\n type=\"button\"\n class=\"ace-color-swatch\"\n [style.background-color]=\"getValue(alias.cssVar)\"\n (click)=\"activePickerCssVar.set(activePickerCssVar() === alias.cssVar ? null : alias.cssVar)\">\n </button>\n <span class=\"ace-mono\">{{ getValue(alias.cssVar) }}</span>\n </div>\n </div>\n }\n\n @if (alias.type === 'shadow') {\n <div class=\"ace-prop\">\n <label class=\"ace-prop__label\">{{ alias.label }}</label>\n <lib-elevation-selector\n [value]=\"getValue(alias.cssVar)\"\n (valueChange)=\"updateValue(alias.cssVar, $event)\" />\n </div>\n }\n\n @if (alias.type === 'transition') {\n <div class=\"ace-prop\">\n <label class=\"ace-prop__label\">{{ alias.label }}</label>\n <lib-transition-selector\n [value]=\"getValue(alias.cssVar)\"\n (valueChange)=\"updateValue(alias.cssVar, $event)\" />\n </div>\n }\n\n }\n\n </section>\n }\n\n </div>\n\n</div>\n","import { DOCUMENT } from '@angular/common';\nimport { Component, effect, inject, OnDestroy, signal } from '@angular/core';\nimport { AccordianComponent, AccordianPanelComponent, OverDrawerContentDirective, SideDrawerContentDirective } from '@anvil-eco/shared-ui';\nimport { BackgroundInkEditorComponent } from '../../../shared/background-ink-editor/background-ink-editor.component';\nimport { ElevationSelectorComponent } from '../../../shared/elevation-selector/elevation-selector.component';\nimport { TransitionSelectorComponent } from '../../../shared/transition-selector/transition-selector.component';\nimport { FoundationEditFormComponent } from '../../../foundation/foundation-edit-form.component/foundation-edit-form.component';\nimport { DesignListNavComponent } from '../../../shared/design-list-nav/design-list-nav.component';\nimport { ACCORDION_ALIAS_MAP, ALL_ACCORDION_ALIASES } from './accordion-alias-map';\n\n@Component({\n selector: 'lib-accordion-editor',\n standalone: true,\n imports: [\n SideDrawerContentDirective,\n OverDrawerContentDirective,\n DesignListNavComponent,\n FoundationEditFormComponent,\n BackgroundInkEditorComponent,\n ElevationSelectorComponent,\n TransitionSelectorComponent,\n AccordianComponent,\n AccordianPanelComponent,\n ],\n templateUrl: './accordion-editor.component.html',\n styleUrl: './accordion-editor.component.scss',\n})\nexport class AccordionEditorComponent implements OnDestroy {\n private readonly doc = inject(DOCUMENT);\n\n readonly groups = ACCORDION_ALIAS_MAP;\n\n private readonly originalRawValues = this.captureRawValues();\n private readonly originalValues = this.readCurrentValues();\n\n values = signal<Record<string, string>>({ ...this.originalValues });\n\n readonly activePickerCssVar = signal<string | null>(null);\n\n constructor() {\n effect(() => {\n const v = this.values();\n for (const a of ALL_ACCORDION_ALIASES) {\n this.doc.documentElement.style.setProperty(a.cssVar, v[a.cssVar]);\n }\n });\n }\n\n ngOnDestroy(): void {\n const el = this.doc.documentElement;\n for (const a of ALL_ACCORDION_ALIASES) {\n const raw = this.originalRawValues[a.cssVar];\n if (raw) el.style.setProperty(a.cssVar, raw);\n else el.style.removeProperty(a.cssVar);\n }\n }\n\n getValue(cssVar: string): string {\n return this.values()[cssVar];\n }\n\n updateValue(cssVar: string, value: string): void {\n this.values.update(v => ({ ...v, [cssVar]: value }));\n }\n\n reset(): void {\n this.values.set({ ...this.originalValues });\n }\n\n private captureRawValues(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n ALL_ACCORDION_ALIASES.map(a => [a.cssVar, computed.getPropertyValue(a.cssVar).trim()])\n );\n }\n\n private readCurrentValues(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n ALL_ACCORDION_ALIASES.map(a => {\n const raw = computed.getPropertyValue(a.cssVar).trim();\n if (!raw) return [a.cssVar, a.default];\n const resolved = this.resolveVar(raw, computed);\n if (!resolved) return [a.cssVar, a.default];\n if (a.type === 'color' && !/^#[0-9A-Fa-f]{6}$/.test(resolved)) return [a.cssVar, a.default];\n if (a.type === 'shadow' || a.type === 'transition') return [a.cssVar, a.default];\n return [a.cssVar, resolved];\n })\n );\n }\n\n private resolveVar(value: string, computed: CSSStyleDeclaration, depth = 0): string {\n if (depth > 8 || !value.startsWith('var(')) return value;\n const inner = value.slice(4, -1).trim();\n const commaIdx = inner.indexOf(',');\n const varName = commaIdx >= 0 ? inner.slice(0, commaIdx).trim() : inner;\n const fallback = commaIdx >= 0 ? inner.slice(commaIdx + 1).trim() : '';\n const next = computed.getPropertyValue(varName).trim();\n if (!next) return fallback;\n return this.resolveVar(next, computed, depth + 1);\n }\n}\n","import { ComponentAliasGroup } from '../component-alias.model';\n\nexport const LEFT_SIDEBAR_ALIAS_MAP: ComponentAliasGroup[] = [\n {\n label: 'Left Drawer',\n aliases: [\n { cssVar: '--anv-left-drawer-background', label: 'Background', type: 'color', semanticRole: 'dark', default: '#01132c' },\n { cssVar: '--anv-left-drawer-color', label: 'Text', type: 'color', semanticRole: 'light', default: '#f2f2f2' },\n { cssVar: '--anv-left-drawer-shadow', label: 'Shadow', type: 'shadow', semanticRole: 'none', default: 'var(--anv-elevation-none)' },\n { cssVar: '--anv-left-drawer-transition', label: 'Transition', type: 'transition', semanticRole: 'none', default: 'var(--anv-transition-fast)' },\n ],\n },\n {\n label: 'Left Drawer Header',\n aliases: [\n { cssVar: '--anv-left-drawer-header-background', label: 'Background', type: 'color', semanticRole: 'none', default: 'transparent' },\n { cssVar: '--anv-left-drawer-header-color', label: 'Text', type: 'color', semanticRole: 'light', default: '#f2f2f2' },\n { cssVar: '--anv-left-drawer-header-font-family', label: 'Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-left-drawer-header-font-size', label: 'Font Size', type: 'length', semanticRole: 'none', default: '0.875rem', unit: 'rem', min: 0.5, max: 2 },\n { cssVar: '--anv-left-drawer-header-font-weight', label: 'Font Weight', type: 'font-weight', semanticRole: 'none', default: '600' },\n { cssVar: '--anv-left-drawer-header-padding-top', label: 'Padding Top', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-header-padding-right', label: 'Padding Right', type: 'length', semanticRole: 'none', default: '0.25rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-header-padding-bottom', label: 'Padding Bottom', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-header-padding-left', label: 'Padding Left', type: 'length', semanticRole: 'none', default: '1rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-header-margin-top', label: 'Margin Top', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-header-margin-right', label: 'Margin Right', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-header-margin-bottom', label: 'Margin Bottom', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-header-margin-left', label: 'Margin Left', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-header-border-radius-tl', label: 'Radius TL', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 48 },\n { cssVar: '--anv-left-drawer-header-border-radius-tr', label: 'Radius TR', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 48 },\n { cssVar: '--anv-left-drawer-header-border-radius-br', label: 'Radius BR', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 48 },\n { cssVar: '--anv-left-drawer-header-border-radius-bl', label: 'Radius BL', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 48 },\n { cssVar: '--anv-left-drawer-header-border-top-width', label: 'Border Top Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 8 },\n { cssVar: '--anv-left-drawer-header-border-top-style', label: 'Border Top Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-left-drawer-header-border-top-color', label: 'Border Top Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-left-drawer-header-border-right-width', label: 'Border Right Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 8 },\n { cssVar: '--anv-left-drawer-header-border-right-style', label: 'Border Right Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-left-drawer-header-border-right-color', label: 'Border Right Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-left-drawer-header-border-bottom-width', label: 'Border Bottom Width',type: 'length', semanticRole: 'none', default: '1px', unit: 'px', min: 0, max: 8 },\n { cssVar: '--anv-left-drawer-header-border-bottom-style', label: 'Border Bottom Style',type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-left-drawer-header-border-bottom-color', label: 'Border Bottom Color',type: 'color', semanticRole: 'none', default: '#6c757d' },\n { cssVar: '--anv-left-drawer-header-border-left-width', label: 'Border Left Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 8 },\n { cssVar: '--anv-left-drawer-header-border-left-style', label: 'Border Left Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-left-drawer-header-border-left-color', label: 'Border Left Color', type: 'color', semanticRole: 'none', default: '#000000' },\n ],\n },\n {\n label: 'Navbar Items',\n aliases: [\n { cssVar: '--anv-left-drawer-navbar-color', label: 'Default Text', type: 'color', semanticRole: 'light', default: '#f2f2f2' },\n { cssVar: '--anv-left-drawer-navbar-background', label: 'Default Background', type: 'color', semanticRole: 'none', default: 'transparent' },\n { cssVar: '--anv-left-drawer-navbar-font-family', label: 'Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-left-drawer-navbar-font-size', label: 'Font Size', type: 'length', semanticRole: 'none', default: '0.875rem', unit: 'rem', min: 0.5, max: 2 },\n { cssVar: '--anv-left-drawer-navbar-line-height', label: 'Line Height', type: 'length', semanticRole: 'none', default: '1.25', unit: '' },\n { cssVar: '--anv-left-drawer-navbar-font-weight', label: 'Font Weight', type: 'font-weight', semanticRole: 'none', default: '500' },\n { cssVar: '--anv-left-drawer-navbar-font-style', label: 'Font Style', type: 'font-style', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-left-drawer-navbar-text-decoration', label: 'Text Decoration', type: 'text-decoration', semanticRole: 'none', default: 'none' },\n { cssVar: '--anv-left-drawer-navbar-transition', label: 'Transition', type: 'transition', semanticRole: 'none', default: 'var(--anv-transition-fast)' },\n { cssVar: '--anv-left-drawer-navbar-padding-top', label: 'Padding Top', type: 'length', semanticRole: 'none', default: '0.625rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-navbar-padding-right', label: 'Padding Right', type: 'length', semanticRole: 'none', default: '1rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-navbar-padding-bottom', label: 'Padding Bottom', type: 'length', semanticRole: 'none', default: '0.625rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-navbar-padding-left', label: 'Padding Left', type: 'length', semanticRole: 'none', default: '1rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-navbar-gap', label: 'Gap', type: 'length', semanticRole: 'none', default: '0.625rem', unit: 'rem', min: 0, max: 2 },\n { cssVar: '--anv-left-drawer-navbar-margin-top', label: 'Margin Top', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-navbar-margin-right', label: 'Margin Right', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-navbar-margin-bottom', label: 'Margin Bottom', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-navbar-margin-left', label: 'Margin Left', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-navbar-border-radius-tl', label: 'Radius TL', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 48 },\n { cssVar: '--anv-left-drawer-navbar-border-radius-tr', label: 'Radius TR', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 48 },\n { cssVar: '--anv-left-drawer-navbar-border-radius-br', label: 'Radius BR', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 48 },\n { cssVar: '--anv-left-drawer-navbar-border-radius-bl', label: 'Radius BL', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 48 },\n { cssVar: '--anv-left-drawer-navbar-border-top-width', label: 'Border Top Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-left-drawer-navbar-border-top-style', label: 'Border Top Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-left-drawer-navbar-border-top-color', label: 'Border Top Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-left-drawer-navbar-border-right-width', label: 'Border Right Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-left-drawer-navbar-border-right-style', label: 'Border Right Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-left-drawer-navbar-border-right-color', label: 'Border Right Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-left-drawer-navbar-border-bottom-width', label: 'Border Bottom Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-left-drawer-navbar-border-bottom-style', label: 'Border Bottom Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-left-drawer-navbar-border-bottom-color', label: 'Border Bottom Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-left-drawer-navbar-border-left-width', label: 'Border Left Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-left-drawer-navbar-border-left-style', label: 'Border Left Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-left-drawer-navbar-border-left-color', label: 'Border Left Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-left-drawer-navbar-background-hover', label: 'Hover Background', type: 'color', semanticRole: 'none', default: 'rgba(255,255,255,0.08)' },\n { cssVar: '--anv-left-drawer-navbar-color-hover', label: 'Hover Text', type: 'color', semanticRole: 'secondary', default: '#b8c2c7' },\n { cssVar: '--anv-left-drawer-navbar-font-family-hover', label: 'Hover Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-left-drawer-navbar-font-weight-hover', label: 'Hover Font Weight', type: 'font-weight', semanticRole: 'none', default: '500' },\n { cssVar: '--anv-left-drawer-navbar-font-style-hover', label: 'Hover Font Style', type: 'font-style', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-left-drawer-navbar-text-decoration-hover', label: 'Hover Text Decoration', type: 'text-decoration', semanticRole: 'none', default: 'none' },\n { cssVar: '--anv-left-drawer-navbar-background-active', label: 'Active Background', type: 'color', semanticRole: 'accent-1', default: '#5585d5' },\n { cssVar: '--anv-left-drawer-navbar-color-active', label: 'Active Text', type: 'color', semanticRole: 'light', default: '#f2f2f2' },\n { cssVar: '--anv-left-drawer-navbar-font-family-active', label: 'Active Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-left-drawer-navbar-font-weight-active', label: 'Active Font Weight', type: 'font-weight', semanticRole: 'none', default: '600' },\n { cssVar: '--anv-left-drawer-navbar-font-style-active', label: 'Active Font Style', type: 'font-style', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-left-drawer-navbar-text-decoration-active', label: 'Active Text Decoration', type: 'text-decoration', semanticRole: 'none', default: 'none' },\n ],\n },\n {\n label: 'Dropdown Panel',\n aliases: [\n { cssVar: '--anv-left-drawer-dropdown-panel-background', label: 'Panel Background', type: 'color', semanticRole: 'surface', default: '#ffffff' },\n { cssVar: '--anv-left-drawer-dropdown-panel-color', label: 'Panel Text', type: 'color', semanticRole: 'dark', default: '#01132c' },\n { cssVar: '--anv-left-drawer-dropdown-panel-padding-top', label: 'Padding Top', type: 'length', semanticRole: 'none', default: '0.25rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-dropdown-panel-padding-right', label: 'Padding Right', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-dropdown-panel-padding-bottom', label: 'Padding Bottom', type: 'length', semanticRole: 'none', default: '0.25rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-dropdown-panel-padding-left', label: 'Padding Left', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-dropdown-panel-shadow', label: 'Shadow', type: 'shadow', semanticRole: 'none', default: 'var(--anv-elevation-level-3)' },\n { cssVar: '--anv-left-drawer-dropdown-panel-transition', label: 'Transition', type: 'transition', semanticRole: 'none', default: 'var(--anv-transition-fast)' },\n ],\n },\n {\n label: 'Dropdown Items',\n aliases: [\n { cssVar: '--anv-left-drawer-dropdown-item-color', label: 'Text', type: 'color', semanticRole: 'dark', default: '#01132c' },\n { cssVar: '--anv-left-drawer-dropdown-item-background', label: 'Background', type: 'color', semanticRole: 'none', default: 'transparent' },\n { cssVar: '--anv-left-drawer-dropdown-item-font-family', label: 'Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-left-drawer-dropdown-item-font-size', label: 'Font Size', type: 'length', semanticRole: 'none', default: '0.875rem', unit: 'rem', min: 0.5, max: 2 },\n { cssVar: '--anv-left-drawer-dropdown-item-line-height', label: 'Line Height', type: 'length', semanticRole: 'none', default: '1.25', unit: '' },\n { cssVar: '--anv-left-drawer-dropdown-item-font-weight', label: 'Font Weight', type: 'font-weight', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-left-drawer-dropdown-item-font-style', label: 'Font Style', type: 'font-style', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-left-drawer-dropdown-item-text-decoration', label: 'Text Decoration', type: 'text-decoration', semanticRole: 'none', default: 'none' },\n { cssVar: '--anv-left-drawer-dropdown-item-transition', label: 'Transition', type: 'transition', semanticRole: 'none', default: 'var(--anv-transition-fast)' },\n { cssVar: '--anv-left-drawer-dropdown-item-padding-top', label: 'Padding Top', type: 'length', semanticRole: 'none', default: '0.375rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-dropdown-item-padding-right', label: 'Padding Right', type: 'length', semanticRole: 'none', default: '1rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-dropdown-item-padding-bottom', label: 'Padding Bottom', type: 'length', semanticRole: 'none', default: '0.375rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-dropdown-item-padding-left', label: 'Padding Left', type: 'length', semanticRole: 'none', default: '1rem', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-dropdown-item-gap', label: 'Gap', type: 'length', semanticRole: 'none', default: '0.5rem', unit: 'rem', min: 0, max: 2 },\n { cssVar: '--anv-left-drawer-dropdown-item-margin-top', label: 'Margin Top', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-dropdown-item-margin-right', label: 'Margin Right', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-dropdown-item-margin-bottom', label: 'Margin Bottom', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-dropdown-item-margin-left', label: 'Margin Left', type: 'length', semanticRole: 'none', default: '0', unit: 'rem', min: 0, max: 4 },\n { cssVar: '--anv-left-drawer-dropdown-item-border-top-width', label: 'Border Top Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-left-drawer-dropdown-item-border-top-style', label: 'Border Top Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-left-drawer-dropdown-item-border-top-color', label: 'Border Top Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-left-drawer-dropdown-item-border-right-width', label: 'Border Right Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-left-drawer-dropdown-item-border-right-style', label: 'Border Right Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-left-drawer-dropdown-item-border-right-color', label: 'Border Right Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-left-drawer-dropdown-item-border-bottom-width', label: 'Border Bottom Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-left-drawer-dropdown-item-border-bottom-style', label: 'Border Bottom Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-left-drawer-dropdown-item-border-bottom-color', label: 'Border Bottom Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-left-drawer-dropdown-item-border-left-width', label: 'Border Left Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-left-drawer-dropdown-item-border-left-style', label: 'Border Left Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-left-drawer-dropdown-item-border-left-color', label: 'Border Left Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-left-drawer-dropdown-item-background-hover', label: 'Hover Background', type: 'color', semanticRole: 'none', default: '#f0f4ff' },\n { cssVar: '--anv-left-drawer-dropdown-item-color-hover', label: 'Hover Text', type: 'color', semanticRole: 'dark', default: '#01132c' },\n { cssVar: '--anv-left-drawer-dropdown-item-font-family-hover', label: 'Hover Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-left-drawer-dropdown-item-font-weight-hover', label: 'Hover Font Weight', type: 'font-weight', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-left-drawer-dropdown-item-font-style-hover', label: 'Hover Font Style', type: 'font-style', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-left-drawer-dropdown-item-text-decoration-hover', label: 'Hover Text Decoration', type: 'text-decoration', semanticRole: 'none', default: 'none' },\n { cssVar: '--anv-left-drawer-dropdown-item-background-active', label: 'Active Background', type: 'color', semanticRole: 'none', default: 'transparent' },\n { cssVar: '--anv-left-drawer-dropdown-item-color-active', label: 'Active Text', type: 'color', semanticRole: 'dark', default: '#01132c' },\n { cssVar: '--anv-left-drawer-dropdown-item-font-family-active', label: 'Active Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-left-drawer-dropdown-item-font-weight-active', label: 'Active Font Weight', type: 'font-weight', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-left-drawer-dropdown-item-font-style-active', label: 'Active Font Style', type: 'font-style', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-left-drawer-dropdown-item-text-decoration-active', label: 'Active Text Decoration',type: 'text-decoration', semanticRole: 'none', default: 'none' },\n { cssVar: '--anv-left-drawer-dropdown-item-background-active-hover', label: 'Active:Hover Background', type: 'color', semanticRole: 'none', default: 'transparent' },\n { cssVar: '--anv-left-drawer-dropdown-item-color-active-hover', label: 'Active:Hover Text', type: 'color', semanticRole: 'dark', default: '#01132c' },\n { cssVar: '--anv-left-drawer-dropdown-item-font-family-active-hover', label: 'Active:Hover Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-left-drawer-dropdown-item-font-weight-active-hover', label: 'Active:Hover Font Weight', type: 'font-weight', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-left-drawer-dropdown-item-font-style-active-hover', label: 'Active:Hover Font Style', type: 'font-style', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-left-drawer-dropdown-item-text-decoration-active-hover', label: 'Active:Hover Text Decoration', type: 'text-decoration', semanticRole: 'none', default: 'none' },\n ],\n },\n];\n\nexport const ALL_LEFT_SIDEBAR_ALIASES = LEFT_SIDEBAR_ALIAS_MAP.flatMap(g => g.aliases);\n","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n<ng-template overDrawerContent>\n <lib-foundation-edit-form />\n</ng-template>\n\n<div class=\"lse-root\">\n\n <lib-error-alert [sourceId]=\"'left-sidebar-editor'\" mode=\"inline\" />\n\n <header class=\"lse-header\">\n <span class=\"lse-header__title\">Left Sidebar</span>\n <div class=\"lse-header-actions\">\n <button type=\"button\" class=\"lse-btn-ghost\" (click)=\"reset()\"\n [disabled]=\"saveState() === 'saving'\">\n <i class=\"bi bi-arrow-counterclockwise\" aria-hidden=\"true\"></i>\n Reset\n </button>\n <button type=\"button\" class=\"lse-btn-primary\" (click)=\"save()\"\n [disabled]=\"saveState() === 'saving'\">\n @switch (saveState()) {\n @case ('saving') { <i class=\"bi bi-hourglass-split\" aria-hidden=\"true\"></i> Saving… }\n @case ('saved') { <i class=\"bi bi-check-lg\" aria-hidden=\"true\"></i> Saved }\n @case ('error') { <i class=\"bi bi-exclamation-triangle\" aria-hidden=\"true\"></i> Error }\n @default { <i class=\"bi bi-cloud-upload\" aria-hidden=\"true\"></i> Save }\n }\n </button>\n </div>\n </header>\n\n <div class=\"lse-groups\">\n <lib-generic-navbar-lab\n containerLabel=\"Left Drawer\"\n containerPrefix=\"--anv-left-drawer\"\n headerLabel=\"Header\"\n headerPrefix=\"--anv-left-drawer-header\"\n itemLabel=\"Navbar Items\"\n itemPrefix=\"--anv-left-drawer-navbar\"\n dropdownPanelLabel=\"Dropdown Panel\"\n dropdownPanelPrefix=\"--anv-left-drawer-dropdown-panel\"\n dropdownItemLabel=\"Dropdown Items\"\n dropdownItemPrefix=\"--anv-left-drawer-dropdown-item\"\n [values]=\"values()\"\n (valueChange)=\"updateValue($event.cssVar, $event.value)\" />\n </div>\n\n</div>\n","import { DOCUMENT } from '@angular/common';\r\nimport { HttpContext } from '@angular/common/http';\r\nimport { Component, effect, inject, OnDestroy, signal } from '@angular/core';\r\nimport { DesignTokenService } from '@anvil-eco/shared-services';\r\nimport { OverDrawerContentDirective, SideDrawerContentDirective, ErrorAlertComponent, ErrorParserService, ErrorService } from '@anvil-eco/shared-ui';\nimport { BYPASS_GLOBAL_ERROR } from '@anvil-eco/shared-core';\r\nimport { GenericNavbarLabComponent } from '../../shared/generic-navbar-lab/generic-navbar-lab.component';\r\nimport { FoundationEditFormComponent } from '../../foundation/foundation-edit-form.component/foundation-edit-form.component';\r\nimport { DesignListNavComponent } from '../../shared/design-list-nav/design-list-nav.component';\r\nimport { LEFT_SIDEBAR_ALIAS_MAP, ALL_LEFT_SIDEBAR_ALIASES } from './left-sidebar-alias-map';\r\n\r\n@Component({\r\n selector: 'lib-left-sidebar-editor',\r\n standalone: true,\r\n imports: [\r\n SideDrawerContentDirective,\r\n OverDrawerContentDirective,\r\n DesignListNavComponent,\r\n FoundationEditFormComponent,\r\n GenericNavbarLabComponent,\r\n ErrorAlertComponent,\r\n ],\r\n templateUrl: './left-sidebar-editor.component.html',\r\n styleUrl: './left-sidebar-editor.component.scss',\r\n})\r\nexport class LeftSidebarEditorComponent implements OnDestroy {\r\n private readonly doc = inject(DOCUMENT);\r\n private readonly tokenService = inject(DesignTokenService);\r\n private readonly errorService = inject(ErrorService);\r\n private readonly errorParser = inject(ErrorParserService);\r\n\r\n private static readonly SOURCE = 'left-sidebar-editor';\r\n\r\n readonly groups = LEFT_SIDEBAR_ALIAS_MAP;\r\n\r\n private readonly originalRawValues = this.captureRawValues();\r\n private readonly originalValues = this.readCurrentValues();\r\n\r\n values = signal<Record<string, string>>({ ...this.originalValues });\r\n saveState = signal<'idle' | 'saving' | 'saved' | 'error'>('idle');\r\n\r\n constructor() {\r\n effect(() => {\r\n const v = this.values();\r\n const el = this.doc.documentElement;\r\n for (const a of ALL_LEFT_SIDEBAR_ALIASES) {\r\n el.style.setProperty(a.cssVar, v[a.cssVar]);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n const el = this.doc.documentElement;\r\n for (const a of ALL_LEFT_SIDEBAR_ALIASES) {\r\n const raw = this.originalRawValues[a.cssVar];\r\n if (raw) el.style.setProperty(a.cssVar, raw);\r\n else el.style.removeProperty(a.cssVar);\r\n }\r\n }\r\n\r\n getValue(cssVar: string): string { return this.values()[cssVar]; }\r\n\r\n updateValue(cssVar: string, value: string): void {\r\n this.values.update(v => ({ ...v, [cssVar]: value }));\r\n }\r\n\r\n reset(): void {\r\n this.values.set({ ...this.originalValues });\r\n }\r\n\r\n async save(): Promise<void> {\r\n const contextId = this.tokenService.payload()?.context.id;\r\n if (!contextId) return;\r\n\r\n this.saveState.set('saving');\r\n this.errorService.clearError();\r\n\r\n const v = this.values();\r\n const overrides = ALL_LEFT_SIDEBAR_ALIASES.map(a => ({ cssVar: a.cssVar, value: v[a.cssVar] }));\r\n const ctx = new HttpContext().set(BYPASS_GLOBAL_ERROR, true);\r\n\r\n try {\r\n await this.tokenService.saveComponentAliasOverrides(contextId, overrides, ctx);\r\n for (const a of ALL_LEFT_SIDEBAR_ALIASES) {\r\n this.originalRawValues[a.cssVar] = v[a.cssVar];\r\n }\r\n this.tokenService.payload.update(p => p ? { ...p, componentAliasOverrides: overrides } : null);\r\n this.saveState.set('saved');\r\n setTimeout(() => this.saveState.set('idle'), 2000);\r\n } catch (err) {\r\n const appError = (err as any)?.isTechnical !== undefined\r\n ? (err as any)\r\n : { title: 'Save Failed', message: 'Could not save left sidebar settings.', status: 0,\r\n severity: 'error', fieldErrors: {}, timestamp: new Date().toISOString(), isTechnical: true };\r\n this.errorService.setError(appError, LeftSidebarEditorComponent.SOURCE);\r\n this.saveState.set('error');\r\n setTimeout(() => this.saveState.set('idle'), 3000);\r\n }\r\n }\r\n\r\n private captureRawValues(): Record<string, string> {\r\n const computed = getComputedStyle(this.doc.documentElement);\r\n return Object.fromEntries(\r\n ALL_LEFT_SIDEBAR_ALIASES.map(a => [a.cssVar, computed.getPropertyValue(a.cssVar).trim()])\r\n );\r\n }\r\n\r\n private readCurrentValues(): Record<string, string> {\r\n const computed = getComputedStyle(this.doc.documentElement);\r\n return Object.fromEntries(\r\n ALL_LEFT_SIDEBAR_ALIASES.map(a => {\r\n const raw = computed.getPropertyValue(a.cssVar).trim();\r\n if (!raw) return [a.cssVar, a.default];\r\n const resolved = this.resolveVar(raw, computed);\r\n if (!resolved) return [a.cssVar, a.default];\r\n if (a.type === 'length' && a.unit) {\r\n const withUnit = /^-?[\\d.]+$/.test(resolved) ? resolved + a.unit : resolved;\r\n return [a.cssVar, withUnit || a.default];\r\n }\r\n if (a.type === 'color' && !/^#[0-9A-Fa-f]{6}$/.test(resolved)) return [a.cssVar, a.default];\r\n return [a.cssVar, resolved];\r\n })\r\n );\r\n }\r\n\r\n private resolveVar(value: string, computed: CSSStyleDeclaration, depth = 0): string {\r\n if (depth > 8 || !value.startsWith('var(')) return value;\r\n const inner = value.slice(4, -1).trim();\r\n const commaIdx = inner.indexOf(',');\r\n const varName = commaIdx >= 0 ? inner.slice(0, commaIdx).trim() : inner;\r\n const fallback = commaIdx >= 0 ? inner.slice(commaIdx + 1).trim() : '';\r\n const next = computed.getPropertyValue(varName).trim();\r\n if (!next) return fallback;\r\n return this.resolveVar(next, computed, depth + 1);\r\n }\r\n}\r\n","import { ComponentAliasGroup } from '../component-alias.model';\n\n// ── Parent: UserMenu (cb000060) ───────────────────────────────────────────────\nexport const USER_MENU_ALIAS_MAP: ComponentAliasGroup[] = [\n {\n label: 'Spacing',\n aliases: [\n { cssVar: '--anv-user-menu-padding-top', label: 'Padding Top', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 32 },\n { cssVar: '--anv-user-menu-padding-right', label: 'Padding Right', type: 'length', semanticRole: 'none', default: '8', unit: 'px', min: 0, max: 32 },\n { cssVar: '--anv-user-menu-padding-bottom', label: 'Padding Bottom', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 32 },\n { cssVar: '--anv-user-menu-padding-left', label: 'Padding Left', type: 'length', semanticRole: 'none', default: '8', unit: 'px', min: 0, max: 32 },\n { cssVar: '--anv-user-menu-gap', label: 'Item Gap', type: 'length', semanticRole: 'none', default: '8', unit: 'px', min: 0, max: 32 },\n ],\n },\n];\n\nexport const ALL_USER_MENU_ALIASES = USER_MENU_ALIAS_MAP.flatMap(g => g.aliases);\n\n// ── Child: UserMenu.Avatar (cb000061) ─────────────────────────────────────────\nexport const USER_MENU_AVATAR_ALIAS_MAP: ComponentAliasGroup[] = [\n {\n label: 'Avatar',\n aliases: [\n { cssVar: '--anv-user-menu-avatar-width', label: 'Width', type: 'size', semanticRole: 'none', default: '1.8rem' },\n { cssVar: '--anv-user-menu-avatar-height', label: 'Height', type: 'size', semanticRole: 'none', default: '1.8rem' },\n { cssVar: '--anv-user-menu-avatar-border-radius', label: 'Border Radius', type: 'size', semanticRole: 'none', default: '50%' },\n { cssVar: '--anv-user-menu-avatar-background', label: 'Background', type: 'color', semanticRole: 'accent-1', default: '#5585d5' },\n { cssVar: '--anv-user-menu-avatar-color', label: 'Icon Color', type: 'color', semanticRole: 'light', default: '#f2f2f2' },\n ],\n },\n {\n label: 'Border',\n aliases: [\n { cssVar: '--anv-user-menu-avatar-border-top-width', label: 'Top Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-user-menu-avatar-border-top-style', label: 'Top Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-user-menu-avatar-border-top-color', label: 'Top Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-user-menu-avatar-border-right-width', label: 'Right Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-user-menu-avatar-border-right-style', label: 'Right Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-user-menu-avatar-border-right-color', label: 'Right Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-user-menu-avatar-border-bottom-width', label: 'Bottom Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-user-menu-avatar-border-bottom-style', label: 'Bottom Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-user-menu-avatar-border-bottom-color', label: 'Bottom Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-user-menu-avatar-border-left-width', label: 'Left Width', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-user-menu-avatar-border-left-style', label: 'Left Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-user-menu-avatar-border-left-color', label: 'Left Color', type: 'color', semanticRole: 'none', default: '#000000' },\n ],\n },\n {\n label: 'Spacing',\n aliases: [\n { cssVar: '--anv-user-menu-avatar-padding-top', label: 'Padding Top', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-user-menu-avatar-padding-right', label: 'Padding Right', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-user-menu-avatar-padding-bottom', label: 'Padding Bottom', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-user-menu-avatar-padding-left', label: 'Padding Left', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n ],\n },\n];\n\nexport const ALL_USER_MENU_AVATAR_ALIASES = USER_MENU_AVATAR_ALIAS_MAP.flatMap(g => g.aliases);\n\n// ── Child: UserMenu.Title (cb000062) ──────────────────────────────────────────\nexport const USER_MENU_TITLE_ALIAS_MAP: ComponentAliasGroup[] = [\n {\n label: 'Typography',\n aliases: [\n { cssVar: '--anv-user-menu-title-font-family', label: 'Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-user-menu-title-font-size', label: 'Font Size', type: 'length', semanticRole: 'none', default: '0.875', unit: 'rem', min: 0.5, max: 2 },\n { cssVar: '--anv-user-menu-title-font-weight', label: 'Font Weight', type: 'font-weight', semanticRole: 'none', default: '500' },\n { cssVar: '--anv-user-menu-title-color', label: 'Color', type: 'color', semanticRole: 'light', default: '#f2f2f2' },\n ],\n },\n {\n label: 'Spacing',\n aliases: [\n { cssVar: '--anv-user-menu-title-padding-top', label: 'Padding Top', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-user-menu-title-padding-right', label: 'Padding Right', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-user-menu-title-padding-bottom', label: 'Padding Bottom', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-user-menu-title-padding-left', label: 'Padding Left', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n ],\n },\n];\n\nexport const ALL_USER_MENU_TITLE_ALIASES = USER_MENU_TITLE_ALIAS_MAP.flatMap(g => g.aliases);\n\n// ── Child: UserMenu.Subtitle (cb000063) ───────────────────────────────────────\nexport const USER_MENU_SUBTITLE_ALIAS_MAP: ComponentAliasGroup[] = [\n {\n label: 'Typography',\n aliases: [\n { cssVar: '--anv-user-menu-subtitle-font-family', label: 'Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-user-menu-subtitle-font-size', label: 'Font Size', type: 'length', semanticRole: 'none', default: '0.72', unit: 'rem', min: 0.5, max: 2 },\n { cssVar: '--anv-user-menu-subtitle-font-weight', label: 'Font Weight', type: 'font-weight', semanticRole: 'none', default: '400' },\n { cssVar: '--anv-user-menu-subtitle-color', label: 'Color', type: 'color', semanticRole: 'light', default: '#f2f2f2' },\n { cssVar: '--anv-user-menu-subtitle-opacity', label: 'Opacity', type: 'length', semanticRole: 'none', default: '0.65', unit: '', min: 0, max: 1 },\n ],\n },\n {\n label: 'Spacing',\n aliases: [\n { cssVar: '--anv-user-menu-subtitle-padding-top', label: 'Padding Top', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-user-menu-subtitle-padding-right', label: 'Padding Right', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-user-menu-subtitle-padding-bottom', label: 'Padding Bottom', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n { cssVar: '--anv-user-menu-subtitle-padding-left', label: 'Padding Left', type: 'length', semanticRole: 'none', default: '0', unit: 'px', min: 0, max: 16 },\n ],\n },\n];\n\nexport const ALL_USER_MENU_SUBTITLE_ALIASES = USER_MENU_SUBTITLE_ALIAS_MAP.flatMap(g => g.aliases);\n","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n<ng-template overDrawerContent>\n <lib-foundation-edit-form />\n</ng-template>\n\n<div class=\"ume-root\">\n\n <lib-error-alert [sourceId]=\"'user-menu-editor'\" mode=\"inline\" />\n\n <header class=\"ume-header\">\n <span class=\"ume-header__title\">User Menu</span>\n <div class=\"ume-header-actions\">\n <button type=\"button\" class=\"ume-btn-ghost\" (click)=\"reset()\"\n [disabled]=\"saveState() === 'saving'\">\n <i class=\"bi bi-arrow-counterclockwise\" aria-hidden=\"true\"></i>\n Reset\n </button>\n <button type=\"button\" class=\"ume-btn-primary\" (click)=\"save()\"\n [disabled]=\"saveState() === 'saving'\">\n @switch (saveState()) {\n @case ('saving') { <i class=\"bi bi-hourglass-split\" aria-hidden=\"true\"></i> Saving… }\n @case ('saved') { <i class=\"bi bi-check-lg\" aria-hidden=\"true\"></i> Saved }\n @case ('error') { <i class=\"bi bi-exclamation-triangle\" aria-hidden=\"true\"></i> Error }\n @default { <i class=\"bi bi-cloud-upload\" aria-hidden=\"true\"></i> Save }\n }\n </button>\n </div>\n </header>\n\n <!-- ─── Tabs + Panel ─────────────────────────────────────────────────────── -->\n <div class=\"ume-content\">\n <lib-tab-strip\n [tabs]=\"TABS\"\n [activeKey]=\"activeTab()\"\n tabAlign=\"left\"\n (activeKeyChange)=\"activeTab.set($event)\" />\n\n <div class=\"ume-panel\">\n\n @switch (activeTab()) {\n\n <!-- User Menu (Main) -->\n @case ('main') {\n <div class=\"ume-section\">\n <span class=\"ume-section__label\">Spacing</span>\n <lib-spacing-editor\n prefix=\"--anv-user-menu\"\n [values]=\"values()\"\n (valueChange)=\"updateFromChild($event)\" />\n </div>\n }\n\n <!-- Avatar -->\n @case ('avatar') {\n <div class=\"ume-section\">\n <span class=\"ume-section__label\">Colors</span>\n <lib-color-editor\n backgroundLabel=\"Background\"\n inkLabel=\"Icon Color\"\n [background]=\"getValue('--anv-user-menu-avatar-background')\"\n [ink]=\"getValue('--anv-user-menu-avatar-color')\"\n (backgroundChange)=\"updateValue('--anv-user-menu-avatar-background', $event)\"\n (inkChange)=\"updateValue('--anv-user-menu-avatar-color', $event)\" />\n </div>\n\n <div class=\"ume-section\">\n <span class=\"ume-section__label\">Size</span>\n <lib-size-editor\n prefix=\"--anv-user-menu-avatar\"\n [values]=\"values()\"\n (valueChange)=\"updateFromChild($event)\" />\n <div class=\"ume-field-row\">\n <label class=\"ume-field-label\">Border Radius</label>\n <input type=\"text\"\n class=\"ume-field-input\"\n [value]=\"getValue('--anv-user-menu-avatar-border-radius')\"\n (change)=\"updateValue('--anv-user-menu-avatar-border-radius', $any($event.target).value)\" />\n </div>\n </div>\n\n <div class=\"ume-section\">\n <span class=\"ume-section__label\">Border</span>\n <lib-border-editor\n prefix=\"--anv-user-menu-avatar\"\n [values]=\"values()\"\n (valueChange)=\"updateFromChild($event)\" />\n </div>\n\n <div class=\"ume-section\">\n <span class=\"ume-section__label\">Spacing</span>\n <lib-spacing-editor\n prefix=\"--anv-user-menu-avatar\"\n [values]=\"values()\"\n (valueChange)=\"updateFromChild($event)\" />\n </div>\n }\n\n <!-- Title -->\n @case ('title') {\n <div class=\"ume-section\">\n <span class=\"ume-section__label\">Typography</span>\n <lib-typography-editor\n [font]=\"getValue('--anv-user-menu-title-font-family')\"\n [fontSize]=\"numVal('--anv-user-menu-title-font-size')\"\n [fontSizeMin]=\"0.5\"\n [fontSizeMax]=\"2\"\n [fontWeight]=\"getValue('--anv-user-menu-title-font-weight')\"\n (fontChange)=\"updateValue('--anv-user-menu-title-font-family', $event)\"\n (fontSizeChange)=\"updateValue('--anv-user-menu-title-font-size', $event + 'rem')\"\n (fontWeightChange)=\"updateValue('--anv-user-menu-title-font-weight', $event)\" />\n </div>\n\n <div class=\"ume-section\">\n <span class=\"ume-section__label\">Color</span>\n <lib-color-editor\n backgroundLabel=\"Text Color\"\n [background]=\"getValue('--anv-user-menu-title-color')\"\n (backgroundChange)=\"updateValue('--anv-user-menu-title-color', $event)\" />\n </div>\n\n <div class=\"ume-section\">\n <span class=\"ume-section__label\">Spacing</span>\n <lib-spacing-editor\n prefix=\"--anv-user-menu-title\"\n [values]=\"values()\"\n (valueChange)=\"updateFromChild($event)\" />\n </div>\n }\n\n <!-- Subtitle -->\n @case ('subtitle') {\n <div class=\"ume-section\">\n <span class=\"ume-section__label\">Typography</span>\n <lib-typography-editor\n [font]=\"getValue('--anv-user-menu-subtitle-font-family')\"\n [fontSize]=\"numVal('--anv-user-menu-subtitle-font-size')\"\n [fontSizeMin]=\"0.5\"\n [fontSizeMax]=\"2\"\n [fontWeight]=\"getValue('--anv-user-menu-subtitle-font-weight')\"\n (fontChange)=\"updateValue('--anv-user-menu-subtitle-font-family', $event)\"\n (fontSizeChange)=\"updateValue('--anv-user-menu-subtitle-font-size', $event + 'rem')\"\n (fontWeightChange)=\"updateValue('--anv-user-menu-subtitle-font-weight', $event)\" />\n </div>\n\n <div class=\"ume-section\">\n <span class=\"ume-section__label\">Color</span>\n <lib-color-editor\n backgroundLabel=\"Text Color\"\n [background]=\"getValue('--anv-user-menu-subtitle-color')\"\n (backgroundChange)=\"updateValue('--anv-user-menu-subtitle-color', $event)\" />\n <div class=\"ume-field-row\">\n <label class=\"ume-field-label\">Opacity</label>\n <input type=\"range\"\n class=\"ume-range\"\n min=\"0\" max=\"1\" step=\"0.05\"\n [value]=\"numVal('--anv-user-menu-subtitle-opacity')\"\n (input)=\"updateValue('--anv-user-menu-subtitle-opacity', $any($event.target).value)\" />\n <span class=\"ume-range-val\">{{ numVal('--anv-user-menu-subtitle-opacity') }}</span>\n </div>\n </div>\n\n <div class=\"ume-section\">\n <span class=\"ume-section__label\">Spacing</span>\n <lib-spacing-editor\n prefix=\"--anv-user-menu-subtitle\"\n [values]=\"values()\"\n (valueChange)=\"updateFromChild($event)\" />\n </div>\n }\n\n }\n\n </div><!-- /.ume-panel -->\n </div><!-- /.ume-content -->\n\n</div>\n","import { DOCUMENT } from '@angular/common';\nimport { HttpContext } from '@angular/common/http';\nimport { Component, effect, inject, OnDestroy, signal } from '@angular/core';\nimport { DesignTokenService } from '@anvil-eco/shared-services';\nimport { OverDrawerContentDirective, SideDrawerContentDirective, ErrorAlertComponent, ErrorParserService, ErrorService, TabStripComponent } from '@anvil-eco/shared-ui';\nimport { BYPASS_GLOBAL_ERROR } from '@anvil-eco/shared-core';\nimport { NavTab } from '@anvil-eco/shared-ui';\nimport { ColorEditorComponent } from '../../shared/color-editor/color-editor.component';\nimport { TypographyEditorComponent } from '../../shared/typography-editor/typography-editor.component';\nimport { SpacingEditorComponent } from '../../shared/spacing-editor/spacing-editor.component';\nimport { SizeEditorComponent } from '../../shared/size-editor/size-editor.component';\nimport { BorderEditorComponent } from '../../shared/border-editor/border-editor.component';\nimport { FoundationEditFormComponent } from '../../foundation/foundation-edit-form.component/foundation-edit-form.component';\nimport { DesignListNavComponent } from '../../shared/design-list-nav/design-list-nav.component';\nimport {\n USER_MENU_ALIAS_MAP,\n ALL_USER_MENU_ALIASES,\n ALL_USER_MENU_AVATAR_ALIASES,\n ALL_USER_MENU_TITLE_ALIASES,\n ALL_USER_MENU_SUBTITLE_ALIASES,\n} from './user-menu-alias-map';\n\n@Component({\n selector: 'lib-user-menu-editor',\n standalone: true,\n imports: [\n SideDrawerContentDirective,\n OverDrawerContentDirective,\n DesignListNavComponent,\n FoundationEditFormComponent,\n ColorEditorComponent,\n TypographyEditorComponent,\n SpacingEditorComponent,\n SizeEditorComponent,\n BorderEditorComponent,\n ErrorAlertComponent,\n TabStripComponent,\n ],\n templateUrl: './user-menu-editor.component.html',\n styleUrl: './user-menu-editor.component.scss',\n})\nexport class UserMenuEditorComponent implements OnDestroy {\n private readonly doc = inject(DOCUMENT);\n private readonly tokenService = inject(DesignTokenService);\n private readonly errorService = inject(ErrorService);\n private readonly errorParser = inject(ErrorParserService);\n\n private static readonly SOURCE = 'user-menu-editor';\n\n readonly groups = USER_MENU_ALIAS_MAP;\n\n private static readonly ALL = [\n ...ALL_USER_MENU_ALIASES,\n ...ALL_USER_MENU_AVATAR_ALIASES,\n ...ALL_USER_MENU_TITLE_ALIASES,\n ...ALL_USER_MENU_SUBTITLE_ALIASES,\n ];\n\n readonly TABS: NavTab[] = [\n { key: 'main', label: 'User Menu' },\n { key: 'avatar', label: 'Avatar' },\n { key: 'title', label: 'Title' },\n { key: 'subtitle', label: 'Subtitle' },\n ];\n\n activeTab = signal<string>('main');\n\n private readonly originalRawValues = this.captureRawValues();\n private readonly originalValues = this.readCurrentValues();\n\n values = signal<Record<string, string>>({ ...this.originalValues });\n saveState = signal<'idle' | 'saving' | 'saved' | 'error'>('idle');\n\n constructor() {\n effect(() => {\n const v = this.values();\n for (const a of UserMenuEditorComponent.ALL) {\n const val = a.type === 'length' ? `${v[a.cssVar]}${a.unit ?? ''}` : v[a.cssVar];\n this.doc.documentElement.style.setProperty(a.cssVar, val);\n }\n });\n }\n\n ngOnDestroy(): void {\n const el = this.doc.documentElement;\n for (const a of UserMenuEditorComponent.ALL) {\n const raw = this.originalRawValues[a.cssVar];\n if (raw) el.style.setProperty(a.cssVar, raw);\n else el.style.removeProperty(a.cssVar);\n }\n }\n\n getValue(cssVar: string): string { return this.values()[cssVar]; }\n numVal(cssVar: string): number { return parseFloat(this.values()[cssVar] ?? '0') || 0; }\n updateFromChild(e: { cssVar: string; value: string }): void { this.updateValue(e.cssVar, e.value); }\n\n updateValue(cssVar: string, value: string): void {\n this.values.update(v => ({ ...v, [cssVar]: value }));\n }\n\n reset(): void {\n this.values.set({ ...this.originalValues });\n }\n\n async save(): Promise<void> {\n const contextId = this.tokenService.payload()?.context.id;\n if (!contextId) return;\n\n this.saveState.set('saving');\n this.errorService.clearError();\n\n const v = this.values();\n const overrides = UserMenuEditorComponent.ALL.map(a => ({\n cssVar: a.cssVar,\n value: a.type === 'length' ? `${v[a.cssVar]}${a.unit ?? ''}` : v[a.cssVar],\n }));\n\n const ctx = new HttpContext().set(BYPASS_GLOBAL_ERROR, true);\n\n try {\n await this.tokenService.saveComponentAliasOverrides(contextId, overrides, ctx);\n this.saveState.set('saved');\n setTimeout(() => this.saveState.set('idle'), 2000);\n } catch (err) {\n const appError = (err as any)?.isTechnical !== undefined\n ? (err as any)\n : { title: 'Save Failed', message: 'Could not save user menu settings.', status: 0,\n severity: 'error', fieldErrors: {}, timestamp: new Date().toISOString(), isTechnical: true };\n this.errorService.setError(appError, UserMenuEditorComponent.SOURCE);\n this.saveState.set('error');\n setTimeout(() => this.saveState.set('idle'), 3000);\n }\n }\n\n private captureRawValues(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n UserMenuEditorComponent.ALL.map(a => [a.cssVar, computed.getPropertyValue(a.cssVar).trim()])\n );\n }\n\n private readCurrentValues(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n UserMenuEditorComponent.ALL.map(a => {\n const raw = computed.getPropertyValue(a.cssVar).trim();\n if (!raw) return [a.cssVar, a.default];\n const resolved = this.resolveVar(raw, computed);\n if (!resolved) return [a.cssVar, a.default];\n if (a.type === 'length' && a.unit) {\n const stripped = resolved.endsWith(a.unit) ? resolved.slice(0, -a.unit.length).trim() : resolved;\n return [a.cssVar, stripped || a.default];\n }\n if (a.type === 'color' && !/^#[0-9A-Fa-f]{6}$/.test(resolved)) return [a.cssVar, a.default];\n if (a.type === 'size') return [a.cssVar, resolved || a.default];\n return [a.cssVar, resolved];\n })\n );\n }\n\n private resolveVar(value: string, computed: CSSStyleDeclaration, depth = 0): string {\n if (depth > 8 || !value.startsWith('var(')) return value;\n const inner = value.slice(4, -1).trim();\n const commaIdx = inner.indexOf(',');\n const varName = commaIdx >= 0 ? inner.slice(0, commaIdx).trim() : inner;\n const fallback = commaIdx >= 0 ? inner.slice(commaIdx + 1).trim() : '';\n const next = computed.getPropertyValue(varName).trim();\n if (!next) return fallback;\n return this.resolveVar(next, computed, depth + 1);\n }\n}\n","export interface AliasEntry {\n cssVar: string;\n label: string;\n type: 'color' | 'size' | 'spacing' | 'typography' | 'border';\n semantic: string;\n default: string;\n}\n\n// ─── Footer ───────────────────────────────────────────────────────────────────\nexport const FOOTER_ALIAS_MAP: AliasEntry[] = [\n { cssVar: '--anv-footer-background', label: 'Background', type: 'color', semantic: 'surface', default: 'var(--anv-color-light,#f2f2f2)' },\n { cssVar: '--anv-footer-color', label: 'Text Color', type: 'color', semantic: 'secondary', default: 'var(--anv-color-secondary,#6c757d)'},\n { cssVar: '--anv-footer-font-family', label: 'Font Family', type: 'typography', semantic: 'font-family', default: 'inherit' },\n { cssVar: '--anv-footer-font-size', label: 'Font Size', type: 'typography', semantic: 'font-size', default: '0.875rem' },\n { cssVar: '--anv-footer-font-weight', label: 'Font Weight', type: 'typography', semantic: 'font-weight', default: '400' },\n { cssVar: '--anv-footer-padding-top', label: 'Padding Top', type: 'spacing', semantic: 'padding', default: '0px' },\n { cssVar: '--anv-footer-padding-right', label: 'Padding Right', type: 'spacing', semantic: 'padding', default: 'var(--anv-spacing-4,16px)' },\n { cssVar: '--anv-footer-padding-bottom', label: 'Padding Bottom', type: 'spacing', semantic: 'padding', default: '0px' },\n { cssVar: '--anv-footer-padding-left', label: 'Padding Left', type: 'spacing', semantic: 'padding', default: 'var(--anv-spacing-4,16px)' },\n { cssVar: '--anv-footer-display', label: 'Display', type: 'spacing', semantic: 'display', default: 'flex' },\n];\n\nexport const ALL_FOOTER_ALIASES = FOOTER_ALIAS_MAP;\n","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n<ng-template overDrawerContent>\n <lib-foundation-edit-form />\n</ng-template>\n\n<div class=\"fe-root\">\n\n <header class=\"fe-header\">\n <span class=\"fe-header__title\">Footer</span>\n <div class=\"fe-header__actions\">\n <button type=\"button\" class=\"fe-btn fe-btn--ghost\" (click)=\"reset()\">\n <i class=\"bi bi-arrow-counterclockwise\" aria-hidden=\"true\"></i> Reset\n </button>\n <button type=\"button\" class=\"fe-btn fe-btn--primary\"\n [disabled]=\"saveState() === 'saving'\"\n (click)=\"save()\">\n @switch (saveState()) {\n @case ('saving') { <i class=\"bi bi-hourglass-split\" aria-hidden=\"true\"></i> Saving… }\n @case ('saved') { <i class=\"bi bi-check-lg\" aria-hidden=\"true\"></i> Saved }\n @case ('error') { <i class=\"bi bi-exclamation-triangle\" aria-hidden=\"true\"></i> Error }\n @default { <i class=\"bi bi-cloud-upload\" aria-hidden=\"true\"></i> Save }\n }\n </button>\n </div>\n </header>\n\n <!-- ─── Tabs + Panel ─────────────────────────────────────────────────────── -->\n <div class=\"fe-content\">\n <lib-tab-strip\n [tabs]=\"TABS\"\n [activeKey]=\"activeTab()\"\n tabAlign=\"left\"\n (activeKeyChange)=\"activeTab.set($event)\" />\n\n <div class=\"fe-panel\">\n\n @switch (activeTab()) {\n\n @case ('colors') {\n <div class=\"fe-section\">\n <span class=\"fe-section__label\">Colors</span>\n <lib-color-editor\n backgroundLabel=\"Background\"\n inkLabel=\"Text Color\"\n [background]=\"getValue('--anv-footer-background')\"\n [ink]=\"getValue('--anv-footer-color')\"\n (backgroundChange)=\"updateValue('--anv-footer-background', $event)\"\n (inkChange)=\"updateValue('--anv-footer-color', $event)\" />\n </div>\n }\n\n @case ('typography') {\n <div class=\"fe-section\">\n <span class=\"fe-section__label\">Typography</span>\n <lib-typography-editor\n [font]=\"getValue('--anv-footer-font-family')\"\n [fontSize]=\"numVal('--anv-footer-font-size')\"\n [fontSizeMin]=\"0.5\"\n [fontSizeMax]=\"2\"\n [fontWeight]=\"getValue('--anv-footer-font-weight')\"\n (fontChange)=\"updateValue('--anv-footer-font-family', $event)\"\n (fontSizeChange)=\"updateValue('--anv-footer-font-size', $event + 'rem')\"\n (fontWeightChange)=\"updateValue('--anv-footer-font-weight', $event)\" />\n </div>\n }\n\n @case ('spacing') {\n <div class=\"fe-section\">\n <span class=\"fe-section__label\">Spacing</span>\n <lib-spacing-editor\n prefix=\"--anv-footer\"\n [values]=\"values()\"\n (valueChange)=\"updateFromChild($event)\" />\n </div>\n }\n\n @case ('settings') {\n <div class=\"fe-section\">\n <span class=\"fe-section__label\">Visibility</span>\n <label class=\"fe-toggle\">\n <input type=\"checkbox\"\n class=\"fe-toggle__input\"\n [checked]=\"getValue('--anv-footer-display') !== 'none'\"\n (change)=\"updateValue('--anv-footer-display', $any($event.target).checked ? 'flex' : 'none')\" />\n <span class=\"fe-toggle__label\">Show footer</span>\n </label>\n </div>\n }\n\n }\n\n </div><!-- /.fe-panel -->\n </div><!-- /.fe-content -->\n\n</div>\n","import { DOCUMENT } from '@angular/common';\nimport { HttpContext } from '@angular/common/http';\nimport { Component, effect, inject, OnDestroy, signal, ViewEncapsulation } from '@angular/core';\nimport { DesignTokenService } from '@anvil-eco/shared-services';\nimport { OverDrawerContentDirective, SideDrawerContentDirective, ErrorAlertComponent, ErrorParserService, ErrorService, TabStripComponent } from '@anvil-eco/shared-ui';\nimport { BYPASS_GLOBAL_ERROR } from '@anvil-eco/shared-core';\nimport { NavTab } from '@anvil-eco/shared-ui';\nimport { ColorEditorComponent } from '../../shared/color-editor/color-editor.component';\nimport { TypographyEditorComponent } from '../../shared/typography-editor/typography-editor.component';\nimport { SpacingEditorComponent } from '../../shared/spacing-editor/spacing-editor.component';\nimport { FoundationEditFormComponent } from '../../foundation/foundation-edit-form.component/foundation-edit-form.component';\nimport { DesignListNavComponent } from '../../shared/design-list-nav/design-list-nav.component';\nimport { ALL_FOOTER_ALIASES } from './footer-alias-map';\n\n@Component({\n selector: 'lib-footer-editor',\n standalone: true,\n imports: [\n SideDrawerContentDirective,\n OverDrawerContentDirective,\n DesignListNavComponent,\n FoundationEditFormComponent,\n ColorEditorComponent,\n TypographyEditorComponent,\n SpacingEditorComponent,\n ErrorAlertComponent,\n TabStripComponent,\n ],\n templateUrl: './footer-editor.component.html',\n styleUrl: './footer-editor.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class FooterEditorComponent implements OnDestroy {\n private readonly doc = inject(DOCUMENT);\n private readonly tokenService = inject(DesignTokenService);\n private readonly errorService = inject(ErrorService);\n private readonly errorParser = inject(ErrorParserService);\n private static readonly SOURCE = 'footer-editor';\n\n readonly TABS: NavTab[] = [\n { key: 'colors', label: 'Colors' },\n { key: 'typography', label: 'Typography' },\n { key: 'spacing', label: 'Spacing' },\n { key: 'settings', label: 'Settings' },\n ];\n\n activeTab = signal<string>('colors');\n\n private readonly originalRawValues = this.captureRawValues();\n private readonly originalValues = this.readCurrentValues();\n\n values = signal<Record<string, string>>({ ...this.originalValues });\n saveState = signal<'idle' | 'saving' | 'saved' | 'error'>('idle');\n\n constructor() {\n effect(() => {\n const v = this.values();\n const el = this.doc.documentElement;\n for (const a of ALL_FOOTER_ALIASES) {\n el.style.setProperty(a.cssVar, v[a.cssVar]);\n }\n });\n\n }\n\n ngOnDestroy(): void {\n const el = this.doc.documentElement;\n for (const a of ALL_FOOTER_ALIASES) {\n const raw = this.originalRawValues[a.cssVar];\n if (raw) el.style.setProperty(a.cssVar, raw);\n else el.style.removeProperty(a.cssVar);\n }\n }\n\n getValue(cssVar: string): string { return this.values()[cssVar]; }\n numVal(cssVar: string): number { return parseFloat(this.values()[cssVar] ?? '0') || 0; }\n\n updateValue(cssVar: string, value: string): void {\n this.values.update(v => ({ ...v, [cssVar]: value }));\n }\n\n updateFromChild(e: { cssVar: string; value: string }): void {\n this.updateValue(e.cssVar, e.value);\n }\n\n reset(): void {\n this.values.set({ ...this.originalValues });\n }\n\n async save(): Promise<void> {\n const contextId = this.tokenService.payload()?.context.id;\n if (!contextId) return;\n\n this.saveState.set('saving');\n this.errorService.clearError();\n\n const v = this.values();\n const overrides = ALL_FOOTER_ALIASES.map(a => ({ cssVar: a.cssVar, value: v[a.cssVar] }));\n const ctx = new HttpContext().set(BYPASS_GLOBAL_ERROR, true);\n\n try {\n await this.tokenService.saveComponentAliasOverrides(contextId, overrides, ctx);\n this.saveState.set('saved');\n setTimeout(() => this.saveState.set('idle'), 2000);\n } catch (err) {\n const appError = (err as any)?.isTechnical !== undefined\n ? (err as any)\n : { title: 'Save Failed', message: 'Could not save footer settings.', status: 0,\n severity: 'error', fieldErrors: {}, timestamp: new Date().toISOString(), isTechnical: true };\n this.errorService.setError(appError, FooterEditorComponent.SOURCE);\n this.saveState.set('error');\n setTimeout(() => this.saveState.set('idle'), 3000);\n }\n }\n\n private captureRawValues(): Record<string, string> {\n const el = this.doc.documentElement;\n const out: Record<string, string> = {};\n for (const a of ALL_FOOTER_ALIASES) {\n out[a.cssVar] = el.style.getPropertyValue(a.cssVar).trim();\n }\n return out;\n }\n\n private readCurrentValues(): Record<string, string> {\n const el = this.doc.documentElement;\n const out: Record<string, string> = {};\n for (const a of ALL_FOOTER_ALIASES) {\n const inline = el.style.getPropertyValue(a.cssVar).trim();\n out[a.cssVar] = inline || a.default;\n }\n return out;\n }\n}\n","export interface AliasEntry {\n cssVar: string;\n label: string;\n type: 'color' | 'size' | 'spacing' | 'typography' | 'border';\n semantic: string;\n default: string;\n}\n\n// ─── Surface & Ink ────────────────────────────────────────────────────────────\nexport const BODY_SURFACE_ALIASES: AliasEntry[] = [\n { cssVar: '--anv-color-surface', label: 'Background', type: 'color', semantic: 'surface', default: '#ffffff' },\n { cssVar: '--anv-color-dark', label: 'Text Color', type: 'color', semantic: 'dark', default: '#01132c' },\n];\n\n// ─── Base Typography ──────────────────────────────────────────────────────────\nexport const BODY_TYPOGRAPHY_ALIASES: AliasEntry[] = [\n { cssVar: '--anv-body-font-family', label: 'Font Family', type: 'typography', semantic: 'font-family', default: 'inherit' },\n { cssVar: '--anv-body-font-size', label: 'Font Size', type: 'typography', semantic: 'font-size', default: '1rem' },\n { cssVar: '--anv-body-font-weight', label: 'Font Weight', type: 'typography', semantic: 'font-weight', default: '400' },\n];\n\n// ─── Headings (per level) ─────────────────────────────────────────────────────\nfunction headingLevelAliases(n: number, defaultSize: string): AliasEntry[] {\n return [\n { cssVar: `--anv-h${n}-color`, label: 'Color', type: 'color', semantic: 'dark', default: 'var(--anv-color-dark,#01132c)' },\n { cssVar: `--anv-h${n}-font-family`, label: 'Font', type: 'typography', semantic: 'font-family', default: 'inherit' },\n { cssVar: `--anv-h${n}-font-size`, label: 'Size', type: 'typography', semantic: 'font-size', default: defaultSize },\n { cssVar: `--anv-h${n}-font-weight`, label: 'Weight', type: 'typography', semantic: 'font-weight', default: '700' },\n { cssVar: `--anv-h${n}-line-height`, label: 'Line Height', type: 'typography', semantic: 'line-height', default: '1.2' },\n { cssVar: `--anv-h${n}-font-style`, label: 'Style', type: 'typography', semantic: 'font-style', default: 'normal' },\n { cssVar: `--anv-h${n}-text-decoration`, label: 'Decoration', type: 'typography', semantic: 'text-decoration', default: 'none' },\n ];\n}\n\nexport const BODY_HEADING_ALIASES: AliasEntry[] = [\n ...headingLevelAliases(1, '2.5rem'),\n ...headingLevelAliases(2, '2rem'),\n ...headingLevelAliases(3, '1.75rem'),\n ...headingLevelAliases(4, '1.5rem'),\n ...headingLevelAliases(5, '1.25rem'),\n];\n\n// ─── Links ────────────────────────────────────────────────────────────────────\nexport const BODY_LINK_ALIASES: AliasEntry[] = [\n { cssVar: '--anv-link-color', label: 'Link Color', type: 'color', semantic: 'primary', default: 'var(--anv-color-primary,#00174b)' },\n { cssVar: '--anv-link-hover-color', label: 'Link Hover Color', type: 'color', semantic: 'primary', default: 'var(--anv-color-primary-dark,#001036)' },\n { cssVar: '--anv-link-visited-color', label: 'Link Visited Color', type: 'color', semantic: 'secondary', default: 'var(--anv-color-secondary,#6c757d)' },\n];\n\nexport const ALL_BODY_ALIASES: AliasEntry[] = [\n ...BODY_SURFACE_ALIASES,\n ...BODY_TYPOGRAPHY_ALIASES,\n ...BODY_HEADING_ALIASES,\n ...BODY_LINK_ALIASES,\n];\n","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n<ng-template overDrawerContent>\n <lib-foundation-edit-form />\n</ng-template>\n\n<div class=\"be-root\">\n\n <header class=\"be-header\">\n <span class=\"be-header__title\">Body</span>\n <div class=\"be-header__actions\">\n <button type=\"button\" class=\"be-btn be-btn--ghost\" (click)=\"reset()\">\n <i class=\"bi bi-arrow-counterclockwise\" aria-hidden=\"true\"></i> Reset\n </button>\n <button type=\"button\" class=\"be-btn be-btn--primary\"\n [disabled]=\"saveState() === 'saving'\"\n (click)=\"save()\">\n @switch (saveState()) {\n @case ('saving') { <i class=\"bi bi-hourglass-split\" aria-hidden=\"true\"></i> Saving… }\n @case ('saved') { <i class=\"bi bi-check-lg\" aria-hidden=\"true\"></i> Saved }\n @case ('error') { <i class=\"bi bi-exclamation-triangle\" aria-hidden=\"true\"></i> Error }\n @default { <i class=\"bi bi-cloud-upload\" aria-hidden=\"true\"></i> Save }\n }\n </button>\n </div>\n </header>\n\n <!-- ─── Tabs + Panel ─────────────────────────────────────────────────────── -->\n <div class=\"be-content\">\n <lib-tab-strip\n [tabs]=\"TABS\"\n [activeKey]=\"activeTab()\"\n tabAlign=\"left\"\n (activeKeyChange)=\"activeTab.set($event)\" />\n\n <div class=\"be-panel\">\n\n @switch (activeTab()) {\n\n @case ('surface') {\n <div class=\"be-section\">\n <span class=\"be-section__label\">Background & Text</span>\n <lib-color-editor\n backgroundLabel=\"Background\"\n inkLabel=\"Text Color\"\n [background]=\"getValue('--anv-color-surface')\"\n [ink]=\"getValue('--anv-color-dark')\"\n (backgroundChange)=\"updateValue('--anv-color-surface', $event)\"\n (inkChange)=\"updateValue('--anv-color-dark', $event)\" />\n </div>\n }\n\n @case ('typography') {\n <div class=\"be-section\">\n <span class=\"be-section__label\">Base Typography</span>\n <lib-typography-editor\n [font]=\"getValue('--anv-body-font-family')\"\n [fontSize]=\"numVal('--anv-body-font-size')\"\n [fontSizeMin]=\"0.5\"\n [fontSizeMax]=\"2\"\n [fontWeight]=\"getValue('--anv-body-font-weight')\"\n [showDecorators]=\"false\"\n (fontChange)=\"updateValue('--anv-body-font-family', $event)\"\n (fontSizeChange)=\"updateValue('--anv-body-font-size', $event + 'rem')\"\n (fontWeightChange)=\"updateValue('--anv-body-font-weight', $event)\" />\n </div>\n }\n\n @case ('headings') {\n <!-- Level selector -->\n <div class=\"be-heading-levels\">\n @for (n of [1,2,3,4,5]; track n) {\n <button type=\"button\"\n class=\"be-level-btn\"\n [class.be-level-btn--active]=\"activeHeadingLevel() === n\"\n (click)=\"activeHeadingLevel.set(n)\">\n H{{ n }}\n </button>\n }\n </div>\n\n <div class=\"be-section\">\n <span class=\"be-section__label\">Color</span>\n <lib-color-editor\n backgroundLabel=\"Heading Color\"\n [background]=\"getValue('--anv-h' + activeHeadingLevel() + '-color')\"\n (backgroundChange)=\"updateValue('--anv-h' + activeHeadingLevel() + '-color', $event)\" />\n </div>\n <div class=\"be-section\">\n <span class=\"be-section__label\">Typography</span>\n <lib-typography-editor\n [font]=\"getValue('--anv-h' + activeHeadingLevel() + '-font-family')\"\n [fontSize]=\"numVal('--anv-h' + activeHeadingLevel() + '-font-size')\"\n [fontSizeMin]=\"0.5\"\n [fontSizeMax]=\"6\"\n [fontWeight]=\"getValue('--anv-h' + activeHeadingLevel() + '-font-weight')\"\n [lineHeight]=\"numVal('--anv-h' + activeHeadingLevel() + '-line-height')\"\n [fontStyle]=\"getValue('--anv-h' + activeHeadingLevel() + '-font-style')\"\n [textDecoration]=\"getValue('--anv-h' + activeHeadingLevel() + '-text-decoration')\"\n (fontChange)=\"updateValue('--anv-h' + activeHeadingLevel() + '-font-family', $event)\"\n (fontSizeChange)=\"updateValue('--anv-h' + activeHeadingLevel() + '-font-size', $event + 'rem')\"\n (fontWeightChange)=\"updateValue('--anv-h' + activeHeadingLevel() + '-font-weight', $event)\"\n (lineHeightChange)=\"updateValue('--anv-h' + activeHeadingLevel() + '-line-height', $event + '')\"\n (fontStyleChange)=\"updateValue('--anv-h' + activeHeadingLevel() + '-font-style', $event)\"\n (textDecorationChange)=\"updateValue('--anv-h' + activeHeadingLevel() + '-text-decoration', $event)\" />\n </div>\n }\n\n @case ('links') {\n <div class=\"be-section\">\n <span class=\"be-section__label\">Link</span>\n <lib-color-editor\n backgroundLabel=\"Link Color\"\n [background]=\"getValue('--anv-link-color')\"\n (backgroundChange)=\"updateValue('--anv-link-color', $event)\" />\n </div>\n <div class=\"be-section\">\n <span class=\"be-section__label\">Link Hover</span>\n <lib-color-editor\n backgroundLabel=\"Hover Color\"\n [background]=\"getValue('--anv-link-hover-color')\"\n (backgroundChange)=\"updateValue('--anv-link-hover-color', $event)\" />\n </div>\n <div class=\"be-section\">\n <span class=\"be-section__label\">Link Visited</span>\n <lib-color-editor\n backgroundLabel=\"Visited Color\"\n [background]=\"getValue('--anv-link-visited-color')\"\n (backgroundChange)=\"updateValue('--anv-link-visited-color', $event)\" />\n </div>\n }\n\n }\n\n </div><!-- /.be-panel -->\n </div><!-- /.be-content -->\n\n</div>\n","import { DOCUMENT } from '@angular/common';\nimport { HttpContext } from '@angular/common/http';\nimport { Component, effect, inject, OnDestroy, signal, ViewEncapsulation } from '@angular/core';\nimport { DesignTokenService } from '@anvil-eco/shared-services';\nimport { OverDrawerContentDirective, SideDrawerContentDirective, ErrorAlertComponent, ErrorParserService, ErrorService, TabStripComponent } from '@anvil-eco/shared-ui';\nimport { BYPASS_GLOBAL_ERROR } from '@anvil-eco/shared-core';\nimport { NavTab } from '@anvil-eco/shared-ui';\nimport { ColorEditorComponent } from '../../shared/color-editor/color-editor.component';\nimport { TypographyEditorComponent } from '../../shared/typography-editor/typography-editor.component';\nimport { FoundationEditFormComponent } from '../../foundation/foundation-edit-form.component/foundation-edit-form.component';\nimport { DesignListNavComponent } from '../../shared/design-list-nav/design-list-nav.component';\nimport { ALL_BODY_ALIASES } from './body-alias-map';\n\n@Component({\n selector: 'lib-body-editor',\n standalone: true,\n imports: [\n SideDrawerContentDirective,\n OverDrawerContentDirective,\n DesignListNavComponent,\n FoundationEditFormComponent,\n ColorEditorComponent,\n TypographyEditorComponent,\n ErrorAlertComponent,\n TabStripComponent,\n ],\n templateUrl: './body-editor.component.html',\n styleUrl: './body-editor.component.scss',\n encapsulation: ViewEncapsulation.None,\n})\nexport class BodyEditorComponent implements OnDestroy {\n private readonly doc = inject(DOCUMENT);\n private readonly tokenService = inject(DesignTokenService);\n private readonly errorService = inject(ErrorService);\n private readonly errorParser = inject(ErrorParserService);\n\n private static readonly SOURCE = 'body-editor';\n\n readonly TABS: NavTab[] = [\n { key: 'surface', label: 'Surface & Ink' },\n { key: 'typography', label: 'Typography' },\n { key: 'headings', label: 'Headings' },\n { key: 'links', label: 'Links' },\n ];\n\n activeTab = signal<string>('surface');\n activeHeadingLevel = signal<number>(1);\n\n private readonly originalRawValues = this.captureRawValues();\n private readonly originalValues = this.readCurrentValues();\n\n values = signal<Record<string, string>>({ ...this.originalValues });\n saveState = signal<'idle' | 'saving' | 'saved' | 'error'>('idle');\n\n constructor() {\n effect(() => {\n const v = this.values();\n const el = this.doc.documentElement;\n for (const a of ALL_BODY_ALIASES) {\n el.style.setProperty(a.cssVar, v[a.cssVar]);\n }\n });\n }\n\n ngOnDestroy(): void {\n const el = this.doc.documentElement;\n for (const a of ALL_BODY_ALIASES) {\n const raw = this.originalRawValues[a.cssVar];\n if (raw) el.style.setProperty(a.cssVar, raw);\n else el.style.removeProperty(a.cssVar);\n }\n }\n\n getValue(cssVar: string): string { return this.values()[cssVar]; }\n numVal(cssVar: string): number { return parseFloat(this.values()[cssVar] ?? '0') || 0; }\n\n updateValue(cssVar: string, value: string): void {\n this.values.update(v => ({ ...v, [cssVar]: value }));\n }\n\n reset(): void {\n this.values.set({ ...this.originalValues });\n }\n\n async save(): Promise<void> {\n const contextId = this.tokenService.payload()?.context.id;\n if (!contextId) return;\n\n this.saveState.set('saving');\n this.errorService.clearError();\n\n const v = this.values();\n const overrides = ALL_BODY_ALIASES.map(a => ({ cssVar: a.cssVar, value: v[a.cssVar] }));\n const ctx = new HttpContext().set(BYPASS_GLOBAL_ERROR, true);\n\n try {\n await this.tokenService.saveComponentAliasOverrides(contextId, overrides, ctx);\n this.saveState.set('saved');\n setTimeout(() => this.saveState.set('idle'), 2000);\n } catch (err) {\n const appError = (err as any)?.isTechnical !== undefined\n ? (err as any)\n : { title: 'Save Failed', message: 'Could not save body settings.', status: 0,\n severity: 'error', fieldErrors: {}, timestamp: new Date().toISOString(), isTechnical: true };\n this.errorService.setError(appError, BodyEditorComponent.SOURCE);\n this.saveState.set('error');\n setTimeout(() => this.saveState.set('idle'), 3000);\n }\n }\n\n private captureRawValues(): Record<string, string> {\n const el = this.doc.documentElement;\n const out: Record<string, string> = {};\n for (const a of ALL_BODY_ALIASES) {\n out[a.cssVar] = el.style.getPropertyValue(a.cssVar).trim();\n }\n return out;\n }\n\n private readCurrentValues(): Record<string, string> {\n const el = this.doc.documentElement;\n const out: Record<string, string> = {};\n for (const a of ALL_BODY_ALIASES) {\n const inline = el.style.getPropertyValue(a.cssVar).trim();\n out[a.cssVar] = inline || a.default;\n }\n return out;\n }\n}\n","import { ComponentAliasGroup } from '../../component-alias.model';\n\n// ── Tooltip (cb000037) ────────────────────────────────────────────────────────\n\nexport const TOOLTIP_COLOR_ALIASES: ComponentAliasGroup[] = [\n {\n label: 'Colors',\n aliases: [\n { cssVar: '--anv-tooltip-background', label: 'Background', type: 'color', semanticRole: 'dark', default: '#01132c' },\n { cssVar: '--anv-tooltip-color', label: 'Text', type: 'color', semanticRole: 'light', default: '#f2f2f2' },\n ],\n },\n];\n\nexport const TOOLTIP_TYPOGRAPHY_ALIASES: ComponentAliasGroup[] = [\n {\n label: 'Typography',\n aliases: [\n { cssVar: '--anv-tooltip-font-family', label: 'Font Family', type: 'font-family', semanticRole: 'none', default: 'inherit' },\n { cssVar: '--anv-tooltip-font-size', label: 'Font Size', type: 'length', semanticRole: 'none', default: '0.8', unit: 'rem', min: 0.5, max: 2 },\n { cssVar: '--anv-tooltip-font-weight', label: 'Font Weight', type: 'font-weight', semanticRole: 'none', default: '400' },\n { cssVar: '--anv-tooltip-font-style', label: 'Font Style', type: 'font-style', semanticRole: 'none', default: 'normal' },\n { cssVar: '--anv-tooltip-text-decoration', label: 'Text Decoration', type: 'text-decoration', semanticRole: 'none', default: 'none' },\n { cssVar: '--anv-tooltip-line-height', label: 'Line Height', type: 'length', semanticRole: 'none', default: '1.4', unit: '', min: 1, max: 3 },\n ],\n },\n];\n\nexport const TOOLTIP_SPACING_ALIASES: ComponentAliasGroup[] = [\n {\n label: 'Spacing',\n aliases: [\n { cssVar: '--anv-tooltip-padding-top', label: 'Padding Top', type: 'length', semanticRole: 'none', default: '0.5rem', unit: '', min: 0, max: 3 },\n { cssVar: '--anv-tooltip-padding-right', label: 'Padding Right', type: 'length', semanticRole: 'none', default: '0.75rem', unit: '', min: 0, max: 3 },\n { cssVar: '--anv-tooltip-padding-bottom', label: 'Padding Bottom', type: 'length', semanticRole: 'none', default: '0.5rem', unit: '', min: 0, max: 3 },\n { cssVar: '--anv-tooltip-padding-left', label: 'Padding Left', type: 'length', semanticRole: 'none', default: '0.75rem', unit: '', min: 0, max: 3 },\n ],\n },\n];\n\nexport const TOOLTIP_BORDER_ALIASES: ComponentAliasGroup[] = [\n {\n label: 'Border',\n aliases: [\n { cssVar: '--anv-tooltip-border-top-width', label: 'Top Width', type: 'length', semanticRole: 'none', default: '0px', unit: '', min: 0, max: 16 },\n { cssVar: '--anv-tooltip-border-top-style', label: 'Top Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-tooltip-border-top-color', label: 'Top Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-tooltip-border-right-width', label: 'Right Width', type: 'length', semanticRole: 'none', default: '0px', unit: '', min: 0, max: 16 },\n { cssVar: '--anv-tooltip-border-right-style', label: 'Right Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-tooltip-border-right-color', label: 'Right Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-tooltip-border-bottom-width', label: 'Bottom Width', type: 'length', semanticRole: 'none', default: '0px', unit: '', min: 0, max: 16 },\n { cssVar: '--anv-tooltip-border-bottom-style', label: 'Bottom Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-tooltip-border-bottom-color', label: 'Bottom Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-tooltip-border-left-width', label: 'Left Width', type: 'length', semanticRole: 'none', default: '0px', unit: '', min: 0, max: 16 },\n { cssVar: '--anv-tooltip-border-left-style', label: 'Left Style', type: 'string', semanticRole: 'none', default: 'solid' },\n { cssVar: '--anv-tooltip-border-left-color', label: 'Left Color', type: 'color', semanticRole: 'none', default: '#000000' },\n { cssVar: '--anv-tooltip-border-radius-tl', label: 'Top Left', type: 'length', semanticRole: 'none', default: '4px', unit: '', min: 0, max: 32 },\n { cssVar: '--anv-tooltip-border-radius-tr', label: 'Top Right', type: 'length', semanticRole: 'none', default: '4px', unit: '', min: 0, max: 32 },\n { cssVar: '--anv-tooltip-border-radius-bl', label: 'Bottom Left', type: 'length', semanticRole: 'none', default: '4px', unit: '', min: 0, max: 32 },\n { cssVar: '--anv-tooltip-border-radius-br', label: 'Bottom Right', type: 'length', semanticRole: 'none', default: '4px', unit: '', min: 0, max: 32 },\n ],\n },\n];\n\nexport const TOOLTIP_ELEVATION_ALIASES: ComponentAliasGroup[] = [\n {\n label: 'Elevation',\n aliases: [\n { cssVar: '--anv-tooltip-box-shadow', label: 'Box Shadow', type: 'string', semanticRole: 'none', default: '0 4px 12px rgba(0,0,0,0.25)' },\n ],\n },\n];\n\nexport const TOOLTIP_TRANSITION_ALIASES: ComponentAliasGroup[] = [\n {\n label: 'Transition',\n aliases: [\n { cssVar: '--anv-tooltip-transition', label: 'Transition', type: 'string', semanticRole: 'none', default: 'none' },\n ],\n },\n];\n\nexport const ALL_TOOLTIP_ALIASES = [\n ...TOOLTIP_COLOR_ALIASES,\n ...TOOLTIP_TYPOGRAPHY_ALIASES,\n ...TOOLTIP_SPACING_ALIASES,\n ...TOOLTIP_BORDER_ALIASES,\n ...TOOLTIP_ELEVATION_ALIASES,\n ...TOOLTIP_TRANSITION_ALIASES,\n].flatMap(g => g.aliases);\n","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n<ng-template overDrawerContent>\n <lib-foundation-edit-form />\n</ng-template>\n\n<div class=\"tte-root\">\n\n <lib-error-alert [sourceId]=\"'tooltip-editor'\" mode=\"inline\" />\n\n <header class=\"tte-header\">\n <span class=\"tte-header__title\">Tooltip</span>\n <div class=\"tte-header-actions\">\n <button type=\"button\" class=\"tte-btn-ghost\" (click)=\"reset()\"\n [disabled]=\"saveState() === 'saving'\">\n <i class=\"bi bi-arrow-counterclockwise\" aria-hidden=\"true\"></i>\n Reset\n </button>\n <button type=\"button\" class=\"tte-btn-primary\" (click)=\"save()\"\n [disabled]=\"saveState() === 'saving'\">\n @switch (saveState()) {\n @case ('saving') { <i class=\"bi bi-hourglass-split\" aria-hidden=\"true\"></i> Saving… }\n @case ('saved') { <i class=\"bi bi-check-lg\" aria-hidden=\"true\"></i> Saved }\n @case ('error') { <i class=\"bi bi-exclamation-triangle\" aria-hidden=\"true\"></i> Error }\n @default { <i class=\"bi bi-cloud-upload\" aria-hidden=\"true\"></i> Save }\n }\n </button>\n </div>\n </header>\n\n <!-- ─── Preview ───────────────────────────────────────────────────────────── -->\n <div class=\"tte-preview\">\n <span class=\"tte-preview__label\">Preview</span>\n <div class=\"tte-preview-panel\" [class.tte-preview-panel--demo]=\"demoActive()\">\n This is a live tooltip preview. Edit the controls below to see changes.\n </div>\n </div>\n\n <!-- ─── Tabs + Panel ─────────────────────────────────────────────────────── -->\n <div class=\"tte-content\">\n <lib-tab-strip\n [tabs]=\"TABS\"\n [activeKey]=\"activeTab()\"\n tabAlign=\"left\"\n (activeKeyChange)=\"activeTab.set($event)\" />\n\n <div class=\"tte-panel\">\n\n @switch (activeTab()) {\n\n <!-- Colors -->\n @case ('colors') {\n <div class=\"tte-section\">\n <span class=\"tte-section__label\">Colors</span>\n <lib-color-editor\n backgroundLabel=\"Background\"\n inkLabel=\"Text\"\n [background]=\"getValue('--anv-tooltip-background')\"\n [ink]=\"getValue('--anv-tooltip-color')\"\n (backgroundChange)=\"updateValue('--anv-tooltip-background', $event)\"\n (inkChange)=\"updateValue('--anv-tooltip-color', $event)\" />\n </div>\n }\n\n <!-- Typography -->\n @case ('typography') {\n <div class=\"tte-section\">\n <span class=\"tte-section__label\">Typography</span>\n <lib-typography-editor\n [font]=\"getValue('--anv-tooltip-font-family')\"\n [fontSize]=\"numVal('--anv-tooltip-font-size')\"\n [fontSizeMin]=\"0.5\"\n [fontSizeMax]=\"2\"\n [lineHeight]=\"numVal('--anv-tooltip-line-height')\"\n [lineHeightMin]=\"1\"\n [lineHeightMax]=\"3\"\n [fontWeight]=\"getValue('--anv-tooltip-font-weight')\"\n [fontStyle]=\"getValue('--anv-tooltip-font-style')\"\n [textDecoration]=\"getValue('--anv-tooltip-text-decoration')\"\n (fontChange)=\"updateValue('--anv-tooltip-font-family', $event)\"\n (fontSizeChange)=\"updateValue('--anv-tooltip-font-size', '' + $event)\"\n (lineHeightChange)=\"updateValue('--anv-tooltip-line-height', '' + $event)\"\n (fontWeightChange)=\"updateValue('--anv-tooltip-font-weight', $event)\"\n (fontStyleChange)=\"updateValue('--anv-tooltip-font-style', $event)\"\n (textDecorationChange)=\"updateValue('--anv-tooltip-text-decoration', $event)\" />\n </div>\n }\n\n <!-- Spacing -->\n @case ('spacing') {\n <div class=\"tte-section\">\n <span class=\"tte-section__label\">Padding</span>\n <lib-spacing-editor\n prefix=\"--anv-tooltip\"\n [values]=\"values()\"\n (valueChange)=\"updateFromChild($event)\" />\n </div>\n }\n\n <!-- Border -->\n @case ('border') {\n <div class=\"tte-section\">\n <span class=\"tte-section__label\">Border</span>\n <lib-border-editor\n prefix=\"--anv-tooltip\"\n [values]=\"values()\"\n (valueChange)=\"updateFromChild($event)\" />\n </div>\n }\n\n <!-- Elevation -->\n @case ('elevation') {\n <div class=\"tte-section\">\n <span class=\"tte-section__label\">Elevation</span>\n <lib-elevation-editor\n [value]=\"getValue('--anv-tooltip-box-shadow')\"\n (valueChange)=\"updateValue('--anv-tooltip-box-shadow', $event)\" />\n </div>\n }\n\n <!-- Transition -->\n @case ('transition') {\n <div class=\"tte-section\">\n <span class=\"tte-section__label\">Transition</span>\n <lib-transition-editor\n [value]=\"getValue('--anv-tooltip-transition')\"\n (valueChange)=\"updateValue('--anv-tooltip-transition', $event)\" />\n </div>\n }\n\n }\n\n </div><!-- /.tte-panel -->\n </div><!-- /.tte-content -->\n\n</div>\n","import { DOCUMENT } from '@angular/common';\nimport { HttpContext } from '@angular/common/http';\nimport { Component, effect, inject, OnDestroy, signal, NgZone } from '@angular/core';\nimport { DesignTokenService } from '@anvil-eco/shared-services';\nimport { OverDrawerContentDirective, SideDrawerContentDirective, ErrorAlertComponent, ErrorParserService, ErrorService, TabStripComponent } from '@anvil-eco/shared-ui';\nimport { BYPASS_GLOBAL_ERROR } from '@anvil-eco/shared-core';\nimport { NavTab } from '@anvil-eco/shared-ui';\nimport { ColorEditorComponent } from '../../../shared/color-editor/color-editor.component';\nimport { TypographyEditorComponent } from '../../../shared/typography-editor/typography-editor.component';\nimport { SpacingEditorComponent } from '../../../shared/spacing-editor/spacing-editor.component';\nimport { BorderEditorComponent } from '../../../shared/border-editor/border-editor.component';\nimport { ElevationEditorComponent } from '../../../shared/elevation-editor/elevation-editor.component';\nimport { TransitionEditorComponent } from '../../../shared/transition-editor/transition-editor.component';\nimport { FoundationEditFormComponent } from '../../../foundation/foundation-edit-form.component/foundation-edit-form.component';\nimport { DesignListNavComponent } from '../../../shared/design-list-nav/design-list-nav.component';\nimport { ALL_TOOLTIP_ALIASES } from './tooltip-alias-map';\n\n@Component({\n selector: 'lib-tooltip-editor',\n standalone: true,\n imports: [\n SideDrawerContentDirective,\n OverDrawerContentDirective,\n DesignListNavComponent,\n FoundationEditFormComponent,\n ColorEditorComponent,\n TypographyEditorComponent,\n SpacingEditorComponent,\n BorderEditorComponent,\n ErrorAlertComponent,\n TabStripComponent,\n ElevationEditorComponent,\n TransitionEditorComponent,\n ],\n templateUrl: './tooltip-editor.component.html',\n styleUrl: './tooltip-editor.component.scss',\n})\nexport class TooltipEditorComponent implements OnDestroy {\n private readonly doc = inject(DOCUMENT);\n private readonly tokenService = inject(DesignTokenService);\n private readonly errorService = inject(ErrorService);\n private readonly errorParser = inject(ErrorParserService);\n private readonly zone = inject(NgZone);\n\n private demoTimeout: ReturnType<typeof setTimeout> | null = null;\n\n private static readonly SOURCE = 'tooltip-editor';\n\n readonly TABS: NavTab[] = [\n { key: 'colors', label: 'Colors' },\n { key: 'typography', label: 'Typography' },\n { key: 'spacing', label: 'Spacing' },\n { key: 'border', label: 'Border' },\n { key: 'elevation', label: 'Elevation' },\n { key: 'transition', label: 'Transition' },\n ];\n\n activeTab = signal<string>('colors');\n\n private readonly originalRawValues = this.captureRawValues();\n private readonly originalValues = this.readCurrentValues();\n\n values = signal<Record<string, string>>({ ...this.originalValues });\n saveState = signal<'idle' | 'saving' | 'saved' | 'error'>('idle');\n demoActive = signal(false);\n\n constructor() {\n effect(() => {\n const v = this.values();\n for (const a of ALL_TOOLTIP_ALIASES) {\n const val = a.type === 'length' ? `${v[a.cssVar]}${a.unit ?? ''}` : v[a.cssVar];\n this.doc.documentElement.style.setProperty(a.cssVar, val);\n }\n });\n }\n\n ngOnDestroy(): void {\n const el = this.doc.documentElement;\n for (const a of ALL_TOOLTIP_ALIASES) {\n const raw = this.originalRawValues[a.cssVar];\n if (raw) el.style.setProperty(a.cssVar, raw);\n else el.style.removeProperty(a.cssVar);\n }\n }\n\n getValue(cssVar: string): string { return this.values()[cssVar] ?? ''; }\n numVal(cssVar: string): number { return parseFloat(this.values()[cssVar] ?? '0') || 0; }\n\n updateValue(cssVar: string, value: string): void {\n this.values.update(v => ({ ...v, [cssVar]: value }));\n if (cssVar === '--anv-tooltip-transition') {\n this.runTransitionDemo();\n }\n }\n\n private runTransitionDemo(): void {\n if (this.demoTimeout) clearTimeout(this.demoTimeout);\n this.demoActive.set(true);\n this.zone.runOutsideAngular(() => {\n this.demoTimeout = setTimeout(() => {\n this.zone.run(() => this.demoActive.set(false));\n this.demoTimeout = null;\n }, 60);\n });\n }\n\n updateFromChild(e: { cssVar: string; value: string }): void {\n this.updateValue(e.cssVar, e.value);\n }\n\n reset(): void {\n this.values.set({ ...this.originalValues });\n }\n\n async save(): Promise<void> {\n const contextId = this.tokenService.payload()?.context.id;\n if (!contextId) return;\n\n this.saveState.set('saving');\n this.errorService.clearError();\n\n const v = this.values();\n const overrides = ALL_TOOLTIP_ALIASES.map(a => ({\n cssVar: a.cssVar,\n value: a.type === 'length' ? `${v[a.cssVar]}${a.unit ?? ''}` : v[a.cssVar],\n }));\n\n const ctx = new HttpContext().set(BYPASS_GLOBAL_ERROR, true);\n\n try {\n await this.tokenService.saveComponentAliasOverrides(contextId, overrides, ctx);\n this.saveState.set('saved');\n setTimeout(() => this.saveState.set('idle'), 2000);\n } catch (err) {\n const appError = (err as any)?.isTechnical !== undefined\n ? (err as any)\n : { title: 'Save Failed', message: 'Could not save tooltip settings.', status: 0,\n severity: 'error', fieldErrors: {}, timestamp: new Date().toISOString(), isTechnical: true };\n this.errorService.setError(appError, TooltipEditorComponent.SOURCE);\n this.saveState.set('error');\n setTimeout(() => this.saveState.set('idle'), 3000);\n }\n }\n\n private captureRawValues(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n ALL_TOOLTIP_ALIASES.map(a => [a.cssVar, computed.getPropertyValue(a.cssVar).trim()])\n );\n }\n\n private readCurrentValues(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n ALL_TOOLTIP_ALIASES.map(a => {\n const raw = computed.getPropertyValue(a.cssVar).trim();\n if (!raw) return [a.cssVar, a.default];\n const resolved = this.resolveVar(raw, computed);\n if (!resolved) return [a.cssVar, a.default];\n if (a.type === 'length' && a.unit) {\n const stripped = resolved.endsWith(a.unit) ? resolved.slice(0, -a.unit.length).trim() : resolved;\n return [a.cssVar, stripped || a.default];\n }\n if (a.type === 'color' && !/^#[0-9A-Fa-f]{6}$/.test(resolved)) return [a.cssVar, a.default];\n if (a.type === 'size') return [a.cssVar, resolved || a.default];\n return [a.cssVar, resolved];\n })\n );\n }\n\n private resolveVar(value: string, computed: CSSStyleDeclaration, depth = 0): string {\n if (depth > 8 || !value.startsWith('var(')) return value;\n const inner = value.slice(4, -1).trim();\n const commaIdx = inner.indexOf(',');\n const varName = commaIdx >= 0 ? inner.slice(0, commaIdx).trim() : inner;\n const fallback = commaIdx >= 0 ? inner.slice(commaIdx + 1).trim() : '';\n const next = computed.getPropertyValue(varName).trim();\n if (!next) return fallback;\n return this.resolveVar(next, computed, depth + 1);\n }\n}\n","import { ComponentAliasGroup } from '../../component-alias.model';\n\n// ── Toast (cb000028) ──────────────────────────────────────────────────────────\n\nexport const TOAST_COLOR_ALIASES: ComponentAliasGroup[] = [\n {\n label: 'Colors',\n aliases: [\n { cssVar: '--anv-toast-success-background', label: 'Success BG', type: 'string', semanticRole: 'none', default: '#1ed47a' },\n { cssVar: '--anv-toast-success-color', label: 'Success Text', type: 'string', semanticRole: 'none', default: '#01132c' },\n { cssVar: '--anv-toast-success-border-color', label: 'Success Border', type: 'string', semanticRole: 'none', default: 'transparent' },\n { cssVar: '--anv-toast-error-background', label: 'Error BG', type: 'string', semanticRole: 'none', default: '#e86060' },\n { cssVar: '--anv-toast-error-color', label: 'Error Text', type: 'string', semanticRole: 'none', default: '#ffffff' },\n { cssVar: '--anv-toast-error-border-color', label: 'Error Border', type: 'string', semanticRole: 'none', default: 'transparent' },\n { cssVar: '--anv-toast-warning-background', label: 'Warning BG', type: 'string', semanticRole: 'none', default: '#f5e030' },\n { cssVar: '--anv-toast-warning-color', label: 'Warning Text', type: 'string', semanticRole: 'none', default: '#01132c' },\n { cssVar: '--anv-toast-warning-border-color', label: 'Warning Border', type: 'string', semanticRole: 'none', default: 'transparent' },\n { cssVar: '--anv-toast-info-background', label: 'Info BG', type: 'string', semanticRole: 'none', default: '#3d9de8' },\n { cssVar: '--anv-toast-info-color', label: 'Info Text', type: 'string', semanticRole: 'none', default: '#ffffff' },\n { cssVar: '--anv-toast-info-border-color', label: 'Info Border', type: 'string', semanticRole: 'none', default: 'transparent' },\n ],\n },\n];\n\nexport const TOAST_SHARED_ALIASES: ComponentAliasGroup[] = [\n {\n label: 'Shared',\n aliases: [\n { cssVar: '--anv-toast-border-radius', label: 'Border Radius', type: 'length', semanticRole: 'none', default: '6px', unit: '' },\n { cssVar: '--anv-toast-border-width', label: 'Border Width', type: 'length', semanticRole: 'none', default: '0px', unit: '' },\n { cssVar: '--anv-toast-padding-top', label: 'Padding Top', type: 'length', semanticRole: 'none', default: '12px', unit: '' },\n { cssVar: '--anv-toast-padding-right', label: 'Padding Right', type: 'length', semanticRole: 'none', default: '16px', unit: '' },\n { cssVar: '--anv-toast-padding-bottom', label: 'Padding Bottom', type: 'length', semanticRole: 'none', default: '12px', unit: '' },\n { cssVar: '--anv-toast-padding-left', label: 'Padding Left', type: 'length', semanticRole: 'none', default: '16px', unit: '' },\n { cssVar: '--anv-toast-font-size', label: 'Font Size', type: 'length', semanticRole: 'none', default: '0.875rem', unit: '' },\n { cssVar: '--anv-toast-gap', label: 'Gap', type: 'length', semanticRole: 'none', default: '10px', unit: '' },\n { cssVar: '--anv-toast-min-width', label: 'Min Width', type: 'length', semanticRole: 'none', default: '280px', unit: '' },\n { cssVar: '--anv-toast-max-width', label: 'Max Width', type: 'length', semanticRole: 'none', default: '480px', unit: '' },\n { cssVar: '--anv-toast-box-shadow', label: 'Box Shadow', type: 'string', semanticRole: 'none', default: '0 4px 20px rgba(0,0,0,0.2)' },\n ],\n },\n];\n\nexport const ALL_TOAST_ALIASES = [\n ...TOAST_COLOR_ALIASES,\n ...TOAST_SHARED_ALIASES,\n].flatMap(g => g.aliases);\n","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n<ng-template overDrawerContent>\n <lib-foundation-edit-form />\n</ng-template>\n\n<div class=\"te-root\">\n\n <!-- ─── Header ──────────────────────────────────────────────────────────────── -->\n <header class=\"te-header\">\n <h2 class=\"te-header__title\">Toast</h2>\n <div class=\"te-header__actions\">\n <button type=\"button\" class=\"te-btn te-btn--secondary\" (click)=\"reset()\">\n <i class=\"bi bi-arrow-counterclockwise\" aria-hidden=\"true\"></i> Reset\n </button>\n <button type=\"button\"\n class=\"te-btn\"\n [class.te-btn--primary]=\"saveState() === 'idle'\"\n [class.te-btn--saving]=\"saveState() === 'saving'\"\n [class.te-btn--success]=\"saveState() === 'saved'\"\n [class.te-btn--danger]=\"saveState() === 'error'\"\n [disabled]=\"saveState() === 'saving'\"\n (click)=\"save()\">\n @switch (saveState()) {\n @case ('saving') { <i class=\"bi bi-hourglass-split\" aria-hidden=\"true\"></i> Saving… }\n @case ('saved') { <i class=\"bi bi-check-lg\" aria-hidden=\"true\"></i> Saved }\n @case ('error') { <i class=\"bi bi-exclamation-triangle\" aria-hidden=\"true\"></i> Error }\n @default { <i class=\"bi bi-cloud-upload\" aria-hidden=\"true\"></i> Save }\n }\n </button>\n </div>\n </header>\n\n <lib-error-alert [sourceId]=\"'toast-editor'\" />\n\n <!-- ─── Preview ──────────────────────────────────────────────────────────────── -->\n <div class=\"te-preview\">\n <div class=\"te-preview__header\">\n <span class=\"te-preview__label\">Preview</span>\n <span class=\"te-preview__variant-badge\">{{ variant() }}</span>\n </div>\n\n <div class=\"te-preview__toasts\">\n <div class=\"toast-item toast-item--success\">\n <i class=\"bi bi-check-circle-fill toast-icon\" aria-hidden=\"true\"></i>\n <span class=\"toast-message\">Success — your changes have been saved.</span>\n </div>\n <div class=\"toast-item toast-item--error\">\n <i class=\"bi bi-x-circle-fill toast-icon\" aria-hidden=\"true\"></i>\n <span class=\"toast-message\">Error — something went wrong, please try again.</span>\n </div>\n <div class=\"toast-item toast-item--warning\">\n <i class=\"bi bi-exclamation-triangle-fill toast-icon\" aria-hidden=\"true\"></i>\n <span class=\"toast-message\">Warning — please review before continuing.</span>\n </div>\n <div class=\"toast-item toast-item--info\">\n <i class=\"bi bi-info-circle-fill toast-icon\" aria-hidden=\"true\"></i>\n <span class=\"toast-message\">Info — here is some useful information.</span>\n </div>\n </div>\n </div>\n\n <!-- ─── Controls ───────────────────────────────────────────────────────────── -->\n <div class=\"te-content\">\n <lib-tab-strip\n [tabs]=\"TABS\"\n [activeKey]=\"activeTab()\"\n (activeKeyChange)=\"activeTab.set($event)\" />\n\n <div class=\"te-panel\">\n\n @switch (activeTab()) {\n\n <!-- ── Border ── -->\n @case ('border') {\n <div class=\"te-section\">\n <div class=\"te-field-row\">\n <span class=\"te-field-label\">Radius</span>\n <input type=\"number\" class=\"te-field-input\" min=\"0\" step=\"1\"\n [value]=\"numVal('--anv-toast-border-radius')\"\n (input)=\"updateValue('--anv-toast-border-radius', $any($event.target).value + 'px')\" />\n <span class=\"te-field-unit\">px</span>\n </div>\n <div class=\"te-field-row\">\n <span class=\"te-field-label\">Width</span>\n <input type=\"number\" class=\"te-field-input\" min=\"0\" step=\"0.5\"\n [value]=\"numVal('--anv-toast-border-width')\"\n (input)=\"updateValue('--anv-toast-border-width', $any($event.target).value + 'px')\" />\n <span class=\"te-field-unit\">px</span>\n </div>\n </div>\n }\n\n <!-- ── Padding ── -->\n @case ('padding') {\n <div class=\"te-section\">\n <div class=\"te-field-row\">\n <span class=\"te-field-label\">Top</span>\n <input type=\"number\" class=\"te-field-input\" min=\"0\" step=\"1\"\n [value]=\"numVal('--anv-toast-padding-top')\"\n (input)=\"updateValue('--anv-toast-padding-top', $any($event.target).value + 'px')\" />\n <span class=\"te-field-unit\">px</span>\n </div>\n <div class=\"te-field-row\">\n <span class=\"te-field-label\">Right</span>\n <input type=\"number\" class=\"te-field-input\" min=\"0\" step=\"1\"\n [value]=\"numVal('--anv-toast-padding-right')\"\n (input)=\"updateValue('--anv-toast-padding-right', $any($event.target).value + 'px')\" />\n <span class=\"te-field-unit\">px</span>\n </div>\n <div class=\"te-field-row\">\n <span class=\"te-field-label\">Bottom</span>\n <input type=\"number\" class=\"te-field-input\" min=\"0\" step=\"1\"\n [value]=\"numVal('--anv-toast-padding-bottom')\"\n (input)=\"updateValue('--anv-toast-padding-bottom', $any($event.target).value + 'px')\" />\n <span class=\"te-field-unit\">px</span>\n </div>\n <div class=\"te-field-row\">\n <span class=\"te-field-label\">Left</span>\n <input type=\"number\" class=\"te-field-input\" min=\"0\" step=\"1\"\n [value]=\"numVal('--anv-toast-padding-left')\"\n (input)=\"updateValue('--anv-toast-padding-left', $any($event.target).value + 'px')\" />\n <span class=\"te-field-unit\">px</span>\n </div>\n </div>\n }\n\n <!-- ── Typography ── -->\n @case ('typography') {\n <div class=\"te-section\">\n <div class=\"te-field-row\">\n <span class=\"te-field-label\">Font Size</span>\n <input type=\"text\" class=\"te-field-input te-field-input--wide\"\n [value]=\"getValue('--anv-toast-font-size')\"\n (change)=\"updateValue('--anv-toast-font-size', $any($event.target).value)\" />\n </div>\n <div class=\"te-field-row\">\n <span class=\"te-field-label\">Min Width</span>\n <input type=\"number\" class=\"te-field-input\" min=\"0\" step=\"10\"\n [value]=\"numVal('--anv-toast-min-width')\"\n (input)=\"updateValue('--anv-toast-min-width', $any($event.target).value + 'px')\" />\n <span class=\"te-field-unit\">px</span>\n </div>\n <div class=\"te-field-row\">\n <span class=\"te-field-label\">Max Width</span>\n <input type=\"number\" class=\"te-field-input\" min=\"0\" step=\"10\"\n [value]=\"numVal('--anv-toast-max-width')\"\n (input)=\"updateValue('--anv-toast-max-width', $any($event.target).value + 'px')\" />\n <span class=\"te-field-unit\">px</span>\n </div>\n <div class=\"te-field-row\">\n <span class=\"te-field-label\">Gap</span>\n <input type=\"number\" class=\"te-field-input\" min=\"0\" step=\"1\"\n [value]=\"numVal('--anv-toast-gap')\"\n (input)=\"updateValue('--anv-toast-gap', $any($event.target).value + 'px')\" />\n <span class=\"te-field-unit\">px</span>\n </div>\n </div>\n }\n\n <!-- ── Elevation ── -->\n @case ('elevation') {\n <div class=\"te-section\">\n <lib-elevation-editor\n [value]=\"getValue('--anv-toast-box-shadow')\"\n (valueChange)=\"updateValue('--anv-toast-box-shadow', $event)\" />\n </div>\n }\n\n <!-- ── Settings ── -->\n @case ('settings') {\n <div class=\"te-section\">\n <span class=\"te-section__label\">Variant</span>\n <div class=\"te-variant\">\n <button type=\"button\" class=\"te-variant__btn\"\n [class.te-variant__btn--active]=\"variant() === 'solid'\"\n (click)=\"setVariant('solid')\">Solid</button>\n <button type=\"button\" class=\"te-variant__btn\"\n [class.te-variant__btn--active]=\"variant() === 'outline'\"\n (click)=\"setVariant('outline')\">Outline</button>\n </div>\n\n @if (variant() === 'outline') {\n <hr class=\"te-divider\" />\n <span class=\"te-section__label\">Outline Background</span>\n <lib-color-editor\n [background]=\"outlineBg()\"\n backgroundLabel=\"Background\"\n (backgroundChange)=\"onOutlineBgChange($event)\" />\n }\n </div>\n }\n\n }\n\n </div><!-- /.te-panel -->\n </div><!-- /.te-content -->\n\n</div>\n","import { DOCUMENT } from '@angular/common';\nimport { HttpContext } from '@angular/common/http';\nimport { Component, effect, inject, OnDestroy, signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { DesignTokenService } from '@anvil-eco/shared-services';\nimport { OverDrawerContentDirective, SideDrawerContentDirective, ErrorAlertComponent, ErrorParserService, ErrorService, TabStripComponent } from '@anvil-eco/shared-ui';\nimport { BYPASS_GLOBAL_ERROR } from '@anvil-eco/shared-core';\nimport { NavTab } from '@anvil-eco/shared-ui';\nimport { PaletteService, type Palette } from '@anvil-eco/design-services';\nimport { ElevationEditorComponent } from '../../../shared/elevation-editor/elevation-editor.component';\nimport { DesignListNavComponent } from '../../../shared/design-list-nav/design-list-nav.component';\nimport { FoundationEditFormComponent } from '../../../foundation/foundation-edit-form.component/foundation-edit-form.component';\nimport { ColorEditorComponent } from '../../../shared/color-editor/color-editor.component';\nimport { ALL_TOAST_ALIASES } from './toast-alias-map';\n\ntype ToastVariant = 'solid' | 'outline';\n\nconst ROLE_SLOTS: Array<{ match: string[]; bg: string; color: string; border: string }> = [\n { match: ['success'], bg: '--anv-toast-success-background', color: '--anv-toast-success-color', border: '--anv-toast-success-border-color' },\n { match: ['error', 'danger'], bg: '--anv-toast-error-background', color: '--anv-toast-error-color', border: '--anv-toast-error-border-color' },\n { match: ['warning'], bg: '--anv-toast-warning-background', color: '--anv-toast-warning-color', border: '--anv-toast-warning-border-color' },\n { match: ['info'], bg: '--anv-toast-info-background', color: '--anv-toast-info-color', border: '--anv-toast-info-border-color' },\n];\n\nfunction relativeLuminance(hex: string): number {\n const r = parseInt(hex.slice(1, 3), 16) / 255;\n const g = parseInt(hex.slice(3, 5), 16) / 255;\n const b = parseInt(hex.slice(5, 7), 16) / 255;\n const lin = (c: number) => c <= 0.04045 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);\n return 0.2126 * lin(r) + 0.7152 * lin(g) + 0.0722 * lin(b);\n}\n\nfunction contrastRatio(l1: number, l2: number): number {\n const hi = Math.max(l1, l2);\n const lo = Math.min(l1, l2);\n return (hi + 0.05) / (lo + 0.05);\n}\n\nfunction slotFor(roleName: string) {\n const r = roleName.toLowerCase();\n return ROLE_SLOTS.find(s => s.match.some(m => r.includes(m))) ?? null;\n}\n\n@Component({\n selector: 'lib-toast-editor',\n standalone: true,\n imports: [\n SideDrawerContentDirective,\n OverDrawerContentDirective,\n DesignListNavComponent,\n FoundationEditFormComponent,\n ElevationEditorComponent,\n ColorEditorComponent,\n ErrorAlertComponent,\n TabStripComponent,\n ],\n templateUrl: './toast-editor.component.html',\n styleUrl: './toast-editor.component.scss',\n})\nexport class ToastEditorComponent implements OnDestroy {\n private readonly doc = inject(DOCUMENT);\n private readonly tokenService = inject(DesignTokenService);\n private readonly errorService = inject(ErrorService);\n private readonly errorParser = inject(ErrorParserService);\n private readonly paletteService = inject(PaletteService);\n\n private static readonly SOURCE = 'toast-editor';\n\n readonly TABS: NavTab[] = [\n { key: 'border', label: 'Border' },\n { key: 'padding', label: 'Padding' },\n { key: 'typography', label: 'Typography' },\n { key: 'elevation', label: 'Elevation' },\n { key: 'settings', label: 'Settings' },\n ];\n\n activeTab = signal<string>('border');\n variant = signal<ToastVariant>('solid');\n outlineBg = signal<string>('#ffffff');\n\n private readonly palettes = toSignal(this.paletteService.getCurrent(), { initialValue: [] as Palette[] });\n\n private readonly originalRawValues = this.captureRawValues();\n private readonly originalValues = this.readCurrentValues();\n\n values = signal<Record<string, string>>({ ...this.originalValues });\n saveState = signal<'idle' | 'saving' | 'saved' | 'error'>('idle');\n\n constructor() {\n const savedBorderWidth = parseFloat(this.originalValues['--anv-toast-border-width'] ?? '0');\n if (savedBorderWidth > 0) {\n this.variant.set('outline');\n const savedBg = this.originalValues['--anv-toast-success-background'];\n if (savedBg) this.outlineBg.set(savedBg);\n }\n\n effect(() => {\n const v = this.values();\n for (const a of ALL_TOAST_ALIASES) {\n const val = a.type === 'length' ? `${v[a.cssVar]}${a.unit ?? ''}` : v[a.cssVar];\n this.doc.documentElement.style.setProperty(a.cssVar, val);\n }\n });\n\n effect(() => {\n const palettes = this.palettes();\n if (!palettes.length) return;\n const preset = this.variant() === 'solid'\n ? this.buildSolidValues()\n : this.buildOutlineValues(this.outlineBg());\n this.values.update(current => ({ ...current, ...preset }));\n });\n }\n\n ngOnDestroy(): void {\n const el = this.doc.documentElement;\n for (const a of ALL_TOAST_ALIASES) {\n const raw = this.originalRawValues[a.cssVar];\n if (raw) el.style.setProperty(a.cssVar, raw);\n else el.style.removeProperty(a.cssVar);\n }\n }\n\n getValue(cssVar: string): string { return this.values()[cssVar] ?? ''; }\n numVal(cssVar: string): number { return parseFloat(this.values()[cssVar] ?? '0') || 0; }\n\n updateValue(cssVar: string, value: string): void {\n this.values.update(v => ({ ...v, [cssVar]: value }));\n }\n\n setVariant(v: ToastVariant): void {\n this.variant.set(v);\n }\n\n onOutlineBgChange(hex: string): void {\n this.outlineBg.set(hex);\n }\n\n private buildSolidValues(): Record<string, string> {\n const out: Record<string, string> = { '--anv-toast-border-width': '0px' };\n for (const p of this.palettes()) {\n const slot = slotFor(p.semantic?.roleName ?? '');\n if (!slot) continue;\n out[slot.bg] = p.baseHex;\n out[slot.color] = this.wcagInk(p.baseHex);\n out[slot.border] = 'transparent';\n }\n return out;\n }\n\n private wcagInk(bgHex: string): string {\n const cs = getComputedStyle(this.doc.documentElement);\n const lightHex = cs.getPropertyValue('--anv-color-light').trim() || '#f2f2f2';\n const darkHex = cs.getPropertyValue('--anv-color-dark').trim() || '#01132c';\n const bgL = relativeLuminance(bgHex);\n const lightC = contrastRatio(bgL, relativeLuminance(lightHex));\n const darkC = contrastRatio(bgL, relativeLuminance(darkHex));\n return lightC >= darkC ? 'var(--anv-color-light)' : 'var(--anv-color-dark)';\n }\n\n private buildOutlineValues(bg: string): Record<string, string> {\n const out: Record<string, string> = { '--anv-toast-border-width': '1.5px' };\n for (const p of this.palettes()) {\n const slot = slotFor(p.semantic?.roleName ?? '');\n if (!slot) continue;\n out[slot.bg] = bg;\n out[slot.color] = p.baseHex;\n out[slot.border] = p.baseHex;\n }\n return out;\n }\n\n reset(): void {\n this.values.set({ ...this.originalValues });\n this.variant.set('solid');\n }\n\n async save(): Promise<void> {\n const contextId = this.tokenService.payload()?.context.id;\n if (!contextId) return;\n\n this.saveState.set('saving');\n this.errorService.clearError();\n\n const v = this.values();\n const overrides = ALL_TOAST_ALIASES.map(a => ({\n cssVar: a.cssVar,\n value: a.type === 'length' ? `${v[a.cssVar]}${a.unit ?? ''}` : v[a.cssVar],\n }));\n\n const ctx = new HttpContext().set(BYPASS_GLOBAL_ERROR, true);\n\n try {\n await this.tokenService.saveComponentAliasOverrides(contextId, overrides, ctx);\n this.saveState.set('saved');\n setTimeout(() => this.saveState.set('idle'), 2000);\n } catch (err) {\n const appError = (err as any)?.isTechnical !== undefined\n ? (err as any)\n : { title: 'Save Failed', message: 'Could not save toast settings.', status: 0,\n severity: 'error', fieldErrors: {}, timestamp: new Date().toISOString(), isTechnical: true };\n this.errorService.setError(appError, ToastEditorComponent.SOURCE);\n this.saveState.set('error');\n setTimeout(() => this.saveState.set('idle'), 3000);\n }\n }\n\n private captureRawValues(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n ALL_TOAST_ALIASES.map(a => [a.cssVar, computed.getPropertyValue(a.cssVar).trim()])\n );\n }\n\n private readCurrentValues(): Record<string, string> {\n const computed = getComputedStyle(this.doc.documentElement);\n return Object.fromEntries(\n ALL_TOAST_ALIASES.map(a => {\n const raw = computed.getPropertyValue(a.cssVar).trim();\n if (!raw) return [a.cssVar, a.default];\n const resolved = this.resolveVar(raw, computed);\n if (!resolved) return [a.cssVar, a.default];\n if (a.type === 'length' && a.unit) {\n const stripped = resolved.endsWith(a.unit) ? resolved.slice(0, -a.unit.length).trim() : resolved;\n return [a.cssVar, stripped || a.default];\n }\n if (a.type === 'color' && !/^#[0-9A-Fa-f]{6}$/.test(resolved)) return [a.cssVar, a.default];\n return [a.cssVar, resolved];\n })\n );\n }\n\n private resolveVar(value: string, computed: CSSStyleDeclaration, depth = 0): string {\n if (depth > 8 || !value.startsWith('var(')) return value;\n const inner = value.slice(4, -1).trim();\n const commaIdx = inner.indexOf(',');\n const varName = commaIdx >= 0 ? inner.slice(0, commaIdx).trim() : inner;\n const fallback = commaIdx >= 0 ? inner.slice(commaIdx + 1).trim() : '';\n const next = computed.getPropertyValue(varName).trim();\n if (!next) return fallback;\n return this.resolveVar(next, computed, depth + 1);\n }\n}\n","import { Component, computed, effect, inject, Type } from '@angular/core';\nimport { NgComponentOutlet } from '@angular/common';\nimport { ActivatedRoute } from '@angular/router';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { map } from 'rxjs';\nimport { PageConfigService } from '@anvil-eco/shared-ui';\nimport { NavbarEditorComponent } from '../navbar/navbar-editor/navbar-editor.component';\nimport { TitleBarEditorComponent } from '../title-bar/title-bar-editor.component';\nimport { TitleBarTitleEditorComponent } from '../title-bar/title-bar-title-editor.component';\nimport { TitleBarSubtitleEditorComponent } from '../title-bar/title-bar-subtitle-editor.component';\nimport { TitleBarAvatarEditorComponent } from '../title-bar/title-bar-avatar-editor.component';\nimport { AccordionEditorComponent } from '../accordion/accordion-editor/accordion-editor.component';\nimport { LeftSidebarEditorComponent } from '../left-sidebar/left-sidebar-editor.component';\nimport { UserMenuEditorComponent } from '../user-menu/user-menu-editor.component';\nimport { FooterEditorComponent } from '../footer/footer-editor.component';\nimport { BodyEditorComponent } from '../body/body-editor.component';\nimport { TooltipEditorComponent } from '../tooltip/tooltip-editor/tooltip-editor.component';\nimport { ToastEditorComponent } from '../toast/toast-editor/toast-editor.component';\n\nconst COMPONENT_NAMES: Record<string, string> = {\n 'CB000001-0000-0000-0000-000000000001': 'Navbar',\n 'CB000006-0000-0000-0000-000000000001': 'Title Bar',\n 'CB000043-0000-0000-0000-000000000001': 'Title Bar › Title',\n 'CB000053-0000-0000-0000-000000000001': 'Title Bar › Subtitle',\n 'CB000044-0000-0000-0000-000000000001': 'Title Bar › Avatar',\n 'CB000050-0000-0000-0000-000000000001': 'Accordion',\n 'CB000004-0000-0000-0000-000000000001': 'Sidebar',\n 'CB000054-0000-0000-0000-000000000001': 'Left Sidebar',\n 'CB000060-0000-0000-0000-000000000001': 'User Menu',\n 'CB000061-0000-0000-0000-000000000001': 'User Menu › Avatar',\n 'CB000062-0000-0000-0000-000000000001': 'User Menu › Title',\n 'CB000063-0000-0000-0000-000000000001': 'User Menu › Subtitle',\n 'CB000007-0000-0000-0000-000000000001': 'Footer',\n 'CB000031-0000-0000-0000-000000000001': 'Body',\n 'CB000037-0000-0000-0000-000000000001': 'Tooltip',\n 'CB000028-0000-0000-0000-000000000001': 'Toast',\n};\n\nconst EDITOR_REGISTRY: Record<string, Type<unknown>> = {\n 'CB000001-0000-0000-0000-000000000001': NavbarEditorComponent,\n 'CB000006-0000-0000-0000-000000000001': TitleBarEditorComponent,\n 'CB000043-0000-0000-0000-000000000001': TitleBarTitleEditorComponent,\n 'CB000053-0000-0000-0000-000000000001': TitleBarSubtitleEditorComponent,\n 'CB000044-0000-0000-0000-000000000001': TitleBarAvatarEditorComponent,\n 'CB000050-0000-0000-0000-000000000001': AccordionEditorComponent,\n 'CB000004-0000-0000-0000-000000000001': LeftSidebarEditorComponent,\n 'CB000054-0000-0000-0000-000000000001': LeftSidebarEditorComponent,\n 'CB000060-0000-0000-0000-000000000001': UserMenuEditorComponent,\n 'CB000061-0000-0000-0000-000000000001': UserMenuEditorComponent,\n 'CB000062-0000-0000-0000-000000000001': UserMenuEditorComponent,\n 'CB000063-0000-0000-0000-000000000001': UserMenuEditorComponent,\n 'CB000007-0000-0000-0000-000000000001': FooterEditorComponent,\n 'CB000031-0000-0000-0000-000000000001': BodyEditorComponent,\n 'CB000037-0000-0000-0000-000000000001': TooltipEditorComponent,\n 'CB000028-0000-0000-0000-000000000001': ToastEditorComponent,\n};\n\n@Component({\n selector: 'lib-component-editor-host',\n standalone: true,\n imports: [NgComponentOutlet],\n template: `\n @if (editorComponent()) {\n <ng-container [ngComponentOutlet]=\"editorComponent()!\" />\n } @else {\n <div class=\"ceh-fallback\">\n <i class=\"bi bi-puzzle-fill ceh-fallback__icon\" aria-hidden=\"true\"></i>\n <p class=\"ceh-fallback__msg\">No editor is registered for this component.</p>\n </div>\n }\n `,\n styles: [`\n .ceh-fallback {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n gap: var(--anv-spacing-4);\n color: var(--anv-color-secondary);\n text-align: center;\n }\n .ceh-fallback__icon { font-size: 3rem; }\n .ceh-fallback__msg { font-size: var(--anv-type-size-body); margin: 0; }\n `],\n})\nexport class ComponentEditorHostComponent {\n private readonly pageConfig = inject(PageConfigService);\n private readonly paramMap = toSignal(\n inject(ActivatedRoute).paramMap.pipe(map(p => p.get('id') ?? ''))\n );\n\n readonly editorComponent = computed((): Type<unknown> | null => {\n const id = (this.paramMap() ?? '').toUpperCase();\n return EDITOR_REGISTRY[id] ?? null;\n });\n\n constructor() {\n effect(() => {\n const id = (this.paramMap() ?? '').toUpperCase();\n const name = COMPONENT_NAMES[id];\n this.pageConfig.breadcrumb.set(\n name\n ? [{ label: 'Home', path: '/' }, { label: 'Components', path: '/design/components/list' }, { label: name }]\n : [{ label: 'Home', path: '/' }, { label: 'Components', path: '/design/components/list' }]\n );\n });\n }\n}\n","import { Component, input, output } from '@angular/core';\n\n@Component({\n selector: 'lib-font-decorator',\n standalone: true,\n imports: [],\n templateUrl: './font-decorator.component.html',\n styleUrl: './font-decorator.component.scss',\n})\nexport class FontDecoratorComponent {\n readonly bold = input<boolean>(false);\n readonly italic = input<boolean>(false);\n readonly underline = input<boolean>(false);\n readonly strikethrough = input<boolean>(false);\n\n readonly boldChange = output<boolean>();\n readonly italicChange = output<boolean>();\n readonly underlineChange = output<boolean>();\n readonly strikethroughChange = output<boolean>();\n\n toggle(decorator: 'bold' | 'italic' | 'underline' | 'strikethrough'): void {\n if (decorator === 'bold') this.boldChange.emit(!this.bold());\n if (decorator === 'italic') this.italicChange.emit(!this.italic());\n if (decorator === 'underline') this.underlineChange.emit(!this.underline());\n if (decorator === 'strikethrough') this.strikethroughChange.emit(!this.strikethrough());\n }\n}\n","<div class=\"fd-root\" role=\"group\" aria-label=\"Font decorators\">\n\n <button type=\"button\" class=\"fd-btn\" [class.fd-btn--active]=\"bold()\" title=\"Bold\" (click)=\"toggle('bold')\">\n <span class=\"fd-preview fd-preview--bold\">B</span>\n </button>\n\n <button type=\"button\" class=\"fd-btn\" [class.fd-btn--active]=\"italic()\" title=\"Italic\" (click)=\"toggle('italic')\">\n <span class=\"fd-preview fd-preview--italic\">I</span>\n </button>\n\n <button type=\"button\" class=\"fd-btn\" [class.fd-btn--active]=\"underline()\" title=\"Underline\" (click)=\"toggle('underline')\">\n <span class=\"fd-preview fd-preview--underline\">U</span>\n </button>\n\n <button type=\"button\" class=\"fd-btn\" [class.fd-btn--active]=\"strikethrough()\" title=\"Strikethrough\" (click)=\"toggle('strikethrough')\">\n <span class=\"fd-preview fd-preview--strikethrough\">S</span>\n </button>\n\n</div>\n","<div class=\"fs-root\">\n\n <div class=\"fs-row\">\n <span class=\"fs-label\">Font</span>\n <div class=\"fs-control\">\n <lib-filterable-select\n [loadItems]=\"selectLoadFn()\"\n [data]=\"[]\"\n textField=\"name\"\n valueField=\"name\"\n placeholder=\"Select font...\"\n [allowClear]=\"false\"\n (valueChange)=\"onFontChange($event)\">\n\n <ng-template #selectedItemTemplate let-item>\n <span [style.font-family]=\"item.name === 'inherit' ? 'inherit' : item.name\">{{ item.name }}</span>\n </ng-template>\n\n <ng-template #itemTemplate let-item>\n <span [style.font-family]=\"item.name === 'inherit' ? 'inherit' : item.name\">{{ item.name }}</span>\n </ng-template>\n\n </lib-filterable-select>\n </div>\n </div>\n\n <div class=\"fs-row\">\n <span class=\"fs-label\">Size</span>\n <div class=\"fs-slider-wrap\">\n <input type=\"range\" class=\"fs-range\"\n [min]=\"fontSizeMin()\" [max]=\"fontSizeMax()\" step=\"0.05\" [value]=\"fontSize()\"\n (input)=\"onFontSizeChange($any($event.target).value)\" />\n <span class=\"fs-mono\">{{ fontSize() | number:'1.2-2' }}rem</span>\n </div>\n </div>\n\n <div class=\"fs-row\">\n <span class=\"fs-label\">Line Height</span>\n <div class=\"fs-slider-wrap\">\n <input type=\"range\" class=\"fs-range\"\n [min]=\"lineHeightMin()\" [max]=\"lineHeightMax()\" step=\"0.05\" [value]=\"lineHeight()\"\n (input)=\"onLineHeightChange($any($event.target).value)\" />\n <span class=\"fs-mono\">{{ lineHeight() | number:'1.2-2' }}</span>\n </div>\n </div>\n\n</div>\n","import { Component, computed, input, output } from '@angular/core';\nimport { DecimalPipe } from '@angular/common';\nimport { FilterableSelectComponent, FilterableSelectLoadFn } from '@anvil-eco/shared-ui';\n\ninterface FontItem {\n name: string;\n}\n\n@Component({\n selector: 'lib-font-selector',\n standalone: true,\n imports: [FilterableSelectComponent, DecimalPipe],\n templateUrl: './font-selector.component.html',\n styleUrl: './font-selector.component.scss',\n})\nexport class FontSelectorComponent {\n readonly font = input<string>('inherit');\n readonly fontSize = input<number>(1);\n readonly lineHeight = input<number>(1.5);\n\n readonly fontSizeMin = input<number>(0.5);\n readonly fontSizeMax = input<number>(4);\n readonly lineHeightMin = input<number>(1);\n readonly lineHeightMax = input<number>(3);\n\n readonly loadFonts = input<(() => Promise<string[]> | string[]) | null>(null);\n\n readonly fontChange = output<string>();\n readonly fontSizeChange = output<number>();\n readonly lineHeightChange = output<number>();\n\n readonly selectLoadFn = computed((): FilterableSelectLoadFn<FontItem> => {\n const fn = this.loadFonts();\n return async (searchTerm: string) => {\n const raw = fn ? await fn() : [];\n const all: FontItem[] = [{ name: 'inherit' }, ...raw.map(n => ({ name: n }))];\n const term = searchTerm.toLowerCase();\n return term ? all.filter(f => f.name.toLowerCase().includes(term)) : all;\n };\n });\n\n onFontChange(event: { value: unknown }): void {\n this.fontChange.emit(String(event.value ?? 'inherit'));\n }\n\n onFontSizeChange(value: string): void {\n this.fontSizeChange.emit(Number(value));\n }\n\n onLineHeightChange(value: string): void {\n this.lineHeightChange.emit(Number(value));\n }\n}\n","import { Component, input, output, signal } from '@angular/core';\n\ntype PaddingSide = 'top' | 'right' | 'bottom' | 'left';\n\n@Component({\n selector: 'lib-padding-margin',\n standalone: true,\n imports: [],\n templateUrl: './padding-margin.component.html',\n styleUrl: './padding-margin.component.scss',\n})\nexport class PaddingMarginComponent {\n readonly paddingTop = input<number>(0);\n readonly paddingRight = input<number>(0);\n readonly paddingBottom = input<number>(0);\n readonly paddingLeft = input<number>(0);\n readonly gap = input<number>(0);\n\n readonly max = input<number>(4);\n readonly step = input<number>(0.25);\n\n readonly paddingTopChange = output<number>();\n readonly paddingRightChange = output<number>();\n readonly paddingBottomChange = output<number>();\n readonly paddingLeftChange = output<number>();\n readonly gapChange = output<number>();\n\n readonly linked = signal(false);\n\n toggleLink(): void {\n this.linked.update(v => !v);\n }\n\n onPaddingChange(side: PaddingSide, event: Event): void {\n const value = Number((event.target as HTMLInputElement).value);\n if (isNaN(value) || value < 0) return;\n\n if (this.linked()) {\n this.paddingTopChange.emit(value);\n this.paddingRightChange.emit(value);\n this.paddingBottomChange.emit(value);\n this.paddingLeftChange.emit(value);\n return;\n }\n\n if (side === 'top') this.paddingTopChange.emit(value);\n if (side === 'right') this.paddingRightChange.emit(value);\n if (side === 'bottom') this.paddingBottomChange.emit(value);\n if (side === 'left') this.paddingLeftChange.emit(value);\n }\n\n onGapChange(event: Event): void {\n const value = Number((event.target as HTMLInputElement).value);\n if (!isNaN(value) && value >= 0) this.gapChange.emit(value);\n }\n}\n","<div class=\"pm-root\">\n\n <div class=\"pm-section-label\">Padding</div>\n\n <div class=\"pm-box-model\">\n\n <div class=\"pm-top\">\n <input type=\"number\" class=\"pm-input\" [value]=\"paddingTop()\" [step]=\"step()\" min=\"0\" [max]=\"max()\" (change)=\"onPaddingChange('top', $event)\" />\n <span class=\"pm-unit\">rem</span>\n </div>\n\n <div class=\"pm-middle\">\n\n <div class=\"pm-side pm-side--left\">\n <input type=\"number\" class=\"pm-input\" [value]=\"paddingLeft()\" [step]=\"step()\" min=\"0\" [max]=\"max()\" (change)=\"onPaddingChange('left', $event)\" />\n <span class=\"pm-unit\">rem</span>\n </div>\n\n <div class=\"pm-center\">\n <button type=\"button\" class=\"pm-link-btn\" [class.pm-link-btn--active]=\"linked()\"\n [title]=\"linked() ? 'Unlink sides' : 'Link all sides'\" (click)=\"toggleLink()\">\n <i [class]=\"linked() ? 'bi bi-link' : 'bi bi-link-45deg'\" aria-hidden=\"true\"></i>\n </button>\n </div>\n\n <div class=\"pm-side pm-side--right\">\n <span class=\"pm-unit\">rem</span>\n <input type=\"number\" class=\"pm-input\" [value]=\"paddingRight()\" [step]=\"step()\" min=\"0\" [max]=\"max()\" (change)=\"onPaddingChange('right', $event)\" />\n </div>\n\n </div>\n\n <div class=\"pm-bottom\">\n <input type=\"number\" class=\"pm-input\" [value]=\"paddingBottom()\" [step]=\"step()\" min=\"0\" [max]=\"max()\" (change)=\"onPaddingChange('bottom', $event)\" />\n <span class=\"pm-unit\">rem</span>\n </div>\n\n </div>\n\n <div class=\"pm-gap-row\">\n <span class=\"pm-gap-label\">Gap</span>\n <input type=\"number\" class=\"pm-input\" [value]=\"gap()\" [step]=\"step()\" min=\"0\" [max]=\"max()\" (change)=\"onGapChange($event)\" />\n <span class=\"pm-unit\">rem</span>\n </div>\n\n</div>\n","import { ChangeDetectionStrategy, Component, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DropDownComponent, type DropDownItemConfig } from '@anvil-eco/shared-ui';\n\n@Component({\n selector: 'lib-drop-down-design',\n standalone: true,\n imports: [CommonModule, DropDownComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div class=\"design-container\">\n <h2>DropDown Component</h2>\n\n <section class=\"design-section\">\n <h3>Basic Dropdown with Text Only</h3>\n <lib-dropdown\n [toggler]=\"{ text: 'Actions' }\"\n [items]=\"basicItems\" />\n </section>\n\n <section class=\"design-section\">\n <h3>Dropdown with Icon and Carat</h3>\n <lib-dropdown\n [toggler]=\"{ text: 'Menu', icon: 'bi bi-gear', showCarat: true }\"\n [items]=\"iconItems\" />\n </section>\n\n <section class=\"design-section\">\n <h3>Text Before Icon</h3>\n <lib-dropdown\n [toggler]=\"{ text: 'Options', icon: 'bi bi-list', showCarat: true, iconTextOrientation: 'TextBeforeIcon' }\"\n [items]=\"textBeforeIconItems\" />\n </section>\n\n <section class=\"design-section\">\n <h3>Icon Only Toggler</h3>\n <lib-dropdown\n [toggler]=\"{ icon: 'bi bi-three-dots-vertical', showCarat: false }\"\n [items]=\"iconOnlyItems\" />\n </section>\n\n <section class=\"design-section\">\n <h3>With Dividers and Disabled Items</h3>\n <lib-dropdown\n [toggler]=\"{ text: 'More', icon: 'bi bi-menu-down', showCarat: true }\"\n [items]=\"dividerItems\" />\n </section>\n\n <section class=\"design-section\">\n <h3>Text Only Toggler</h3>\n <lib-dropdown\n [toggler]=\"{ text: 'Click Me', showCarat: true }\"\n [items]=\"basicItems\" />\n </section>\n </div>\n `,\n styles: `\n .design-container {\n padding: 2rem;\n max-width: 800px;\n }\n\n h2 {\n margin-bottom: 1.5rem;\n color: var(--text-primary, #212529);\n }\n\n h3 {\n margin-bottom: 0.75rem;\n color: var(--text-secondary, #6c757d);\n font-size: 1rem;\n }\n\n .design-section {\n margin-bottom: 2rem;\n padding: 1.5rem;\n border: 1px solid var(--border-color, #dee2e6);\n border-radius: var(--border-radius, 0.375rem);\n background: var(--background-secondary, #f8f9fa);\n }\n `,\n})\nexport class DropDownDesignComponent {\n clickCount = signal(0);\n\n readonly basicItems: DropDownItemConfig[] = [\n { text: 'View', onClick: () => console.log('View clicked') },\n { text: 'Edit', onClick: () => console.log('Edit clicked') },\n { text: 'Delete', onClick: () => console.log('Delete clicked') },\n ];\n\n readonly iconItems: DropDownItemConfig[] = [\n { text: 'Profile', icon: 'bi bi-person', onClick: () => console.log('Profile') },\n { text: 'Settings', icon: 'bi bi-gear', onClick: () => console.log('Settings') },\n { text: 'Help', icon: 'bi bi-question-circle', onClick: () => console.log('Help') },\n ];\n\n readonly textBeforeIconItems: DropDownItemConfig[] = [\n { text: 'New File', icon: 'bi bi-file-plus', iconTextOrientation: 'TextBeforeIcon', onClick: () => console.log('New File') },\n { text: 'Save', icon: 'bi bi-save', iconTextOrientation: 'TextBeforeIcon', onClick: () => console.log('Save') },\n { text: 'Export', icon: 'bi bi-download', iconTextOrientation: 'TextBeforeIcon', onClick: () => console.log('Export') },\n ];\n\n readonly iconOnlyItems: DropDownItemConfig[] = [\n { text: 'Cut', icon: 'bi bi-scissors', onClick: () => console.log('Cut') },\n { text: 'Copy', icon: 'bi bi-copy', onClick: () => console.log('Copy') },\n { text: 'Paste', icon: 'bi bi-clipboard', onClick: () => console.log('Paste') },\n ];\n\n readonly dividerItems: DropDownItemConfig[] = [\n { text: 'View Profile', icon: 'bi bi-person', onClick: () => console.log('View Profile') },\n { text: 'Edit Profile', icon: 'bi bi-pencil', onClick: () => console.log('Edit Profile') },\n { text: '-' },\n { text: 'Account Settings', icon: 'bi bi-gear', onClick: () => console.log('Settings') },\n { text: '-' },\n { text: 'Delete Account', icon: 'bi bi-trash', onClick: () => console.log('Delete'), disabled: true },\n ];\n}\n","import { Component } from '@angular/core';\nimport type { ICellRendererComp, ICellRendererParams } from 'ag-grid-community';\nimport type { FontFamily } from '@anvil-eco/design-services';\n\nexport interface FontFamilyActionCellParams extends ICellRendererParams {\n onDelete: (fontFamily: FontFamily) => void;\n}\n\n@Component({\n selector: 'lib-font-family-action-cell',\n standalone: true,\n imports: [],\n template: `\n <button type=\"button\" class=\"ffa-btn\" title=\"Delete\" (click)=\"onDelete()\">\n <i class=\"bi bi-trash\"></i>\n </button>\n `,\n styles: [`\n :host { display: flex; align-items: center; }\n .ffa-btn {\n border: none;\n background: transparent;\n cursor: pointer;\n padding: 0.25rem;\n color: var(--anv-color-secondary);\n font-size: 1rem;\n line-height: 1;\n &:hover { color: var(--anv-color-danger); }\n }\n `],\n})\nexport class FontFamilyActionCellComponent implements ICellRendererComp {\n private params!: FontFamilyActionCellParams;\n\n agInit(params: FontFamilyActionCellParams): void {\n this.params = params;\n }\n\n refresh(params: FontFamilyActionCellParams): boolean {\n this.params = params;\n return true;\n }\n\n getGui(): HTMLElement { return document.createElement('div'); }\n\n onDelete(): void {\n this.params.onDelete(this.params.data);\n }\n}\n","import { ChangeDetectionStrategy, Component, inject, output } from '@angular/core';\nimport { ReactiveFormsModule, FormBuilder, Validators, type FormGroup } from '@angular/forms';\nimport { FormModalComponent, FormFieldComponent, FormModalFieldsDirective, ErrorAlertComponent } from '@anvil-eco/shared-ui';\nimport { FontFamilyService, type FontFamilyCreate } from '@anvil-eco/design-services';\n\n@Component({\n selector: 'lib-font-family-create',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [ReactiveFormsModule, FormModalComponent, FormFieldComponent, FormModalFieldsDirective, ErrorAlertComponent],\n template: `\n <lib-form-modal\n [formGroup]=\"form\"\n [submitFn]=\"submitForm\"\n title=\"Add Font Family\"\n submitLabel=\"Add\"\n successMessage=\"Font family added successfully\"\n [showOverlay]=\"true\"\n (submitted)=\"onSuccess()\"\n (dismissed)=\"onCancel()\"\n (cancelled)=\"onCancel()\">\n <ng-template formModalFields>\n <lib-error-alert sourceId=\"fontFamilyCreate\" />\n <lib-form-field controlName=\"name\" label=\"Name\" tooltip=\"Display name for this font family\">\n <input type=\"text\" class=\"anv-input\" formControlName=\"name\" placeholder=\"e.g. Roboto\" />\n </lib-form-field>\n <lib-form-field controlName=\"googleFontSlug\" label=\"Google Font Slug\" tooltip=\"The URL slug used by Google Fonts (e.g. roboto)\">\n <input type=\"text\" class=\"anv-input\" formControlName=\"googleFontSlug\" placeholder=\"e.g. roboto\" />\n </lib-form-field>\n <lib-form-field controlName=\"style\" label=\"Style\" tooltip=\"Font style variant (e.g. regular, italic, 700)\">\n <input type=\"text\" class=\"anv-input\" formControlName=\"style\" placeholder=\"e.g. regular\" />\n </lib-form-field>\n </ng-template>\n </lib-form-modal>\n `,\n styles: [`:host { display: contents; }`],\n})\nexport class FontFamilyCreateComponent {\n private readonly fb = inject(FormBuilder);\n private readonly service = inject(FontFamilyService);\n\n created = output<void>();\n cancelled = output<void>();\n\n readonly form: FormGroup = this.fb.group({\n name: ['', [Validators.required, Validators.maxLength(200)]],\n googleFontSlug: ['', [Validators.maxLength(200)]],\n style: ['', [Validators.maxLength(100)]],\n });\n\n readonly submitForm = (value: unknown) => {\n return this.service.create(value as FontFamilyCreate);\n };\n\n onSuccess(): void { this.form.reset(); this.created.emit(); }\n onCancel(): void { this.form.reset(); this.cancelled.emit(); }\n}\n","<ng-template sideDrawerContent>\n <lib-design-list-nav />\n</ng-template>\n\n<div class=\"ffl-toolbar\">\n <lib-error-alert sourceId=\"fontFamilyList\" />\n <lib-button-base variant=\"primary\" icon=\"plus\" (clicked)=\"onCreate()\">\n Add Font Family\n </lib-button-base>\n</div>\n\n<ag-grid-angular\n class=\"ag-theme-quartz ffl-grid\"\n [columnDefs]=\"columnDefs\"\n [defaultColDef]=\"defaultColDef\"\n [rowSelection]=\"rowSelection\"\n [rowModelType]=\"'infinite'\"\n [rowHeight]=\"48\"\n [pagination]=\"true\"\n [paginationPageSize]=\"25\"\n [paginationPageSizeSelector]=\"[25, 50, 100]\"\n [cacheBlockSize]=\"25\"\n (gridReady)=\"onGridReady($event)\"\n (filterChanged)=\"onFilterChanged()\"\n (sortChanged)=\"onSortChanged()\" />\n\n@if (showCreateModal()) {\n <lib-font-family-create\n (created)=\"onCreated()\"\n (cancelled)=\"onCreateCancelled()\" />\n}\n\n@if (showDeleteMessageBox()) {\n <lib-message-box\n [isVisible]=\"true\"\n [config]=\"deleteMessageBoxConfig()\"\n (yes)=\"onDeleteConfirmed()\"\n (no)=\"onDeleteCancelled()\" />\n}\n","import { Component, inject, OnDestroy, OnInit, signal } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { AgGridAngular } from 'ag-grid-angular';\nimport {\n AllCommunityModule,\n ColDef,\n GridApi,\n GridReadyEvent,\n IDatasource,\n IGetRowsParams,\n ModuleRegistry,\n RowSelectionOptions,\n SortModelItem,\n} from 'ag-grid-community';\nimport { FontFamilyService, type FontFamily } from '@anvil-eco/design-services';\nimport { GridFilterItem, GridQueryRequest } from '@anvil-eco/shared-core';\nimport { AppError } from '@anvil-eco/shared-core';\nimport { ButtonBaseComponent, ErrorAlertComponent, ErrorService, MessageBoxComponent, type MessageBoxConfig, SideDrawerContentDirective, ToastService } from '@anvil-eco/shared-ui';\nimport { DesignListNavComponent } from '../../shared/design-list-nav/design-list-nav.component';\nimport { FontFamilyActionCellComponent, type FontFamilyActionCellParams } from './font-family-action-cell.component';\nimport { FontFamilyCreateComponent } from '../font-family-create/font-family-create.component';\n\nModuleRegistry.registerModules([AllCommunityModule]);\n\n@Component({\n selector: 'lib-font-family-list',\n standalone: true,\n imports: [\n AgGridAngular,\n ErrorAlertComponent,\n ButtonBaseComponent,\n MessageBoxComponent,\n SideDrawerContentDirective,\n DesignListNavComponent,\n FontFamilyActionCellComponent,\n FontFamilyCreateComponent,\n ],\n templateUrl: './font-family-list.component.html',\n styleUrl: './font-family-list.component.scss',\n})\nexport class FontFamilyListComponent implements OnInit, OnDestroy {\n private readonly service = inject(FontFamilyService);\n private readonly toast = inject(ToastService);\n private readonly errorService = inject(ErrorService);\n\n private gridApi?: GridApi<FontFamily>;\n private readonly destroy$ = new Subject<void>();\n private currentSortModel: SortModelItem[] = [];\n private currentFilterModel: Record<string, unknown> = {};\n\n readonly rowSelection: RowSelectionOptions = {\n mode: 'singleRow',\n checkboxes: false,\n enableClickSelection: true,\n };\n\n readonly columnDefs: ColDef<FontFamily>[] = [\n {\n headerName: '',\n width: 52,\n sortable: false,\n filter: false,\n pinned: 'left',\n cellRenderer: FontFamilyActionCellComponent,\n cellRendererParams: {\n onDelete: (ff: FontFamily) => this.onDelete(ff),\n } satisfies Partial<FontFamilyActionCellParams>,\n },\n { field: 'name', headerName: 'Name', flex: 2, sortable: true, filter: true },\n { field: 'googleFontSlug', headerName: 'Google Font Slug', flex: 2, sortable: true, filter: true },\n { field: 'style', headerName: 'Style', flex: 1, sortable: true, filter: false },\n ];\n\n readonly defaultColDef: ColDef = { resizable: true, minWidth: 80, sortable: false, filter: false };\n\n readonly showCreateModal = signal(false);\n readonly showDeleteMessageBox = signal(false);\n readonly fontFamilyToDelete = signal<FontFamily | null>(null);\n readonly deleteMessageBoxConfig = signal<MessageBoxConfig>({\n title: 'Confirm Delete',\n message: 'Are you sure you want to delete this font family?',\n context: 'danger',\n yesButton: { text: 'Delete', icon: 'bi bi-trash', context: 'danger' },\n noButton: { text: 'Cancel', context: 'secondary' },\n });\n\n ngOnInit(): void { }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n onGridReady(event: GridReadyEvent<FontFamily>): void {\n this.gridApi = event.api;\n setTimeout(() => this.gridApi?.setGridOption('datasource', this.buildDatasource()), 0);\n }\n\n onFilterChanged(): void {\n this.currentFilterModel = (this.gridApi?.getFilterModel() ?? {}) as Record<string, unknown>;\n this.gridApi?.setGridOption('datasource', this.buildDatasource());\n }\n\n onSortChanged(): void {\n this.currentSortModel = this.gridApi?.getColumnState()\n .filter(s => s.sort)\n .map(s => ({ colId: s.colId, sort: s.sort! } as SortModelItem)) ?? [];\n this.gridApi?.setGridOption('datasource', this.buildDatasource());\n }\n\n onCreate(): void { this.showCreateModal.set(true); }\n\n onCreated(): void {\n this.showCreateModal.set(false);\n this.refreshGrid();\n }\n\n onCreateCancelled(): void { this.showCreateModal.set(false); }\n\n onDelete(fontFamily: FontFamily): void {\n this.fontFamilyToDelete.set(fontFamily);\n this.deleteMessageBoxConfig.set({\n title: 'Confirm Delete',\n message: `Delete font family \"${fontFamily.name}\"? This cannot be undone.`,\n context: 'danger',\n yesButton: { text: 'Delete', icon: 'bi bi-trash', context: 'danger' },\n noButton: { text: 'Cancel', context: 'secondary' },\n });\n this.showDeleteMessageBox.set(true);\n }\n\n onDeleteConfirmed(): void {\n const ff = this.fontFamilyToDelete();\n if (!ff) return;\n\n this.service.delete(ff.id).subscribe({\n next: () => {\n this.toast.show({ message: 'Font family deleted', type: 'success' });\n this.showDeleteMessageBox.set(false);\n this.fontFamilyToDelete.set(null);\n this.refreshGrid();\n },\n error: (err: AppError) => {\n this.errorService.setError(err, 'fontFamilyList');\n this.showDeleteMessageBox.set(false);\n this.fontFamilyToDelete.set(null);\n },\n });\n }\n\n onDeleteCancelled(): void {\n this.showDeleteMessageBox.set(false);\n this.fontFamilyToDelete.set(null);\n }\n\n private refreshGrid(): void {\n this.gridApi?.setGridOption('datasource', this.buildDatasource());\n }\n\n private buildDatasource(): IDatasource {\n const sortModel = this.currentSortModel;\n const filterModel = this.currentFilterModel;\n return {\n getRows: (params: IGetRowsParams) => {\n const pageSize = params.endRow - params.startRow;\n const page = Math.floor(params.startRow / pageSize) + 1;\n const sortCol = sortModel[0];\n\n const query: GridQueryRequest = {\n page,\n pageSize,\n sortField: sortCol?.colId,\n sortDirection: sortCol?.sort as 'asc' | 'desc' | undefined,\n filters: this.mapFilterModel(filterModel),\n };\n\n this.service.getPaged(query).pipe(takeUntil(this.destroy$)).subscribe({\n next: (result) => params.successCallback(result.items, result.totalCount),\n error: (err: AppError) => {\n this.errorService.setError(err, 'fontFamilyList');\n params.failCallback();\n },\n });\n },\n };\n }\n\n private mapFilterModel(filterModel: Record<string, unknown>): GridFilterItem[] {\n return Object.entries(filterModel).map(([field, raw]) => {\n const f = raw as Record<string, unknown>;\n return {\n field,\n filterType: (f['filterType'] as string) ?? 'text',\n operator: (f['type'] as string) ?? 'contains',\n value: f['filter'] != null ? String(f['filter']) : undefined,\n valueTo: f['filterTo'] != null ? String(f['filterTo']) : undefined,\n } as GridFilterItem;\n });\n }\n}\n","import { Route } from '@angular/router';\nimport { DesignPermissions } from '@anvil-eco/design-services';\nimport { ComponentListComponent } from './component/component-list/component-list.component';\nimport { ComponentEditorHostComponent } from './component/component-editor-host/component-editor-host.component';\nimport { ElevationListComponent } from './elevations/elevation-list.component';\nimport { FoundationListComponent } from './foundation/foundation-list/foundation-list.component';\nimport { FontFamilyListComponent } from './font-family/font-family-list/font-family-list.component';\nimport { TransitionListComponent } from './transitions/transition-list/transition-list.component';\nimport { ContextListComponent } from './context/context-list/context-list.component';\nimport { PaletteListComponent } from './palettes/palette-list/palette-list.component';\n\nexport const designRoute: Route = {\n path: 'design',\n data: { id: 'design', label: 'Design', icon: 'palette' },\n children: [\n {\n path: 'components',\n data: { id: 'design-components', label: 'Components', icon: 'puzzle', navLinkTo: '/design/components/list', breadcrumbLabel: 'Components', breadcrumbPath: '/design/components/list' },\n children: [\n {\n path: 'list', component: ComponentListComponent,\n data: { id: 'design-components-list', label: 'Browse', icon: 'puzzle', pageTitle: 'Component Library', hasSideDrawer: true, sideDrawerTitle: 'Navigate', hasOverDrawer: false, permissions: [DesignPermissions.ComponentCategory.View] },\n children: []\n },\n {\n path: ':id/edit', component: ComponentEditorHostComponent,\n data: { pageTitle: 'Component Editor', hasSideDrawer: true, sideDrawerTitle: 'Navigate', hasOverDrawer: true, overDrawerIcon: 'sliders', overDrawerLabel: 'Foundation', permissions: [DesignPermissions.ComponentCategory.View] },\n children: []\n }\n ]\n },\n {\n path: 'foundations',\n data: { id: 'design-foundations', label: 'Foundations', icon: 'layout-text-sidebar-reverse', navLinkTo: '/design/foundations/list', breadcrumbLabel: 'Foundations', breadcrumbPath: '/design/foundations/list' },\n children: [\n {\n path: 'list', component: FoundationListComponent,\n data: { id: 'design-foundations-list', label: 'Manage', icon: 'layout-text-sidebar-reverse', pageTitle: 'Foundation Management', hasSideDrawer: true, sideDrawerTitle: 'Navigate', hasOverDrawer: false, permissions: [DesignPermissions.Foundations.View] },\n children: []\n }\n ]\n },\n {\n path: 'contexts',\n data: { id: 'design-contexts', label: 'Contexts', icon: 'palette', navLinkTo: '/design/contexts/list', breadcrumbLabel: 'Contexts', breadcrumbPath: '/design/contexts/list' },\n children: [\n {\n path: 'list', component: ContextListComponent,\n data: { id: 'design-contexts-list', label: 'Manage', icon: 'palette', pageTitle: 'Context Management', hasSideDrawer: true, sideDrawerTitle: 'Navigate', hasOverDrawer: false, permissions: [DesignPermissions.Contexts.View] },\n children: []\n }\n ]\n },\n {\n path: 'font-families',\n data: { id: 'design-font-families', label: 'Font Families', icon: 'fonts', navLinkTo: '/design/font-families/list', breadcrumbLabel: 'Font Families', breadcrumbPath: '/design/font-families/list' },\n children: [\n {\n path: 'list', component: FontFamilyListComponent,\n data: { id: 'design-font-families-list', label: 'Manage', icon: 'fonts', pageTitle: 'Font Family Management', hasSideDrawer: true, sideDrawerTitle: 'Navigate', hasOverDrawer: false, permissions: [DesignPermissions.FontFamilies.View] },\n children: []\n }\n ]\n },\n {\n path: 'palettes',\n data: { id: 'design-palettes', label: 'Palettes', icon: 'palette', navLinkTo: '/design/palettes/list', breadcrumbLabel: 'Palettes', breadcrumbPath: '/design/palettes/list' },\n children: [\n {\n path: 'list', component: PaletteListComponent,\n data: { id: 'design-palettes-list', label: 'Manage', icon: 'palette', pageTitle: 'Palette Management', hasSideDrawer: true, sideDrawerTitle: 'Navigate', hasOverDrawer: false, permissions: [DesignPermissions.Palettes.View] },\n children: []\n }\n ]\n },\n {\n path: 'elevations',\n data: { id: 'design-elevations', label: 'Elevations', icon: 'shadows', navLinkTo: '/design/elevations/list', breadcrumbLabel: 'Elevations', breadcrumbPath: '/design/elevations/list' },\n children: [\n {\n path: 'list', component: ElevationListComponent,\n data: { id: 'design-elevations-list', label: 'Manage', icon: 'shadows', pageTitle: 'Elevation Management', hasSideDrawer: true, sideDrawerTitle: 'Navigate', hasOverDrawer: false, permissions: [DesignPermissions.Elevations.View] },\n children: []\n }\n ]\n },\n {\n path: 'transitions',\n data: { id: 'design-transitions', label: 'Transitions', icon: 'arrow-repeat', navLinkTo: '/design/transitions/list', breadcrumbLabel: 'Transitions', breadcrumbPath: '/design/transitions/list' },\n children: [\n {\n path: 'list', component: TransitionListComponent,\n data: { id: 'design-transitions-list', label: 'Manage', icon: 'arrow-repeat', pageTitle: 'Transition Management', hasSideDrawer: true, sideDrawerTitle: 'Navigate', hasOverDrawer: false, permissions: [DesignPermissions.Transitions.View] },\n children: []\n }\n ]\n }\n ]\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["toPreset","_forTrack0","SIDES","BORDER_STYLES","_c1","_c0","i1","takeUntil"],"mappings":"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"}
|