@funidata/ngx-fudis
Version:
Funidata Design System.
60 lines (59 loc) • 2.44 kB
TypeScript
import { EventEmitter, OnChanges } from '@angular/core';
import { FudisComponentChanges, FudisLanguageAbbr } from '../../types/miscellaneous';
import { FudisTranslationService } from '../../services/translation/translation.service';
import { PopoverApiDirective } from '../../directives/popover/popover-api.directive';
import { FudisIdService } from '../../services/id/id.service';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
type LanguageLabel = {
key: FudisLanguageAbbr;
variant: 'standard' | 'missing';
};
type LanguageLabelArray = LanguageLabel[];
export declare class LanguageBadgeGroupComponent extends PopoverApiDirective implements OnChanges {
protected _translationService: FudisTranslationService;
private _idService;
constructor(_translationService: FudisTranslationService, _idService: FudisIdService);
/**
* Required list of translated languages for Language Badge Group
*/
translatedLanguages: FudisLanguageAbbr[];
/**
* Output Language abbreviation of clicked Badge
*/
handleClick: EventEmitter<FudisLanguageAbbr | null>;
/**
* App language from service
*/
private _currentAppLang;
/**
* App configured selectable languages from service
*/
private _selectableAppLanguages;
/**
* Generated HTML id for the group
*/
protected _id: string;
/**
* Translation for aria-label
*/
protected _groupAriaLabel: BehaviorSubject<string>;
/**
* Internal variable for matching languages and label texts
*/
protected _languageLabels: BehaviorSubject<LanguageLabelArray>;
protected _selectedLanguage: FudisLanguageAbbr | null;
/**
* Set selected language and emits clicked language
*/
protected _updateLanguage(value: FudisLanguageAbbr | null): void;
/**
* Creates an array to loop in template of wanted Language Badges
*/
private _setLanguageOptions;
private _determineSelectedBadge;
ngOnChanges(changes: FudisComponentChanges<LanguageBadgeGroupComponent>): void;
static ɵfac: i0.ɵɵFactoryDeclaration<LanguageBadgeGroupComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<LanguageBadgeGroupComponent, "fudis-language-badge-group", never, { "translatedLanguages": { "alias": "translatedLanguages"; "required": true; }; }, { "handleClick": "handleClick"; }, never, never, false, never>;
}
export {};