import * as i0 from '@angular/core'; import { OnInit } from '@angular/core'; /** * For binding clicks outside a component. * * ```html *
* ... *
* ``` * * ### Import * * ```typescript * import { DevKitModule } from '@talenra/ngx-base/dev-kit'; * ``` */ declare class ClickOutsideDirective { /** Trigger for the click outside */ clickOutside: i0.OutputEmitterRef; private elementRef; private onClick; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * Prevent click event from bubbeling. * * Example usage * * @example * *
* *
* * * ### Import * * ```typescript * import { ClickStopPropagationDirective } from '@talenra/ngx-base/dev-kit'; * ``` */ declare class ClickStopPropagationDirective { /** @internal */ onClick(event: MouseEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * Support double click event. Double click is catched with `doubleClick`. Single clicks can still be catched with * `singleClick`. Note that single clicks are emitted delayed as we have to "wait" for a potential second click event. * Common `click` event is not masked and can be used side by side with `singleClick` and `doubleClick`. * * ```html *
...
* ``` * * ### Import * * ```typescript * import { DoubleClickDirective } from '@talenra/ngx-base/dev-kit'; * ``` */ declare class DoubleClickDirective implements OnInit { /** * Delay in milliseconds to wait for a second click event to be considered as double click. Default is 250ms. * * ```html *
...
* ``` */ doubleClickDelay: i0.InputSignal; /** * Emits single click events. Note that single click events are emitted delayed by `doubleClickDelay` milliseconds. * * ```html *
...
* ``` */ singleClick: i0.OutputEmitterRef; /** * Emits double click events. * * ```html *
...
* ``` */ doubleClick: i0.OutputEmitterRef; private click$; private destroyRef; /** @internal */ ngOnInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * Model of arguments passed to deprecation warning */ interface DeprecationWarningArguments { /** Name of the affected package, e.g. @talenra/ngx-base */ packageName?: string; /** Name of the affected submodule, e.g. 'form-field' for import @talenra/ngx-base/form-field */ submodule?: string; /** Name of the affected class. Hint: use `this.constructor.name` for dynamic classes. */ className?: string; /** Name of the affected member (typically a property or method) */ member?: string; /** Instructions for the user. What needs to be done? e.g. "Use xy instead." */ instructions?: string; } /** * Print a deprecation warning to the console. * * @internal */ declare const deprecationWarning: (args: DeprecationWarningArguments) => void; /** * Generate and return a random UUID * * s. https://stackoverflow.com/a/2117523/5325012 */ declare function guid(): string; /** * Values returned by the `getPlatform` function. * * ### Import * * ```typescript * import { Platform } from '@talenra/ngx-base/dev-kit'; * ``` */ declare const Platform: { readonly Linux: "linux"; readonly MacOS: "macos"; readonly Windows: "windows"; readonly Unknown: "unknown"; }; /** * Type of values returned by the `getPlatform` function. * * ### Import * * ```typescript * import { TPlatform } from '@talenra/ngx-base/dev-kit'; * ``` */ type TPlatform = (typeof Platform)[keyof typeof Platform]; /** * Returns the platform/os the user is running on. * * Used to align the app's behavior with the user's expectations (e.g. keyboard shortcuts). * * ```typescript * import { getPlatform } from '@talenra/ngx-base/dev-kit'; * console.log(`running on ${getPlatform()}`); * ``` */ declare function getPlatform(): TPlatform; export { ClickOutsideDirective, ClickStopPropagationDirective, DoubleClickDirective, Platform, deprecationWarning, getPlatform, guid }; export type { DeprecationWarningArguments, TPlatform };