@mintplayer/ng-click-outside 21.1.0 → 21.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,31 +1,42 @@
1
1
  import { isPlatformBrowser } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { EventEmitter, PLATFORM_ID, Output, Input, Inject, Directive } from '@angular/core';
3
+ import { input, output, inject, ElementRef, PLATFORM_ID, effect, Directive } from '@angular/core';
4
4
 
5
5
  class ClickOutsideDirective {
6
- constructor(element, zone, platformId) {
7
- this.element = element;
8
- this.zone = zone;
9
- this.platformId = platformId;
10
- this.clickOutsideEnabled = true;
11
- this.attachOutsideOnClick = false;
12
- this.delayClickOutsideInit = false;
13
- this.emitOnBlur = false;
14
- this.exclude = [];
15
- this.excludeBeforeClick = false;
16
- this.clickOutsideEvents = '';
17
- this.clickOutside = new EventEmitter();
6
+ constructor() {
7
+ this.clickOutsideEnabled = input(true, ...(ngDevMode ? [{ debugName: "clickOutsideEnabled" }] : []));
8
+ this.attachOutsideOnClick = input(false, ...(ngDevMode ? [{ debugName: "attachOutsideOnClick" }] : []));
9
+ this.delayClickOutsideInit = input(false, ...(ngDevMode ? [{ debugName: "delayClickOutsideInit" }] : []));
10
+ this.emitOnBlur = input(false, ...(ngDevMode ? [{ debugName: "emitOnBlur" }] : []));
11
+ this.exclude = input([], ...(ngDevMode ? [{ debugName: "exclude" }] : []));
12
+ this.excludeBeforeClick = input(false, ...(ngDevMode ? [{ debugName: "excludeBeforeClick" }] : []));
13
+ this.clickOutsideEvents = input('', ...(ngDevMode ? [{ debugName: "clickOutsideEvents" }] : []));
14
+ this.clickOutside = output();
15
+ this.element = inject(ElementRef);
16
+ this.platformId = inject(PLATFORM_ID);
18
17
  this._nodesExcluded = [];
19
18
  this._events = ['click'];
19
+ this._initialized = false;
20
20
  this._initOnClickBody = this._initOnClickBody.bind(this);
21
21
  this._onClickBody = this._onClickBody.bind(this);
22
22
  this._onWindowBlur = this._onWindowBlur.bind(this);
23
+ // Replace ngOnChanges: react to changes in attachOutsideOnClick, exclude, emitOnBlur
24
+ effect(() => {
25
+ // Read the signals to track them
26
+ this.attachOutsideOnClick();
27
+ this.exclude();
28
+ this.emitOnBlur();
29
+ if (this._initialized && isPlatformBrowser(this.platformId)) {
30
+ this._init();
31
+ }
32
+ });
23
33
  }
24
34
  ngOnInit() {
25
35
  if (!isPlatformBrowser(this.platformId)) {
26
36
  return;
27
37
  }
28
38
  this._init();
39
+ this._initialized = true;
29
40
  }
30
41
  ngOnDestroy() {
31
42
  if (!isPlatformBrowser(this.platformId)) {
@@ -35,31 +46,23 @@ class ClickOutsideDirective {
35
46
  this._removeAttachOutsideOnClickListener();
36
47
  this._removeWindowBlurListener();
37
48
  }
38
- ngOnChanges(changes) {
39
- if (!isPlatformBrowser(this.platformId)) {
40
- return;
41
- }
42
- if (changes['attachOutsideOnClick'] || changes['exclude'] || changes['emitOnBlur']) {
43
- this._init();
44
- }
45
- }
46
49
  _init() {
47
- if (this.clickOutsideEvents !== '') {
48
- this._events = this.clickOutsideEvents.split(',').map(e => e.trim());
50
+ if (this.clickOutsideEvents() !== '') {
51
+ this._events = this.clickOutsideEvents().split(',').map(e => e.trim());
49
52
  }
50
53
  this._excludeCheck();
51
- if (this.attachOutsideOnClick) {
54
+ if (this.attachOutsideOnClick()) {
52
55
  this._initAttachOutsideOnClickListener();
53
56
  }
54
57
  else {
55
58
  this._initOnClickBody();
56
59
  }
57
- if (this.emitOnBlur) {
60
+ if (this.emitOnBlur()) {
58
61
  this._initWindowBlurListener();
59
62
  }
60
63
  }
61
64
  _initOnClickBody() {
62
- if (this.delayClickOutsideInit) {
65
+ if (this.delayClickOutsideInit()) {
63
66
  setTimeout(this._initClickOutsideListener.bind(this));
64
67
  }
65
68
  else {
@@ -67,9 +70,9 @@ class ClickOutsideDirective {
67
70
  }
68
71
  }
69
72
  _excludeCheck() {
70
- if (this.exclude) {
73
+ if (this.exclude()) {
71
74
  try {
72
- const nodes = this.exclude;
75
+ const nodes = this.exclude();
73
76
  if (nodes) {
74
77
  this._nodesExcluded = nodes;
75
78
  }
@@ -80,15 +83,15 @@ class ClickOutsideDirective {
80
83
  }
81
84
  }
82
85
  _onClickBody(ev) {
83
- if (!this.clickOutsideEnabled) {
86
+ if (!this.clickOutsideEnabled()) {
84
87
  return;
85
88
  }
86
- if (this.excludeBeforeClick) {
89
+ if (this.excludeBeforeClick()) {
87
90
  this._excludeCheck();
88
91
  }
89
92
  if (!this.element.nativeElement.contains(ev.target) && !!ev.target && !this._shouldExclude(ev.target)) {
90
93
  this._emit(ev);
91
- if (this.attachOutsideOnClick) {
94
+ if (this.attachOutsideOnClick()) {
92
95
  this._removeClickOutsideListener();
93
96
  }
94
97
  }
@@ -105,10 +108,10 @@ class ClickOutsideDirective {
105
108
  });
106
109
  }
107
110
  _emit(ev) {
108
- if (!this.clickOutsideEnabled) {
111
+ if (!this.clickOutsideEnabled()) {
109
112
  return;
110
113
  }
111
- this.zone.run(() => this.clickOutside.emit(ev));
114
+ this.clickOutside.emit(ev);
112
115
  }
113
116
  _shouldExclude(target) {
114
117
  for (const excludedNode of this._nodesExcluded) {
@@ -119,64 +122,32 @@ class ClickOutsideDirective {
119
122
  return false;
120
123
  }
121
124
  _initClickOutsideListener() {
122
- this.zone.runOutsideAngular(() => {
123
- this._events.forEach(e => document.addEventListener(e, this._onClickBody));
124
- });
125
+ this._events.forEach(e => document.addEventListener(e, this._onClickBody));
125
126
  }
126
127
  _removeClickOutsideListener() {
127
- this.zone.runOutsideAngular(() => {
128
- this._events.forEach(e => document.removeEventListener(e, this._onClickBody));
129
- });
128
+ this._events.forEach(e => document.removeEventListener(e, this._onClickBody));
130
129
  }
131
130
  _initAttachOutsideOnClickListener() {
132
- this.zone.runOutsideAngular(() => {
133
- this._events.forEach(e => this.element.nativeElement.addEventListener(e, this._initOnClickBody));
134
- });
131
+ this._events.forEach(e => this.element.nativeElement.addEventListener(e, this._initOnClickBody));
135
132
  }
136
133
  _removeAttachOutsideOnClickListener() {
137
- this.zone.runOutsideAngular(() => {
138
- this._events.forEach(e => this.element.nativeElement.removeEventListener(e, this._initOnClickBody));
139
- });
134
+ this._events.forEach(e => this.element.nativeElement.removeEventListener(e, this._initOnClickBody));
140
135
  }
141
136
  _initWindowBlurListener() {
142
- this.zone.runOutsideAngular(() => {
143
- window.addEventListener('blur', this._onWindowBlur);
144
- });
137
+ window.addEventListener('blur', this._onWindowBlur);
145
138
  }
146
139
  _removeWindowBlurListener() {
147
- this.zone.runOutsideAngular(() => {
148
- window.removeEventListener('blur', this._onWindowBlur);
149
- });
140
+ window.removeEventListener('blur', this._onWindowBlur);
150
141
  }
151
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive }); }
152
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.6", type: ClickOutsideDirective, isStandalone: true, selector: "[clickOutside]", inputs: { clickOutsideEnabled: "clickOutsideEnabled", attachOutsideOnClick: "attachOutsideOnClick", delayClickOutsideInit: "delayClickOutsideInit", emitOnBlur: "emitOnBlur", exclude: "exclude", excludeBeforeClick: "excludeBeforeClick", clickOutsideEvents: "clickOutsideEvents" }, outputs: { clickOutside: "clickOutside" }, usesOnChanges: true, ngImport: i0 }); }
142
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ClickOutsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
143
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.6", type: ClickOutsideDirective, isStandalone: true, selector: "[clickOutside]", inputs: { clickOutsideEnabled: { classPropertyName: "clickOutsideEnabled", publicName: "clickOutsideEnabled", isSignal: true, isRequired: false, transformFunction: null }, attachOutsideOnClick: { classPropertyName: "attachOutsideOnClick", publicName: "attachOutsideOnClick", isSignal: true, isRequired: false, transformFunction: null }, delayClickOutsideInit: { classPropertyName: "delayClickOutsideInit", publicName: "delayClickOutsideInit", isSignal: true, isRequired: false, transformFunction: null }, emitOnBlur: { classPropertyName: "emitOnBlur", publicName: "emitOnBlur", isSignal: true, isRequired: false, transformFunction: null }, exclude: { classPropertyName: "exclude", publicName: "exclude", isSignal: true, isRequired: false, transformFunction: null }, excludeBeforeClick: { classPropertyName: "excludeBeforeClick", publicName: "excludeBeforeClick", isSignal: true, isRequired: false, transformFunction: null }, clickOutsideEvents: { classPropertyName: "clickOutsideEvents", publicName: "clickOutsideEvents", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clickOutside: "clickOutside" }, ngImport: i0 }); }
153
144
  }
154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ClickOutsideDirective, decorators: [{
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ClickOutsideDirective, decorators: [{
155
146
  type: Directive,
156
147
  args: [{
157
148
  selector: '[clickOutside]',
158
- standalone: true
159
149
  }]
160
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: Object, decorators: [{
161
- type: Inject,
162
- args: [PLATFORM_ID]
163
- }] }], propDecorators: { clickOutsideEnabled: [{
164
- type: Input
165
- }], attachOutsideOnClick: [{
166
- type: Input
167
- }], delayClickOutsideInit: [{
168
- type: Input
169
- }], emitOnBlur: [{
170
- type: Input
171
- }], exclude: [{
172
- type: Input
173
- }], excludeBeforeClick: [{
174
- type: Input
175
- }], clickOutsideEvents: [{
176
- type: Input
177
- }], clickOutside: [{
178
- type: Output
179
- }] } });
150
+ }], ctorParameters: () => [], propDecorators: { clickOutsideEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "clickOutsideEnabled", required: false }] }], attachOutsideOnClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "attachOutsideOnClick", required: false }] }], delayClickOutsideInit: [{ type: i0.Input, args: [{ isSignal: true, alias: "delayClickOutsideInit", required: false }] }], emitOnBlur: [{ type: i0.Input, args: [{ isSignal: true, alias: "emitOnBlur", required: false }] }], exclude: [{ type: i0.Input, args: [{ isSignal: true, alias: "exclude", required: false }] }], excludeBeforeClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "excludeBeforeClick", required: false }] }], clickOutsideEvents: [{ type: i0.Input, args: [{ isSignal: true, alias: "clickOutsideEvents", required: false }] }], clickOutside: [{ type: i0.Output, args: ["clickOutside"] }] } });
180
151
 
