/// /// import GoogleWebfontsApiService from './google-webfonts-api.service'; import WebfontLoaderService from './webfont-loader.service'; import type { TranslateFactory } from '../translate/translate-factory'; import { IComponentController } from 'angular'; export interface FontFamilyStyle { 'font-family': string; } export default class FontSelectorController implements IComponentController { private $document; private $element; private $timeout; private $q; private googleWebfontsApiService; private translateFactory; private webfontLoaderService; inputId: string; isDisabled?: boolean; isRequired?: boolean; fontFamily?: string; onFontSelect?: (param: { fontFamily: string; fontWeightOptions?: string[]; }) => void; protected delay: number; protected googleFonts: google.fonts.WebfontFamily[]; protected inputValue?: string; protected interactionMode: 'mouse' | 'keyboard'; protected isDropdownVisible: boolean; protected isFetching: boolean; protected kbSelectedIndex: number; protected keyEventElement: HTMLInputElement | null; protected loadingFonts: boolean; protected placeholderText: string; protected popularFonts: string[]; protected popularFontsText: string; protected matches: string[]; protected minLength: number; protected requiredText: string; protected showPopular: boolean; protected whatAreGoogleFonts: string; private debouncedFetchAndSetMatches; private inputElement; private observer; constructor($document: ng.IDocumentService, $element: ng.IAugmentedJQuery, $timeout: ng.ITimeoutService, $q: ng.IQService, googleWebfontsApiService: GoogleWebfontsApiService, translateFactory: TranslateFactory, webfontLoaderService: WebfontLoaderService); $onDestroy(): void; $onInit(): void; protected clearInput($event: any): void; protected clickSelect($event: any): void; dropdownWasMousedOver(): void; protected inputClick($event: any): void; protected inputValueWasChanged(): void; protected resetDropdown(): void; protected onFontSelected(fontFamily: string, $event?: MouseEvent): void; protected getFontWeightOptions(fontFamily: string | undefined): ng.IPromise; protected onFontLookup(value: string): ng.IPromise; private fetchAndSetMatches; private onClickElsewhere; private onKeyDown; private scrollToMatch; }