{"version":3,"file":"freshfox-ng-core.mjs","sources":["../../../../projects/freshfox/ng-core/src/core/form-validator.ts","../../../../projects/freshfox/ng-core/src/core/device-settings.ts","../../../../projects/freshfox/ng-core/src/core/utils.ts","../../../../projects/freshfox/ng-core/src/validation-message/validation-message-provider.ts","../../../../projects/freshfox/ng-core/src/validation-message/index.ts","../../../../projects/freshfox/ng-core/src/core/form-field.component.ts","../../../../projects/freshfox/ng-core/src/core/typed-form-group.ts","../../../../projects/freshfox/ng-core/src/input/input.component.ts","../../../../projects/freshfox/ng-core/src/input/index.ts","../../../../projects/freshfox/ng-core/src/snackbar/snackbar-progress.component.ts","../../../../projects/freshfox/ng-core/src/snackbar/snackbar.service.ts","../../../../projects/freshfox/ng-core/src/snackbar/index.ts","../../../../projects/freshfox/ng-core/src/button/button.component.ts","../../../../projects/freshfox/ng-core/src/button/index.ts","../../../../projects/freshfox/ng-core/src/dialog/dialog-confirm.component.ts","../../../../projects/freshfox/ng-core/src/dialog/dialog.service.ts","../../../../projects/freshfox/ng-core/src/dialog/index.ts","../../../../projects/freshfox/ng-core/src/api/api-error.ts","../../../../projects/freshfox/ng-core/src/api/api.service.ts","../../../../projects/freshfox/ng-core/src/api/index.ts","../../../../projects/freshfox/ng-core/src/avatar/avatar.component.ts","../../../../projects/freshfox/ng-core/src/avatar/index.ts","../../../../projects/freshfox/ng-core/src/breadcrumbs/breadcrumbs.service.ts","../../../../projects/freshfox/ng-core/src/breadcrumbs/breadcrumbs-list.component.ts","../../../../projects/freshfox/ng-core/src/breadcrumbs/breadcrumbs.component.ts","../../../../projects/freshfox/ng-core/src/breadcrumbs/index.ts","../../../../projects/freshfox/ng-core/src/permissions/permission-manager.ts","../../../../projects/freshfox/ng-core/src/permissions/index.ts","../../../../projects/freshfox/ng-core/src/can-deactivate-unsaved/can-deactivate.ts","../../../../projects/freshfox/ng-core/src/can-deactivate-unsaved/index.ts","../../../../projects/freshfox/ng-core/src/select/select.component.ts","../../../../projects/freshfox/ng-core/src/select/index.ts","../../../../projects/freshfox/ng-core/src/badge/badge.component.ts","../../../../projects/freshfox/ng-core/src/badge/index.ts","../../../../projects/freshfox/ng-core/src/tabs/tab.component.ts","../../../../projects/freshfox/ng-core/src/tabs/index.ts","../../../../projects/freshfox/ng-core/src/public-api.ts","../../../../projects/freshfox/ng-core/src/freshfox-ng-core.ts"],"sourcesContent":["import { AbstractControl, UntypedFormGroup, ValidationErrors } from '@angular/forms';\n\nexport function formValidatorEqual(group: UntypedFormGroup): ValidationErrors {\n\tlet valid = true;\n\n\tlet lastVal: string;\n\tlet currentControl: AbstractControl;\n\tfor (const key of Object.keys(group.controls)) {\n\t\tcurrentControl = group.controls[key];\n\t\tconst val = currentControl.value;\n\t\tif (lastVal && val !== lastVal) {\n\t\t\tvalid = false;\n\t\t}\n\t\tlastVal = val;\n\t}\n\n\tif (valid) {\n\t\tif (currentControl.errors && currentControl.errors.notEqual) {\n\t\t\tdelete currentControl.errors.notEqual;\n\t\t\tcurrentControl.updateValueAndValidity();\n\t\t}\n\t\treturn null;\n\t}\n\n\tconst errors = { passwordsNotEqual: true };\n\tif (!currentControl.errors) {\n\t\tcurrentControl.setErrors(errors);\n\t\treturn errors;\n\t}\n\n\treturn null;\n}\n\nfunction isNumeric(n) {\n\treturn !isNaN(parseFloat(n)) && isFinite(n);\n}\n\nexport function formValidatorNumeric(control: AbstractControl) {\n\tlet value = control.value;\n\tif (value) {\n\t\tvalue = `${value}`;\n\t\tif (!isNumeric(value)) {\n\t\t\treturn {\n\t\t\t\tnotNumeric: true,\n\t\t\t};\n\t\t}\n\t}\n\n\treturn null;\n}\n","import { fromEvent, Observable } from 'rxjs';\nimport { filter, map, startWith } from 'rxjs/operators';\n\nexport function getDeviceSettingsKeyGenerator(prefix: string) {\n\treturn (...keys: string[]) => {\n\t\treturn [prefix, ...keys] as DeviceSettingsKey;\n\t};\n}\nexport type DeviceSettingsKey = string[];\nexport class DeviceSettings {\n\tstatic set<T extends string>(key: DeviceSettingsKey, value: T): T {\n\t\tconst joinedKey = key.join('-');\n\t\tlocalStorage.setItem(joinedKey, value);\n\t\tconst customEvent = new StorageEvent('storage', {\n\t\t\tkey: joinedKey,\n\t\t\tnewValue: value,\n\t\t\tstorageArea: window.localStorage,\n\t\t});\n\t\twindow.dispatchEvent(customEvent);\n\t\treturn value;\n\t}\n\n\tstatic get<T extends string>(key: DeviceSettingsKey, defaultValue: T): T;\n\tstatic get<T extends string>(key: DeviceSettingsKey, defaultValue?: T | undefined): T | undefined;\n\tstatic get<T extends string>(key: DeviceSettingsKey, defaultValue?: T): T | undefined {\n\t\treturn (localStorage.getItem(key.join('-')) as T) || defaultValue;\n\t}\n\n\tstatic listen<T extends string>(key: DeviceSettingsKey, defaultValue: T): Observable<T>;\n\tstatic listen<T extends string>(key: DeviceSettingsKey, defaultValue?: T): Observable<T | undefined> {\n\t\treturn fromEvent<StorageEvent>(window, 'storage').pipe(\n\t\t\tfilter((event) => event.storageArea === window.localStorage),\n\t\t\tfilter((event) => event.key === key.join('-')),\n\t\t\tmap((event) => (event.newValue as T) || defaultValue),\n\t\t\tstartWith(this.get<T>(key, defaultValue))\n\t\t);\n\t}\n\n\tstatic getObject<T>(key: DeviceSettingsKey, defaultValue: T): T;\n\tstatic getObject<T>(key: DeviceSettingsKey, defaultValue?: T | undefined): string | undefined;\n\tstatic getObject<T>(key: DeviceSettingsKey, defaultValue?: T): T | null {\n\t\tconst value = this.get(key);\n\t\tif (!value) {\n\t\t\treturn defaultValue || null;\n\t\t}\n\t\treturn JSON.parse(value);\n\t}\n\n\tstatic setObject<T>(key: DeviceSettingsKey, value: T): T {\n\t\tif (value) {\n\t\t\tconst serialized = JSON.stringify(value);\n\t\t\tthis.set(key, serialized);\n\t\t} else {\n\t\t\tlocalStorage.removeItem(key.join('-'));\n\t\t}\n\t\treturn value;\n\t}\n\n\tstatic getSavedId<T extends string>(key: DeviceSettingsKey, available: { id: T }[]): T | null {\n\t\tif (available.length === 0) {\n\t\t\treturn null;\n\t\t}\n\t\tconst saved = this.get(key) as T;\n\t\tif (saved) {\n\t\t\tconst exists = available.find((a) => a.id === saved);\n\t\t\tif (exists) {\n\t\t\t\treturn saved;\n\t\t\t}\n\t\t}\n\t\treturn this.set(key, available[0].id) as T;\n\t}\n}\n","export function ngForTrackByUid(index: number, item: { id: string }) {\n\treturn !item ? null : item.id;\n}\n\nexport function ngForTrackByProperty<T>(property: keyof T) {\n\treturn (index: number, item: T) => {\n\t\treturn !item ? null : item[property];\n\t};\n}\n","export abstract class InputValidationMessageProvider {\n\tabstract getValidationMessage(validatorName: string, validatorValue?: any): string;\n}\n\nexport class FakeInputValidationMessageProvider extends InputValidationMessageProvider {\n\tgetValidationMessage(validatorName: string, validatorValue?: any): string {\n\t\treturn null;\n\t}\n}\n","import { ModuleWithProviders, NgModule, Provider } from '@angular/core';\nimport { FakeInputValidationMessageProvider, InputValidationMessageProvider } from './validation-message-provider';\n\nexport * from './validation-message-provider';\n\n@NgModule({\n\timports: [],\n\texports: [],\n\tdeclarations: [],\n\tproviders: [\n\t\t{\n\t\t\tprovide: InputValidationMessageProvider,\n\t\t\tuseClass: FakeInputValidationMessageProvider,\n\t\t},\n\t],\n})\nexport class FFFormControlValidationMessageModule {\n\tstatic forRoot(\n\t\tconfig: FFFormControlValidationMessageModuleConfig = {}\n\t): ModuleWithProviders<FFFormControlValidationMessageModule> {\n\t\treturn {\n\t\t\tngModule: FFFormControlValidationMessageModule,\n\t\t\tproviders: [\n\t\t\t\tconfig.validationMessageProvider || {\n\t\t\t\t\tprovide: InputValidationMessageProvider,\n\t\t\t\t\tuseClass: FakeInputValidationMessageProvider,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t}\n}\n\nexport interface FFFormControlValidationMessageModuleConfig {\n\tvalidationMessageProvider?: Provider;\n}\n","import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tDirective,\n\tEventEmitter,\n\tHostBinding,\n\tinject,\n\tInput,\n\tNgModule,\n\tOnInit,\n\tOutput,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, NgControl } from '@angular/forms';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { FFFormControlValidationMessageModule, InputValidationMessageProvider } from '../validation-message';\nimport { CommonModule } from '@angular/common';\nimport { map } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Directive({\n    selector: 'ff-label',\n    standalone: false\n})\nexport class FFLabel {}\n\n@Component({\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: ``,\n    standalone: false\n})\nexport class FFFormFieldComponent implements OnInit, ControlValueAccessor {\n\t@HostBinding('class') clazz = 'ff-form-field';\n\t@HostBinding('class.ff-input--no-bottom-padding') noBottomPadding = false;\n\t@ContentChild(FFLabel) labelDirective: FFLabel | undefined;\n\t@Input() placeholder = '';\n\t@Input() label: string;\n\t@Input() hint: string;\n\t@Input() readonly = false;\n\t@Input() prefixEnabled = false;\n\t@Input() suffixEnabled = false;\n\t// tslint:disable-next-line:no-output-native\n\t@Output() blur = new EventEmitter<any>();\n\t@HostBinding('class.ff-form-field--x-small') protected isXSmall = false;\n\t@HostBinding('class.ff-form-field--small') protected isDefault = false;\n\tprotected readonly formControl = new FormControl<any>(null);\n\tprotected readonly ngControl: NgControl = inject(NgControl, { self: true, optional: true });\n\tprivate size$ = new BehaviorSubject<'x-small' | 'default' | 'large'>('default');\n\tprivate bottomPadding$ = new BehaviorSubject(true);\n\tprivate readonly validationMessageProvider: InputValidationMessageProvider = inject(InputValidationMessageProvider);\n\tprotected errorMessage$: Observable<string> = this.formControl.statusChanges.pipe(\n\t\tmap((status) => {\n\t\t\tfor (const propertyName in this.formControl.errors) {\n\t\t\t\tif (this.formControl.touched) {\n\t\t\t\t\treturn this.validationMessageProvider.getValidationMessage(\n\t\t\t\t\t\tpropertyName,\n\t\t\t\t\t\tthis.formControl.errors[propertyName]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t})\n\t);\n\n\tconstructor() {\n\t\tif (this.ngControl) {\n\t\t\tthis.ngControl.valueAccessor = this;\n\t\t}\n\t\tthis.bottomPadding$.pipe(takeUntilDestroyed()).subscribe((bottomPadding) => {\n\t\t\tthis.noBottomPadding = !bottomPadding;\n\t\t});\n\n\t\tthis.size$.pipe(takeUntilDestroyed()).subscribe((size) => {\n\t\t\tthis.isXSmall = size === 'x-small';\n\t\t\tthis.isDefault = size === 'default';\n\t\t});\n\n\t\tthis.formControl.valueChanges.pipe(takeUntilDestroyed()).subscribe((value) => {\n\t\t\tthis.onChangeCallback(value);\n\t\t});\n\t}\n\n\t@Input() set size(size: 'x-small' | 'default' | 'large') {\n\t\tthis.size$.next(size);\n\t}\n\n\t@Input() set bottomPadding(bottomPadding: boolean) {\n\t\tthis.bottomPadding$.next(bottomPadding);\n\t}\n\n\tngOnInit(): void {\n\t\t// Subcontrol will be set after ngOnInit\n\t\tif (this.ngControl?.control?.validator) {\n\t\t\tthis.formControl.setValidators(this.ngControl.control.validator);\n\t\t}\n\t}\n\n\tonBlur(event) {\n\t\tthis.blur.emit(event);\n\t\tthis.onTouchedCallback();\n\t\tthis.formControl?.updateValueAndValidity({ onlySelf: true });\n\t}\n\n\t// Value Accessor methods\n\twriteValue(value: any) {\n\t\tthis.formControl.setValue(value);\n\t}\n\n\tregisterOnChange(fn: any) {\n\t\tthis.onChangeCallback = fn;\n\t}\n\n\tregisterOnTouched(fn: any) {\n\t\tthis.onTouchedCallback = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean) {\n\t\tif (isDisabled) {\n\t\t\tthis.formControl.disable();\n\t\t} else {\n\t\t\tthis.formControl.enable();\n\t\t}\n\t}\n\n\tprivate onTouchedCallback: () => void = () => {};\n\n\tprivate onChangeCallback: (_: any) => void = () => {};\n}\n\n@NgModule({\n\timports: [CommonModule, FFFormControlValidationMessageModule],\n\texports: [FFFormFieldComponent, FFLabel],\n\tdeclarations: [FFFormFieldComponent, FFLabel],\n\tproviders: [],\n})\nexport class FFFormFieldModule {}\n","import {\n\tAbstractControl,\n\tAbstractControlOptions,\n\tAsyncValidatorFn,\n\tUntypedFormGroup,\n\tValidatorFn,\n} from '@angular/forms';\n\nexport class TypedFormGroup<T> extends UntypedFormGroup {\n\tcontrols: {\n\t\t[key in keyof T]: AbstractControl;\n\t};\n\n\treadonly value: T;\n\n\tconstructor(\n\t\tcontrols: { [key in keyof T]: AbstractControl },\n\t\tvalidatorOrOpts?: ValidatorFn | ValidatorFn[] | AbstractControlOptions | null,\n\t\tasyncValidator?: AsyncValidatorFn | AsyncValidatorFn[] | null\n\t) {\n\t\tsuper(controls, validatorOrOpts, asyncValidator);\n\t}\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input } from '@angular/core';\nimport { FFFormFieldComponent } from '../core/form-field.component';\n\n@Component({\n    selector: 'ff-input,ff-textarea',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: `\n\t\t<label *ngIf=\"label && !labelDirective\" class=\"ff-input__label\">{{ label }}</label>\n\n\t\t<label class=\"ff-input__label\" *ngIf=\"labelDirective && !label\">\n\t\t\t<ng-content select=\"ff-label\"></ng-content>\n\t\t</label>\n\n\t\t<mat-form-field appearance=\"outline\">\n\t\t\t<ng-container matPrefix *ngIf=\"prefixEnabled\">\n\t\t\t\t<ng-content select=\"[ffPrefix]\"></ng-content>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container matSuffix *ngIf=\"suffixEnabled\">\n\t\t\t\t<ng-content select=\"[ffSuffix]\"></ng-content>\n\t\t\t</ng-container>\n\n\t\t\t<input\n\t\t\t\t*ngIf=\"selector === 'ff-input'\"\n\t\t\t\tmatInput\n\t\t\t\t[placeholder]=\"placeholder\"\n\t\t\t\t[type]=\"type\"\n\t\t\t\t[formControl]=\"formControl\"\n\t\t\t\t[readonly]=\"readonly\"\n\t\t\t\t(blur)=\"onBlur($event)\" />\n\n\t\t\t<textarea\n\t\t\t\t*ngIf=\"selector === 'ff-textarea'\"\n\t\t\t\tmatInput\n\t\t\t\t[cdkTextareaAutosize]=\"autoSize\"\n\t\t\t\t[placeholder]=\"placeholder\"\n\t\t\t\t[formControl]=\"formControl\"\n\t\t\t\t(blur)=\"onBlur($event)\"\n\t\t\t\t[rows]=\"textAreaRows\"\n\t\t\t\t[readonly]=\"readonly\"></textarea>\n\n\t\t\t<mat-error *ngIf=\"errorMessage$ | async as errorMessage\">{{ errorMessage }}</mat-error>\n\t\t\t<mat-hint *ngIf=\"hint\">{{ hint }}</mat-hint>\n\t\t</mat-form-field>\n\t`,\n    standalone: false\n})\nexport class FFInputComponent extends FFFormFieldComponent {\n\t@HostBinding('class.ff-input') ffInputClass = true;\n\n\t@Input() type = 'text';\n\t@Input() autoSize = false;\n\t@Input() textAreaRows = 0;\n\n\treadonly selector: string;\n\n\tconstructor(private el: ElementRef) {\n\t\tsuper();\n\n\t\tthis.selector = this.el.nativeElement.tagName.toLowerCase();\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { FFInputComponent } from './input.component';\nimport { FFFormControlValidationMessageModule } from '../validation-message';\nimport { FFFormFieldModule } from '../core/form-field.component';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\n\nexport * from './input.component';\n\n@NgModule({\n\tdeclarations: [FFInputComponent],\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tReactiveFormsModule,\n\t\tMatFormFieldModule,\n\t\tMatInputModule,\n\t\tFFFormControlValidationMessageModule,\n\t\tFFFormFieldModule,\n\t],\n\texports: [FFInputComponent, FFFormFieldModule],\n})\nexport class FFInputModule {}\n","import { Component, ChangeDetectionStrategy, Input, HostBinding, ChangeDetectorRef } from '@angular/core';\n\n@Component({\n    selector: 'ff-snack-bar-progress',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: `\n\t\t<mat-spinner class=\"w-5 h-5\" *ngIf=\"!completed\"></mat-spinner>\n\t\t<svg\n\t\t\tclass=\"h-5 w-5 text-green-400\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\tviewBox=\"0 0 20 20\"\n\t\t\tfill=\"currentColor\"\n\t\t\t*ngIf=\"completed\"\n\t\t\taria-hidden=\"true\">\n\t\t\t<path\n\t\t\t\tfill-rule=\"evenodd\"\n\t\t\t\td=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z\"\n\t\t\t\tclip-rule=\"evenodd\" />\n\t\t</svg>\n\t\t<span class=\"block\">{{ message }}</span>\n\t`,\n    standalone: false\n})\nexport class SnackBarProgressComponent {\n\t@HostBinding('class') clazz = 'flex items-center space-x-3 mat-simple-snackbar';\n\n\t@Input() message: string = '';\n\t@Input() completed = false;\n\n\tconstructor(public cdr: ChangeDetectorRef) {}\n}\n","import { Injectable } from '@angular/core';\nimport { SnackBarProgressComponent } from './snackbar-progress.component';\nimport { MatSnackBar, MatSnackBarConfig, MatSnackBarRef } from '@angular/material/snack-bar';\n\n@Injectable()\nexport class SnackBarService {\n\tconstructor(private snackBar: MatSnackBar) {}\n\n\tinfo(message: string, action?: string, config?: FFSnackBarConfig) {\n\t\treturn this.snackBar.open(message, action, config);\n\t}\n\n\tsuccess(message: string, action?: string, config: FFSnackBarConfig = {}) {\n\t\treturn this.snackBar.open(message, action, {\n\t\t\t...config,\n\t\t\tpanelClass: [...(config?.panelClass || []), 'ff-snack-bar-success'],\n\t\t});\n\t}\n\n\terror(message: string, action?: string, config: FFSnackBarConfig = {}) {\n\t\treturn this.snackBar.open(message, action, {\n\t\t\t...config,\n\t\t\tpanelClass: [...(config?.panelClass || []), 'ff-snack-bar-error'],\n\t\t});\n\t}\n\n\tprogress(message: string, config?: FFSnackBarConfig) {\n\t\tconst ref = this.snackBar.openFromComponent(SnackBarProgressComponent, config);\n\n\t\tref.instance.message = message;\n\t\tref.instance.cdr.markForCheck();\n\n\t\treturn new FFProgressSnackBarRef(ref);\n\t}\n}\n\nclass FFProgressSnackBarRef {\n\tconstructor(private ref: MatSnackBarRef<SnackBarProgressComponent>) {}\n\n\tsetMessage(message: string) {\n\t\tthis.ref.instance.message = message;\n\t\tthis.ref.instance.cdr.markForCheck();\n\t}\n\n\tsetCompleted(completed: boolean) {\n\t\tthis.ref.instance.completed = completed;\n\t\tthis.ref.instance.cdr.markForCheck();\n\t}\n\n\tdismiss() {\n\t\tthis.ref.dismiss();\n\t}\n}\n\ninterface FFSnackBarConfig extends MatSnackBarConfig {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SnackBarService } from './snackbar.service';\nimport { SnackBarProgressComponent } from './snackbar-progress.component';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\n\nexport * from './snackbar.service';\n\n@NgModule({\n\timports: [CommonModule, MatSnackBarModule, MatProgressSpinnerModule],\n\tdeclarations: [SnackBarProgressComponent],\n\tproviders: [SnackBarService],\n})\nexport class FFSnackbarModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, OnChanges, OnInit } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\n\n@Component({\n    selector: 'button[ff-button],a[ff-button]',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: `\n\t\t<div class=\"ff-button__text\" [style.visibility]=\"loading ? 'hidden' : 'visible'\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t\t<mat-spinner\n\t\t\t*ngIf=\"loading\"\n\t\t\t@fade\n\t\t\tcolor=\"warn\"\n\t\t\tclass=\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-5 h-5\"></mat-spinner>\n\t`,\n    animations: [\n        trigger('fade', [\n            state('in', style({ opacity: 1 })),\n            transition(':enter', [style({ opacity: 0 }), animate(300)]),\n            transition(':leave', animate(300, style({ opacity: 0 }))),\n        ]),\n    ],\n    host: {\n        '[attr.disabled]': '(disabled || loading) ? true : null',\n    },\n    styles: [\n        `\n\t\t\t:host ::ng-deep .mat-progress-spinner circle,\n\t\t\t.mat-spinner circle {\n\t\t\t\tstroke: #fff !important;\n\t\t\t}\n\n\t\t\t:host[disabled] {\n\t\t\t\topacity: 0.5;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t`,\n    ],\n    standalone: false\n})\nexport class ButtonComponent implements OnInit, OnChanges {\n\t@Input() loading = false;\n\t@Input() disabled = false;\n\n\t@Input() variation: 'flat' | 'secondary' | 'stroked' | 'plain' = 'flat';\n\t@Input() color: 'primary' | 'danger' | 'gray' = 'gray';\n\t@Input() size: 'x-small' | 'small' | 'default' | 'large' = 'default';\n\t@HostBinding('class')\n\tprivate clazz = '';\n\n\tconstructor() {}\n\n\tngOnInit() {\n\t\tthis.clazz = this.getClassString();\n\t}\n\n\tngOnChanges() {\n\t\tthis.clazz = this.getClassString();\n\t}\n\n\tprivate getClassString() {\n\t\tconst classes: string[] = [\n\t\t\t'ff-button',\n\t\t\t'inline-block',\n\t\t\t'border',\n\t\t\t'relative',\n\t\t\t'focus:outline-none',\n\t\t\t'focus:ring-2',\n\t\t\t'focus:ring-offset-2',\n\t\t];\n\n\t\tswitch (this.variation) {\n\t\t\tcase 'flat':\n\t\t\t\tclasses.push('border-transparent', 'text-white');\n\t\t\t\tswitch (this.color) {\n\t\t\t\t\tcase 'primary':\n\t\t\t\t\t\tclasses.push('bg-primary-600', 'hover:bg-primary-700', 'focus:ring-primary-500');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'danger':\n\t\t\t\t\t\tclasses.push('bg-red-600', 'hover:bg-red-700', 'focus:ring-primary-500');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'gray':\n\t\t\t\t\t\tclasses.push('bg-gray-600', 'hover:bg-gray-700', 'focus:ring-primary-500');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'secondary':\n\t\t\t\tclasses.push('border-transparent');\n\t\t\t\tswitch (this.color) {\n\t\t\t\t\tcase 'primary':\n\t\t\t\t\t\tclasses.push(\n\t\t\t\t\t\t\t'text-primary-700',\n\t\t\t\t\t\t\t'bg-primary-100',\n\t\t\t\t\t\t\t'hover:bg-primary-200',\n\t\t\t\t\t\t\t'focus:ring-primary-500'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'danger':\n\t\t\t\t\t\tclasses.push('text-red-700', 'bg-red-100', 'hover:bg-red-200', 'focus:ring-red-500');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'gray':\n\t\t\t\t\t\tclasses.push('text-gray-700', 'bg-gray-100', 'hover:bg-gray-200', 'focus:ring-primary-500');\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'stroked':\n\t\t\t\tclasses.push('bg-white');\n\t\t\t\tswitch (this.color) {\n\t\t\t\t\tcase 'primary':\n\t\t\t\t\t\tclasses.push(\n\t\t\t\t\t\t\t'border-primary-300',\n\t\t\t\t\t\t\t'text-primary-600',\n\t\t\t\t\t\t\t'bg-primary-100',\n\t\t\t\t\t\t\t'hover:bg-primary-50',\n\t\t\t\t\t\t\t'focus:ring-primary-500'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'danger':\n\t\t\t\t\t\tclasses.push(\n\t\t\t\t\t\t\t'border-red-300',\n\t\t\t\t\t\t\t'text-red-600',\n\t\t\t\t\t\t\t'bg-red-100',\n\t\t\t\t\t\t\t'hover:bg-red-50',\n\t\t\t\t\t\t\t'focus:ring-red-500'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'gray':\n\t\t\t\t\t\tclasses.push('border-gray-300', 'text-gray-700', 'hover:bg-gray-50', 'focus:ring-primary-500');\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'plain':\n\t\t\t\tclasses.push('border-transparent', 'bg-transparent');\n\t\t\t\tswitch (this.color) {\n\t\t\t\t\tcase 'primary':\n\t\t\t\t\t\tclasses.push('text-primary-600', 'hover:bg-primary-50', 'focus:ring-primary-500');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'danger':\n\t\t\t\t\t\tclasses.push('text-red-600', 'hover:bg-red-50', 'focus:ring-red-500');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'gray':\n\t\t\t\t\t\tclasses.push('text-gray-700', 'hover:bg-gray-50', 'focus:ring-primary-500');\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t}\n\n\t\tswitch (this.size) {\n\t\t\tcase 'x-small':\n\t\t\t\tclasses.push('px-2.5', 'py-1.5', 'text-xs', 'font-medium', 'rounded');\n\t\t\t\tbreak;\n\t\t\tcase 'small':\n\t\t\t\tclasses.push('px-3', 'py-2', 'text-sm', 'font-medium', 'rounded-md', 'leading-4');\n\t\t\t\tbreak;\n\t\t\tcase 'default':\n\t\t\t\tclasses.push('px-4', 'py-2', 'text-sm', 'font-medium', 'rounded-md');\n\t\t\t\tbreak;\n\t\t\tcase 'large':\n\t\t\t\tclasses.push('px-6', 'py-3', 'text-base', 'font-medium', 'rounded-md');\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { ButtonComponent } from './button.component';\nimport { CommonModule } from '@angular/common';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\nexport * from './button.component';\n\n@NgModule({\n\timports: [CommonModule, MatProgressSpinnerModule],\n\tdeclarations: [ButtonComponent],\n\texports: [ButtonComponent],\n})\nexport class FFButtonModule {}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n    selector: 'ff-dialog-confirm',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: `\n\t\t<div class=\"px-4 pt-5 pb-4 sm:p-6 sm:pb-4\">\n\t\t\t<div class=\"sm:flex sm:items-start\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-100 sm:mx-0 sm:h-10 sm:w-10\"\n\t\t\t\t\t*ngIf=\"type === DialogType.Danger\">\n\t\t\t\t\t<svg\n\t\t\t\t\t\tclass=\"h-6 w-6 text-red-600\"\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\taria-hidden=\"true\">\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\tstroke-linejoin=\"round\"\n\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\td=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\" />\n\t\t\t\t\t</svg>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mt-3 text-center sm:mt-0 sm:text-left\" [class.sm:ml-4]=\"type === DialogType.Danger\">\n\t\t\t\t\t<h3 class=\"text-lg leading-6 font-medium text-gray-900 dark:text-white\" *ngIf=\"title\">\n\t\t\t\t\t\t{{ title }}\n\t\t\t\t\t</h3>\n\t\t\t\t\t<div class=\"mt-2\">\n\t\t\t\t\t\t<p class=\"text-sm text-gray-500 dark:text-gray-400\">\n\t\t\t\t\t\t\t{{ message }}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"bg-gray-50 dark:bg-transparent px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse\">\n\t\t\t<div class=\"w-full sm:ml-3 sm:w-auto\">\n\t\t\t\t<button\n\t\t\t\t\tff-button\n\t\t\t\t\t[color]=\"type === DialogType.Danger ? 'danger' : 'primary'\"\n\t\t\t\t\tclass=\"w-full sm:w-auto\"\n\t\t\t\t\t(click)=\"confirm()\">\n\t\t\t\t\t{{ confirmText }}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div class=\"mt-3 w-full sm:ml-3 sm:w-auto sm:mt-0\">\n\t\t\t\t<button\n\t\t\t\t\tclass=\"w-full sm:w-auto\"\n\t\t\t\t\tff-button\n\t\t\t\t\tvariation=\"secondary\"\n\t\t\t\t\t*ngIf=\"showCancelButton\"\n\t\t\t\t\t(click)=\"cancel()\">\n\t\t\t\t\t{{ cancelText }}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t`,\n    standalone: false\n})\nexport class DialogConfirmComponent implements OnInit {\n\t@Input() title: string;\n\t@Input() message: string;\n\t@Input() confirmText: string;\n\t@Input() cancelText: string;\n\t@Input() showCancelButton = true;\n\t@Input() type = DialogType.Default;\n\n\t@Output() onCancel: () => void;\n\t@Output() onConfirm: () => void;\n\t@Output() buttonPress = new EventEmitter<DialogConfirmButton>();\n\n\tDialogType = DialogType;\n\n\tconstructor(private translate: TranslateService) {}\n\n\tngOnInit() {\n\t\tif (!this.confirmText) {\n\t\t\tthis.confirmText = this.translate.instant('actions.delete');\n\t\t}\n\n\t\tif (!this.cancelText) {\n\t\t\tthis.cancelText = this.translate.instant('actions.cancel');\n\t\t}\n\t}\n\n\tconfirm() {\n\t\tif (this.onConfirm) {\n\t\t\tthis.onConfirm();\n\t\t}\n\t\tthis.buttonPress.next(DialogConfirmButton.Confirm);\n\t}\n\n\tcancel() {\n\t\tif (this.onCancel) {\n\t\t\tthis.onCancel();\n\t\t}\n\n\t\tthis.buttonPress.next(DialogConfirmButton.Cancel);\n\t}\n}\n\nexport enum DialogConfirmButton {\n\tCancel = 'cancel',\n\tConfirm = 'confirm',\n}\n\nexport enum DialogType {\n\tDefault = 'default',\n\tDanger = 'danger',\n}\n","import { Injectable, TemplateRef } from '@angular/core';\nimport { ComponentType } from '@angular/cdk/portal';\nimport { Observable } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\nimport { first } from 'rxjs/operators';\nimport { DialogConfirmComponent, DialogType } from './dialog-confirm.component';\nimport { MatDialog, MatDialogConfig, MatDialogRef } from '@angular/material/dialog';\n\n@Injectable()\nexport class DialogService {\n\tconstructor(private dialog: MatDialog, private translate: TranslateService) {}\n\n\tcreateConfirmRequest(\n\t\ttitle: string,\n\t\tmessage: string,\n\t\tconfirmText?: string,\n\t\tcancelText?: string,\n\t\ttype?: DialogType\n\t): Observable<boolean> {\n\t\treturn new Observable<boolean>((observer) => {\n\t\t\tconst ref = this.create(DialogConfirmComponent, {\n\t\t\t\tparameters: {\n\t\t\t\t\ttitle,\n\t\t\t\t\tmessage,\n\t\t\t\t\tconfirmText,\n\t\t\t\t\tcancelText,\n\t\t\t\t\tonConfirm: () => {\n\t\t\t\t\t\tref.close();\n\t\t\t\t\t\tobserver.next(true);\n\t\t\t\t\t\tobserver.complete();\n\t\t\t\t\t},\n\t\t\t\t\tonCancel: () => {\n\t\t\t\t\t\tref.close();\n\t\t\t\t\t\tobserver.next(false);\n\t\t\t\t\t\tobserver.complete();\n\t\t\t\t\t},\n\t\t\t\t\ttype,\n\t\t\t\t},\n\t\t\t\tdisableClose: true,\n\t\t\t});\n\n\t\t\treturn () => {\n\t\t\t\tif (!observer.closed) {\n\t\t\t\t\tref.close();\n\t\t\t\t\tobserver.next(false);\n\t\t\t\t\tobserver.complete();\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}\n\n\tcreateUnsavedChangesConfirmRequest(): Observable<boolean> {\n\t\treturn this.createConfirmRequest(\n\t\t\t'You have unsaved changes.',\n\t\t\tthis.translate.instant('general.confirm-unsaved-changes'),\n\t\t\tthis.translate.instant('actions.ok')\n\t\t).pipe(first());\n\t}\n\n\tcreateAlertModal(title: string, message: string, type?: DialogType) {\n\t\tconst ref = this.create(DialogConfirmComponent, {\n\t\t\tparameters: {\n\t\t\t\ttitle,\n\t\t\t\tmessage,\n\t\t\t\tconfirmText: 'OK',\n\t\t\t\tshowCancelButton: false,\n\t\t\t\ttype,\n\t\t\t},\n\t\t});\n\n\t\tref.componentInstance.onConfirm = () => {\n\t\t\tref.close();\n\t\t};\n\n\t\treturn ref;\n\t}\n\n\tcreate<T>(componentOrTemplateRef: ComponentType<T> | TemplateRef<T>, options: DialogOptions<T> = {}) {\n\t\tif (!options.panelClass) {\n\t\t\toptions.panelClass = [];\n\t\t}\n\n\t\tif (options.panelClass && typeof options.panelClass === 'string') {\n\t\t\toptions.panelClass = [options.panelClass as string];\n\t\t}\n\n\t\t(options.panelClass as string[]).push('ff-dialog-no-padding');\n\n\t\tif (options.clean) {\n\t\t\t(options.panelClass as string[]).push('ff-dialog-clean');\n\t\t}\n\n\t\tif (!options.width) {\n\t\t\tswitch (options.size) {\n\t\t\t\tcase DialogSize.Small:\n\t\t\t\t\toptions.width = '250px';\n\t\t\t\t\tbreak;\n\t\t\t\tcase DialogSize.Medium:\n\t\t\t\t\toptions.width = '500px';\n\t\t\t\t\tbreak;\n\t\t\t\tcase DialogSize.Large:\n\t\t\t\t\toptions.width = '700px';\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\toptions.width = '500px';\n\t\t\t}\n\t\t}\n\n\t\tif (options.parameters) {\n\t\t\toptions.data = options.parameters;\n\t\t}\n\n\t\tconst matRef = this.dialog.open(componentOrTemplateRef, options);\n\t\tconst ref = new DialogRef<T>(matRef);\n\n\t\t// pass the @Input parameters to the instance\n\t\tif (matRef.componentInstance) {\n\t\t\tObject.assign(matRef.componentInstance, options.parameters);\n\t\t}\n\n\t\treturn ref;\n\t}\n}\n\nexport enum DialogSize {\n\tSmall,\n\tMedium,\n\tLarge,\n}\n\nexport interface DialogOptions<T> extends MatDialogConfig {\n\tparameters?: Partial<T>;\n\tsize?: DialogSize;\n\tclean?: boolean;\n}\n\nexport class DialogRef<T> {\n\tconstructor(public matRef: MatDialogRef<T>) {}\n\n\tclose() {\n\t\tthis.matRef.close();\n\t}\n\n\tget componentInstance() {\n\t\treturn this.matRef.componentInstance;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { DialogConfirmComponent } from './dialog-confirm.component';\nimport { DialogService } from './dialog.service';\nimport { CommonModule } from '@angular/common';\nimport { FFButtonModule } from '../button';\nimport { MatDialogModule } from '@angular/material/dialog';\n\nexport * from './dialog-confirm.component';\nexport * from './dialog.service';\n\n@NgModule({\n\timports: [CommonModule, MatDialogModule, FFButtonModule],\n\texports: [DialogConfirmComponent],\n\tdeclarations: [DialogConfirmComponent],\n\tproviders: [DialogService],\n})\nexport class FFDialogModule {}\n","export class ApiError extends Error {\n\tconstructor(public readonly httpStatus: number,\n\t\t\t\tpublic readonly code: string,\n\t\t\t\tmessage?: string,\n\t\t\t\tpublic readonly data?: any) {\n\t\tsuper(message);\n\t}\n}\n","import { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { Inject, Injectable, InjectionToken } from '@angular/core';\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { ApiError } from './api-error';\n\nexport const FF_API_CONFIG = new InjectionToken<ApiServiceConfig>('FF_API_CONFIG');\n\nexport interface ApiServiceConfig {\n\tbaseUrl: string;\n\terrorTransformer?: ApiErrorTransformer;\n}\n\nexport type ApiErrorTransformer = (error: HttpErrorResponse) => ApiError;\n\nconst defaultApiErrorTransformer: ApiErrorTransformer = (error: HttpErrorResponse) => {\n\treturn new ApiError(\n\t\terror.status,\n\t\terror?.error.code || null,\n\t\terror.error?.message || null,\n\t\terror?.error.data || null\n\t);\n};\n\n@Injectable()\nexport class ApiService {\n\tprivate baseUrl: string;\n\n\tconstructor(private httpClient: HttpClient, @Inject(FF_API_CONFIG) private config: ApiServiceConfig) {\n\t\tthis.baseUrl = this.config.baseUrl;\n\t}\n\n\tget<T>(url: string, queryParams?: any) {\n\t\treturn this.httpClient\n\t\t\t.get<T>(this.constructApiUrl(url), {\n\t\t\t\tparams: queryParams,\n\t\t\t})\n\t\t\t.pipe(catchError(this.handleError.bind(this)));\n\t}\n\n\tgetText(url: string, queryParams?: any) {\n\t\treturn this.httpClient.get(this.constructApiUrl(url), {\n\t\t\tobserve: 'response',\n\t\t\tresponseType: 'text',\n\t\t\tparams: queryParams,\n\t\t});\n\t}\n\n\tpost<T>(url: string, data?: any): Observable<any> {\n\t\treturn this.httpClient.post<T>(this.constructApiUrl(url), data).pipe(catchError(this.handleError.bind(this)));\n\t}\n\n\tpostText(url: string, data?: any) {\n\t\treturn this.httpClient.post(this.constructApiUrl(url), data, {\n\t\t\tresponseType: 'text',\n\t\t});\n\t}\n\n\tpostBlob(url: string, data?: any) {\n\t\treturn this.httpClient.post(this.constructApiUrl(url), data, {\n\t\t\tresponseType: 'blob',\n\t\t});\n\t}\n\n\tpostArrayBuffer(url: string, data?: any) {\n\t\treturn this.httpClient.post(this.constructApiUrl(url), data, {\n\t\t\tresponseType: 'arraybuffer',\n\t\t});\n\t}\n\n\tpatch(url: string, data?: any): Observable<any> {\n\t\treturn this.httpClient.patch(this.constructApiUrl(url), data).pipe(catchError(this.handleError.bind(this)));\n\t}\n\n\tput(url: string, data?: any): Observable<any> {\n\t\treturn this.httpClient.put(this.constructApiUrl(url), data).pipe(catchError(this.handleError.bind(this)));\n\t}\n\n\tdelete(url: string): Observable<any> {\n\t\treturn this.httpClient.delete(this.constructApiUrl(url)).pipe(catchError(this.handleError.bind(this)));\n\t}\n\n\tconstructApiUrl(url: string) {\n\t\treturn this.baseUrl + url;\n\t}\n\n\tgetRestEntityPath(path: string, id: string) {\n\t\treturn `${path}/${id}`;\n\t}\n\n\tprivate handleError(error: HttpErrorResponse) {\n\t\tif (this.config?.errorTransformer) {\n\t\t\treturn throwError(this.config.errorTransformer(error));\n\t\t}\n\n\t\treturn throwError(defaultApiErrorTransformer(error));\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { ApiService } from './api.service';\nimport { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\n\nexport * from './api.service';\nexport * from './api-error';\n\n@NgModule({ exports: [],\n    declarations: [], imports: [], providers: [ApiService, provideHttpClient(withInterceptorsFromDi())] })\nexport class FFApiModule {}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n    selector: 'ff-avatar',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: `\n\t\t<img [src]=\"imageUrl\" class=\"absolute inset-0 w-full h-full object-cover\" *ngIf=\"imageUrl\" alt=\"Avatar\" />\n\t\t<span class=\"text-white uppercase\">{{ initials }}</span>\n\t`,\n    host: {\n        class: 'ff-avatar rounded-full overflow-hidden relative flex items-center justify-center text-white',\n    },\n    standalone: false\n})\nexport class AvatarComponent {\n\t@Input() imageUrl: string;\n\t@Input() userName: string;\n\t@Input() userHashBase: string;\n\n\tprivate readonly defaultColors = [\n\t\t'#f44336',\n\t\t'#e91e63',\n\t\t'#9c27b0',\n\t\t'#673ab7',\n\t\t'#3f51b5',\n\t\t'#2196f3',\n\t\t'#03a9f4',\n\t\t'#00bcd4',\n\t\t'#009688',\n\t\t'#4caf50',\n\t\t'#8bc34a',\n\t\t'#cddc39',\n\t\t'#ffeb3b',\n\t\t'#ffc107',\n\t\t'#ff9800',\n\t\t'#ff5722',\n\t\t'#795548',\n\t\t'#607d8b',\n\t];\n\n\tget initials() {\n\t\tif (this.userName) {\n\t\t\tconst parts = this.userName.split(' ');\n\t\t\tlet full = '';\n\t\t\tif (parts[0]) {\n\t\t\t\tfull += parts[0].substr(0, 1);\n\t\t\t}\n\n\t\t\tif (parts[1]) {\n\t\t\t\tfull += parts[1].substr(0, 1);\n\t\t\t}\n\n\t\t\treturn full;\n\t\t}\n\n\t\treturn '';\n\t}\n\n\t@HostBinding('style.background-color')\n\tget avatarColor() {\n\t\tconst hashBase = this.userHashBase || this.userName || '';\n\t\tconst code = Math.abs(hashCode(hashBase));\n\t\treturn this.defaultColors[code % this.defaultColors.length];\n\t}\n}\n\nfunction hashCode(s) {\n\tlet h = 0;\n\tconst l = s.length;\n\tlet i = 0;\n\tif (l > 0) {\n\t\twhile (i < l) {\n\t\t\t// tslint:disable-next-line:no-bitwise\n\t\t\th = ((h << 5) - h + s.charCodeAt(i++)) | 0;\n\t\t}\n\t}\n\treturn h;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AvatarComponent } from './avatar.component';\n\nexport * from './avatar.component';\n\n@NgModule({\n\timports: [CommonModule],\n\tdeclarations: [AvatarComponent],\n\texports: [AvatarComponent],\n})\nexport class FFAvatarModule {}\n","import { Injectable, Injector, Type } from '@angular/core';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\nimport { ActivatedRoute, NavigationEnd, Params, PRIMARY_OUTLET, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\n\n@Injectable()\nexport class BreadcrumbsService {\n\tbreadcrumbs$ = new BehaviorSubject<Breadcrumb[]>([]);\n\n\tconstructor(private activatedRoute: ActivatedRoute, private router: Router, private injector: Injector) {\n\t\tif (this.router.navigated) {\n\t\t\tthis.updateBreadcrumbs();\n\t\t}\n\n\t\t// subscribe to the NavigationEnd event\n\t\tthis.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(() => {\n\t\t\tthis.updateBreadcrumbs();\n\t\t});\n\t}\n\n\tprivate updateBreadcrumbs() {\n\t\tconst breadcrumbs: Breadcrumb[] = [];\n\n\t\tlet currentRoute: ActivatedRoute = this.activatedRoute.root;\n\n\t\twhile (currentRoute.children.length > 0) {\n\t\t\tconst childrenRoutes: ActivatedRoute[] = currentRoute.children;\n\n\t\t\tfor (const route of childrenRoutes) {\n\t\t\t\tcurrentRoute = route;\n\t\t\t\tif (route.outlet !== PRIMARY_OUTLET) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (route.routeConfig?.data?.breadcrumbs) {\n\t\t\t\t\tconst breadcrumbConfig: BreadcrumbConfigItem[] = route.routeConfig.data.breadcrumbs;\n\n\t\t\t\t\tfor (const item of breadcrumbConfig) {\n\t\t\t\t\t\tlet label: Observable<string>;\n\n\t\t\t\t\t\tconst params: Params = {};\n\t\t\t\t\t\tfor (const path of route.pathFromRoot) {\n\t\t\t\t\t\t\tObject.assign(params, path.snapshot.params);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (item.label) {\n\t\t\t\t\t\t\tlabel = of(item.label);\n\t\t\t\t\t\t} else if (item.resolver) {\n\t\t\t\t\t\t\tconst resolver = this.injector.get(item.resolver);\n\t\t\t\t\t\t\tlabel = resolver.getTitle(params);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet url: string;\n\t\t\t\t\t\tif (!item.url) {\n\t\t\t\t\t\t\tconst routeUrl = route.pathFromRoot\n\t\t\t\t\t\t\t\t.map((r) => r.snapshot.url.map((segment) => segment.path).join('/'))\n\t\t\t\t\t\t\t\t.filter((segment) => segment)\n\t\t\t\t\t\t\t\t.join('/');\n\t\t\t\t\t\t\turl = `/${routeUrl}`;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\turl = this.formatUrl(item.url, params);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tbreadcrumbs.push({\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\tparams,\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.breadcrumbs$.next(breadcrumbs);\n\t}\n\n\tprivate formatUrl(url: string, params: Params) {\n\t\tconst parts = url.split('/');\n\t\treturn parts\n\t\t\t.map((p) => {\n\t\t\t\tif (p.startsWith(':') && params.hasOwnProperty(p.substring(1))) {\n\t\t\t\t\treturn params[p.substring(1)];\n\t\t\t\t}\n\n\t\t\t\treturn p;\n\t\t\t})\n\t\t\t.join('/');\n\t}\n}\n\nexport interface BreadcrumbConfigItem {\n\tlabel: string;\n\tresolver?: Type<BreadcrumbResolver>;\n\turl?: string;\n}\n\nexport interface Breadcrumb {\n\turl: string;\n\tparams: Params;\n\tlabel: Observable<string>;\n}\n\nexport interface BreadcrumbResolver {\n\tgetTitle(params: any): Observable<string>;\n}\n","import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { Params } from '@angular/router';\n\n@Component({\n    selector: 'ff-breadcrumbs-list',\n    template: ` <ol class=\"ff-breadcrumbs__list\">\n\t\t<li *ngFor=\"let item of items; let last = last\" [class.active]=\"last\">\n\t\t\t<a *ngIf=\"!last && item.url\" [routerLink]=\"getUrl(item)\">\n\t\t\t\t{{ item.label | async }}\n\t\t\t</a>\n\n\t\t\t<a *ngIf=\"!last && !item.url\" href=\"javascript:void(0)\" (click)=\"itemClick.emit(item)\">\n\t\t\t\t{{ item.label | async }}\n\t\t\t</a>\n\n\t\t\t<span *ngIf=\"last\">{{ item.label | async }}</span>\n\t\t\t<mat-icon>chevron_right</mat-icon>\n\t\t</li>\n\t</ol>`,\n    standalone: false\n})\nexport class BreadcrumbsListComponent {\n\t@HostBinding('class') clazz = 'ff-breadcrumbs';\n\n\t@Input() items: BreadcrumbListItem[];\n\t@Output() itemClick = new EventEmitter<BreadcrumbListItem>();\n\n\tconstructor() {}\n\n\tgetUrl(breadcrumb: BreadcrumbListItem) {\n\t\tif (!breadcrumb.url) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn Object.keys(breadcrumb.params)?.length ? [breadcrumb.url, breadcrumb.params] : [breadcrumb.url];\n\t}\n}\n\nexport interface BreadcrumbListItem {\n\tlabel: Observable<string>;\n\turl?: string;\n\tparams?: Params;\n}\n","import { Component, HostBinding, ViewEncapsulation } from '@angular/core';\nimport { Breadcrumb, BreadcrumbsService } from './breadcrumbs.service';\nimport { Observable } from 'rxjs';\nimport { BreadcrumbListItem } from './breadcrumbs-list.component';\n\n@Component({\n    selector: 'ff-breadcrumbs',\n    template: ` <ff-breadcrumbs-list [items]=\"items$ | async\"></ff-breadcrumbs-list> `,\n    encapsulation: ViewEncapsulation.None,\n    standalone: false\n})\nexport class BreadcrumbsComponent {\n\t@HostBinding('class') clazz = 'ff-breadcrumbs';\n\n\tbreadcrumbs$: Observable<Breadcrumb[]>;\n\titems$: Observable<BreadcrumbListItem[]>;\n\n\tconstructor(private breadcrumbService: BreadcrumbsService) {\n\t\tthis.breadcrumbs$ = this.breadcrumbService.breadcrumbs$;\n\t\tthis.items$ = this.breadcrumbs$;\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { BreadcrumbsComponent } from './breadcrumbs.component';\nimport { RouterModule } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { BreadcrumbsService } from './breadcrumbs.service';\nimport { MatIconModule } from '@angular/material/icon';\nimport { BreadcrumbsListComponent } from './breadcrumbs-list.component';\n\nexport { BreadcrumbResolver } from './breadcrumbs.service';\n\nexport * from './breadcrumbs-list.component';\nexport * from './breadcrumbs.component';\n\n@NgModule({\n\tdeclarations: [BreadcrumbsListComponent, BreadcrumbsComponent],\n\tproviders: [BreadcrumbsService],\n\timports: [RouterModule, CommonModule, MatIconModule],\n\texports: [BreadcrumbsComponent, BreadcrumbsListComponent],\n})\nexport class FFBreadcrumbsModule {\n\tconstructor() {}\n}\n","import { Injectable, InjectionToken, Injector } from '@angular/core';\nimport { combineLatest, Observable, of } from 'rxjs';\nimport { map, switchMap } from 'rxjs/operators';\nimport { Route, CanActivateFn } from '@angular/router';\n\nexport enum PermissionMode {\n\tREAD = 1,\n\tWRITE = 2,\n}\n\nexport interface Permission<T = string> {\n\tid: T;\n\tlevel: PermissionMode;\n}\n\nexport class PermissionState<T = string> {\n\tpermissions$: Observable<Permission<T>[]>;\n}\n\n@Injectable()\nexport class PermissionManager<T = string> {\n\tconstructor(private state: PermissionState<T>) {}\n\n\tcanRead(type: T): Observable<boolean> {\n\t\treturn this.getPermissionLevelForType(type).pipe(\n\t\t\tmap((level) => {\n\t\t\t\treturn level ? level >= PermissionMode.READ : false;\n\t\t\t})\n\t\t);\n\t}\n\n\tcanWrite(type: T): Observable<boolean> {\n\t\treturn this.getPermissionLevelForType(type).pipe(\n\t\t\tmap((level) => {\n\t\t\t\treturn level ? level >= PermissionMode.WRITE : false;\n\t\t\t})\n\t\t);\n\t}\n\n\tcanReadSome(types: T[]) {\n\t\treturn combineLatest(\n\t\t\ttypes.map((perm) => {\n\t\t\t\treturn this.canRead(perm);\n\t\t\t})\n\t\t).pipe(\n\t\t\tmap((canReadArray) => {\n\t\t\t\treturn canReadArray.some((c) => c);\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate getPermissionLevelForType(type: T) {\n\t\treturn this.getPermissions().pipe(\n\t\t\tmap((permissions) => {\n\t\t\t\tconst permission = permissions.find((p) => p.id === type);\n\t\t\t\treturn permission ? permission.level : null;\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate getPermissions(): Observable<Permission<T>[]> {\n\t\treturn this.state.permissions$;\n\t}\n}\n\nexport type PermissionCheckerFactory = (type: string) => PermissionChecker;\n\nexport const PERMISSION_CHECKER_TOKEN = new InjectionToken<PermissionCheckerFactory>('PermissionCheckerFactory');\n\nexport class PermissionChecker {\n\tconstructor(private manager: PermissionManager, private type: string) {}\n\n\tcanRead() {\n\t\treturn this.manager.canRead(this.type);\n\t}\n\n\tcanWrite() {\n\t\treturn this.manager.canWrite(this.type);\n\t}\n}\n\n@Injectable()\nexport abstract class BasePermissionGuard<T>  {\n\tconstructor(private manager: PermissionManager<T>) {}\n\n\tabstract getPermissions(): Permission<T>[] | Observable<Permission<T>[]>;\n\n\tcanActivate() {\n\t\tlet permissions = this.getPermissions();\n\t\tif (Array.isArray(permissions)) {\n\t\t\tpermissions = of(permissions);\n\t\t}\n\n\t\treturn permissions.pipe(\n\t\t\tswitchMap((perms) => {\n\t\t\t\treturn canReadPermissions(this.manager, perms);\n\t\t\t})\n\t\t);\n\t}\n}\n\nexport function canReadPermissions<T>(manager: PermissionManager<T>, permissions: Permission<T>[]) {\n\treturn combineLatest(\n\t\tpermissions.map((perm) => {\n\t\t\treturn manager.canRead(perm.id);\n\t\t})\n\t).pipe(\n\t\tmap((canReadArray) => {\n\t\t\tif (canReadArray.some((c) => c)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t})\n\t);\n}\n\nexport function canRouteBeActivated(route: Route, injector: Injector) {\n\tif (!(route.path && route.path.indexOf(':') < 0)) {\n\t\treturn of(false);\n\t}\n\tif (!route.canActivate) {\n\t\treturn of(true);\n\t}\n\treturn combineLatest(\n\t\troute.canActivate.map((guard) => {\n\t\t\tconst g = injector.get(guard);\n\t\t\tif (typeof g === 'function') {\n\t\t\t\treturn g();\n\t\t\t} else {\n\t\t\t\treturn (g as {\n    canActivate: CanActivateFn;\n}).canActivate(null, null);\n\t\t\t}\n\t\t})\n\t).pipe(\n\t\tmap((canActivateArray) => {\n\t\t\treturn canActivateArray.every((a) => a);\n\t\t})\n\t);\n}\n","import { ModuleWithProviders, NgModule, Provider } from '@angular/core';\nimport { PermissionManager } from './permission-manager';\n\nexport * from './permission-manager';\n\n@NgModule({\n\timports: [],\n\texports: [],\n\tdeclarations: [],\n\tproviders: [PermissionManager],\n})\nexport class FFPermissionsModule {\n\tstatic forRoot(config: FFPermissionsModuleConfig = {}): ModuleWithProviders<FFPermissionsModule> {\n\t\treturn {\n\t\t\tngModule: FFPermissionsModule,\n\t\t\tproviders: [config.permissionState],\n\t\t};\n\t}\n}\n\nexport interface FFPermissionsModuleConfig {\n\tpermissionState?: Provider;\n}\n","\nimport { Injectable } from '@angular/core';\nimport { map } from 'rxjs/operators';\nimport { Observable, of } from 'rxjs';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DialogConfirmButton, DialogConfirmComponent, DialogService } from '../dialog/index';\n\nexport interface HasUnsaved {\n\thasUnsaved(): boolean;\n}\n\n@Injectable()\nexport class CanDeactivateUnsavedService {\n\tconstructor(private translate: TranslateService, private dialog: DialogService) {}\n\n\topenConfirmReloadNativeDialog(component: HasUnsaved, event) {\n\t\tif (component.hasUnsaved()) {\n\t\t\tevent.preventDefault();\n\t\t\tconst text = this.translate.instant('ff-can-deactivate-unsaved.text');\n\t\t\treturn (event.returnValue = confirm(text));\n\t\t}\n\t\treturn true;\n\t}\n\n\topenConfirmUnsavedDialog(): Observable<boolean> {\n\t\tconst ref = this.dialog.create<DialogConfirmComponent>(DialogConfirmComponent, {\n\t\t\tparameters: {\n\t\t\t\ttitle: this.translate.instant('ff-can-deactivate-unsaved.title'),\n\t\t\t\tmessage: this.translate.instant('ff-can-deactivate-unsaved.text'),\n\t\t\t\tconfirmText: this.translate.instant('ff-can-deactivate-unsaved.confirm-text'),\n\t\t\t},\n\t\t});\n\n\t\treturn ref.componentInstance.buttonPress.pipe(\n\t\t\tmap((btn) => {\n\t\t\t\tref.close();\n\t\t\t\treturn btn === DialogConfirmButton.Confirm;\n\t\t\t})\n\t\t);\n\t}\n}\n\n@Injectable()\nexport class CanDeactivateUnsaved  {\n\tconstructor(private canDeactivateUnsavedService: CanDeactivateUnsavedService) {}\n\n\tcanDeactivate(component: HasUnsaved): Observable<boolean> {\n\t\tif (!component.hasUnsaved) {\n\t\t\tconsole.error(`${component.constructor?.name} is required to implement the HasUnsaved interface`);\n\t\t\treturn of(true);\n\t\t}\n\t\tconst hasUnsavedData = component.hasUnsaved();\n\t\tif (!hasUnsavedData) {\n\t\t\treturn of(true);\n\t\t}\n\n\t\treturn this.canDeactivateUnsavedService.openConfirmUnsavedDialog();\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { CanDeactivateUnsaved, CanDeactivateUnsavedService } from './can-deactivate';\nimport { FFDialogModule } from '../dialog/index';\nimport { TranslateModule, TranslateService } from '@ngx-translate/core';\n\nimport de from './i18n/de.json';\nimport en from './i18n/en.json';\n\nexport * from './can-deactivate';\n\n@NgModule({\n\timports: [FFDialogModule, TranslateModule],\n\texports: [],\n\tdeclarations: [],\n\tproviders: [CanDeactivateUnsaved, CanDeactivateUnsavedService],\n})\nexport class FFCanDeactivateUnsavedModule {\n\tconstructor(private translate: TranslateService) {\n\t\tthis.translate.setTranslation('de', de, true);\n\t\tthis.translate.setTranslation('en', en, true);\n\t}\n}\n","import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChildren,\n\tHostBinding,\n\tInput,\n\tQueryList,\n\tTemplateRef,\n\tViewChild,\n} from '@angular/core';\nimport { FFFormFieldComponent } from '../core/form-field.component';\n\n@Component({\n    selector: 'ff-option',\n    template: `\n\t\t<ng-template #innerTemplate>\n\t\t\t<ng-content></ng-content>\n\t\t</ng-template>\n\t`,\n    standalone: false\n})\nexport class FFOptionComponent {\n\t@Input() value: any;\n\n\t@ViewChild('innerTemplate') public innerTemplate: TemplateRef<any>;\n}\n\n@Component({\n    selector: 'ff-select',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: `\n\t\t<label *ngIf=\"label && !labelDirective\" class=\"ff-input__label\">{{ label }}</label>\n\n\t\t<label class=\"ff-input__label\" *ngIf=\"labelDirective && !label\">\n\t\t\t<ng-content select=\"ff-label\"></ng-content>\n\t\t</label>\n\n\t\t<mat-form-field appearance=\"outline\">\n\t\t\t<ng-container matPrefix *ngIf=\"prefixEnabled\">\n\t\t\t\t<ng-content select=\"[ffPrefix]\"></ng-content>\n\t\t\t</ng-container>\n\n\t\t\t<ng-container matSuffix *ngIf=\"suffixEnabled\">\n\t\t\t\t<ng-content select=\"[ffSuffix]\"></ng-content>\n\t\t\t</ng-container>\n\n\t\t\t<mat-select\n\t\t\t\t[placeholder]=\"placeholder\"\n\t\t\t\t[formControl]=\"formControl\"\n\t\t\t\t[compareWith]=\"compareWith\"\n\t\t\t\t[multiple]=\"multiple\"\n\t\t\t\t(blur)=\"onBlur($event)\">\n\t\t\t\t<mat-option *ngFor=\"let option of options\" [value]=\"option.value\">\n\t\t\t\t\t<ng-template [ngTemplateOutlet]=\"option.innerTemplate\"></ng-template>\n\t\t\t\t</mat-option>\n\t\t\t</mat-select>\n\n\t\t\t<mat-error *ngIf=\"errorMessage$ | async as errorMessage\">{{ errorMessage$ | async }}</mat-error>\n\t\t\t<mat-hint *ngIf=\"hint\">{{ hint }}</mat-hint>\n\t\t</mat-form-field>\n\t`,\n    standalone: false\n})\nexport class FFSelectComponent extends FFFormFieldComponent {\n\t@HostBinding('class.ff-select') ffSelectClazz = true;\n\n\t@Input() multiple = false;\n\t@ContentChildren(FFOptionComponent, { descendants: true }) options: QueryList<FFOptionComponent>;\n\n\t@Input() compareWith: (o1: any, o2: any) => boolean = (o1, o2) => o1 === o2;\n}\n","import { NgModule } from '@angular/core';\nimport { FFOptionComponent, FFSelectComponent } from './select.component';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { FFFormFieldModule } from '../core/form-field.component';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatSelectModule } from '@angular/material/select';\nimport { FFFormControlValidationMessageModule } from '../validation-message';\n\nexport * from './select.component';\n\n@NgModule({\n\timports: [\n\t\tCommonModule,\n\t\tFormsModule,\n\t\tReactiveFormsModule,\n\t\tMatFormFieldModule,\n\t\tMatSelectModule,\n\t\tFFFormControlValidationMessageModule,\n\t\tFFFormFieldModule,\n\t],\n\texports: [FFSelectComponent, FFOptionComponent, MatSelectModule, FFFormFieldModule],\n\tdeclarations: [FFSelectComponent, FFOptionComponent],\n\tproviders: [],\n})\nexport class FFSelectModule {}\n","import {\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tHostBinding,\n\tInput,\n\tOnChanges,\n\tOnInit,\n} from '@angular/core';\n\n@Component({\n    selector: 'ff-badge',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: ` <ng-content></ng-content> `,\n    standalone: false\n})\nexport class BadgeComponent implements OnInit, OnChanges {\n\tprivate static CLASS_MAP = {\n\t\tgray: 'bg-gray-50 text-gray-600 ring-gray-500/10 dark:bg-gray-400/10 dark:text-gray-400 dark:ring-gray-400/20',\n\t\terror: 'bg-red-50 text-red-700 ring-red-600/10 dark:bg-red-400/10 dark:text-red-400 dark:ring-red-400/20',\n\t\twarn: 'bg-yellow-50 text-yellow-800 ring-yellow-600/20 dark:bg-yellow-400/10 dark:text-yellow-500 dark:ring-yellow-400/20',\n\t\tinfo_indigo:\n\t\t\t'bg-indigo-50 text-indigo-700 ring-indigo-700/10 dark:bg-indigo-400/10 dark:text-indigo-400 dark:ring-indigo-400/30',\n\t\tinfo_purple:\n\t\t\t'bg-purple-50 text-purple-700 ring-purple-700/10 dark:bg-purple-400/10 dark:text-purple-400 dark:ring-purple-400/30',\n\t\tinfo_blue:\n\t\t\t'bg-blue-50 text-blue-700 ring-blue-700/10 dark:bg-blue-400/10 dark:text-blue-400 dark:ring-blue-400/30',\n\t\tsuccess:\n\t\t\t'bg-green-50 text-green-700 ring-green-600/20 dark:bg-green-500/10 dark:text-green-400 dark:ring-green-500/20',\n\t};\n\n\t@Input() size: 'small' | 'default' = 'default';\n\t@Input() type: 'gray' | 'info_blue' | 'info_indigo' | 'info_purple' | 'error' | 'warn' | 'success' = 'gray';\n\t@HostBinding('class') clazz = '';\n\n\tconstructor(private cdr: ChangeDetectorRef) {\n\t\tthis.cdr.detach();\n\t}\n\n\tngOnInit() {\n\t\tthis.ngOnChanges();\n\t}\n\n\tngOnChanges() {\n\t\tthis.clazz = this.getClassList();\n\t\tthis.cdr.markForCheck();\n\t}\n\n\tprivate getClassList() {\n\t\tconst classes: string[] = [\n\t\t\t'ff-badge rounded-md text-xs font-medium inline-flex ring-1 ring-inset items-center',\n\t\t];\n\n\t\tclasses.push(BadgeComponent.CLASS_MAP[this.type]);\n\n\t\tswitch (this.size) {\n\t\t\tcase 'default':\n\t\t\t\tclasses.push('px-2 py-1');\n\t\t\t\tbreak;\n\t\t\tcase 'small':\n\t\t\t\tclasses.push('px-1.5 py-0.5');\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { BadgeComponent } from './badge.component';\n\nexport * from './badge.component';\n\n@NgModule({\n\timports: [],\n\texports: [BadgeComponent],\n\tdeclarations: [BadgeComponent],\n\tproviders: [],\n})\nexport class FFBadgeModule {}\n","import { Component, ChangeDetectionStrategy, OnInit, Input, HostBinding, OnChanges } from '@angular/core';\n\n@Component({\n    selector: '[ff-tab]',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    template: ` <ng-content></ng-content> `,\n    standalone: false\n})\nexport class TabComponent implements OnInit, OnChanges {\n\t@Input() selected = false;\n\n\t@HostBinding('class')\n\tprivate clazz = '';\n\n\tprivate static DEFAULT_CLASSES = 'px-3 py-2 font-medium text-sm rounded-md';\n\n\tconstructor() {}\n\n\tngOnInit() {\n\t\tthis.clazz = this.getClass();\n\t}\n\n\tngOnChanges() {\n\t\tthis.clazz = this.getClass();\n\t}\n\n\tgetClass() {\n\t\tif (this.selected) {\n\t\t\treturn `${TabComponent.DEFAULT_CLASSES} bg-primary-100 text-primary-700 dark:bg-gray-700 dark:text-white`;\n\t\t} else {\n\t\t\treturn `${TabComponent.DEFAULT_CLASSES} text-gray-500 hover:text-gray-700 dark:text-gray-200 dark:hover:text-white`;\n\t\t}\n\t}\n}\n","import { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { TabComponent } from './tab.component';\n\nexport * from './tab.component';\n\n@NgModule({\n\timports: [CommonModule],\n\texports: [TabComponent],\n\tdeclarations: [TabComponent],\n\tproviders: [],\n})\nexport class FFTabsModule {}\n","/*\n * Public API Surface of @freshfox/ng-core\n */\n\nexport * from './core/form-validator';\nexport * from './core/device-settings';\nexport * from './core/utils';\nexport * from './core/form-field.component';\nexport * from './core/typed-form-group';\nexport * from './input/index';\nexport * from './snackbar/index';\nexport * from './button/index';\nexport * from './dialog/index';\nexport * from './api/index';\nexport * from './avatar/index';\nexport * from './breadcrumbs/index';\nexport * from './permissions/index';\nexport * from './can-deactivate-unsaved/index';\nexport * from './select/index';\nexport * from './validation-message/index';\nexport * from './badge/index';\nexport * from './tabs/index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1","i3.ButtonComponent","i3","i1.BreadcrumbsService","i2.BreadcrumbsListComponent","i2.DialogService","i4","i5"],"mappings":"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"}