UNPKG

@rxap/directives

Version:

This package provides a set of Angular directives to simplify common tasks such as setting background images, confirming clicks, making elements contenteditable, and more. It includes directives for handling UI interactions, applying styles, and managing

1 lines 48.6 kB
{"version":3,"file":"rxap-directives.mjs","sources":["../../../../../packages/angular/directives/src/lib/background-image.directive.ts","../../../../../packages/angular/directives/src/lib/avatar-background-image.directive.ts","../../../../../packages/angular/directives/src/lib/confirm-click.ts","../../../../../packages/angular/directives/src/lib/contenteditable.directive.ts","../../../../../packages/angular/directives/src/lib/full-width.directive.ts","../../../../../packages/angular/directives/src/lib/if-truthy.directive.ts","../../../../../packages/angular/directives/src/lib/is-dev-mode.directive.ts","../../../../../packages/angular/directives/src/lib/method-template.directive.ts","../../../../../packages/angular/directives/src/lib/method.directive.ts","../../../../../packages/angular/directives/src/lib/movable-divider.directive.ts","../../../../../packages/angular/directives/src/lib/prevent-default.directive.ts","../../../../../packages/angular/directives/src/lib/share-button.directive.ts","../../../../../packages/angular/directives/src/lib/stop-immediate-propagation.directive.ts","../../../../../packages/angular/directives/src/lib/stop-propagation.directive.ts","../../../../../packages/angular/directives/src/index.ts","../../../../../packages/angular/directives/src/rxap-directives.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n Inject,\n Input,\n isDevMode,\n OnChanges,\n OnInit,\n Renderer2,\n SimpleChanges,\n} from '@angular/core';\nimport { ImageLoaderService } from '@rxap/services';\n\nexport enum GlobalStyleOptions {\n INITIAL = 'initial',\n INHERIT = 'inherit',\n}\n\n// TODO : complete description\n// https://www.w3schools.com/cssref/css3_pr_background-size.asp\nexport enum BackgroundSizeOptions {\n AUTO = 'auto',\n COVER = 'cover',\n CONTAIN = 'contain',\n}\n\nexport type BackgroundSize =\n | GlobalStyleOptions\n | BackgroundSizeOptions\n | string;\n\n// TODO : complete options and description\n// https://www.w3schools.com/cssref/pr_background-repeat.asp\nexport enum BackgroundRepeatOptions {\n NO_REPEAT = 'no-repeat',\n}\n\nexport type BackgroundRepeat = GlobalStyleOptions | BackgroundRepeatOptions;\n\n// TODO : complete options and description\n// https://www.w3schools.com/cssref/pr_background-position.asp\nexport enum BackgroundPositionOptions {\n CENTER = 'center',\n CENTER_CENTER = 'center center',\n}\n\nexport type BackgroundPosition =\n | GlobalStyleOptions\n | BackgroundPositionOptions\n | string;\n\n@Directive({\n selector: '[rxapBackgroundImage]',\n standalone: true,\n})\nexport class BackgroundImageDirective implements OnChanges, OnInit {\n @Input('rxapBackgroundImage')\n public imageUrl: string | null | undefined = null;\n\n @Input()\n public placeholderImageUrl!: string;\n\n @Input()\n public size?: BackgroundSize;\n\n @Input()\n public repeat?: BackgroundRepeat;\n\n @Input()\n public position?: BackgroundPosition;\n\n // TODO : add inputs for all 'background-*' styles\n\n constructor(\n @Inject(ElementRef)\n private readonly host: ElementRef,\n @Inject(Renderer2)\n private readonly renderer: Renderer2,\n @Inject(ImageLoaderService)\n private readonly imageLoader: ImageLoaderService,\n ) {\n }\n\n public ngOnInit() {\n if (this.size) {\n this.sizeChange(this.size);\n }\n if (this.position) {\n this.positionChange(this.position);\n }\n if (this.repeat) {\n this.repeatChange(this.repeat);\n }\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n for (const propertyKey of Object.keys(changes)) {\n switch (propertyKey) {\n case 'imageUrl':\n if (changes['imageUrl'].currentValue) {\n this.imageUrlChange(changes['imageUrl'].currentValue);\n }\n break;\n\n case 'size':\n this.sizeChange(changes['size'].currentValue);\n break;\n\n case 'repeat':\n this.repeatChange(changes['repeat'].currentValue);\n break;\n\n case 'position':\n this.positionChange(changes['position'].currentValue);\n break;\n }\n }\n }\n\n private repeatChange(repeat: string): void {\n this.renderer.setStyle(\n this.host.nativeElement,\n 'background-repeat',\n repeat,\n );\n }\n\n private positionChange(position: string): void {\n this.renderer.setStyle(\n this.host.nativeElement,\n 'background-position',\n position,\n );\n }\n\n private sizeChange(size: string): void {\n this.renderer.setStyle(this.host.nativeElement, 'background-size', size);\n }\n\n private async imageUrlChange(imageUrl: string): Promise<void> {\n if (this.placeholderImageUrl) {\n this.renderer.setStyle(\n this.host.nativeElement,\n 'background-image',\n `url(\"${ this.placeholderImageUrl }\")`,\n );\n }\n if (imageUrl) {\n await this.imageLoader.load(imageUrl);\n this.renderer.setStyle(\n this.host.nativeElement,\n 'background-image',\n `url(\"${ imageUrl }\")`,\n );\n } else {\n if (isDevMode()) {\n console.warn('background image url is not defined');\n }\n }\n }\n}\n\n\n","import {\n Directive,\n ElementRef,\n Inject,\n Input,\n Renderer2,\n} from '@angular/core';\nimport {\n AvatarImageService,\n ImageLoaderService,\n} from '@rxap/services';\nimport {\n BackgroundImageDirective,\n BackgroundRepeatOptions,\n BackgroundSizeOptions,\n} from './background-image.directive';\n\n@Directive({\n selector: '[rxapAvatarBackgroundImage]',\n standalone: true,\n})\nexport class AvatarBackgroundImageDirective extends BackgroundImageDirective {\n @Input('rxapAvatarBackgroundImage')\n public override imageUrl: string | null | undefined = null;\n public override size = BackgroundSizeOptions.COVER;\n public override repeat = BackgroundRepeatOptions.NO_REPEAT;\n\n constructor(\n @Inject(ElementRef)\n host: ElementRef,\n @Inject(Renderer2)\n renderer: Renderer2,\n @Inject(ImageLoaderService)\n imageLoader: ImageLoaderService,\n @Inject(AvatarImageService)\n private readonly avatarImage: AvatarImageService,\n ) {\n super(host, renderer, imageLoader);\n }\n\n @Input()\n public set name(name: string) {\n if (!this.placeholderImageUrl) {\n this.placeholderImageUrl = this.avatarImage.get({ name });\n }\n }\n}\n\n\n","import {\n HostListener,\n Injectable,\n Input,\n} from '@angular/core';\nimport { coerceBoolean } from '@rxap/utilities';\n\n@Injectable()\nexport abstract class ConfirmClick {\n\n private _hasConfirmDirective = false;\n\n @Input('rxapConfirm')\n public set hasConfirmDirective(value: any) {\n this._hasConfirmDirective = coerceBoolean(value);\n }\n\n @HostListener('click')\n public onClick() {\n if (!this._hasConfirmDirective) {\n this.execute();\n }\n }\n\n @HostListener('confirmed')\n public onConfirm() {\n this.execute();\n }\n\n protected abstract execute(): void;\n\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n} from '@angular/core';\nimport { DebounceCall } from '@rxap/utilities';\nimport { Method } from '@rxap/pattern';\n\nexport interface ContenteditableEvent {\n value: string;\n parameters?: any;\n}\n\n@Directive({\n selector: '[rxapContenteditable]',\n standalone: true,\n})\nexport class ContenteditableDirective {\n\n @HostBinding('attr.contenteditable')\n public contenteditable = true;\n\n @HostBinding('attr.spellcheck')\n public spellcheck = false;\n\n @Input('rxapContenteditable')\n public method?: Method<any, ContenteditableEvent>;\n\n @Output('rxapContenteditable')\n // eslint-disable-next-line @angular-eslint/no-output-native\n public change = new EventEmitter<ContenteditableEvent>();\n\n @Input()\n public parameters?: any;\n\n @Input()\n public initial?: string;\n\n constructor(private readonly elementRef: ElementRef) {\n }\n\n @HostListener('click', [ '$event' ])\n public onClick($event: Event) {\n $event.stopPropagation();\n }\n\n @HostListener('input', [ '$event' ])\n @DebounceCall(1000)\n public async onInput($event: any) {\n const value = (($event.target as HTMLElement).textContent)?.trim();\n if (value && value.length >= 2) {\n const event: ContenteditableEvent = {\n value,\n parameters: this.parameters,\n };\n this.change.emit(event);\n const result = await this.method?.call(event);\n if (result && typeof result === 'string') {\n this.initial = this.elementRef.nativeElement.innerText = result;\n } else if (this.initial) {\n this.elementRef.nativeElement.innerText = this.initial;\n }\n }\n }\n\n}\n\n\n\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[rxapFullWidth]',\n standalone: true,\n})\nexport class FullWidthDirective {\n\n @HostBinding('style.width')\n public width = '100%';\n\n}\n\n\n","import {\n ChangeDetectorRef,\n Directive,\n Input,\n OnChanges,\n SimpleChanges,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport { Method } from '@rxap/pattern';\n\nexport interface IfTruthyDirectiveTemplateContext<Data> {\n $implicit: Data;\n}\n\n// TODO : mv to rxap package\n\n@Directive({\n selector: '[rxapIfTruthy]',\n standalone: true,\n})\nexport class IfTruthyDirective<Data, Parameters = any> implements OnChanges {\n\n @Input('rxapIfTruthy')\n public method!: Method<Data, Parameters>;\n @Input('rxapIfTruthyParameters')\n public parameters!: Parameters;\n @Input('rxapIfTruthyTrackBy')\n public trackBy!: (data: Data) => any;\n private _last?: Data;\n\n constructor(\n private readonly templateRef: TemplateRef<IfTruthyDirectiveTemplateContext<Data>>,\n private readonly viewContainerRef: ViewContainerRef,\n private readonly cdr: ChangeDetectorRef,\n ) {\n }\n\n /**\n * Asserts the correct type of the context for the template that `NgForOf` will render.\n *\n * The presence of this method is a signal to the Ivy template type-check compiler that the\n * `NgForOf` structural directive renders its template with a specific context type.\n */\n static ngTemplateContextGuard<T>(\n dir: IfTruthyDirective<T>,\n ctx: any,\n ): ctx is IfTruthyDirectiveTemplateContext<T> {\n return true;\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n\n if (this.method && this.parameters) {\n this.execute();\n }\n\n }\n\n protected async execute() {\n\n const result = await this.method.call(this.parameters);\n\n if (this.hasChanged(result)) {\n\n this.viewContainerRef.clear();\n\n if (result) {\n this.viewContainerRef.createEmbeddedView(this.templateRef, { $implicit: result });\n }\n\n }\n\n this.cdr.detectChanges();\n\n }\n\n protected hasChanged(current: Data) {\n if (this._last !== undefined) {\n const currentTrackBy = this.trackBy ? this.trackBy(current) : current;\n const lastTrackBy = this.trackBy ? this.trackBy(this._last) : this._last;\n return currentTrackBy !== lastTrackBy;\n }\n\n return true;\n }\n\n\n}\n\n\n","import {\n Directive,\n EmbeddedViewRef,\n isDevMode,\n OnDestroy,\n OnInit,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\n\n@Directive({\n selector: '[rxapIsDevMode]',\n standalone: true,\n})\nexport class IsDevModeDirective implements OnInit, OnDestroy {\n\n private embeddedViewRef?: EmbeddedViewRef<unknown>;\n\n constructor(\n private readonly template: TemplateRef<unknown>,\n private readonly vcr: ViewContainerRef,\n ) {}\n\n ngOnInit() {\n if (isDevMode()) {\n this.embeddedViewRef = this.vcr.createEmbeddedView(this.template);\n }\n }\n\n ngOnDestroy() {\n this.embeddedViewRef?.destroy();\n this.vcr.clear();\n }\n\n}\n","import {\n ChangeDetectorRef,\n Directive,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n isDevMode,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewContainerRef,\n} from '@angular/core';\nimport { ToggleSubject } from '@rxap/rxjs';\nimport { Method } from '@rxap/pattern';\n\nexport interface MethodTemplateDirectiveContext<ReturnType = any> {\n $implicit: ReturnType;\n}\n\nexport interface MethodTemplateDirectiveErrorContext {\n $implicit: Error;\n message: string;\n}\n\n@Directive({\n selector: '[rxapMethod]',\n exportAs: 'rxapMethod',\n standalone: true,\n})\nexport class MethodTemplateDirective<ReturnType = any, Parameters = any> implements OnInit, OnChanges {\n\n @Input('rxapMethodCall')\n public method!: Method<ReturnType, Parameters>;\n @Input('rxapMethodParameters')\n public parameters?: Parameters;\n @Input('rxapMethodError')\n public errorTemplate?: TemplateRef<MethodTemplateDirectiveErrorContext>;\n @Input('rxapMethodLoading')\n public loadingTemplate?: TemplateRef<void>;\n @Input('rxapMethodWithoutParameters')\n public withoutParameters = false;\n @Input()\n public immediately = false;\n @Output('executed')\n public executed$ = new EventEmitter();\n @Output('failure')\n public failure$ = new EventEmitter<Error>();\n @Output('successful')\n public successful$ = new EventEmitter<ReturnType>();\n /**\n * true - a remote method call is in progress\n */\n @Output('executing')\n public executing$ = new ToggleSubject();\n @Output()\n public embedded = new EventEmitter();\n\n constructor(\n @Inject(TemplateRef)\n private readonly template: TemplateRef<MethodTemplateDirectiveContext<ReturnType>>,\n @Inject(ViewContainerRef)\n private readonly viewContainerRef: ViewContainerRef,\n @Inject(ChangeDetectorRef)\n protected readonly cdr: ChangeDetectorRef,\n ) {\n }\n\n static ngTemplateContextGuard<T>(dir: MethodTemplateDirective<T>, ctx: any):\n ctx is MethodTemplateDirectiveContext<T> {\n return true;\n }\n\n public ngOnChanges(changes: SimpleChanges) {\n const parametersChanges = changes['parameters'];\n if (parametersChanges) {\n this.execute(parametersChanges.currentValue);\n }\n }\n\n public ngOnInit() {\n this.renderLoadingTemplate();\n if (this.withoutParameters) {\n this.execute();\n }\n }\n\n @HostListener('confirmed')\n public onConfirmed() {\n return this.execute();\n }\n\n public async execute(parameters: Parameters | undefined = this.parameters): Promise<void> {\n this.executing$.enable();\n try {\n const result = await this.method.call(parameters);\n this.executed(result);\n this.renderTemplate(result);\n this.successful(result);\n } catch (error: any) {\n if (isDevMode()) {\n console.error(`Method directive execution failed:`, error.message);\n }\n this.renderErrorTemplate(error);\n this.failure(error);\n } finally {\n this.executing$.disable();\n }\n }\n\n public setParameter<Key extends keyof Parameters>(parameterKey: Key, value: Parameters[Key]): void {\n this.updateParameters({ [parameterKey]: value } as any);\n }\n\n public updateParameters(parameters: Partial<Parameters>): void {\n this.parameters = { ...(this.parameters ?? {}), ...parameters } as any;\n }\n\n protected executed(result: any) {\n this.executed$.emit(result);\n }\n\n protected failure(error: Error) {\n this.failure$.emit(error);\n }\n\n protected successful(result: ReturnType) {\n this.successful$.emit(result);\n }\n\n protected renderErrorTemplate(error: Error) {\n if (this.errorTemplate) {\n this.viewContainerRef.clear();\n if (this.errorTemplate) {\n this.viewContainerRef.createEmbeddedView(this.errorTemplate,\n {\n $implicit: error,\n message: error.message,\n },\n );\n }\n }\n }\n\n protected renderTemplate(result: ReturnType) {\n\n this.viewContainerRef.clear();\n\n try {\n this.viewContainerRef.createEmbeddedView(this.template, { $implicit: result });\n } catch (error: any) {\n this.renderErrorTemplate(error);\n console.error(error.message);\n throw error;\n }\n\n this.embedded.emit();\n\n this.cdr.detectChanges();\n\n }\n\n private renderLoadingTemplate() {\n if (this.loadingTemplate) {\n this.viewContainerRef.clear();\n this.viewContainerRef.createEmbeddedView(this.loadingTemplate);\n }\n }\n\n}\n\n\n","import {\n Directive,\n EventEmitter,\n HostListener,\n Input,\n isDevMode,\n OnInit,\n Output,\n} from '@angular/core';\nimport { coerceBoolean } from '@rxap/utilities';\nimport { ToggleSubject } from '@rxap/rxjs';\nimport { Method } from '@rxap/pattern';\n\n@Directive({\n selector: '[rxapMethod]',\n exportAs: 'rxapMethod',\n standalone: true,\n})\nexport class MethodDirective<ReturnType = any, Parameters = any> implements OnInit {\n\n @Input('rxapMethod')\n public method!: Method<ReturnType, Parameters>;\n @Input()\n public parameters?: Parameters;\n @Input()\n public immediately = false;\n @Output('executed')\n public executed$ = new EventEmitter();\n @Output('failure')\n public failure$ = new EventEmitter<Error>();\n @Output('successful')\n public successful$ = new EventEmitter<ReturnType>();\n /**\n * true - a remote method call is in progress\n */\n public executing$ = new ToggleSubject();\n\n private _hasConfirmDirective = false;\n\n @Input('rxapConfirm')\n public set hasConfirmDirective(value: any) {\n this._hasConfirmDirective = coerceBoolean(value);\n }\n\n public ngOnInit() {\n if (this.immediately) {\n this.execute();\n }\n }\n\n @HostListener('confirmed')\n public onConfirmed() {\n return this.execute();\n }\n\n @HostListener('click')\n public onClick() {\n if (!this._hasConfirmDirective) {\n return this.execute();\n } else {\n if (isDevMode()) {\n console.debug('Skip method call. Wait for confirmation.');\n }\n }\n return Promise.resolve();\n }\n\n public async execute(): Promise<void> {\n this.executing$.enable();\n try {\n const result = await this.method.call(this.parameters);\n this.executed(result);\n this.successful(result);\n } catch (error: any) {\n if (isDevMode()) {\n console.error(`Method directive execution failed:`, error.message);\n }\n this.failure(error);\n } finally {\n this.executing$.disable();\n }\n }\n\n public setParameter<Key extends keyof Parameters>(parameterKey: Key, value: Parameters[Key]): void {\n this.updateParameters({ [parameterKey]: value } as any);\n }\n\n public updateParameters(parameters: Partial<Parameters>): void {\n this.parameters = { ...(this.parameters ?? {}), ...parameters } as any;\n }\n\n protected executed(result: any) {\n this.executed$.emit(result);\n }\n\n protected failure(error: Error) {\n this.failure$.emit(error);\n }\n\n protected successful(result: ReturnType) {\n this.successful$.emit(result);\n }\n\n}\n\n\n","import {\n Directive,\n HostBinding,\n HostListener,\n Input,\n isDevMode,\n OnDestroy,\n OnInit,\n Renderer2,\n} from '@angular/core';\nimport { Required } from '@rxap/utilities';\nimport {\n fromEvent,\n Subscription,\n} from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\n@Directive({\n selector: '[rxapMovableDivider]',\n standalone: true,\n})\nexport class MovableDividerDirective implements OnDestroy, OnInit {\n\n @Input({ required: true })\n public containerElement!: HTMLDivElement;\n\n @Input({ required: true })\n public fixedElement!: HTMLDivElement;\n\n @Input()\n public origin: 'right' | 'left' = 'right';\n @HostBinding('style.cursor')\n public cursor = 'ew-resize';\n private _subscription = new Subscription();\n /**\n * Indicates that the divider is moved with mouse down\n * @private\n */\n private _moveDivider = false;\n /**\n * Holds the current fixed element width.\n * If null the move divider feature was not yet used and the initial\n * fixed element width is not calculated\n * @private\n */\n private _fixedElementWidth: number | null = null;\n\n constructor(private readonly renderer: Renderer2) {\n }\n\n public ngOnDestroy() {\n this._subscription?.unsubscribe();\n }\n\n public ngOnInit() {\n this._subscription.add(fromEvent<MouseEvent>(this.containerElement, 'mousemove').pipe(\n tap(($event: MouseEvent) => {\n if (this._moveDivider) {\n if (!this._fixedElementWidth) {\n this._fixedElementWidth = this.fixedElement.clientWidth as number;\n }\n if (this.origin === 'right') {\n this._fixedElementWidth = $event.clientX - this.containerElement.getBoundingClientRect().left;\n } else if (this.origin === 'left') {\n if (isDevMode()) {\n console.log({\n clientWidth: this.containerElement.clientWidth,\n clientX: $event.clientX,\n clientLeft: this.containerElement.getBoundingClientRect().left,\n });\n }\n this._fixedElementWidth =\n this.containerElement.clientWidth - $event.clientX + this.containerElement.getBoundingClientRect().left;\n } else {\n throw new Error(`The origin '${ this.origin }' is not supported.`);\n }\n const width = this._fixedElementWidth + 'px';\n this.renderer.setStyle(this.fixedElement, 'max-width', width);\n this.renderer.setStyle(this.fixedElement, 'min-width', width);\n this.renderer.setStyle(this.fixedElement, 'flex-basis', width);\n }\n }),\n ).subscribe());\n this._subscription.add(fromEvent(this.containerElement, 'mouseup').pipe(\n tap(() => this._moveDivider = false),\n ).subscribe());\n }\n\n @HostListener('mousedown')\n public onMousedown() {\n this._moveDivider = true;\n }\n\n}\n\n\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\n\n@Directive({\n selector: '[rxapPreventDefault]',\n standalone: true,\n})\nexport class PreventDefaultDirective {\n\n @HostListener('click', [ '$event' ])\n public onClick($event: Event): void {\n $event.preventDefault();\n }\n\n}\n\n\n","import {\n Directive,\n HostListener,\n Injectable,\n Input,\n} from '@angular/core';\nimport { Required } from '@rxap/utilities';\n\n@Injectable({ providedIn: 'root' })\nexport class ShareService {\n\n public async share(data: { url?: string, text?: string, title?: string, files?: ReadonlyArray<File> }) {\n\n if (this.isShareSupported()) {\n\n if ((navigator as any).canShare(data)) {\n\n await (navigator as any).share(data);\n\n } else {\n console.debug('share data:', data);\n throw new Error('Can not share data. Data is invalid!');\n }\n\n } else {\n alert('Native share is not supported!');\n }\n\n }\n\n private isShareSupported(): boolean {\n return !!(navigator as any).share;\n }\n\n}\n\n@Directive({\n selector: '[rxapShareButton]',\n standalone: true,\n})\nexport class ShareButtonDirective {\n\n @Input()\n public url!: string;\n\n @Input()\n public text!: string;\n\n @Input({ required: true })\n public title!: string;\n\n @Input()\n public files?: ReadonlyArray<File>;\n\n constructor(private readonly shareService: ShareService) {\n }\n\n @HostListener('click')\n public share() {\n this.shareService.share({\n url: this.url,\n text: this.text,\n files: this.files,\n title: this.title,\n })\n .then(() => console.log('share successfully'))\n .catch(err => console.error('share failed', err.message));\n }\n\n}\n\n\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\n\n@Directive({\n selector: '[rxapStopImmediatePropagation]',\n standalone: true,\n})\nexport class StopImmediatePropagationDirective {\n\n @HostListener('click', [ '$event' ])\n public onClick($event: Event): void {\n $event.stopImmediatePropagation();\n }\n\n}\n\n\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\n\n@Directive({\n selector: '[rxapStopPropagation]',\n standalone: true,\n})\nexport class StopPropagationDirective {\n\n @HostListener('click', [ '$event' ])\n public onClick($event: Event): void {\n $event.stopPropagation();\n }\n\n}\n\n\n","// region \nexport * from './lib/avatar-background-image.directive';\nexport * from './lib/background-image.directive';\nexport * from './lib/confirm-click';\nexport * from './lib/contenteditable.directive';\nexport * from './lib/full-width.directive';\nexport * from './lib/if-truthy.directive';\nexport * from './lib/is-dev-mode.directive';\nexport * from './lib/method-template.directive';\nexport * from './lib/method.directive';\nexport * from './lib/movable-divider.directive';\nexport * from './lib/prevent-default.directive';\nexport * from './lib/share-button.directive';\nexport * from './lib/stop-immediate-propagation.directive';\nexport * from './lib/stop-propagation.directive';\n// endregion\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}