181
152
  /**
182
153
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-click-outside.mjs","sources":["../../../../libs/mintplayer-ng-click-outside/src/lib/directives/click-outside/click-outside.directive.ts","../../../../libs/mintplayer-ng-click-outside/src/mintplayer-ng-click-outside.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, EventEmitter, Inject, Input, NgZone, OnChanges, OnDestroy, OnInit, Output, PLATFORM_ID, SimpleChanges } from '@angular/core';\n\n@Directive({\n selector: '[clickOutside]',\n standalone: true\n})\nexport class ClickOutsideDirective implements OnInit, OnChanges, OnDestroy {\n\n @Input() clickOutsideEnabled = true;\n\n @Input() attachOutsideOnClick = false;\n @Input() delayClickOutsideInit = false;\n @Input() emitOnBlur = false;\n\n @Input() exclude: HTMLElement[] = [];\n @Input() excludeBeforeClick = false;\n\n @Input() clickOutsideEvents = '';\n\n @Output() clickOutside: EventEmitter<Event> = new EventEmitter<Event>();\n\n private _nodesExcluded: Array<HTMLElement> = [];\n private _events: Array<string> = ['click'];\n\n constructor(\n private element: ElementRef,\n private zone: NgZone,\n @Inject(PLATFORM_ID) private platformId: Object\n ) {\n this._initOnClickBody = this._initOnClickBody.bind(this);\n this._onClickBody = this._onClickBody.bind(this);\n this._onWindowBlur = this._onWindowBlur.bind(this);\n }\n\n ngOnInit() {\n if (!isPlatformBrowser(this.platformId)) { return; }\n\n this._init();\n }\n\n ngOnDestroy() {\n if (!isPlatformBrowser(this.platformId)) { return; }\n\n this._removeClickOutsideListener();\n this._removeAttachOutsideOnClickListener();\n this._removeWindowBlurListener();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (!isPlatformBrowser(this.platformId)) { return; }\n\n if (changes['attachOutsideOnClick'] || changes['exclude'] || changes['emitOnBlur']) {\n this._init();\n }\n }\n\n private _init() {\n if (this.clickOutsideEvents !== '') {\n this._events = this.clickOutsideEvents.split(',').map(e => e.trim());\n }\n\n this._excludeCheck();\n\n if (this.attachOutsideOnClick) {\n this._initAttachOutsideOnClickListener();\n } else {\n this._initOnClickBody();\n }\n\n if (this.emitOnBlur) {\n this._initWindowBlurListener();\n }\n }\n\n private _initOnClickBody() {\n if (this.delayClickOutsideInit) {\n setTimeout(this._initClickOutsideListener.bind(this));\n } else {\n this._initClickOutsideListener();\n }\n }\n\n private _excludeCheck() {\n if (this.exclude) {\n try {\n const nodes = this.exclude;\n if (nodes) {\n this._nodesExcluded = nodes;\n }\n } catch (err) {\n console.error('[ng-click-outside] Check your exclude selector syntax.', err);\n }\n }\n }\n\n private _onClickBody(ev: Event) {\n if (!this.clickOutsideEnabled) { return; }\n\n if (this.excludeBeforeClick) {\n this._excludeCheck();\n }\n\n if (!this.element.nativeElement.contains(ev.target) && !!ev.target && !this._shouldExclude(ev.target)) {\n this._emit(ev);\n\n if (this.attachOutsideOnClick) {\n this._removeClickOutsideListener();\n }\n }\n }\n\n /**\n * Resolves problem with outside click on iframe\n * @see https://github.com/arkon/ng-click-outside/issues/32\n */\n private _onWindowBlur(ev: Event) {\n setTimeout(() => {\n if (!document.hidden) {\n this._emit(ev);\n }\n });\n }\n\n private _emit(ev: Event) {\n if (!this.clickOutsideEnabled) { return; }\n\n this.zone.run(() => this.clickOutside.emit(ev));\n }\n\n private _shouldExclude(target: EventTarget): boolean {\n for (const excludedNode of this._nodesExcluded) {\n if (excludedNode.contains(<Node>target)) {\n return true;\n }\n }\n\n return false;\n }\n\n private _initClickOutsideListener() {\n this.zone.runOutsideAngular(() => {\n this._events.forEach(e => document.addEventListener(e, this._onClickBody));\n });\n }\n\n private _removeClickOutsideListener() {\n this.zone.runOutsideAngular(() => {\n this._events.forEach(e => document.removeEventListener(e, this._onClickBody));\n });\n }\n\n private _initAttachOutsideOnClickListener() {\n this.zone.runOutsideAngular(() => {\n this._events.forEach(e => this.element.nativeElement.addEventListener(e, this._initOnClickBody));\n });\n }\n\n private _removeAttachOutsideOnClickListener() {\n this.zone.runOutsideAngular(() => {\n this._events.forEach(e => this.element.nativeElement.removeEventListener(e, this._initOnClickBody));\n });\n }\n\n private _initWindowBlurListener() {\n this.zone.runOutsideAngular(() => {\n window.addEventListener('blur', this._onWindowBlur);\n });\n }\n\n private _removeWindowBlurListener() {\n this.zone.runOutsideAngular(() => {\n window.removeEventListener('blur', this._onWindowBlur);\n });\n }\n\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mintplayer-ng-click-outside.mjs","sources":["../../../../libs/mintplayer-ng-click-outside/src/lib/directives/click-outside/click-outside.directive.ts","../../../../libs/mintplayer-ng-click-outside/src/mintplayer-ng-click-outside.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, effect, inject, input, OnDestroy, OnInit, output, PLATFORM_ID } from '@angular/core';\n\n@Directive({\n selector: '[clickOutside]',\n})\nexport class ClickOutsideDirective implements OnInit, OnDestroy {\n\n readonly clickOutsideEnabled = input(true);\n\n readonly attachOutsideOnClick = input(false);\n readonly delayClickOutsideInit = input(false);\n readonly emitOnBlur = input(false);\n\n readonly exclude = input<HTMLElement[]>([]);\n readonly excludeBeforeClick = input(false);\n\n readonly clickOutsideEvents = input('');\n\n readonly clickOutside = output<Event>();\n\n private element = inject(ElementRef);\n private platformId = inject(PLATFORM_ID);\n\n private _nodesExcluded: Array<HTMLElement> = [];\n private _events: Array<string> = ['click'];\n private _initialized = false;\n\n constructor() {\n this._initOnClickBody = this._initOnClickBody.bind(this);\n this._onClickBody = this._onClickBody.bind(this);\n this._onWindowBlur = this._onWindowBlur.bind(this);\n\n // Replace ngOnChanges: react to changes in attachOutsideOnClick, exclude, emitOnBlur\n effect(() => {\n // Read the signals to track them\n this.attachOutsideOnClick();\n this.exclude();\n this.emitOnBlur();\n\n if (this._initialized && isPlatformBrowser(this.platformId)) {\n this._init();\n }\n });\n }\n\n ngOnInit() {\n if (!isPlatformBrowser(this.platformId)) { return; }\n\n this._init();\n this._initialized = true;\n }\n\n ngOnDestroy() {\n if (!isPlatformBrowser(this.platformId)) { return; }\n\n this._removeClickOutsideListener();\n this._removeAttachOutsideOnClickListener();\n this._removeWindowBlurListener();\n }\n\n private _init() {\n if (this.clickOutsideEvents() !== '') {\n this._events = this.clickOutsideEvents().split(',').map(e => e.trim());\n }\n\n this._excludeCheck();\n\n if (this.attachOutsideOnClick()) {\n this._initAttachOutsideOnClickListener();\n } else {\n this._initOnClickBody();\n }\n\n if (this.emitOnBlur()) {\n this._initWindowBlurListener();\n }\n }\n\n private _initOnClickBody() {\n if (this.delayClickOutsideInit()) {\n setTimeout(this._initClickOutsideListener.bind(this));\n } else {\n this._initClickOutsideListener();\n }\n }\n\n private _excludeCheck() {\n if (this.exclude()) {\n try {\n const nodes = this.exclude();\n if (nodes) {\n this._nodesExcluded = nodes;\n }\n } catch (err) {\n console.error('[ng-click-outside] Check your exclude selector syntax.', err);\n }\n }\n }\n\n private _onClickBody(ev: Event) {\n if (!this.clickOutsideEnabled()) { return; }\n\n if (this.excludeBeforeClick()) {\n this._excludeCheck();\n }\n\n if (!this.element.nativeElement.contains(ev.target) && !!ev.target && !this._shouldExclude(ev.target)) {\n this._emit(ev);\n\n if (this.attachOutsideOnClick()) {\n this._removeClickOutsideListener();\n }\n }\n }\n\n /**\n * Resolves problem with outside click on iframe\n * @see https://github.com/arkon/ng-click-outside/issues/32\n */\n private _onWindowBlur(ev: Event) {\n setTimeout(() => {\n if (!document.hidden) {\n this._emit(ev);\n }\n });\n }\n\n private _emit(ev: Event) {\n if (!this.clickOutsideEnabled()) { return; }\n\n this.clickOutside.emit(ev);\n }\n\n private _shouldExclude(target: EventTarget): boolean {\n for (const excludedNode of this._nodesExcluded) {\n if (excludedNode.contains(<Node>target)) {\n return true;\n }\n }\n\n return false;\n }\n\n private _initClickOutsideListener() {\n this._events.forEach(e => document.addEventListener(e, this._onClickBody));\n }\n\n private _removeClickOutsideListener() {\n this._events.forEach(e => document.removeEventListener(e, this._onClickBody));\n }\n\n private _initAttachOutsideOnClickListener() {\n this._events.forEach(e => this.element.nativeElement.addEventListener(e, this._initOnClickBody));\n }\n\n private _removeAttachOutsideOnClickListener() {\n this._events.forEach(e => this.element.nativeElement.removeEventListener(e, this._initOnClickBody));\n }\n\n private _initWindowBlurListener() {\n window.addEventListener('blur', this._onWindowBlur);\n }\n\n private _removeWindowBlurListener() {\n window.removeEventListener('blur', this._onWindowBlur);\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mintplayer/ng-click-outside",
3
3
  "private": false,
4
- "version": "21.1.0",
4
+ "version": "21.2.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/MintPlayer/mintplayer-ng-bootstrap",
@@ -1,24 +1,23 @@
1
- import * as i0 from '@angular/core';
2
- import { OnInit, OnChanges, OnDestroy, EventEmitter, ElementRef, NgZone, SimpleChanges } from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnInit, OnDestroy } from '@angular/core';
3
3
 
4
- declare class ClickOutsideDirective implements OnInit, OnChanges, OnDestroy {
4
+ declare class ClickOutsideDirective implements OnInit, OnDestroy {
5
+ readonly clickOutsideEnabled: _angular_core.InputSignal<boolean>;
6
+ readonly attachOutsideOnClick: _angular_core.InputSignal<boolean>;
7
+ readonly delayClickOutsideInit: _angular_core.InputSignal<boolean>;
8
+ readonly emitOnBlur: _angular_core.InputSignal<boolean>;
9
+ readonly exclude: _angular_core.InputSignal<HTMLElement[]>;
10
+ readonly excludeBeforeClick: _angular_core.InputSignal<boolean>;
11
+ readonly clickOutsideEvents: _angular_core.InputSignal<string>;
12
+ readonly clickOutside: _angular_core.OutputEmitterRef<Event>;
5
13
  private element;
6
- private zone;
7
14
  private platformId;
8
- clickOutsideEnabled: boolean;
9
- attachOutsideOnClick: boolean;
10
- delayClickOutsideInit: boolean;
11
- emitOnBlur: boolean;
12
- exclude: HTMLElement[];
13
- excludeBeforeClick: boolean;
14
- clickOutsideEvents: string;
15
- clickOutside: EventEmitter<Event>;
16
15
  private _nodesExcluded;
17
16
  private _events;
18
- constructor(element: ElementRef, zone: NgZone, platformId: Object);
17
+ private _initialized;
18
+ constructor();
19
19
  ngOnInit(): void;
20
20
  ngOnDestroy(): void;
21
- ngOnChanges(changes: SimpleChanges): void;
22
21
  private _init;
23
22
  private _initOnClickBody;
24
23
  private _excludeCheck;
@@ -36,8 +35,8 @@ declare class ClickOutsideDirective implements OnInit, OnChanges, OnDestroy {
36
35
  private _removeAttachOutsideOnClickListener;
37
36
  private _initWindowBlurListener;
38
37
  private _removeWindowBlurListener;
39
- static ɵfac: i0.ɵɵFactoryDeclaration<ClickOutsideDirective, never>;
40
- static ɵdir: i0.ɵɵDirectiveDeclaration<ClickOutsideDirective, "[clickOutside]", never, { "clickOutsideEnabled": { "alias": "clickOutsideEnabled"; "required": false; }; "attachOutsideOnClick": { "alias": "attachOutsideOnClick"; "required": false; }; "delayClickOutsideInit": { "alias": "delayClickOutsideInit"; "required": false; }; "emitOnBlur": { "alias": "emitOnBlur"; "required": false; }; "exclude": { "alias": "exclude"; "required": false; }; "excludeBeforeClick": { "alias": "excludeBeforeClick"; "required": false; }; "clickOutsideEvents": { "alias": "clickOutsideEvents"; "required": false; }; }, { "clickOutside": "clickOutside"; }, never, never, true, never>;
38
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClickOutsideDirective, never>;
39
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ClickOutsideDirective, "[clickOutside]", never, { "clickOutsideEnabled": { "alias": "clickOutsideEnabled"; "required": false; "isSignal": true; }; "attachOutsideOnClick": { "alias": "attachOutsideOnClick"; "required": false; "isSignal": true; }; "delayClickOutsideInit": { "alias": "delayClickOutsideInit"; "required": false; "isSignal": true; }; "emitOnBlur": { "alias": "emitOnBlur"; "required": false; "isSignal": true; }; "exclude": { "alias": "exclude"; "required": false; "isSignal": true; }; "excludeBeforeClick": { "alias": "excludeBeforeClick"; "required": false; "isSignal": true; }; "clickOutsideEvents": { "alias": "clickOutsideEvents"; "required": false; "isSignal": true; }; }, { "clickOutside": "clickOutside"; }, never, never, true, never>;
41
40
  }
42
41
 
43
42
  export { ClickOutsideDirective };