UNPKG

@fortawesome/angular-fontawesome

Version:
284 lines (270 loc) 15.5 kB
import * as _angular_core from '@angular/core'; import { OnInit } from '@angular/core'; import * as _angular_platform_browser from '@angular/platform-browser'; import { FlipProp, SizeProp, PullProp, RotateProp, IconName as IconName$1, IconPrefix as IconPrefix$1, FaSymbol, Transform, IconDefinition as IconDefinition$1, IconParams, TextParams, CounterParams } from '@fortawesome/fontawesome-svg-core'; export { CounterParams, FaSymbol, FlipProp, IconParams, PullProp, RotateProp, SizeProp, TextParams, Transform } from '@fortawesome/fontawesome-svg-core'; /** * Fontawesome props. */ interface FaProps { className?: string; animation?: AnimationProp; border?: boolean; fixedWidth?: boolean; counter?: boolean; inverse?: boolean; flip?: FlipProp; size?: SizeProp; pull?: PullProp; rotate?: RotateProp | string; stackItemSize?: '1x' | '2x'; } type AnimationProp = 'beat' | 'fade' | 'beat-fade' | 'bounce' | 'flip' | 'shake' | 'spin' | 'spin-reverse' | 'spin-pulse' | 'spin-pulse-reverse'; type IconPrefix = IconPrefix$1 | (string & {}); type IconName = IconName$1 | (string & {}); interface IconLookup { prefix: IconPrefix; iconName: IconName; } interface IconDefinition { prefix: IconPrefix; iconName: IconName; icon: [ number, number, string[], string, // unicode string | string[] ]; } interface IconPack { [key: string]: IconDefinition; } type IconProp = IconName | [IconPrefix, IconName] | IconLookup; declare class FaIconComponent { readonly icon: _angular_core.ModelSignal<IconProp>; /** * Specify a title for the icon. * * This text will be displayed in a tooltip on hover and presented to the * screen readers. */ readonly title: _angular_core.ModelSignal<string | undefined>; /** * Icon animation. * * Most of the animations are only available when using Font Awesome 6. With * Font Awesome 5, only 'spin' and 'spin-pulse' are supported. */ readonly animation: _angular_core.ModelSignal<AnimationProp | undefined>; readonly mask: _angular_core.ModelSignal<IconProp | undefined>; readonly flip: _angular_core.ModelSignal<FlipProp | undefined>; readonly size: _angular_core.ModelSignal<SizeProp | undefined>; readonly pull: _angular_core.ModelSignal<PullProp | undefined>; readonly border: _angular_core.ModelSignal<boolean | undefined>; readonly inverse: _angular_core.ModelSignal<boolean | undefined>; readonly symbol: _angular_core.ModelSignal<FaSymbol | undefined>; readonly rotate: _angular_core.ModelSignal<string | RotateProp | undefined>; readonly fixedWidth: _angular_core.ModelSignal<boolean | undefined>; readonly transform: _angular_core.ModelSignal<string | Transform | undefined>; /** * Specify the `role` attribute for the rendered <svg> element. * * @default 'img' */ readonly a11yRole: _angular_core.ModelSignal<string | undefined>; readonly renderedIconHTML: _angular_core.Signal<_angular_platform_browser.SafeHtml>; private readonly document; private readonly sanitizer; private readonly config; private readonly iconLibrary; private readonly stackItem; private readonly stack; constructor(); protected findIconDefinition(i: IconProp | IconDefinition): IconDefinition$1 | null; protected buildParams(): IconParams; static ɵfac: _angular_core.ɵɵFactoryDeclaration<FaIconComponent, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration<FaIconComponent, "fa-icon", never, { "icon": { "alias": "icon"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "animation": { "alias": "animation"; "required": false; "isSignal": true; }; "mask": { "alias": "mask"; "required": false; "isSignal": true; }; "flip": { "alias": "flip"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "pull": { "alias": "pull"; "required": false; "isSignal": true; }; "border": { "alias": "border"; "required": false; "isSignal": true; }; "inverse": { "alias": "inverse"; "required": false; "isSignal": true; }; "symbol": { "alias": "symbol"; "required": false; "isSignal": true; }; "rotate": { "alias": "rotate"; "required": false; "isSignal": true; }; "fixedWidth": { "alias": "fixedWidth"; "required": false; "isSignal": true; }; "transform": { "alias": "transform"; "required": false; "isSignal": true; }; "a11yRole": { "alias": "a11yRole"; "required": false; "isSignal": true; }; }, { "icon": "iconChange"; "title": "titleChange"; "animation": "animationChange"; "mask": "maskChange"; "flip": "flipChange"; "size": "sizeChange"; "pull": "pullChange"; "border": "borderChange"; "inverse": "inverseChange"; "symbol": "symbolChange"; "rotate": "rotateChange"; "fixedWidth": "fixedWidthChange"; "transform": "transformChange"; "a11yRole": "a11yRoleChange"; }, never, never, true, never>; } declare class FaDuotoneIconComponent extends FaIconComponent { /** * Swap the default opacity of each duotone icon’s layers. This will make an * icon’s primary layer have the default opacity of 40% rather than its * secondary layer. * * @default false */ readonly swapOpacity: _angular_core.InputSignal<boolean | "true" | "false" | undefined>; /** * Customize the opacity of the primary icon layer. * Valid values are in range [0, 1.0]. * * @default 1.0 */ readonly primaryOpacity: _angular_core.InputSignal<string | number | undefined>; /** * Customize the opacity of the secondary icon layer. * Valid values are in range [0, 1.0]. * * @default 0.4 */ readonly secondaryOpacity: _angular_core.InputSignal<string | number | undefined>; /** * Customize the color of the primary icon layer. * Accepts any valid CSS color value. * * @default CSS inherited color */ readonly primaryColor: _angular_core.InputSignal<string | undefined>; /** * Customize the color of the secondary icon layer. * Accepts any valid CSS color value. * * @default CSS inherited color */ readonly secondaryColor: _angular_core.InputSignal<string | undefined>; protected findIconDefinition(i: IconProp | IconDefinition): IconDefinition$1 | null; protected buildParams(): IconParams; static ɵfac: _angular_core.ɵɵFactoryDeclaration<FaDuotoneIconComponent, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration<FaDuotoneIconComponent, "fa-duotone-icon", never, { "swapOpacity": { "alias": "swapOpacity"; "required": false; "isSignal": true; }; "primaryOpacity": { "alias": "primaryOpacity"; "required": false; "isSignal": true; }; "secondaryOpacity": { "alias": "secondaryOpacity"; "required": false; "isSignal": true; }; "primaryColor": { "alias": "primaryColor"; "required": false; "isSignal": true; }; "secondaryColor": { "alias": "secondaryColor"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } /** * Fontawesome layers. */ declare class FaLayersComponent implements OnInit { readonly size: _angular_core.InputSignal<SizeProp | undefined>; readonly fixedWidth: _angular_core.InputSignal<boolean | undefined>; readonly faFw: _angular_core.Signal<boolean | undefined>; readonly classes: _angular_core.Signal<{ 'fa-fw': boolean | undefined; 'fa-layers': boolean; }>; private readonly document; private readonly config; ngOnInit(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration<FaLayersComponent, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration<FaLayersComponent, "fa-layers", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "fixedWidth": { "alias": "fixedWidth"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>; } declare class FaLayersTextComponent { readonly content: _angular_core.InputSignal<string>; readonly title: _angular_core.InputSignal<string | undefined>; readonly flip: _angular_core.InputSignal<FlipProp | undefined>; readonly size: _angular_core.InputSignal<SizeProp | undefined>; readonly pull: _angular_core.InputSignal<PullProp | undefined>; readonly border: _angular_core.InputSignal<boolean | undefined>; readonly inverse: _angular_core.InputSignal<boolean | undefined>; readonly rotate: _angular_core.InputSignal<string | RotateProp | undefined>; readonly fixedWidth: _angular_core.InputSignal<boolean | undefined>; readonly transform: _angular_core.InputSignal<string | Transform | undefined>; readonly renderedHTML: _angular_core.Signal<_angular_platform_browser.SafeHtml>; private readonly document; private readonly config; private readonly parent; private readonly sanitizer; constructor(); /** * Updating params by component props. */ protected buildParams(): TextParams; private updateContent; static ɵfac: _angular_core.ɵɵFactoryDeclaration<FaLayersTextComponent, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration<FaLayersTextComponent, "fa-layers-text", never, { "content": { "alias": "content"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "flip": { "alias": "flip"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "pull": { "alias": "pull"; "required": false; "isSignal": true; }; "border": { "alias": "border"; "required": false; "isSignal": true; }; "inverse": { "alias": "inverse"; "required": false; "isSignal": true; }; "rotate": { "alias": "rotate"; "required": false; "isSignal": true; }; "fixedWidth": { "alias": "fixedWidth"; "required": false; "isSignal": true; }; "transform": { "alias": "transform"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } declare class FaLayersCounterComponent { readonly content: _angular_core.InputSignal<string>; readonly title: _angular_core.InputSignal<string | undefined>; readonly position: _angular_core.InputSignal<"bottom-right" | "bottom-left" | "top-right" | "top-left" | undefined>; readonly renderedHTML: _angular_core.Signal<_angular_platform_browser.SafeHtml>; private document; private config; private parent; private sanitizer; constructor(); protected buildParams(): CounterParams; private updateContent; static ɵfac: _angular_core.ɵɵFactoryDeclaration<FaLayersCounterComponent, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration<FaLayersCounterComponent, "fa-layers-counter", never, { "content": { "alias": "content"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } declare class FaStackComponent { /** * Size of the stacked icon. * Note that stacked icon is by default 2 times bigger, than non-stacked icon. * You'll need to set size using custom CSS to align stacked icon with a * simple one. E.g. `fa-stack { font-size: 0.5em; }`. */ readonly size: _angular_core.InputSignal<SizeProp | undefined>; readonly classes: _angular_core.Signal<{ 'fa-stack': boolean; }>; static ɵfac: _angular_core.ɵɵFactoryDeclaration<FaStackComponent, never>; static ɵcmp: _angular_core.ɵɵComponentDeclaration<FaStackComponent, "fa-stack", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>; } declare class FaStackItemSizeDirective { /** * Specify whether icon inside {@link FaStackComponent} should be rendered in * regular size (1x) or as a larger icon (2x). */ readonly stackItemSize: _angular_core.InputSignal<"1x" | "2x">; _effect: _angular_core.EffectRef; static ɵfac: _angular_core.ɵɵFactoryDeclaration<FaStackItemSizeDirective, never>; static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FaStackItemSizeDirective, "fa-icon[stackItemSize],fa-duotone-icon[stackItemSize]", never, { "stackItemSize": { "alias": "stackItemSize"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>; } declare class FontAwesomeModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration<FontAwesomeModule, never>; static ɵmod: _angular_core.ɵɵNgModuleDeclaration<FontAwesomeModule, never, [typeof FaIconComponent, typeof FaDuotoneIconComponent, typeof FaLayersComponent, typeof FaLayersTextComponent, typeof FaLayersCounterComponent, typeof FaStackComponent, typeof FaStackItemSizeDirective], [typeof FaIconComponent, typeof FaDuotoneIconComponent, typeof FaLayersComponent, typeof FaLayersTextComponent, typeof FaLayersCounterComponent, typeof FaStackComponent, typeof FaStackItemSizeDirective]>; static ɵinj: _angular_core.ɵɵInjectorDeclaration<FontAwesomeModule>; } declare class FaConfig { /** * Default prefix to use, when one is not provided with the icon name. * * @default 'fas' */ defaultPrefix: IconPrefix; /** * Provides a fallback icon to use whilst main icon is being loaded asynchronously. * When value is null, then fa-icon component will throw an error if icon input is missing. * When value is not null, then the provided icon will be used as a fallback icon if icon input is missing. * * @default null */ fallbackIcon: IconDefinition | null; /** * Set icons to the same fixed width. * * @see {@link: https://fontawesome.com/how-to-use/on-the-web/styling/fixed-width-icons} * @default false */ fixedWidth?: boolean; /** * Automatically add Font Awesome styles to the document when icon is rendered. * * For the majority of the cases the automatically added CSS is sufficient, * please refer to the linked guide for more information on when to disable * this feature. * * @see {@link: https://github.com/FortAwesome/angular-fontawesome/blob/main/docs/guide/adding-css.md} * @default true */ set autoAddCss(value: boolean); get autoAddCss(): boolean; private _autoAddCss; static ɵfac: _angular_core.ɵɵFactoryDeclaration<FaConfig, never>; static ɵprov: _angular_core.ɵɵInjectableDeclaration<FaConfig>; } interface FaIconLibraryInterface { addIcons(...icons: IconDefinition[]): void; addIconPacks(...packs: IconPack[]): void; getIconDefinition(prefix: IconPrefix, name: IconName): IconDefinition | null; } declare class FaIconLibrary implements FaIconLibraryInterface { private definitions; addIcons(...icons: IconDefinition[]): void; addIconPacks(...packs: IconPack[]): void; getIconDefinition(prefix: IconPrefix, name: IconName): IconDefinition | null; static ɵfac: _angular_core.ɵɵFactoryDeclaration<FaIconLibrary, never>; static ɵprov: _angular_core.ɵɵInjectableDeclaration<FaIconLibrary>; } export { FaConfig, FaDuotoneIconComponent, FaIconComponent, FaIconLibrary, FaLayersComponent, FaLayersCounterComponent, FaLayersTextComponent, FaStackComponent, FaStackItemSizeDirective, FontAwesomeModule }; export type { AnimationProp, FaIconLibraryInterface, FaProps, IconDefinition, IconLookup, IconName, IconPack, IconPrefix };