@mintplayer/ng-click-outside 12.0.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.
package/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # mintplayer-ng-click-outside
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running unit tests
6
+
7
+ Run `nx test mintplayer-ng-click-outside` to execute the unit tests.
@@ -0,0 +1,567 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common')) :
3
+ typeof define === 'function' && define.amd ? define('@mintplayer/ng-click-outside', ['exports', '@angular/core', '@angular/common'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.mintplayer = global.mintplayer || {}, global.mintplayer["ng-click-outside"] = {}), global.ng.core, global.ng.common));
5
+ })(this, (function (exports, i0, common) { 'use strict';
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n["default"] = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
26
+
27
+ /*! *****************************************************************************
28
+ Copyright (c) Microsoft Corporation.
29
+
30
+ Permission to use, copy, modify, and/or distribute this software for any
31
+ purpose with or without fee is hereby granted.
32
+
33
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
34
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
35
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
36
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
37
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
38
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
39
+ PERFORMANCE OF THIS SOFTWARE.
40
+ ***************************************************************************** */
41
+ /* global Reflect, Promise */
42
+ var extendStatics = function (d, b) {
43
+ extendStatics = Object.setPrototypeOf ||
44
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
45
+ function (d, b) { for (var p in b)
46
+ if (Object.prototype.hasOwnProperty.call(b, p))
47
+ d[p] = b[p]; };
48
+ return extendStatics(d, b);
49
+ };
50
+ function __extends(d, b) {
51
+ if (typeof b !== "function" && b !== null)
52
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
53
+ extendStatics(d, b);
54
+ function __() { this.constructor = d; }
55
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
56
+ }
57
+ var __assign = function () {
58
+ __assign = Object.assign || function __assign(t) {
59
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
60
+ s = arguments[i];
61
+ for (var p in s)
62
+ if (Object.prototype.hasOwnProperty.call(s, p))
63
+ t[p] = s[p];
64
+ }
65
+ return t;
66
+ };
67
+ return __assign.apply(this, arguments);
68
+ };
69
+ function __rest(s, e) {
70
+ var t = {};
71
+ for (var p in s)
72
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
73
+ t[p] = s[p];
74
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
75
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
76
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
77
+ t[p[i]] = s[p[i]];
78
+ }
79
+ return t;
80
+ }
81
+ function __decorate(decorators, target, key, desc) {
82
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
83
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
84
+ r = Reflect.decorate(decorators, target, key, desc);
85
+ else
86
+ for (var i = decorators.length - 1; i >= 0; i--)
87
+ if (d = decorators[i])
88
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
89
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
90
+ }
91
+ function __param(paramIndex, decorator) {
92
+ return function (target, key) { decorator(target, key, paramIndex); };
93
+ }
94
+ function __metadata(metadataKey, metadataValue) {
95
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
96
+ return Reflect.metadata(metadataKey, metadataValue);
97
+ }
98
+ function __awaiter(thisArg, _arguments, P, generator) {
99
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
100
+ return new (P || (P = Promise))(function (resolve, reject) {
101
+ function fulfilled(value) { try {
102
+ step(generator.next(value));
103
+ }
104
+ catch (e) {
105
+ reject(e);
106
+ } }
107
+ function rejected(value) { try {
108
+ step(generator["throw"](value));
109
+ }
110
+ catch (e) {
111
+ reject(e);
112
+ } }
113
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
114
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
115
+ });
116
+ }
117
+ function __generator(thisArg, body) {
118
+ var _ = { label: 0, sent: function () { if (t[0] & 1)
119
+ throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
120
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
121
+ function verb(n) { return function (v) { return step([n, v]); }; }
122
+ function step(op) {
123
+ if (f)
124
+ throw new TypeError("Generator is already executing.");
125
+ while (_)
126
+ try {
127
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
128
+ return t;
129
+ if (y = 0, t)
130
+ op = [op[0] & 2, t.value];
131
+ switch (op[0]) {
132
+ case 0:
133
+ case 1:
134
+ t = op;
135
+ break;
136
+ case 4:
137
+ _.label++;
138
+ return { value: op[1], done: false };
139
+ case 5:
140
+ _.label++;
141
+ y = op[1];
142
+ op = [0];
143
+ continue;
144
+ case 7:
145
+ op = _.ops.pop();
146
+ _.trys.pop();
147
+ continue;
148
+ default:
149
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
150
+ _ = 0;
151
+ continue;
152
+ }
153
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
154
+ _.label = op[1];
155
+ break;
156
+ }
157
+ if (op[0] === 6 && _.label < t[1]) {
158
+ _.label = t[1];
159
+ t = op;
160
+ break;
161
+ }
162
+ if (t && _.label < t[2]) {
163
+ _.label = t[2];
164
+ _.ops.push(op);
165
+ break;
166
+ }
167
+ if (t[2])
168
+ _.ops.pop();
169
+ _.trys.pop();
170
+ continue;
171
+ }
172
+ op = body.call(thisArg, _);
173
+ }
174
+ catch (e) {
175
+ op = [6, e];
176
+ y = 0;
177
+ }
178
+ finally {
179
+ f = t = 0;
180
+ }
181
+ if (op[0] & 5)
182
+ throw op[1];
183
+ return { value: op[0] ? op[1] : void 0, done: true };
184
+ }
185
+ }
186
+ var __createBinding = Object.create ? (function (o, m, k, k2) {
187
+ if (k2 === undefined)
188
+ k2 = k;
189
+ Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
190
+ }) : (function (o, m, k, k2) {
191
+ if (k2 === undefined)
192
+ k2 = k;
193
+ o[k2] = m[k];
194
+ });
195
+ function __exportStar(m, o) {
196
+ for (var p in m)
197
+ if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
198
+ __createBinding(o, m, p);
199
+ }
200
+ function __values(o) {
201
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
202
+ if (m)
203
+ return m.call(o);
204
+ if (o && typeof o.length === "number")
205
+ return {
206
+ next: function () {
207
+ if (o && i >= o.length)
208
+ o = void 0;
209
+ return { value: o && o[i++], done: !o };
210
+ }
211
+ };
212
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
213
+ }
214
+ function __read(o, n) {
215
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
216
+ if (!m)
217
+ return o;
218
+ var i = m.call(o), r, ar = [], e;
219
+ try {
220
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
221
+ ar.push(r.value);
222
+ }
223
+ catch (error) {
224
+ e = { error: error };
225
+ }
226
+ finally {
227
+ try {
228
+ if (r && !r.done && (m = i["return"]))
229
+ m.call(i);
230
+ }
231
+ finally {
232
+ if (e)
233
+ throw e.error;
234
+ }
235
+ }
236
+ return ar;
237
+ }
238
+ /** @deprecated */
239
+ function __spread() {
240
+ for (var ar = [], i = 0; i < arguments.length; i++)
241
+ ar = ar.concat(__read(arguments[i]));
242
+ return ar;
243
+ }
244
+ /** @deprecated */
245
+ function __spreadArrays() {
246
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++)
247
+ s += arguments[i].length;
248
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
249
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
250
+ r[k] = a[j];
251
+ return r;
252
+ }
253
+ function __spreadArray(to, from, pack) {
254
+ if (pack || arguments.length === 2)
255
+ for (var i = 0, l = from.length, ar; i < l; i++) {
256
+ if (ar || !(i in from)) {
257
+ if (!ar)
258
+ ar = Array.prototype.slice.call(from, 0, i);
259
+ ar[i] = from[i];
260
+ }
261
+ }
262
+ return to.concat(ar || Array.prototype.slice.call(from));
263
+ }
264
+ function __await(v) {
265
+ return this instanceof __await ? (this.v = v, this) : new __await(v);
266
+ }
267
+ function __asyncGenerator(thisArg, _arguments, generator) {
268
+ if (!Symbol.asyncIterator)
269
+ throw new TypeError("Symbol.asyncIterator is not defined.");
270
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
271
+ return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
272
+ function verb(n) { if (g[n])
273
+ i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
274
+ function resume(n, v) { try {
275
+ step(g[n](v));
276
+ }
277
+ catch (e) {
278
+ settle(q[0][3], e);
279
+ } }
280
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
281
+ function fulfill(value) { resume("next", value); }
282
+ function reject(value) { resume("throw", value); }
283
+ function settle(f, v) { if (f(v), q.shift(), q.length)
284
+ resume(q[0][0], q[0][1]); }
285
+ }
286
+ function __asyncDelegator(o) {
287
+ var i, p;
288
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
289
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
290
+ }
291
+ function __asyncValues(o) {
292
+ if (!Symbol.asyncIterator)
293
+ throw new TypeError("Symbol.asyncIterator is not defined.");
294
+ var m = o[Symbol.asyncIterator], i;
295
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
296
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
297
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
298
+ }
299
+ function __makeTemplateObject(cooked, raw) {
300
+ if (Object.defineProperty) {
301
+ Object.defineProperty(cooked, "raw", { value: raw });
302
+ }
303
+ else {
304
+ cooked.raw = raw;
305
+ }
306
+ return cooked;
307
+ }
308
+ ;
309
+ var __setModuleDefault = Object.create ? (function (o, v) {
310
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
311
+ }) : function (o, v) {
312
+ o["default"] = v;
313
+ };
314
+ function __importStar(mod) {
315
+ if (mod && mod.__esModule)
316
+ return mod;
317
+ var result = {};
318
+ if (mod != null)
319
+ for (var k in mod)
320
+ if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
321
+ __createBinding(result, mod, k);
322
+ __setModuleDefault(result, mod);
323
+ return result;
324
+ }
325
+ function __importDefault(mod) {
326
+ return (mod && mod.__esModule) ? mod : { default: mod };
327
+ }
328
+ function __classPrivateFieldGet(receiver, state, kind, f) {
329
+ if (kind === "a" && !f)
330
+ throw new TypeError("Private accessor was defined without a getter");
331
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
332
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
333
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
334
+ }
335
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
336
+ if (kind === "m")
337
+ throw new TypeError("Private method is not writable");
338
+ if (kind === "a" && !f)
339
+ throw new TypeError("Private accessor was defined without a setter");
340
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
341
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
342
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
343
+ }
344
+
345
+ var ClickOutsideDirective = /** @class */ (function () {
346
+ function ClickOutsideDirective(element, zone, platformId) {
347
+ this.element = element;
348
+ this.zone = zone;
349
+ this.platformId = platformId;
350
+ this.clickOutsideEnabled = true;
351
+ this.attachOutsideOnClick = false;
352
+ this.delayClickOutsideInit = false;
353
+ this.emitOnBlur = false;
354
+ this.exclude = [];
355
+ this.excludeBeforeClick = false;
356
+ this.clickOutsideEvents = '';
357
+ this.clickOutside = new i0.EventEmitter();
358
+ this._nodesExcluded = [];
359
+ this._events = ['click'];
360
+ this._initOnClickBody = this._initOnClickBody.bind(this);
361
+ this._onClickBody = this._onClickBody.bind(this);
362
+ this._onWindowBlur = this._onWindowBlur.bind(this);
363
+ }
364
+ ClickOutsideDirective.prototype.ngOnInit = function () {
365
+ if (!common.isPlatformBrowser(this.platformId)) {
366
+ return;
367
+ }
368
+ this._init();
369
+ };
370
+ ClickOutsideDirective.prototype.ngOnDestroy = function () {
371
+ if (!common.isPlatformBrowser(this.platformId)) {
372
+ return;
373
+ }
374
+ this._removeClickOutsideListener();
375
+ this._removeAttachOutsideOnClickListener();
376
+ this._removeWindowBlurListener();
377
+ };
378
+ ClickOutsideDirective.prototype.ngOnChanges = function (changes) {
379
+ if (!common.isPlatformBrowser(this.platformId)) {
380
+ return;
381
+ }
382
+ if (changes['attachOutsideOnClick'] || changes['exclude'] || changes['emitOnBlur']) {
383
+ this._init();
384
+ }
385
+ };
386
+ ClickOutsideDirective.prototype._init = function () {
387
+ if (this.clickOutsideEvents !== '') {
388
+ this._events = this.clickOutsideEvents.split(',').map(function (e) { return e.trim(); });
389
+ }
390
+ this._excludeCheck();
391
+ if (this.attachOutsideOnClick) {
392
+ this._initAttachOutsideOnClickListener();
393
+ }
394
+ else {
395
+ this._initOnClickBody();
396
+ }
397
+ if (this.emitOnBlur) {
398
+ this._initWindowBlurListener();
399
+ }
400
+ };
401
+ ClickOutsideDirective.prototype._initOnClickBody = function () {
402
+ if (this.delayClickOutsideInit) {
403
+ setTimeout(this._initClickOutsideListener.bind(this));
404
+ }
405
+ else {
406
+ this._initClickOutsideListener();
407
+ }
408
+ };
409
+ ClickOutsideDirective.prototype._excludeCheck = function () {
410
+ if (this.exclude) {
411
+ try {
412
+ var nodes = this.exclude;
413
+ if (nodes) {
414
+ this._nodesExcluded = nodes;
415
+ }
416
+ }
417
+ catch (err) {
418
+ console.error('[ng-click-outside] Check your exclude selector syntax.', err);
419
+ }
420
+ }
421
+ };
422
+ ClickOutsideDirective.prototype._onClickBody = function (ev) {
423
+ if (!this.clickOutsideEnabled) {
424
+ return;
425
+ }
426
+ if (this.excludeBeforeClick) {
427
+ this._excludeCheck();
428
+ }
429
+ if (!this.element.nativeElement.contains(ev.target) && !!ev.target && !this._shouldExclude(ev.target)) {
430
+ this._emit(ev);
431
+ if (this.attachOutsideOnClick) {
432
+ this._removeClickOutsideListener();
433
+ }
434
+ }
435
+ };
436
+ /**
437
+ * Resolves problem with outside click on iframe
438
+ * @see https://github.com/arkon/ng-click-outside/issues/32
439
+ */
440
+ ClickOutsideDirective.prototype._onWindowBlur = function (ev) {
441
+ var _this = this;
442
+ setTimeout(function () {
443
+ if (!document.hidden) {
444
+ _this._emit(ev);
445
+ }
446
+ });
447
+ };
448
+ ClickOutsideDirective.prototype._emit = function (ev) {
449
+ var _this = this;
450
+ if (!this.clickOutsideEnabled) {
451
+ return;
452
+ }
453
+ this.zone.run(function () { return _this.clickOutside.emit(ev); });
454
+ };
455
+ ClickOutsideDirective.prototype._shouldExclude = function (target) {
456
+ var e_1, _a;
457
+ try {
458
+ for (var _b = __values(this._nodesExcluded), _c = _b.next(); !_c.done; _c = _b.next()) {
459
+ var excludedNode = _c.value;
460
+ if (excludedNode.contains(target)) {
461
+ return true;
462
+ }
463
+ }
464
+ }
465
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
466
+ finally {
467
+ try {
468
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
469
+ }
470
+ finally { if (e_1) throw e_1.error; }
471
+ }
472
+ return false;
473
+ };
474
+ ClickOutsideDirective.prototype._initClickOutsideListener = function () {
475
+ var _this = this;
476
+ this.zone.runOutsideAngular(function () {
477
+ _this._events.forEach(function (e) { return document.addEventListener(e, _this._onClickBody); });
478
+ });
479
+ };
480
+ ClickOutsideDirective.prototype._removeClickOutsideListener = function () {
481
+ var _this = this;
482
+ this.zone.runOutsideAngular(function () {
483
+ _this._events.forEach(function (e) { return document.removeEventListener(e, _this._onClickBody); });
484
+ });
485
+ };
486
+ ClickOutsideDirective.prototype._initAttachOutsideOnClickListener = function () {
487
+ var _this = this;
488
+ this.zone.runOutsideAngular(function () {
489
+ _this._events.forEach(function (e) { return _this.element.nativeElement.addEventListener(e, _this._initOnClickBody); });
490
+ });
491
+ };
492
+ ClickOutsideDirective.prototype._removeAttachOutsideOnClickListener = function () {
493
+ var _this = this;
494
+ this.zone.runOutsideAngular(function () {
495
+ _this._events.forEach(function (e) { return _this.element.nativeElement.removeEventListener(e, _this._initOnClickBody); });
496
+ });
497
+ };
498
+ ClickOutsideDirective.prototype._initWindowBlurListener = function () {
499
+ var _this = this;
500
+ this.zone.runOutsideAngular(function () {
501
+ window.addEventListener('blur', _this._onWindowBlur);
502
+ });
503
+ };
504
+ ClickOutsideDirective.prototype._removeWindowBlurListener = function () {
505
+ var _this = this;
506
+ this.zone.runOutsideAngular(function () {
507
+ window.removeEventListener('blur', _this._onWindowBlur);
508
+ });
509
+ };
510
+ return ClickOutsideDirective;
511
+ }());
512
+ ClickOutsideDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: ClickOutsideDirective, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.NgZone }, { token: i0.PLATFORM_ID }], target: i0__namespace.ɵɵFactoryTarget.Directive });
513
+ ClickOutsideDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.12", type: ClickOutsideDirective, selector: "[clickOutside]", inputs: { clickOutsideEnabled: "clickOutsideEnabled", attachOutsideOnClick: "attachOutsideOnClick", delayClickOutsideInit: "delayClickOutsideInit", emitOnBlur: "emitOnBlur", exclude: "exclude", excludeBeforeClick: "excludeBeforeClick", clickOutsideEvents: "clickOutsideEvents" }, outputs: { clickOutside: "clickOutside" }, usesOnChanges: true, ngImport: i0__namespace });
514
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: ClickOutsideDirective, decorators: [{
515
+ type: i0.Directive,
516
+ args: [{ selector: '[clickOutside]' }]
517
+ }], ctorParameters: function () {
518
+ return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.NgZone }, { type: Object, decorators: [{
519
+ type: i0.Inject,
520
+ args: [i0.PLATFORM_ID]
521
+ }] }];
522
+ }, propDecorators: { clickOutsideEnabled: [{
523
+ type: i0.Input
524
+ }], attachOutsideOnClick: [{
525
+ type: i0.Input
526
+ }], delayClickOutsideInit: [{
527
+ type: i0.Input
528
+ }], emitOnBlur: [{
529
+ type: i0.Input
530
+ }], exclude: [{
531
+ type: i0.Input
532
+ }], excludeBeforeClick: [{
533
+ type: i0.Input
534
+ }], clickOutsideEvents: [{
535
+ type: i0.Input
536
+ }], clickOutside: [{
537
+ type: i0.Output
538
+ }] } });
539
+
540
+ var ClickOutsideModule = /** @class */ (function () {
541
+ function ClickOutsideModule() {
542
+ }
543
+ return ClickOutsideModule;
544
+ }());
545
+ ClickOutsideModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: ClickOutsideModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
546
+ ClickOutsideModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: ClickOutsideModule, declarations: [ClickOutsideDirective], imports: [common.CommonModule], exports: [ClickOutsideDirective] });
547
+ ClickOutsideModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: ClickOutsideModule, imports: [[common.CommonModule]] });
548
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0__namespace, type: ClickOutsideModule, decorators: [{
549
+ type: i0.NgModule,
550
+ args: [{
551
+ imports: [common.CommonModule],
552
+ declarations: [ClickOutsideDirective],
553
+ exports: [ClickOutsideDirective],
554
+ }]
555
+ }] });
556
+
557
+ /**
558
+ * Generated bundle index. Do not edit.
559
+ */
560
+
561
+ exports.ClickOutsideDirective = ClickOutsideDirective;
562
+ exports.ClickOutsideModule = ClickOutsideModule;
563
+
564
+ Object.defineProperty(exports, '__esModule', { value: true });
565
+
566
+ }));
567
+ //# sourceMappingURL=mintplayer-ng-click-outside.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mintplayer-ng-click-outside.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../libs/mintplayer-ng-click-outside/src/lib/directives/click-outside/click-outside.directive.ts","../../../../libs/mintplayer-ng-click-outside/src/lib/mintplayer-ng-click-outside.module.ts","../../../../libs/mintplayer-ng-click-outside/src/mintplayer-ng-click-outside.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","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({ selector: '[clickOutside]' })\nexport class ClickOutsideDirective implements OnInit, OnChanges, OnDestroy {\n\n @Input() clickOutsideEnabled: boolean = true;\n\n @Input() attachOutsideOnClick: boolean = false;\n @Input() delayClickOutsideInit: boolean = false;\n @Input() emitOnBlur: boolean = false;\n\n @Input() exclude: HTMLElement[] = [];\n @Input() excludeBeforeClick: boolean = false;\n\n @Input() clickOutsideEvents: string = '';\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 (let 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}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ClickOutsideDirective } from './directives/click-outside/click-outside.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [ClickOutsideDirective],\n exports: [ClickOutsideDirective],\n})\nexport class ClickOutsideModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["EventEmitter","isPlatformBrowser","PLATFORM_ID","Directive","Inject","Input","Output","CommonModule","NgModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;IAAA;;;;;;;;;;;;;;IAcA;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;oBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;aAEc,SAAS,CAAC,CAAC,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;YACrC,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;QAC9F,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;QACvC,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC;IAEM,IAAI,QAAQ,GAAG;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACjB,KAAK,IAAI,CAAC,IAAI,CAAC;oBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAChF;YACD,OAAO,CAAC,CAAC;SACZ,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;YAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACzB;QACL,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI;QACpD,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;YAC1H,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAAE,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;oBAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;aAEe,OAAO,CAAC,UAAU,EAAE,SAAS;QACzC,OAAO,UAAU,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;aAEe,UAAU,CAAC,WAAW,EAAE,aAAa;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACnI,CAAC;aAEe,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS;QACvD,SAAS,KAAK,CAAC,KAAK,IAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC5G,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM;YACrD,SAAS,SAAS,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC3F,SAAS,QAAQ,CAAC,KAAK,IAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aAAE;YAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;aAAE,EAAE;YAC9F,SAAS,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;YAC9G,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;SACzE,CAAC,CAAC;IACP,CAAC;aAEe,WAAW,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,IAAI,OAAO,UAAU,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE;YACZ,IAAI,CAAC;gBAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;YAC9D,OAAO,CAAC;gBAAE,IAAI;oBACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;wBAAE,OAAO,CAAC,CAAC;oBAC7J,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBACxC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACT,KAAK,CAAC,CAAC;wBAAC,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;wBAC9B,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;wBACxD,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;4BAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;4BAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;wBACjD,KAAK,CAAC;4BAAE,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;wBACjD;4BACI,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gCAAE,CAAC,GAAG,CAAC,CAAC;gCAAC,SAAS;6BAAE;4BAC5G,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACtF,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;6BAAE;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;gCAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;6BAAE;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;gCAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BACtB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;qBAC9B;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAC9B;gBAAC,OAAO,CAAC,EAAE;oBAAE,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;iBAAE;wBAAS;oBAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;iBAAE;YAC1D,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACpF;IACL,CAAC;IAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,cAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzF,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACtB,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;aAEa,YAAY,CAAC,CAAC,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;aAEe,QAAQ,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC9E,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;gBAC1C,IAAI,EAAE;oBACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;oBACnC,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;QACF,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;aAEe,MAAM,CAAC,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI;YACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;gBAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAAE;gBAC/B;YACJ,IAAI;gBACA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpD;oBACO;gBAAE,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;aAAE;SACpC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ;QACpB,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;YAC9C,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAAE,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;YAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI;QACxC,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;oBACpB,IAAI,CAAC,EAAE;wBAAE,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;iBACnB;aACJ;QACD,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;aAEe,OAAO,CAAC,CAAC;QACrB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;aAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAC1I,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAAE;QAAC,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAAE,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;QACxH,SAAS,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;QAClD,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;aAEe,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5I,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;IACnJ,CAAC;aAEe,aAAa,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,cAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;QAChK,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;aAEe,oBAAoB,CAAC,MAAM,EAAE,GAAG;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;YAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAAE;aAAM;YAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;SAAE;QAC/G,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC;QACnD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC;QACd,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;aAEc,YAAY,CAAC,GAAG;QAC5B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;YAAE,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;gBAAE,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;oBAAE,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACzI,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,MAAM,CAAC;IAClB,CAAC;aAEe,eAAe,CAAC,GAAG;QAC/B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;QACnL,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;aAEe,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,IAAI,KAAK,GAAG;YAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;QAClL,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;;QCxNE,+BACY,OAAmB,EACnB,IAAY,EACS,UAAkB;YAFvC,YAAO,GAAP,OAAO,CAAY;YACnB,SAAI,GAAJ,IAAI,CAAQ;YACS,eAAU,GAAV,UAAU,CAAQ;YAnB1C,wBAAmB,GAAY,IAAI,CAAC;YAEpC,yBAAoB,GAAY,KAAK,CAAC;YACtC,0BAAqB,GAAY,KAAK,CAAC;YACvC,eAAU,GAAY,KAAK,CAAC;YAE5B,YAAO,GAAkB,EAAE,CAAC;YAC5B,uBAAkB,GAAY,KAAK,CAAC;YAEpC,uBAAkB,GAAW,EAAE,CAAC;YAE/B,iBAAY,GAAwB,IAAIA,eAAY,EAAS,CAAC;YAEhE,mBAAc,GAAuB,EAAE,CAAC;YACxC,YAAO,GAAkB,CAAC,OAAO,CAAC,CAAC;YAOzC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpD;QAED,wCAAQ,GAAR;YACE,IAAI,CAACC,wBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBAAE,OAAO;aAAE;YAEpD,IAAI,CAAC,KAAK,EAAE,CAAC;SACd;QAED,2CAAW,GAAX;YACE,IAAI,CAACA,wBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBAAE,OAAO;aAAE;YAEpD,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACnC,IAAI,CAAC,mCAAmC,EAAE,CAAC;YAC3C,IAAI,CAAC,yBAAyB,EAAE,CAAC;SAClC;QAED,2CAAW,GAAX,UAAY,OAAsB;YAChC,IAAI,CAACA,wBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBAAE,OAAO;aAAE;YAEpD,IAAI,OAAO,CAAC,sBAAsB,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,EAAE;gBAClF,IAAI,CAAC,KAAK,EAAE,CAAC;aACd;SACF;QAEO,qCAAK,GAAL;YACN,IAAI,IAAI,CAAC,kBAAkB,KAAK,EAAE,EAAE;gBAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,IAAI,EAAE,GAAA,CAAC,CAAC;aACtE;YAED,IAAI,CAAC,aAAa,EAAE,CAAC;YAErB,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,IAAI,CAAC,iCAAiC,EAAE,CAAC;aAC1C;iBAAM;gBACL,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;YAED,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,uBAAuB,EAAE,CAAC;aAChC;SACF;QAEO,gDAAgB,GAAhB;YACN,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAC9B,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aACvD;iBAAM;gBACL,IAAI,CAAC,yBAAyB,EAAE,CAAC;aAClC;SACF;QAEO,6CAAa,GAAb;YACN,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI;oBACF,IAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;oBAC3B,IAAI,KAAK,EAAE;wBACT,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;qBAC7B;iBACF;gBAAC,OAAO,GAAG,EAAE;oBACZ,OAAO,CAAC,KAAK,CAAC,wDAAwD,EAAE,GAAG,CAAC,CAAC;iBAC9E;aACF;SACF;QAEO,4CAAY,GAAZ,UAAa,EAAS;YAC5B,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAAE,OAAO;aAAE;YAE1C,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;YAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;gBACrG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAEf,IAAI,IAAI,CAAC,oBAAoB,EAAE;oBAC7B,IAAI,CAAC,2BAA2B,EAAE,CAAC;iBACpC;aACF;SACF;;;;;QAMO,6CAAa,GAAb,UAAc,EAAS;YAAvB,iBAMP;YALC,UAAU,CAAC;gBACT,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;oBACpB,KAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBAChB;aACF,CAAC,CAAC;SACJ;QAEO,qCAAK,GAAL,UAAM,EAAS;YAAf,iBAIP;YAHC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAAE,OAAO;aAAE;YAE1C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAM,OAAA,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,GAAA,CAAC,CAAC;SACjD;QAEO,8CAAc,GAAd,UAAe,MAAmB;;;gBACxC,KAAyB,IAAA,KAAA,SAAA,IAAI,CAAC,cAAc,CAAA,gBAAA,4BAAE;oBAAzC,IAAI,YAAY,WAAA;oBACnB,IAAI,YAAY,CAAC,QAAQ,CAAO,MAAM,CAAC,EAAE;wBACvC,OAAO,IAAI,CAAC;qBACb;iBACF;;;;;;;;;YAED,OAAO,KAAK,CAAC;SACd;QAEO,yDAAyB,GAAzB;YAAA,iBAIP;YAHC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC1B,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAI,CAAC,YAAY,CAAC,GAAA,CAAC,CAAC;aAC5E,CAAC,CAAC;SACJ;QAEO,2DAA2B,GAA3B;YAAA,iBAIP;YAHC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC1B,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,QAAQ,CAAC,mBAAmB,CAAC,CAAC,EAAE,KAAI,CAAC,YAAY,CAAC,GAAA,CAAC,CAAC;aAC/E,CAAC,CAAC;SACJ;QAEO,iEAAiC,GAAjC;YAAA,iBAIP;YAHC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC1B,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAI,CAAC,gBAAgB,CAAC,GAAA,CAAC,CAAC;aAClG,CAAC,CAAC;SACJ;QAEO,mEAAmC,GAAnC;YAAA,iBAIP;YAHC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC1B,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,EAAE,KAAI,CAAC,gBAAgB,CAAC,GAAA,CAAC,CAAC;aACrG,CAAC,CAAC;SACJ;QAEO,uDAAuB,GAAvB;YAAA,iBAIP;YAHC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC1B,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC;aACrD,CAAC,CAAC;SACJ;QAEO,yDAAyB,GAAzB;YAAA,iBAIP;YAHC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC1B,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC;aACxD,CAAC,CAAC;SACJ;;;6IAvKU,qBAAqB,wFAqBpBC,cAAW;sHArBZ,qBAAqB;sHAArB,qBAAqB;sBADjCC,YAAS;uBAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE;;gGAsBM,MAAM;kCAA9CC,SAAM;mCAACF,cAAW;;6BAnBd,mBAAmB;0BAA3BG,QAAK;oBAEG,oBAAoB;0BAA5BA,QAAK;oBACG,qBAAqB;0BAA7BA,QAAK;oBACG,UAAU;0BAAlBA,QAAK;oBAEG,OAAO;0BAAfA,QAAK;oBACG,kBAAkB;0BAA1BA,QAAK;oBAEG,kBAAkB;0BAA1BA,QAAK;oBAEI,YAAY;0BAArBC,SAAM;;;;QCRT;;;;0IAAa,kBAAkB;2IAAlB,kBAAkB,iBAHd,qBAAqB,aAD1BC,mBAAY,aAEZ,qBAAqB;2IAEpB,kBAAkB,YAJpB,CAACA,mBAAY,CAAC;sHAIZ,kBAAkB;sBAL9BC,WAAQ;uBAAC;wBACR,OAAO,EAAE,CAACD,mBAAY,CAAC;wBACvB,YAAY,EAAE,CAAC,qBAAqB,CAAC;wBACrC,OAAO,EAAE,CAAC,qBAAqB,CAAC;qBACjC;;;ICRD;;;;;;;;;;;;;"}
@@ -0,0 +1,3 @@
1
+ export * from './lib/mintplayer-ng-click-outside.module';
2
+ export * from './lib/directives';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctY2xpY2stb3V0c2lkZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvbWludHBsYXllci1uZy1jbGljay1vdXRzaWRlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzJzsiXX0=
@@ -0,0 +1,176 @@
1
+ import { isPlatformBrowser } from '@angular/common';
2
+ import { Directive, ElementRef, EventEmitter, Inject, Input, NgZone, Output, PLATFORM_ID } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class ClickOutsideDirective {
5
+ constructor(element, zone, platformId) {
6
+ this.element = element;
7
+ this.zone = zone;
8
+ this.platformId = platformId;
9
+ this.clickOutsideEnabled = true;
10
+ this.attachOutsideOnClick = false;
11
+ this.delayClickOutsideInit = false;
12
+ this.emitOnBlur = false;
13
+ this.exclude = [];
14
+ this.excludeBeforeClick = false;
15
+ this.clickOutsideEvents = '';
16
+ this.clickOutside = new EventEmitter();
17
+ this._nodesExcluded = [];
18
+ this._events = ['click'];
19
+ this._initOnClickBody = this._initOnClickBody.bind(this);
20
+ this._onClickBody = this._onClickBody.bind(this);
21
+ this._onWindowBlur = this._onWindowBlur.bind(this);
22
+ }
23
+ ngOnInit() {
24
+ if (!isPlatformBrowser(this.platformId)) {
25
+ return;
26
+ }
27
+ this._init();
28
+ }
29
+ ngOnDestroy() {
30
+ if (!isPlatformBrowser(this.platformId)) {
31
+ return;
32
+ }
33
+ this._removeClickOutsideListener();
34
+ this._removeAttachOutsideOnClickListener();
35
+ this._removeWindowBlurListener();
36
+ }
37
+ ngOnChanges(changes) {
38
+ if (!isPlatformBrowser(this.platformId)) {
39
+ return;
40
+ }
41
+ if (changes['attachOutsideOnClick'] || changes['exclude'] || changes['emitOnBlur']) {
42
+ this._init();
43
+ }
44
+ }
45
+ _init() {
46
+ if (this.clickOutsideEvents !== '') {
47
+ this._events = this.clickOutsideEvents.split(',').map(e => e.trim());
48
+ }
49
+ this._excludeCheck();
50
+ if (this.attachOutsideOnClick) {
51
+ this._initAttachOutsideOnClickListener();
52
+ }
53
+ else {
54
+ this._initOnClickBody();
55
+ }
56
+ if (this.emitOnBlur) {
57
+ this._initWindowBlurListener();
58
+ }
59
+ }
60
+ _initOnClickBody() {
61
+ if (this.delayClickOutsideInit) {
62
+ setTimeout(this._initClickOutsideListener.bind(this));
63
+ }
64
+ else {
65
+ this._initClickOutsideListener();
66
+ }
67
+ }
68
+ _excludeCheck() {
69
+ if (this.exclude) {
70
+ try {
71
+ const nodes = this.exclude;
72
+ if (nodes) {
73
+ this._nodesExcluded = nodes;
74
+ }
75
+ }
76
+ catch (err) {
77
+ console.error('[ng-click-outside] Check your exclude selector syntax.', err);
78
+ }
79
+ }
80
+ }
81
+ _onClickBody(ev) {
82
+ if (!this.clickOutsideEnabled) {
83
+ return;
84
+ }
85
+ if (this.excludeBeforeClick) {
86
+ this._excludeCheck();
87
+ }
88
+ if (!this.element.nativeElement.contains(ev.target) && !!ev.target && !this._shouldExclude(ev.target)) {
89
+ this._emit(ev);
90
+ if (this.attachOutsideOnClick) {
91
+ this._removeClickOutsideListener();
92
+ }
93
+ }
94
+ }
95
+ /**
96
+ * Resolves problem with outside click on iframe
97
+ * @see https://github.com/arkon/ng-click-outside/issues/32
98
+ */
99
+ _onWindowBlur(ev) {
100
+ setTimeout(() => {
101
+ if (!document.hidden) {
102
+ this._emit(ev);
103
+ }
104
+ });
105
+ }
106
+ _emit(ev) {
107
+ if (!this.clickOutsideEnabled) {
108
+ return;
109
+ }
110
+ this.zone.run(() => this.clickOutside.emit(ev));
111
+ }
112
+ _shouldExclude(target) {
113
+ for (let excludedNode of this._nodesExcluded) {
114
+ if (excludedNode.contains(target)) {
115
+ return true;
116
+ }
117
+ }
118
+ return false;
119
+ }
120
+ _initClickOutsideListener() {
121
+ this.zone.runOutsideAngular(() => {
122
+ this._events.forEach(e => document.addEventListener(e, this._onClickBody));
123
+ });
124
+ }
125
+ _removeClickOutsideListener() {
126
+ this.zone.runOutsideAngular(() => {
127
+ this._events.forEach(e => document.removeEventListener(e, this._onClickBody));
128
+ });
129
+ }
130
+ _initAttachOutsideOnClickListener() {
131
+ this.zone.runOutsideAngular(() => {
132
+ this._events.forEach(e => this.element.nativeElement.addEventListener(e, this._initOnClickBody));
133
+ });
134
+ }
135
+ _removeAttachOutsideOnClickListener() {
136
+ this.zone.runOutsideAngular(() => {
137
+ this._events.forEach(e => this.element.nativeElement.removeEventListener(e, this._initOnClickBody));
138
+ });
139
+ }
140
+ _initWindowBlurListener() {
141
+ this.zone.runOutsideAngular(() => {
142
+ window.addEventListener('blur', this._onWindowBlur);
143
+ });
144
+ }
145
+ _removeWindowBlurListener() {
146
+ this.zone.runOutsideAngular(() => {
147
+ window.removeEventListener('blur', this._onWindowBlur);
148
+ });
149
+ }
150
+ }
151
+ ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive });
152
+ ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.12", type: ClickOutsideDirective, selector: "[clickOutside]", inputs: { clickOutsideEnabled: "clickOutsideEnabled", attachOutsideOnClick: "attachOutsideOnClick", delayClickOutsideInit: "delayClickOutsideInit", emitOnBlur: "emitOnBlur", exclude: "exclude", excludeBeforeClick: "excludeBeforeClick", clickOutsideEvents: "clickOutsideEvents" }, outputs: { clickOutside: "clickOutside" }, usesOnChanges: true, ngImport: i0 });
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ClickOutsideDirective, decorators: [{
154
+ type: Directive,
155
+ args: [{ selector: '[clickOutside]' }]
156
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: Object, decorators: [{
157
+ type: Inject,
158
+ args: [PLATFORM_ID]
159
+ }] }]; }, propDecorators: { clickOutsideEnabled: [{
160
+ type: Input
161
+ }], attachOutsideOnClick: [{
162
+ type: Input
163
+ }], delayClickOutsideInit: [{
164
+ type: Input
165
+ }], emitOnBlur: [{
166
+ type: Input
167
+ }], exclude: [{
168
+ type: Input
169
+ }], excludeBeforeClick: [{
170
+ type: Input
171
+ }], clickOutsideEvents: [{
172
+ type: Input
173
+ }], clickOutside: [{
174
+ type: Output
175
+ }] } });
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctY2xpY2stb3V0c2lkZS9zcmMvbGliL2RpcmVjdGl2ZXMvY2xpY2stb3V0c2lkZS9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWdDLE1BQU0sRUFBRSxXQUFXLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUc3SixNQUFNLE9BQU8scUJBQXFCO0lBa0JoQyxZQUNZLE9BQW1CLEVBQ25CLElBQVksRUFDUyxVQUFrQjtRQUZ2QyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQVE7UUFDUyxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBbkIxQyx3QkFBbUIsR0FBWSxJQUFJLENBQUM7UUFFcEMseUJBQW9CLEdBQVksS0FBSyxDQUFDO1FBQ3RDLDBCQUFxQixHQUFZLEtBQUssQ0FBQztRQUN2QyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBRTVCLFlBQU8sR0FBa0IsRUFBRSxDQUFDO1FBQzVCLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUVwQyx1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFFL0IsaUJBQVksR0FBd0IsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQUVoRSxtQkFBYyxHQUF1QixFQUFFLENBQUM7UUFDeEMsWUFBTyxHQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBT3pDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FB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RUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDekQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzttSEF2S1UscUJBQXFCLGtFQXFCcEIsV0FBVzt1R0FyQloscUJBQXFCOzRGQUFyQixxQkFBcUI7a0JBRGpDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUU7d0dBc0JNLE1BQU07MEJBQTlDLE1BQU07MkJBQUMsV0FBVzs0Q0FuQmQsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSxZQUFZO3NCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE5nWm9uZSwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBQTEFURk9STV9JRCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbY2xpY2tPdXRzaWRlXScgfSlcbmV4cG9ydCBjbGFzcyBDbGlja091dHNpZGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBjbGlja091dHNpZGVFbmFibGVkOiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKSBhdHRhY2hPdXRzaWRlT25DbGljazogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkZWxheUNsaWNrT3V0c2lkZUluaXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZW1pdE9uQmx1cjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGV4Y2x1ZGU6IEhUTUxFbGVtZW50W10gPSBbXTtcbiAgQElucHV0KCkgZXhjbHVkZUJlZm9yZUNsaWNrOiBib29sZWFuID0gZmFsc2U7XG5cbiAgQElucHV0KCkgY2xpY2tPdXRzaWRlRXZlbnRzOiBzdHJpbmcgPSAnJztcblxuICBAT3V0cHV0KCkgY2xpY2tPdXRzaWRlOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICBwcml2YXRlIF9ub2Rlc0V4Y2x1ZGVkOiBBcnJheTxIVE1MRWxlbWVudD4gPSBbXTtcbiAgcHJpdmF0ZSBfZXZlbnRzOiBBcnJheTxzdHJpbmc+ID0gWydjbGljayddO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsXG4gICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IE9iamVjdFxuICApIHtcbiAgICB0aGlzLl9pbml0T25DbGlja0JvZHkgPSB0aGlzLl9pbml0T25DbGlja0JvZHkuYmluZCh0aGlzKTtcbiAgICB0aGlzLl9vbkNsaWNrQm9keSA9IHRoaXMuX29uQ2xpY2tCb2R5LmJpbmQodGhpcyk7XG4gICAgdGhpcy5fb25XaW5kb3dCbHVyID0gdGhpcy5fb25XaW5kb3dCbHVyLmJpbmQodGhpcyk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHsgcmV0dXJuOyB9XG5cbiAgICB0aGlzLl9pbml0KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHsgcmV0dXJuOyB9XG5cbiAgICB0aGlzLl9yZW1vdmVDbGlja091dHNpZGVMaXN0ZW5lcigpO1xuICAgIHRoaXMuX3JlbW92ZUF0dGFjaE91dHNpZGVPbkNsaWNrTGlzdGVuZXIoKTtcbiAgICB0aGlzLl9yZW1vdmVXaW5kb3dCbHVyTGlzdGVuZXIoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHsgcmV0dXJuOyB9XG5cbiAgICBpZiAoY2hhbmdlc1snYXR0YWNoT3V0c2lkZU9uQ2xpY2snXSB8fCBjaGFuZ2VzWydleGNsdWRlJ10gfHwgY2hhbmdlc1snZW1pdE9uQmx1ciddKSB7XG4gICAgICB0aGlzLl9pbml0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdCgpIHtcbiAgICBpZiAodGhpcy5jbGlja091dHNpZGVFdmVudHMgIT09ICcnKSB7XG4gICAgICB0aGlzLl9ldmVudHMgPSB0aGlzLmNsaWNrT3V0c2lkZUV2ZW50cy5zcGxpdCgnLCcpLm1hcChlID0+IGUudHJpbSgpKTtcbiAgICB9XG5cbiAgICB0aGlzLl9leGNsdWRlQ2hlY2soKTtcblxuICAgIGlmICh0aGlzLmF0dGFjaE91dHNpZGVPbkNsaWNrKSB7XG4gICAgICB0aGlzLl9pbml0QXR0YWNoT3V0c2lkZU9uQ2xpY2tMaXN0ZW5lcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9pbml0T25DbGlja0JvZHkoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5lbWl0T25CbHVyKSB7XG4gICAgICB0aGlzLl9pbml0V2luZG93Qmx1ckxpc3RlbmVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdE9uQ2xpY2tCb2R5KCkge1xuICAgIGlmICh0aGlzLmRlbGF5Q2xpY2tPdXRzaWRlSW5pdCkge1xuICAgICAgc2V0VGltZW91dCh0aGlzLl9pbml0Q2xpY2tPdXRzaWRlTGlzdGVuZXIuYmluZCh0aGlzKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2luaXRDbGlja091dHNpZGVMaXN0ZW5lcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2V4Y2x1ZGVDaGVjaygpIHtcbiAgICBpZiAodGhpcy5leGNsdWRlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBub2RlcyA9IHRoaXMuZXhjbHVkZTtcbiAgICAgICAgaWYgKG5vZGVzKSB7XG4gICAgICAgICAgdGhpcy5fbm9kZXNFeGNsdWRlZCA9IG5vZGVzO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignW25nLWNsaWNrLW91dHNpZGVdIENoZWNrIHlvdXIgZXhjbHVkZSBzZWxlY3RvciBzeW50YXguJywgZXJyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbkNsaWNrQm9keShldjogRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuY2xpY2tPdXRzaWRlRW5hYmxlZCkgeyByZXR1cm47IH1cblxuICAgIGlmICh0aGlzLmV4Y2x1ZGVCZWZvcmVDbGljaykge1xuICAgICAgdGhpcy5fZXhjbHVkZUNoZWNrKCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jb250YWlucyhldi50YXJnZXQpICYmICEhZXYudGFyZ2V0ICYmICF0aGlzLl9zaG91bGRFeGNsdWRlKGV2LnRhcmdldCkpIHtcbiAgICAgIHRoaXMuX2VtaXQoZXYpO1xuXG4gICAgICBpZiAodGhpcy5hdHRhY2hPdXRzaWRlT25DbGljaykge1xuICAgICAgICB0aGlzLl9yZW1vdmVDbGlja091dHNpZGVMaXN0ZW5lcigpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyBwcm9ibGVtIHdpdGggb3V0c2lkZSBjbGljayBvbiBpZnJhbWVcbiAgICogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vYXJrb24vbmctY2xpY2stb3V0c2lkZS9pc3N1ZXMvMzJcbiAgICovXG4gIHByaXZhdGUgX29uV2luZG93Qmx1cihldjogRXZlbnQpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghZG9jdW1lbnQuaGlkZGVuKSB7XG4gICAgICAgIHRoaXMuX2VtaXQoZXYpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfZW1pdChldjogRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuY2xpY2tPdXRzaWRlRW5hYmxlZCkgeyByZXR1cm47IH1cblxuICAgIHRoaXMuem9uZS5ydW4oKCkgPT4gdGhpcy5jbGlja091dHNpZGUuZW1pdChldikpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2hvdWxkRXhjbHVkZSh0YXJnZXQ6IEV2ZW50VGFyZ2V0KTogYm9vbGVhbiB7XG4gICAgZm9yIChsZXQgZXhjbHVkZWROb2RlIG9mIHRoaXMuX25vZGVzRXhjbHVkZWQpIHtcbiAgICAgIGlmIChleGNsdWRlZE5vZGUuY29udGFpbnMoPE5vZGU+dGFyZ2V0KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIF9pbml0Q2xpY2tPdXRzaWRlTGlzdGVuZXIoKSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuX2V2ZW50cy5mb3JFYWNoKGUgPT4gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihlLCB0aGlzLl9vbkNsaWNrQm9keSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuX2V2ZW50cy5mb3JFYWNoKGUgPT4gZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLCB0aGlzLl9vbkNsaWNrQm9keSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdEF0dGFjaE91dHNpZGVPbkNsaWNrTGlzdGVuZXIoKSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuX2V2ZW50cy5mb3JFYWNoKGUgPT4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihlLCB0aGlzLl9pbml0T25DbGlja0JvZHkpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZUF0dGFjaE91dHNpZGVPbkNsaWNrTGlzdGVuZXIoKSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuX2V2ZW50cy5mb3JFYWNoKGUgPT4gdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLCB0aGlzLl9pbml0T25DbGlja0JvZHkpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRXaW5kb3dCbHVyTGlzdGVuZXIoKSB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgdGhpcy5fb25XaW5kb3dCbHVyKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbW92ZVdpbmRvd0JsdXJMaXN0ZW5lcigpIHtcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2JsdXInLCB0aGlzLl9vbldpbmRvd0JsdXIpO1xuICAgIH0pO1xuICB9XG5cbn0iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './click-outside/click-outside.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctY2xpY2stb3V0c2lkZS9zcmMvbGliL2RpcmVjdGl2ZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2xpY2stb3V0c2lkZS9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZSc7Il19
@@ -0,0 +1,18 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ClickOutsideDirective } from './directives/click-outside/click-outside.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class ClickOutsideModule {
6
+ }
7
+ ClickOutsideModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ClickOutsideModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ ClickOutsideModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ClickOutsideModule, declarations: [ClickOutsideDirective], imports: [CommonModule], exports: [ClickOutsideDirective] });
9
+ ClickOutsideModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ClickOutsideModule, imports: [[CommonModule]] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ClickOutsideModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ imports: [CommonModule],
14
+ declarations: [ClickOutsideDirective],
15
+ exports: [ClickOutsideDirective],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWludHBsYXllci1uZy1jbGljay1vdXRzaWRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1jbGljay1vdXRzaWRlL3NyYy9saWIvbWludHBsYXllci1uZy1jbGljay1vdXRzaWRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7QUFPM0YsTUFBTSxPQUFPLGtCQUFrQjs7Z0hBQWxCLGtCQUFrQjtpSEFBbEIsa0JBQWtCLGlCQUhkLHFCQUFxQixhQUQxQixZQUFZLGFBRVoscUJBQXFCO2lIQUVwQixrQkFBa0IsWUFKcEIsQ0FBQyxZQUFZLENBQUM7NEZBSVosa0JBQWtCO2tCQUw5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsWUFBWSxFQUFFLENBQUMscUJBQXFCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2NsaWNrLW91dHNpZGUvY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZGVjbGFyYXRpb25zOiBbQ2xpY2tPdXRzaWRlRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW0NsaWNrT3V0c2lkZURpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIENsaWNrT3V0c2lkZU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWludHBsYXllci1uZy1jbGljay1vdXRzaWRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9taW50cGxheWVyLW5nLWNsaWNrLW91dHNpZGUvc3JjL21pbnRwbGF5ZXItbmctY2xpY2stb3V0c2lkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,197 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, PLATFORM_ID, Directive, Inject, Input, Output, NgModule } from '@angular/core';
3
+ import { isPlatformBrowser, CommonModule } from '@angular/common';
4
+
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();
18
+ this._nodesExcluded = [];
19
+ this._events = ['click'];
20
+ this._initOnClickBody = this._initOnClickBody.bind(this);
21
+ this._onClickBody = this._onClickBody.bind(this);
22
+ this._onWindowBlur = this._onWindowBlur.bind(this);
23
+ }
24
+ ngOnInit() {
25
+ if (!isPlatformBrowser(this.platformId)) {
26
+ return;
27
+ }
28
+ this._init();
29
+ }
30
+ ngOnDestroy() {
31
+ if (!isPlatformBrowser(this.platformId)) {
32
+ return;
33
+ }
34
+ this._removeClickOutsideListener();
35
+ this._removeAttachOutsideOnClickListener();
36
+ this._removeWindowBlurListener();
37
+ }
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
+ _init() {
47
+ if (this.clickOutsideEvents !== '') {
48
+ this._events = this.clickOutsideEvents.split(',').map(e => e.trim());
49
+ }
50
+ this._excludeCheck();
51
+ if (this.attachOutsideOnClick) {
52
+ this._initAttachOutsideOnClickListener();
53
+ }
54
+ else {
55
+ this._initOnClickBody();
56
+ }
57
+ if (this.emitOnBlur) {
58
+ this._initWindowBlurListener();
59
+ }
60
+ }
61
+ _initOnClickBody() {
62
+ if (this.delayClickOutsideInit) {
63
+ setTimeout(this._initClickOutsideListener.bind(this));
64
+ }
65
+ else {
66
+ this._initClickOutsideListener();
67
+ }
68
+ }
69
+ _excludeCheck() {
70
+ if (this.exclude) {
71
+ try {
72
+ const nodes = this.exclude;
73
+ if (nodes) {
74
+ this._nodesExcluded = nodes;
75
+ }
76
+ }
77
+ catch (err) {
78
+ console.error('[ng-click-outside] Check your exclude selector syntax.', err);
79
+ }
80
+ }
81
+ }
82
+ _onClickBody(ev) {
83
+ if (!this.clickOutsideEnabled) {
84
+ return;
85
+ }
86
+ if (this.excludeBeforeClick) {
87
+ this._excludeCheck();
88
+ }
89
+ if (!this.element.nativeElement.contains(ev.target) && !!ev.target && !this._shouldExclude(ev.target)) {
90
+ this._emit(ev);
91
+ if (this.attachOutsideOnClick) {
92
+ this._removeClickOutsideListener();
93
+ }
94
+ }
95
+ }
96
+ /**
97
+ * Resolves problem with outside click on iframe
98
+ * @see https://github.com/arkon/ng-click-outside/issues/32
99
+ */
100
+ _onWindowBlur(ev) {
101
+ setTimeout(() => {
102
+ if (!document.hidden) {
103
+ this._emit(ev);
104
+ }
105
+ });
106
+ }
107
+ _emit(ev) {
108
+ if (!this.clickOutsideEnabled) {
109
+ return;
110
+ }
111
+ this.zone.run(() => this.clickOutside.emit(ev));
112
+ }
113
+ _shouldExclude(target) {
114
+ for (let excludedNode of this._nodesExcluded) {
115
+ if (excludedNode.contains(target)) {
116
+ return true;
117
+ }
118
+ }
119
+ return false;
120
+ }
121
+ _initClickOutsideListener() {
122
+ this.zone.runOutsideAngular(() => {
123
+ this._events.forEach(e => document.addEventListener(e, this._onClickBody));
124
+ });
125
+ }
126
+ _removeClickOutsideListener() {
127
+ this.zone.runOutsideAngular(() => {
128
+ this._events.forEach(e => document.removeEventListener(e, this._onClickBody));
129
+ });
130
+ }
131
+ _initAttachOutsideOnClickListener() {
132
+ this.zone.runOutsideAngular(() => {
133
+ this._events.forEach(e => this.element.nativeElement.addEventListener(e, this._initOnClickBody));
134
+ });
135
+ }
136
+ _removeAttachOutsideOnClickListener() {
137
+ this.zone.runOutsideAngular(() => {
138
+ this._events.forEach(e => this.element.nativeElement.removeEventListener(e, this._initOnClickBody));
139
+ });
140
+ }
141
+ _initWindowBlurListener() {
142
+ this.zone.runOutsideAngular(() => {
143
+ window.addEventListener('blur', this._onWindowBlur);
144
+ });
145
+ }
146
+ _removeWindowBlurListener() {
147
+ this.zone.runOutsideAngular(() => {
148
+ window.removeEventListener('blur', this._onWindowBlur);
149
+ });
150
+ }
151
+ }
152
+ ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive });
153
+ ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.12", type: ClickOutsideDirective, selector: "[clickOutside]", inputs: { clickOutsideEnabled: "clickOutsideEnabled", attachOutsideOnClick: "attachOutsideOnClick", delayClickOutsideInit: "delayClickOutsideInit", emitOnBlur: "emitOnBlur", exclude: "exclude", excludeBeforeClick: "excludeBeforeClick", clickOutsideEvents: "clickOutsideEvents" }, outputs: { clickOutside: "clickOutside" }, usesOnChanges: true, ngImport: i0 });
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ClickOutsideDirective, decorators: [{
155
+ type: Directive,
156
+ args: [{ selector: '[clickOutside]' }]
157
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: Object, decorators: [{
158
+ type: Inject,
159
+ args: [PLATFORM_ID]
160
+ }] }]; }, propDecorators: { clickOutsideEnabled: [{
161
+ type: Input
162
+ }], attachOutsideOnClick: [{
163
+ type: Input
164
+ }], delayClickOutsideInit: [{
165
+ type: Input
166
+ }], emitOnBlur: [{
167
+ type: Input
168
+ }], exclude: [{
169
+ type: Input
170
+ }], excludeBeforeClick: [{
171
+ type: Input
172
+ }], clickOutsideEvents: [{
173
+ type: Input
174
+ }], clickOutside: [{
175
+ type: Output
176
+ }] } });
177
+
178
+ class ClickOutsideModule {
179
+ }
180
+ ClickOutsideModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ClickOutsideModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
181
+ ClickOutsideModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ClickOutsideModule, declarations: [ClickOutsideDirective], imports: [CommonModule], exports: [ClickOutsideDirective] });
182
+ ClickOutsideModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ClickOutsideModule, imports: [[CommonModule]] });
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.12", ngImport: i0, type: ClickOutsideModule, decorators: [{
184
+ type: NgModule,
185
+ args: [{
186
+ imports: [CommonModule],
187
+ declarations: [ClickOutsideDirective],
188
+ exports: [ClickOutsideDirective],
189
+ }]
190
+ }] });
191
+
192
+ /**
193
+ * Generated bundle index. Do not edit.
194
+ */
195
+
196
+ export { ClickOutsideDirective, ClickOutsideModule };
197
+ //# sourceMappingURL=mintplayer-ng-click-outside.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mintplayer-ng-click-outside.js","sources":["../../../../libs/mintplayer-ng-click-outside/src/lib/directives/click-outside/click-outside.directive.ts","../../../../libs/mintplayer-ng-click-outside/src/lib/mintplayer-ng-click-outside.module.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({ selector: '[clickOutside]' })\nexport class ClickOutsideDirective implements OnInit, OnChanges, OnDestroy {\n\n @Input() clickOutsideEnabled: boolean = true;\n\n @Input() attachOutsideOnClick: boolean = false;\n @Input() delayClickOutsideInit: boolean = false;\n @Input() emitOnBlur: boolean = false;\n\n @Input() exclude: HTMLElement[] = [];\n @Input() excludeBeforeClick: boolean = false;\n\n @Input() clickOutsideEvents: string = '';\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 (let 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}","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ClickOutsideDirective } from './directives/click-outside/click-outside.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [ClickOutsideDirective],\n exports: [ClickOutsideDirective],\n})\nexport class ClickOutsideModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './lib/mintplayer-ng-click-outside.module';
2
+ export * from './lib/directives';
@@ -0,0 +1,40 @@
1
+ import { ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ClickOutsideDirective implements OnInit, OnChanges, OnDestroy {
4
+ private element;
5
+ private zone;
6
+ private platformId;
7
+ clickOutsideEnabled: boolean;
8
+ attachOutsideOnClick: boolean;
9
+ delayClickOutsideInit: boolean;
10
+ emitOnBlur: boolean;
11
+ exclude: HTMLElement[];
12
+ excludeBeforeClick: boolean;
13
+ clickOutsideEvents: string;
14
+ clickOutside: EventEmitter<Event>;
15
+ private _nodesExcluded;
16
+ private _events;
17
+ constructor(element: ElementRef, zone: NgZone, platformId: Object);
18
+ ngOnInit(): void;
19
+ ngOnDestroy(): void;
20
+ ngOnChanges(changes: SimpleChanges): void;
21
+ private _init;
22
+ private _initOnClickBody;
23
+ private _excludeCheck;
24
+ private _onClickBody;
25
+ /**
26
+ * Resolves problem with outside click on iframe
27
+ * @see https://github.com/arkon/ng-click-outside/issues/32
28
+ */
29
+ private _onWindowBlur;
30
+ private _emit;
31
+ private _shouldExclude;
32
+ private _initClickOutsideListener;
33
+ private _removeClickOutsideListener;
34
+ private _initAttachOutsideOnClickListener;
35
+ private _removeAttachOutsideOnClickListener;
36
+ private _initWindowBlurListener;
37
+ private _removeWindowBlurListener;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClickOutsideDirective, never>;
39
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ClickOutsideDirective, "[clickOutside]", never, { "clickOutsideEnabled": "clickOutsideEnabled"; "attachOutsideOnClick": "attachOutsideOnClick"; "delayClickOutsideInit": "delayClickOutsideInit"; "emitOnBlur": "emitOnBlur"; "exclude": "exclude"; "excludeBeforeClick": "excludeBeforeClick"; "clickOutsideEvents": "clickOutsideEvents"; }, { "clickOutside": "clickOutside"; }, never>;
40
+ }
@@ -0,0 +1 @@
1
+ export * from './click-outside/click-outside.directive';
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./directives/click-outside/click-outside.directive";
3
+ import * as i2 from "@angular/common";
4
+ export declare class ClickOutsideModule {
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<ClickOutsideModule, never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ClickOutsideModule, [typeof i1.ClickOutsideDirective], [typeof i2.CommonModule], [typeof i1.ClickOutsideDirective]>;
7
+ static ɵinj: i0.ɵɵInjectorDeclaration<ClickOutsideModule>;
8
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@mintplayer/ng-click-outside" />
5
+ export * from './index';
package/package.json ADDED
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "@mintplayer/ng-click-outside",
3
+ "private": false,
4
+ "version": "12.0.0",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/MintPlayer/mintplayer-ng-click-outside"
8
+ },
9
+ "peerDependencies": {
10
+ "@angular/common": "^12.2.0",
11
+ "@angular/core": "^12.2.0"
12
+ },
13
+ "dependencies": {
14
+ "tslib": "^2.3.0"
15
+ },
16
+ "main": "bundles/mintplayer-ng-click-outside.umd.js",
17
+ "module": "fesm2015/mintplayer-ng-click-outside.js",
18
+ "es2015": "fesm2015/mintplayer-ng-click-outside.js",
19
+ "esm2015": "esm2015/mintplayer-ng-click-outside.js",
20
+ "fesm2015": "fesm2015/mintplayer-ng-click-outside.js",
21
+ "typings": "mintplayer-ng-click-outside.d.ts",
22
+ "sideEffects": false
23
+ }