@taiga-ui/core 3.16.0-dev.main-19ebb76 → 3.16.0-dev.main-c0b4e86

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@ng-web-apis/common'), require('@taiga-ui/cdk'), require('@taiga-ui/core/abstract'), require('@taiga-ui/core/animations'), require('@taiga-ui/core/services'), require('@taiga-ui/core/tokens'), require('rxjs/operators'), require('@taiga-ui/core/utils'), require('@tinkoff/ng-polymorpheus'), require('rxjs'), require('@taiga-ui/core/components/scrollbar'), require('@taiga-ui/core/directives/mode'), require('@angular/common')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/core/directives/dropdown', ['exports', '@angular/core', '@ng-web-apis/common', '@taiga-ui/cdk', '@taiga-ui/core/abstract', '@taiga-ui/core/animations', '@taiga-ui/core/services', '@taiga-ui/core/tokens', 'rxjs/operators', '@taiga-ui/core/utils', '@tinkoff/ng-polymorpheus', 'rxjs', '@taiga-ui/core/components/scrollbar', '@taiga-ui/core/directives/mode', '@angular/common'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].core = global["taiga-ui"].core || {}, global["taiga-ui"].core.directives = global["taiga-ui"].core.directives || {}, global["taiga-ui"].core.directives.dropdown = {}), global.ng.core, global.common, global.i2, global["taiga-ui"].core.abstract, global["taiga-ui"].core.animations, global["taiga-ui"].core.services, global["taiga-ui"].core.tokens, global.rxjs.operators, global["taiga-ui"].core.utils, global.i1, global.rxjs, global["taiga-ui"].core.components.scrollbar, global["taiga-ui"].core.directives.mode, global.ng.common));
5
- })(this, (function (exports, i0, common, i2, i1$1, animations, services, tokens, operators, utils, i1, i5, i1$2, i3, common$1) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@ng-web-apis/common'), require('@taiga-ui/cdk'), require('@taiga-ui/core/abstract'), require('@taiga-ui/core/animations'), require('@taiga-ui/core/services'), require('@taiga-ui/core/tokens'), require('rxjs/operators'), require('@taiga-ui/core/utils'), require('@tinkoff/ng-polymorpheus'), require('rxjs'), require('@taiga-ui/core/components/scrollbar'), require('@taiga-ui/core/directives/mode'), require('@tinkoff/ng-event-plugins'), require('@angular/common')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/core/directives/dropdown', ['exports', '@angular/core', '@ng-web-apis/common', '@taiga-ui/cdk', '@taiga-ui/core/abstract', '@taiga-ui/core/animations', '@taiga-ui/core/services', '@taiga-ui/core/tokens', 'rxjs/operators', '@taiga-ui/core/utils', '@tinkoff/ng-polymorpheus', 'rxjs', '@taiga-ui/core/components/scrollbar', '@taiga-ui/core/directives/mode', '@tinkoff/ng-event-plugins', '@angular/common'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].core = global["taiga-ui"].core || {}, global["taiga-ui"].core.directives = global["taiga-ui"].core.directives || {}, global["taiga-ui"].core.directives.dropdown = {}), global.ng.core, global.common, global.i2, global["taiga-ui"].core.abstract, global["taiga-ui"].core.animations, global["taiga-ui"].core.services, global["taiga-ui"].core.tokens, global.rxjs.operators, global["taiga-ui"].core.utils, global.i1, global.rxjs, global["taiga-ui"].core.components.scrollbar, global["taiga-ui"].core.directives.mode, global.ngEventPlugins, global.ng.common));
5
+ })(this, (function (exports, i0, common, i2, i1$1, animations, services, tokens, operators, utils, i1, i5, i1$2, i3, ngEventPlugins, common$1) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -717,6 +717,9 @@
717
717
  args: ['@tuiDropdownAnimation']
718
718
  }] } });
719
719
 
720
+ function activeZoneFilter(target) {
721
+ return !this.activeZone.contains(target);
722
+ }
720
723
  var TuiDropdownContextDirective = /** @class */ (function (_super) {
721
724
  __extends(TuiDropdownContextDirective, _super);
722
725
  function TuiDropdownContextDirective(activeZone) {
@@ -730,10 +733,8 @@
730
733
  this.currentRect = i2.tuiPointToClientRect(x, y);
731
734
  this.stream$.next(true);
732
735
  };
733
- TuiDropdownContextDirective.prototype.closeDropdown = function (target) {
734
- if (!this.activeZone.contains(target)) {
735
- this.stream$.next(false);
736
- }
736
+ TuiDropdownContextDirective.prototype.closeDropdown = function () {
737
+ this.stream$.next(false);
737
738
  };
738
739
  TuiDropdownContextDirective.prototype.getClientRect = function () {
739
740
  return this.currentRect;
@@ -746,6 +747,9 @@
746
747
  i1$1.tuiAsDriver(TuiDropdownContextDirective),
747
748
  i1$1.tuiAsRectAccessor(TuiDropdownContextDirective),
748
749
  ], usesInheritance: true, ngImport: i0__namespace });
750
+ __decorate([
751
+ ngEventPlugins.shouldCall(activeZoneFilter)
752
+ ], TuiDropdownContextDirective.prototype, "closeDropdown", null);
749
753
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDropdownContextDirective, decorators: [{
750
754
  type: i0.Directive,
751
755
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-dropdown.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/core/directives/dropdown/dropdown.providers.ts","../../../projects/core/directives/dropdown/dropdown.directive.ts","../../../projects/core/directives/dropdown/dropdown-hover.directive.ts","../../../projects/core/directives/dropdown/dropdown-options.directive.ts","../../../projects/core/directives/dropdown/dropdown.component.ts","../../../projects/core/directives/dropdown/dropdown.template.html","../../../projects/core/directives/dropdown/dropdown-context.directive.ts","../../../projects/core/directives/dropdown/dropdown-driver.directive.ts","../../../projects/core/directives/dropdown/dropdown-host.directive.ts","../../../projects/core/directives/dropdown/dropdown-manual.directive.ts","../../../projects/core/directives/dropdown/dropdown-position.directive.ts","../../../projects/core/directives/dropdown/dropdown-position-sided.directive.ts","../../../projects/core/directives/dropdown/dropdown-selection.directive.ts","../../../projects/core/directives/dropdown/dropdown.module.ts","../../../projects/core/directives/dropdown/taiga-ui-core-directives-dropdown.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 (g && (g = 0, op[0] && (_ = 0)), _) 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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\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\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import {InjectionToken, Type} from '@angular/core';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDropdownComponent} from './dropdown.component';\n\nexport const TUI_DROPDOWN_COMPONENT = new InjectionToken<Type<any>>(\n `[TUI_DROPDOWN_COMPONENT] A component to display a dropdown`,\n {\n factory: () => TuiDropdownComponent,\n },\n);\n","import {\n AfterViewChecked,\n ComponentRef,\n Directive,\n ElementRef,\n Inject,\n INJECTOR,\n Input,\n OnChanges,\n OnDestroy,\n} from '@angular/core';\nimport {\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiDropdownPortalService,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsRectAccessor,\n tuiAsVehicle,\n TuiRectAccessor,\n TuiVehicle,\n} from '@taiga-ui/core/abstract';\nimport {TuiPortalItem} from '@taiga-ui/core/interfaces';\nimport {tuiCheckFixedPosition} from '@taiga-ui/core/utils';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TUI_DROPDOWN_COMPONENT} from './dropdown.providers';\n\n@Directive({\n selector: '[tuiDropdown]:not(ng-container)',\n exportAs: 'tuiDropdown',\n providers: [\n tuiAsRectAccessor(TuiDropdownDirective),\n tuiAsVehicle(TuiDropdownDirective),\n {\n provide: PolymorpheusComponent,\n deps: [TUI_DROPDOWN_COMPONENT, INJECTOR],\n useClass: PolymorpheusComponent,\n },\n ],\n})\nexport class TuiDropdownDirective\n implements\n AfterViewChecked,\n OnDestroy,\n OnChanges,\n TuiPortalItem,\n TuiRectAccessor,\n TuiVehicle\n{\n @Input('tuiDropdown')\n @tuiDefaultProp()\n content: PolymorpheusContent<TuiContextWithImplicit<TuiActiveZoneDirective>> = '';\n\n dropdownBoxRef: ComponentRef<unknown> | null = null;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(PolymorpheusComponent)\n readonly component: PolymorpheusComponent<unknown, any>,\n @Inject(TuiDropdownPortalService)\n private readonly dropdownService: TuiDropdownPortalService,\n ) {}\n\n @tuiPure\n get position(): 'absolute' | 'fixed' {\n return tuiCheckFixedPosition(this.elementRef.nativeElement)\n ? 'fixed'\n : 'absolute';\n }\n\n ngAfterViewChecked(): void {\n this.dropdownBoxRef?.changeDetectorRef.detectChanges();\n this.dropdownBoxRef?.changeDetectorRef.markForCheck();\n }\n\n ngOnChanges(): void {\n if (!this.content) {\n this.toggle(false);\n }\n }\n\n ngOnDestroy(): void {\n this.toggle(false);\n }\n\n getClientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n toggle(show: boolean): void {\n if (show && this.content && !this.dropdownBoxRef) {\n this.dropdownBoxRef = this.dropdownService.add(this.component);\n } else if (!show && this.dropdownBoxRef) {\n this.dropdownService.remove(this.dropdownBoxRef);\n this.dropdownBoxRef = null;\n }\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp, TuiHoveredService} from '@taiga-ui/cdk';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {merge, Observable, of, Subject} from 'rxjs';\nimport {delay, switchMap} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiDropdownHover]:not(ng-container)',\n providers: [tuiAsDriver(TuiDropdownHoverDirective), TuiHoveredService],\n})\nexport class TuiDropdownHoverDirective extends TuiDriver {\n private readonly toggle$ = new Subject<boolean>();\n private readonly stream$ = merge(this.toggle$, this.hovered$).pipe(\n switchMap(visible =>\n of(visible).pipe(delay(visible ? this.showDelay : this.hideDelay)),\n ),\n );\n\n @Input('tuiDropdownShowDelay')\n @tuiDefaultProp()\n showDelay = 200;\n\n @Input('tuiDropdownHideDelay')\n @tuiDefaultProp()\n hideDelay = 500;\n\n constructor(\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n toggle(visible: boolean): void {\n this.toggle$.next(visible);\n }\n}\n","import {\n Directive,\n FactoryProvider,\n forwardRef,\n Inject,\n InjectionToken,\n Input,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {\n TuiDropdownWidth,\n TuiHorizontalDirection,\n TuiVerticalDirection,\n} from '@taiga-ui/core/types';\nimport {tuiOverrideOptions} from '@taiga-ui/core/utils';\n\nexport interface TuiDropdownOptions {\n readonly align: TuiHorizontalDirection;\n readonly direction: TuiVerticalDirection | null;\n readonly limitWidth: TuiDropdownWidth;\n readonly minHeight: number;\n readonly maxHeight: number;\n readonly offset: number;\n}\n\n/** Default values for dropdown options */\nexport const TUI_DROPDOWN_DEFAULT_OPTIONS: TuiDropdownOptions = {\n align: 'left',\n direction: null,\n limitWidth: 'auto',\n maxHeight: 400,\n minHeight: 80,\n offset: 4,\n};\n\nexport const TUI_DROPDOWN_OPTIONS = new InjectionToken<TuiDropdownOptions>(\n '[TUI_DROPDOWN_OPTIONS] Default parameters for dropdown directive',\n {\n factory: () => TUI_DROPDOWN_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiDropdownOptionsProvider: (\n options: Partial<TuiDropdownOptions>,\n) => FactoryProvider = (override: Partial<TuiDropdownOptions>) => ({\n provide: TUI_DROPDOWN_OPTIONS,\n deps: [\n [new Optional(), TuiDropdownOptionsDirective],\n [new SkipSelf(), TUI_DROPDOWN_OPTIONS],\n ],\n useFactory: tuiOverrideOptions(override),\n});\n\n@Directive({\n selector:\n '[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]',\n providers: [\n {\n provide: TUI_DROPDOWN_OPTIONS,\n useExisting: forwardRef(() => TuiDropdownOptionsDirective),\n },\n ],\n})\nexport class TuiDropdownOptionsDirective implements TuiDropdownOptions {\n @Input('tuiDropdownAlign')\n @tuiDefaultProp()\n align = this.options.align;\n\n @Input('tuiDropdownDirection')\n @tuiDefaultProp()\n direction = this.options.direction;\n\n @Input('tuiDropdownLimitWidth')\n @tuiDefaultProp()\n limitWidth = this.options.limitWidth;\n\n @Input('tuiDropdownMinHeight')\n @tuiDefaultProp()\n minHeight = this.options.minHeight;\n\n @Input('tuiDropdownMaxHeight')\n @tuiDefaultProp()\n maxHeight = this.options.maxHeight;\n\n @Input('tuiDropdownOffset')\n @tuiDefaultProp()\n offset = this.options.offset;\n\n constructor(\n @SkipSelf()\n @Inject(TUI_DROPDOWN_OPTIONS)\n private readonly options: TuiDropdownOptions,\n ) {}\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Optional,\n Self,\n} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n AbstractTuiPortalHostComponent,\n TuiDestroyService,\n tuiGetClosestFocusable,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {TuiRectAccessor} from '@taiga-ui/core/abstract';\nimport {tuiDropdownAnimation} from '@taiga-ui/core/animations';\nimport {TuiDropdownAnimation} from '@taiga-ui/core/enums';\nimport {TuiPositionService} from '@taiga-ui/core/services';\nimport {TUI_ANIMATION_OPTIONS} from '@taiga-ui/core/tokens';\nimport {TuiPoint} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n/**\n * This component is used to show template in a portal using default style of white rounded box with a shadow\n */\n// @bad TODO: OnPush\n@Component({\n selector: 'tui-dropdown',\n templateUrl: './dropdown.template.html',\n styleUrls: ['./dropdown.style.less'],\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDestroyService, TuiPositionService],\n animations: [tuiDropdownAnimation],\n})\nexport class TuiDropdownComponent {\n @HostBinding('@tuiDropdownAnimation')\n readonly dropdownAnimation = {\n value: TuiDropdownAnimation.FadeInTop,\n ...this.animationOptions,\n };\n\n constructor(\n @Inject(TuiPositionService) position$: Observable<TuiPoint>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(TuiDropdownDirective) readonly directive: TuiDropdownDirective,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalHostComponent)\n private readonly host: AbstractTuiPortalHostComponent,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TUI_ANIMATION_OPTIONS)\n private readonly animationOptions: AnimationOptions,\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Optional()\n @Inject(TuiDropdownHoverDirective)\n private readonly hoverDirective: TuiDropdownHoverDirective | null,\n ) {\n position$.pipe(takeUntil(destroy$)).subscribe(([top, left]) => {\n this.update(top, left);\n });\n }\n\n onHoveredChange(hovered: boolean): void {\n if (this.hoverDirective) {\n this.hoverDirective.toggle(hovered);\n }\n }\n\n onTopFocus(): void {\n this.moveFocusOutside(true);\n }\n\n onBottomFocus(): void {\n this.moveFocusOutside(false);\n }\n\n private update(top: number, left: number): void {\n const {style} = this.elementRef.nativeElement;\n const {right} = this.elementRef.nativeElement.getBoundingClientRect();\n const {limitWidth, maxHeight, offset} = this.options;\n const {innerHeight} = this.windowRef;\n const {clientRect} = this.host;\n const {position} = this.directive;\n const rect = this.accessor.getClientRect();\n const offsetX = position === 'fixed' ? 0 : -clientRect.left;\n const offsetY = position === 'fixed' ? 0 : -clientRect.top;\n\n top += offsetY;\n left += offsetX;\n\n const isIntersecting =\n left < rect.right && right > rect.left && top < offsetY + 2 * offset;\n const available = isIntersecting\n ? rect.top - 2 * offset\n : offsetY + innerHeight - top - offset;\n\n style.position = position;\n style.top = tuiPx(Math.max(top, offsetY + offset));\n style.left = tuiPx(left);\n style.maxHeight = tuiPx(Math.min(maxHeight, available));\n style.width = '';\n style.minWidth = '';\n\n switch (limitWidth) {\n case 'min':\n style.minWidth = tuiPx(rect.width);\n break;\n case 'fixed':\n style.width = tuiPx(rect.width);\n }\n }\n\n private moveFocusOutside(previous: boolean): void {\n const host = document.createElement('div');\n const {ownerDocument} = host;\n const root = ownerDocument ? ownerDocument.body : host;\n let focusable = tuiGetClosestFocusable({initial: host, root, previous});\n\n while (focusable !== null && host.contains(focusable)) {\n focusable = tuiGetClosestFocusable({initial: focusable, root, previous});\n }\n\n focusable?.focus();\n }\n}\n","<div\n #activeZone=\"tuiActiveZone\"\n tuiActiveZone\n tuiOverscroll=\"all\"\n class=\"t-wrapper\"\n [tuiMode]=\"null\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n>\n <tui-scrollbar class=\"t-scroll\">\n <div\n tabindex=\"0\"\n (focus)=\"onTopFocus()\"\n ></div>\n <div\n *polymorpheusOutlet=\"directive.content as text; context: {$implicit: activeZone}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n <div\n tabindex=\"0\"\n (focus)=\"onBottomFocus()\"\n ></div>\n </tui-scrollbar>\n</div>\n","import {Directive, HostListener, Inject} from '@angular/core';\nimport {\n EMPTY_CLIENT_RECT,\n TuiActiveZoneDirective,\n tuiPointToClientRect,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {Subject} from 'rxjs';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownContext]',\n providers: [\n TuiActiveZoneDirective,\n tuiAsDriver(TuiDropdownContextDirective),\n tuiAsRectAccessor(TuiDropdownContextDirective),\n ],\n})\nexport class TuiDropdownContextDirective extends TuiDriver implements TuiRectAccessor {\n private readonly stream$ = new Subject<boolean>();\n\n private currentRect = EMPTY_CLIENT_RECT;\n\n constructor(\n @Inject(TuiActiveZoneDirective)\n private readonly activeZone: TuiActiveZoneDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n @HostListener('contextmenu.prevent.stop', ['$event.clientX', '$event.clientY'])\n onContextMenu(x: number, y: number): void {\n this.currentRect = tuiPointToClientRect(x, y);\n this.stream$.next(true);\n }\n\n @HostListener('document:click.silent', ['$event.target'])\n @HostListener('document:contextmenu.capture.silent', ['$event.target'])\n @HostListener('document:keydown.esc', ['$event.currentTarget'])\n closeDropdown(target: Element): void {\n if (!this.activeZone.contains(target)) {\n this.stream$.next(false);\n }\n }\n\n getClientRect(): ClientRect {\n return this.currentRect;\n }\n}\n","import {Directive} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {AbstractTuiDriverDirective} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiDropdown]',\n providers: [TuiDestroyService],\n})\nexport class TuiDropdownDriverDirective extends AbstractTuiDriverDirective {}\n","import {Directive, Input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk';\nimport {tuiAsRectAccessor, TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownHost]',\n providers: [tuiAsRectAccessor(TuiDropdownHostDirective)],\n})\nexport class TuiDropdownHostDirective extends TuiRectAccessor {\n @Input()\n tuiDropdownHost?: HTMLElement;\n\n getClientRect(): ClientRect {\n return this.tuiDropdownHost?.getBoundingClientRect() || EMPTY_CLIENT_RECT;\n }\n}\n","import {Directive, Input, OnChanges} from '@angular/core';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {Subject} from 'rxjs';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownManual]',\n providers: [tuiAsDriver(TuiDropdownManualDirective)],\n})\nexport class TuiDropdownManualDirective extends TuiDriver implements OnChanges {\n private readonly stream$ = new Subject<boolean>();\n\n @Input()\n tuiDropdownManual = false;\n\n constructor() {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n ngOnChanges(): void {\n this.stream$.next(this.tuiDropdownManual);\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TuiPoint, TuiVerticalDirection} from '@taiga-ui/core/types';\n\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n@Directive({\n selector: '[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])',\n providers: [tuiAsPositionAccessor(TuiDropdownPositionDirective)],\n})\nexport class TuiDropdownPositionDirective implements TuiPositionAccessor {\n private previous?: TuiVerticalDirection;\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n ) {}\n\n getPosition({width, height}: ClientRect): TuiPoint {\n const hostRect = this.accessor.getClientRect();\n const {innerHeight, innerWidth} = this.windowRef;\n const {minHeight, align, direction, offset} = this.options;\n const previous = this.previous || direction || 'bottom';\n const right = Math.max(hostRect.right - width, offset);\n const available = {\n top: hostRect.top - 2 * offset,\n bottom: innerHeight - hostRect.bottom - 2 * offset,\n } as const;\n const position = {\n top: hostRect.top - offset - height,\n bottom: hostRect.bottom + offset,\n right,\n left: hostRect.left + width < innerWidth - offset ? hostRect.left : right,\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n\n if (\n (available[previous] > minHeight && direction) ||\n available[previous] > height\n ) {\n return [position[previous], position[align]];\n }\n\n this.previous = better;\n\n return [position[better], position[align]];\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TuiPoint} from '@taiga-ui/core/types';\n\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\n\n@Directive({\n selector: '[tuiDropdownSided]',\n providers: [\n TuiDropdownPositionDirective,\n tuiAsPositionAccessor(TuiDropdownPositionSidedDirective),\n ],\n})\nexport class TuiDropdownPositionSidedDirective implements TuiPositionAccessor {\n private previous = this.options.direction || 'bottom';\n\n @Input()\n tuiDropdownSided: boolean | string = '';\n\n @Input()\n tuiDropdownSidedOffset = 4;\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n @Inject(TuiDropdownPositionDirective)\n private readonly vertical: TuiPositionAccessor,\n ) {}\n\n getPosition(rect: ClientRect): TuiPoint {\n if (this.tuiDropdownSided === false) {\n return this.vertical.getPosition(rect);\n }\n\n const {height, width} = rect;\n const hostRect = this.accessor.getClientRect();\n const {innerHeight, innerWidth} = this.windowRef;\n const {align, direction, minHeight, offset} = this.options;\n const available = {\n top: hostRect.bottom,\n left: hostRect.left - offset,\n right: innerWidth - hostRect.right - offset,\n bottom: innerHeight - hostRect.top,\n } as const;\n const position = {\n top: hostRect.bottom - height + this.tuiDropdownSidedOffset + 1, // 1 for border\n left: hostRect.left - width - offset,\n right: hostRect.right + offset,\n bottom: hostRect.top - this.tuiDropdownSidedOffset - 1, // 1 for border\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n const maxLeft = available.left > available.right ? position.left : position.right;\n const left = available[align] > width ? position[align] : maxLeft;\n\n if (\n (available[this.previous] > minHeight && direction) ||\n this.previous === better\n ) {\n return [position[this.previous], left];\n }\n\n this.previous = better;\n\n return [position[better], left];\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Inject,\n Input,\n OnDestroy,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_SPACE,\n EMPTY_CLIENT_RECT,\n TUI_RANGE,\n TuiBooleanHandler,\n tuiDefaultProp,\n tuiGetNativeFocused,\n tuiIsElement,\n tuiIsString,\n tuiIsTextfield,\n tuiIsTextNode,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_SELECTION_STREAM} from '@taiga-ui/core/tokens';\nimport {tuiGetWordRange} from '@taiga-ui/core/utils';\nimport {BehaviorSubject, combineLatest, Observable} from 'rxjs';\nimport {distinctUntilChanged, map} from 'rxjs/operators';\n\nimport {TuiDropdownDirective} from './dropdown.directive';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownSelection]',\n providers: [\n tuiAsDriver(TuiDropdownSelectionDirective),\n tuiAsRectAccessor(TuiDropdownSelectionDirective),\n ],\n})\nexport class TuiDropdownSelectionDirective\n extends TuiDriver\n implements TuiRectAccessor, OnDestroy\n{\n private readonly handler$ = new BehaviorSubject<TuiBooleanHandler<Range>>(\n ALWAYS_TRUE_HANDLER,\n );\n\n private readonly stream$ = combineLatest([\n this.handler$,\n this.selection$.pipe(\n map(() => this.getRange()),\n distinctUntilChanged(),\n ),\n ]).pipe(\n map(([handler, range]) => {\n const contained = this.elementRef.nativeElement.contains(\n range.commonAncestorContainer,\n );\n\n this.range =\n contained && tuiIsTextNode(range.commonAncestorContainer)\n ? range\n : this.range;\n\n return (contained && handler(this.range)) || this.inDropdown(range);\n }),\n );\n\n private ghost?: HTMLElement;\n\n @Input('tuiDropdownSelectionPosition')\n @tuiDefaultProp()\n position: 'selection' | 'tag' | 'word' = 'selection';\n\n @Input()\n set tuiDropdownSelection(visible: TuiBooleanHandler<Range> | string) {\n if (!tuiIsString(visible)) {\n this.handler$.next(visible);\n }\n }\n\n constructor(\n @Inject(TUI_RANGE) private range: Range,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TUI_SELECTION_STREAM) private readonly selection$: Observable<unknown>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(ViewContainerRef) private readonly viewContainerRef: ViewContainerRef,\n @Inject(TuiDropdownDirective) private readonly dropdown: TuiDropdownDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n getClientRect(): ClientRect {\n switch (this.position) {\n case 'tag': {\n const {commonAncestorContainer} = this.range;\n const element = tuiIsElement(commonAncestorContainer)\n ? commonAncestorContainer\n : commonAncestorContainer.parentNode;\n\n return element && tuiIsElement(element)\n ? element.getBoundingClientRect()\n : EMPTY_CLIENT_RECT;\n }\n case 'word':\n return tuiGetWordRange(this.range).getBoundingClientRect();\n default:\n return this.range.getBoundingClientRect();\n }\n }\n\n ngOnDestroy(): void {\n if (this.ghost) {\n this.viewContainerRef.element.nativeElement.removeChild(this.ghost);\n }\n }\n\n private getRange(): Range {\n const {nativeElement} = this.elementRef;\n const active = tuiGetNativeFocused(this.documentRef);\n const selection = this.documentRef.getSelection();\n\n if (active && tuiIsTextfield(active) && nativeElement.contains(active)) {\n return this.veryVerySadInputFix(active);\n }\n\n return selection?.rangeCount ? selection.getRangeAt(0) : this.range;\n }\n\n /**\n * Check if Node is inside dropdown\n */\n private boxContains(node: Node): boolean {\n return !!this.dropdown.dropdownBoxRef?.location.nativeElement.contains(node);\n }\n\n /**\n * Check if given range is at least partially inside dropdown\n */\n private inDropdown(range: Range): boolean {\n const {startContainer, endContainer} = range;\n const {nativeElement} = this.elementRef;\n const inDropdown = this.boxContains(range.commonAncestorContainer);\n const hostToDropdown =\n this.boxContains(endContainer) && nativeElement.contains(startContainer);\n const dropdownToHost =\n this.boxContains(startContainer) && nativeElement.contains(endContainer);\n\n return inDropdown || hostToDropdown || dropdownToHost;\n }\n\n private veryVerySadInputFix(element: HTMLInputElement | HTMLTextAreaElement): Range {\n const {ghost = this.initGhost(element)} = this;\n const {top, left, width, height} = element.getBoundingClientRect();\n const {selectionStart, selectionEnd, value} = element;\n const range = this.documentRef.createRange();\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n ghost.style.top = tuiPx(top - hostRect.top);\n ghost.style.left = tuiPx(left - hostRect.left);\n ghost.style.width = tuiPx(width);\n ghost.style.height = tuiPx(height);\n ghost.textContent = CHAR_ZERO_WIDTH_SPACE + value + CHAR_NO_BREAK_SPACE;\n\n range.setStart(ghost.firstChild as Node, selectionStart || 0);\n range.setEnd(ghost.firstChild as Node, selectionEnd || 0);\n\n return range;\n }\n\n /**\n * Create an invisible DIV styled exactly like input/textarea element inside directive\n */\n private initGhost(element: HTMLInputElement | HTMLTextAreaElement): HTMLElement {\n const ghost = this.documentRef.createElement('div');\n const {nativeElement} = this.viewContainerRef.element;\n const {font, letterSpacing, textTransform, padding} = getComputedStyle(element);\n\n ghost.style.position = 'absolute';\n ghost.style.pointerEvents = 'none';\n ghost.style.opacity = '0';\n ghost.style.whiteSpace = 'pre-wrap';\n ghost.style.font = font;\n ghost.style.letterSpacing = letterSpacing;\n ghost.style.textTransform = textTransform;\n ghost.style.padding = padding;\n\n nativeElement.appendChild(ghost);\n this.ghost = ghost;\n\n return ghost;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiHoveredModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {TuiModeModule} from '@taiga-ui/core/directives/mode';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDropdownComponent} from './dropdown.component';\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownContextDirective} from './dropdown-context.directive';\nimport {TuiDropdownDriverDirective} from './dropdown-driver.directive';\nimport {TuiDropdownHostDirective} from './dropdown-host.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TuiDropdownManualDirective} from './dropdown-manual.directive';\nimport {TuiDropdownOptionsDirective} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\nimport {TuiDropdownPositionSidedDirective} from './dropdown-position-sided.directive';\nimport {TuiDropdownSelectionDirective} from './dropdown-selection.directive';\n\n@NgModule({\n imports: [\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n TuiModeModule,\n TuiHoveredModule,\n ],\n declarations: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n exports: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n})\nexport class TuiDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["InjectionToken","tuiCheckFixedPosition","i0","ElementRef","PolymorpheusComponent","TuiDropdownPortalService","tuiAsRectAccessor","tuiAsVehicle","INJECTOR","tuiDefaultProp","tuiPure","Directive","Inject","Input","Subject","merge","switchMap","of","delay","TuiDriver","TuiHoveredService","tuiAsDriver","Optional","SkipSelf","tuiOverrideOptions","forwardRef","takeUntil","tuiPx","tuiGetClosestFocusable","TuiPositionService","TuiDestroyService","AbstractTuiPortalHostComponent","TuiRectAccessor","WINDOW","TUI_ANIMATION_OPTIONS","i1","i2","i3","i4","tuiDropdownAnimation","Component","ChangeDetectionStrategy","Self","HostBinding","EMPTY_CLIENT_RECT","tuiPointToClientRect","TuiActiveZoneDirective","HostListener","AbstractTuiDriverDirective","tuiAsPositionAccessor","BehaviorSubject","ALWAYS_TRUE_HANDLER","combineLatest","map","distinctUntilChanged","tuiIsTextNode","tuiIsString","tuiIsElement","tuiGetWordRange","tuiGetNativeFocused","tuiIsTextfield","CHAR_ZERO_WIDTH_SPACE","CHAR_NO_BREAK_SPACE","TUI_RANGE","DOCUMENT","TUI_SELECTION_STREAM","ViewContainerRef","PolymorpheusModule","TuiActiveZoneModule","TuiOverscrollModule","TuiScrollbarModule","TuiModeModule","TuiHoveredModule","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-directives-dropdown.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/core/directives/dropdown/dropdown.providers.ts","../../../projects/core/directives/dropdown/dropdown.directive.ts","../../../projects/core/directives/dropdown/dropdown-hover.directive.ts","../../../projects/core/directives/dropdown/dropdown-options.directive.ts","../../../projects/core/directives/dropdown/dropdown.component.ts","../../../projects/core/directives/dropdown/dropdown.template.html","../../../projects/core/directives/dropdown/dropdown-context.directive.ts","../../../projects/core/directives/dropdown/dropdown-driver.directive.ts","../../../projects/core/directives/dropdown/dropdown-host.directive.ts","../../../projects/core/directives/dropdown/dropdown-manual.directive.ts","../../../projects/core/directives/dropdown/dropdown-position.directive.ts","../../../projects/core/directives/dropdown/dropdown-position-sided.directive.ts","../../../projects/core/directives/dropdown/dropdown-selection.directive.ts","../../../projects/core/directives/dropdown/dropdown.module.ts","../../../projects/core/directives/dropdown/taiga-ui-core-directives-dropdown.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 (g && (g = 0, op[0] && (_ = 0)), _) 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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\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\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import {InjectionToken, Type} from '@angular/core';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDropdownComponent} from './dropdown.component';\n\nexport const TUI_DROPDOWN_COMPONENT = new InjectionToken<Type<any>>(\n `[TUI_DROPDOWN_COMPONENT] A component to display a dropdown`,\n {\n factory: () => TuiDropdownComponent,\n },\n);\n","import {\n AfterViewChecked,\n ComponentRef,\n Directive,\n ElementRef,\n Inject,\n INJECTOR,\n Input,\n OnChanges,\n OnDestroy,\n} from '@angular/core';\nimport {\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiDropdownPortalService,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsRectAccessor,\n tuiAsVehicle,\n TuiRectAccessor,\n TuiVehicle,\n} from '@taiga-ui/core/abstract';\nimport {TuiPortalItem} from '@taiga-ui/core/interfaces';\nimport {tuiCheckFixedPosition} from '@taiga-ui/core/utils';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TUI_DROPDOWN_COMPONENT} from './dropdown.providers';\n\n@Directive({\n selector: '[tuiDropdown]:not(ng-container)',\n exportAs: 'tuiDropdown',\n providers: [\n tuiAsRectAccessor(TuiDropdownDirective),\n tuiAsVehicle(TuiDropdownDirective),\n {\n provide: PolymorpheusComponent,\n deps: [TUI_DROPDOWN_COMPONENT, INJECTOR],\n useClass: PolymorpheusComponent,\n },\n ],\n})\nexport class TuiDropdownDirective\n implements\n AfterViewChecked,\n OnDestroy,\n OnChanges,\n TuiPortalItem,\n TuiRectAccessor,\n TuiVehicle\n{\n @Input('tuiDropdown')\n @tuiDefaultProp()\n content: PolymorpheusContent<TuiContextWithImplicit<TuiActiveZoneDirective>> = '';\n\n dropdownBoxRef: ComponentRef<unknown> | null = null;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(PolymorpheusComponent)\n readonly component: PolymorpheusComponent<unknown, any>,\n @Inject(TuiDropdownPortalService)\n private readonly dropdownService: TuiDropdownPortalService,\n ) {}\n\n @tuiPure\n get position(): 'absolute' | 'fixed' {\n return tuiCheckFixedPosition(this.elementRef.nativeElement)\n ? 'fixed'\n : 'absolute';\n }\n\n ngAfterViewChecked(): void {\n this.dropdownBoxRef?.changeDetectorRef.detectChanges();\n this.dropdownBoxRef?.changeDetectorRef.markForCheck();\n }\n\n ngOnChanges(): void {\n if (!this.content) {\n this.toggle(false);\n }\n }\n\n ngOnDestroy(): void {\n this.toggle(false);\n }\n\n getClientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n toggle(show: boolean): void {\n if (show && this.content && !this.dropdownBoxRef) {\n this.dropdownBoxRef = this.dropdownService.add(this.component);\n } else if (!show && this.dropdownBoxRef) {\n this.dropdownService.remove(this.dropdownBoxRef);\n this.dropdownBoxRef = null;\n }\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp, TuiHoveredService} from '@taiga-ui/cdk';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {merge, Observable, of, Subject} from 'rxjs';\nimport {delay, switchMap} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiDropdownHover]:not(ng-container)',\n providers: [tuiAsDriver(TuiDropdownHoverDirective), TuiHoveredService],\n})\nexport class TuiDropdownHoverDirective extends TuiDriver {\n private readonly toggle$ = new Subject<boolean>();\n private readonly stream$ = merge(this.toggle$, this.hovered$).pipe(\n switchMap(visible =>\n of(visible).pipe(delay(visible ? this.showDelay : this.hideDelay)),\n ),\n );\n\n @Input('tuiDropdownShowDelay')\n @tuiDefaultProp()\n showDelay = 200;\n\n @Input('tuiDropdownHideDelay')\n @tuiDefaultProp()\n hideDelay = 500;\n\n constructor(\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n toggle(visible: boolean): void {\n this.toggle$.next(visible);\n }\n}\n","import {\n Directive,\n FactoryProvider,\n forwardRef,\n Inject,\n InjectionToken,\n Input,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {\n TuiDropdownWidth,\n TuiHorizontalDirection,\n TuiVerticalDirection,\n} from '@taiga-ui/core/types';\nimport {tuiOverrideOptions} from '@taiga-ui/core/utils';\n\nexport interface TuiDropdownOptions {\n readonly align: TuiHorizontalDirection;\n readonly direction: TuiVerticalDirection | null;\n readonly limitWidth: TuiDropdownWidth;\n readonly minHeight: number;\n readonly maxHeight: number;\n readonly offset: number;\n}\n\n/** Default values for dropdown options */\nexport const TUI_DROPDOWN_DEFAULT_OPTIONS: TuiDropdownOptions = {\n align: 'left',\n direction: null,\n limitWidth: 'auto',\n maxHeight: 400,\n minHeight: 80,\n offset: 4,\n};\n\nexport const TUI_DROPDOWN_OPTIONS = new InjectionToken<TuiDropdownOptions>(\n '[TUI_DROPDOWN_OPTIONS] Default parameters for dropdown directive',\n {\n factory: () => TUI_DROPDOWN_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiDropdownOptionsProvider: (\n options: Partial<TuiDropdownOptions>,\n) => FactoryProvider = (override: Partial<TuiDropdownOptions>) => ({\n provide: TUI_DROPDOWN_OPTIONS,\n deps: [\n [new Optional(), TuiDropdownOptionsDirective],\n [new SkipSelf(), TUI_DROPDOWN_OPTIONS],\n ],\n useFactory: tuiOverrideOptions(override),\n});\n\n@Directive({\n selector:\n '[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]',\n providers: [\n {\n provide: TUI_DROPDOWN_OPTIONS,\n useExisting: forwardRef(() => TuiDropdownOptionsDirective),\n },\n ],\n})\nexport class TuiDropdownOptionsDirective implements TuiDropdownOptions {\n @Input('tuiDropdownAlign')\n @tuiDefaultProp()\n align = this.options.align;\n\n @Input('tuiDropdownDirection')\n @tuiDefaultProp()\n direction = this.options.direction;\n\n @Input('tuiDropdownLimitWidth')\n @tuiDefaultProp()\n limitWidth = this.options.limitWidth;\n\n @Input('tuiDropdownMinHeight')\n @tuiDefaultProp()\n minHeight = this.options.minHeight;\n\n @Input('tuiDropdownMaxHeight')\n @tuiDefaultProp()\n maxHeight = this.options.maxHeight;\n\n @Input('tuiDropdownOffset')\n @tuiDefaultProp()\n offset = this.options.offset;\n\n constructor(\n @SkipSelf()\n @Inject(TUI_DROPDOWN_OPTIONS)\n private readonly options: TuiDropdownOptions,\n ) {}\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Optional,\n Self,\n} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n AbstractTuiPortalHostComponent,\n TuiDestroyService,\n tuiGetClosestFocusable,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {TuiRectAccessor} from '@taiga-ui/core/abstract';\nimport {tuiDropdownAnimation} from '@taiga-ui/core/animations';\nimport {TuiDropdownAnimation} from '@taiga-ui/core/enums';\nimport {TuiPositionService} from '@taiga-ui/core/services';\nimport {TUI_ANIMATION_OPTIONS} from '@taiga-ui/core/tokens';\nimport {TuiPoint} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n/**\n * This component is used to show template in a portal using default style of white rounded box with a shadow\n */\n// @bad TODO: OnPush\n@Component({\n selector: 'tui-dropdown',\n templateUrl: './dropdown.template.html',\n styleUrls: ['./dropdown.style.less'],\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDestroyService, TuiPositionService],\n animations: [tuiDropdownAnimation],\n})\nexport class TuiDropdownComponent {\n @HostBinding('@tuiDropdownAnimation')\n readonly dropdownAnimation = {\n value: TuiDropdownAnimation.FadeInTop,\n ...this.animationOptions,\n };\n\n constructor(\n @Inject(TuiPositionService) position$: Observable<TuiPoint>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(TuiDropdownDirective) readonly directive: TuiDropdownDirective,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalHostComponent)\n private readonly host: AbstractTuiPortalHostComponent,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TUI_ANIMATION_OPTIONS)\n private readonly animationOptions: AnimationOptions,\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Optional()\n @Inject(TuiDropdownHoverDirective)\n private readonly hoverDirective: TuiDropdownHoverDirective | null,\n ) {\n position$.pipe(takeUntil(destroy$)).subscribe(([top, left]) => {\n this.update(top, left);\n });\n }\n\n onHoveredChange(hovered: boolean): void {\n if (this.hoverDirective) {\n this.hoverDirective.toggle(hovered);\n }\n }\n\n onTopFocus(): void {\n this.moveFocusOutside(true);\n }\n\n onBottomFocus(): void {\n this.moveFocusOutside(false);\n }\n\n private update(top: number, left: number): void {\n const {style} = this.elementRef.nativeElement;\n const {right} = this.elementRef.nativeElement.getBoundingClientRect();\n const {limitWidth, maxHeight, offset} = this.options;\n const {innerHeight} = this.windowRef;\n const {clientRect} = this.host;\n const {position} = this.directive;\n const rect = this.accessor.getClientRect();\n const offsetX = position === 'fixed' ? 0 : -clientRect.left;\n const offsetY = position === 'fixed' ? 0 : -clientRect.top;\n\n top += offsetY;\n left += offsetX;\n\n const isIntersecting =\n left < rect.right && right > rect.left && top < offsetY + 2 * offset;\n const available = isIntersecting\n ? rect.top - 2 * offset\n : offsetY + innerHeight - top - offset;\n\n style.position = position;\n style.top = tuiPx(Math.max(top, offsetY + offset));\n style.left = tuiPx(left);\n style.maxHeight = tuiPx(Math.min(maxHeight, available));\n style.width = '';\n style.minWidth = '';\n\n switch (limitWidth) {\n case 'min':\n style.minWidth = tuiPx(rect.width);\n break;\n case 'fixed':\n style.width = tuiPx(rect.width);\n }\n }\n\n private moveFocusOutside(previous: boolean): void {\n const host = document.createElement('div');\n const {ownerDocument} = host;\n const root = ownerDocument ? ownerDocument.body : host;\n let focusable = tuiGetClosestFocusable({initial: host, root, previous});\n\n while (focusable !== null && host.contains(focusable)) {\n focusable = tuiGetClosestFocusable({initial: focusable, root, previous});\n }\n\n focusable?.focus();\n }\n}\n","<div\n #activeZone=\"tuiActiveZone\"\n tuiActiveZone\n tuiOverscroll=\"all\"\n class=\"t-wrapper\"\n [tuiMode]=\"null\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n>\n <tui-scrollbar class=\"t-scroll\">\n <div\n tabindex=\"0\"\n (focus)=\"onTopFocus()\"\n ></div>\n <div\n *polymorpheusOutlet=\"directive.content as text; context: {$implicit: activeZone}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n <div\n tabindex=\"0\"\n (focus)=\"onBottomFocus()\"\n ></div>\n </tui-scrollbar>\n</div>\n","import {Directive, HostListener, Inject} from '@angular/core';\nimport {\n EMPTY_CLIENT_RECT,\n TuiActiveZoneDirective,\n tuiPointToClientRect,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {Subject} from 'rxjs';\n\nfunction activeZoneFilter(this: TuiDropdownContextDirective, target: Element): boolean {\n return !this.activeZone.contains(target);\n}\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownContext]',\n providers: [\n TuiActiveZoneDirective,\n tuiAsDriver(TuiDropdownContextDirective),\n tuiAsRectAccessor(TuiDropdownContextDirective),\n ],\n})\nexport class TuiDropdownContextDirective extends TuiDriver implements TuiRectAccessor {\n private readonly stream$ = new Subject<boolean>();\n\n private currentRect = EMPTY_CLIENT_RECT;\n\n constructor(\n @Inject(TuiActiveZoneDirective)\n readonly activeZone: TuiActiveZoneDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n @HostListener('contextmenu.prevent.stop', ['$event.clientX', '$event.clientY'])\n onContextMenu(x: number, y: number): void {\n this.currentRect = tuiPointToClientRect(x, y);\n this.stream$.next(true);\n }\n\n @shouldCall(activeZoneFilter)\n @HostListener('document:click.silent', ['$event.target'])\n @HostListener('document:contextmenu.capture.silent', ['$event.target'])\n @HostListener('document:keydown.esc', ['$event.currentTarget'])\n closeDropdown(): void {\n this.stream$.next(false);\n }\n\n getClientRect(): ClientRect {\n return this.currentRect;\n }\n}\n","import {Directive} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {AbstractTuiDriverDirective} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiDropdown]',\n providers: [TuiDestroyService],\n})\nexport class TuiDropdownDriverDirective extends AbstractTuiDriverDirective {}\n","import {Directive, Input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk';\nimport {tuiAsRectAccessor, TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownHost]',\n providers: [tuiAsRectAccessor(TuiDropdownHostDirective)],\n})\nexport class TuiDropdownHostDirective extends TuiRectAccessor {\n @Input()\n tuiDropdownHost?: HTMLElement;\n\n getClientRect(): ClientRect {\n return this.tuiDropdownHost?.getBoundingClientRect() || EMPTY_CLIENT_RECT;\n }\n}\n","import {Directive, Input, OnChanges} from '@angular/core';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {Subject} from 'rxjs';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownManual]',\n providers: [tuiAsDriver(TuiDropdownManualDirective)],\n})\nexport class TuiDropdownManualDirective extends TuiDriver implements OnChanges {\n private readonly stream$ = new Subject<boolean>();\n\n @Input()\n tuiDropdownManual = false;\n\n constructor() {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n ngOnChanges(): void {\n this.stream$.next(this.tuiDropdownManual);\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TuiPoint, TuiVerticalDirection} from '@taiga-ui/core/types';\n\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n@Directive({\n selector: '[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])',\n providers: [tuiAsPositionAccessor(TuiDropdownPositionDirective)],\n})\nexport class TuiDropdownPositionDirective implements TuiPositionAccessor {\n private previous?: TuiVerticalDirection;\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n ) {}\n\n getPosition({width, height}: ClientRect): TuiPoint {\n const hostRect = this.accessor.getClientRect();\n const {innerHeight, innerWidth} = this.windowRef;\n const {minHeight, align, direction, offset} = this.options;\n const previous = this.previous || direction || 'bottom';\n const right = Math.max(hostRect.right - width, offset);\n const available = {\n top: hostRect.top - 2 * offset,\n bottom: innerHeight - hostRect.bottom - 2 * offset,\n } as const;\n const position = {\n top: hostRect.top - offset - height,\n bottom: hostRect.bottom + offset,\n right,\n left: hostRect.left + width < innerWidth - offset ? hostRect.left : right,\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n\n if (\n (available[previous] > minHeight && direction) ||\n available[previous] > height\n ) {\n return [position[previous], position[align]];\n }\n\n this.previous = better;\n\n return [position[better], position[align]];\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TuiPoint} from '@taiga-ui/core/types';\n\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\n\n@Directive({\n selector: '[tuiDropdownSided]',\n providers: [\n TuiDropdownPositionDirective,\n tuiAsPositionAccessor(TuiDropdownPositionSidedDirective),\n ],\n})\nexport class TuiDropdownPositionSidedDirective implements TuiPositionAccessor {\n private previous = this.options.direction || 'bottom';\n\n @Input()\n tuiDropdownSided: boolean | string = '';\n\n @Input()\n tuiDropdownSidedOffset = 4;\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n @Inject(TuiDropdownPositionDirective)\n private readonly vertical: TuiPositionAccessor,\n ) {}\n\n getPosition(rect: ClientRect): TuiPoint {\n if (this.tuiDropdownSided === false) {\n return this.vertical.getPosition(rect);\n }\n\n const {height, width} = rect;\n const hostRect = this.accessor.getClientRect();\n const {innerHeight, innerWidth} = this.windowRef;\n const {align, direction, minHeight, offset} = this.options;\n const available = {\n top: hostRect.bottom,\n left: hostRect.left - offset,\n right: innerWidth - hostRect.right - offset,\n bottom: innerHeight - hostRect.top,\n } as const;\n const position = {\n top: hostRect.bottom - height + this.tuiDropdownSidedOffset + 1, // 1 for border\n left: hostRect.left - width - offset,\n right: hostRect.right + offset,\n bottom: hostRect.top - this.tuiDropdownSidedOffset - 1, // 1 for border\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n const maxLeft = available.left > available.right ? position.left : position.right;\n const left = available[align] > width ? position[align] : maxLeft;\n\n if (\n (available[this.previous] > minHeight && direction) ||\n this.previous === better\n ) {\n return [position[this.previous], left];\n }\n\n this.previous = better;\n\n return [position[better], left];\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Inject,\n Input,\n OnDestroy,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_SPACE,\n EMPTY_CLIENT_RECT,\n TUI_RANGE,\n TuiBooleanHandler,\n tuiDefaultProp,\n tuiGetNativeFocused,\n tuiIsElement,\n tuiIsString,\n tuiIsTextfield,\n tuiIsTextNode,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_SELECTION_STREAM} from '@taiga-ui/core/tokens';\nimport {tuiGetWordRange} from '@taiga-ui/core/utils';\nimport {BehaviorSubject, combineLatest, Observable} from 'rxjs';\nimport {distinctUntilChanged, map} from 'rxjs/operators';\n\nimport {TuiDropdownDirective} from './dropdown.directive';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownSelection]',\n providers: [\n tuiAsDriver(TuiDropdownSelectionDirective),\n tuiAsRectAccessor(TuiDropdownSelectionDirective),\n ],\n})\nexport class TuiDropdownSelectionDirective\n extends TuiDriver\n implements TuiRectAccessor, OnDestroy\n{\n private readonly handler$ = new BehaviorSubject<TuiBooleanHandler<Range>>(\n ALWAYS_TRUE_HANDLER,\n );\n\n private readonly stream$ = combineLatest([\n this.handler$,\n this.selection$.pipe(\n map(() => this.getRange()),\n distinctUntilChanged(),\n ),\n ]).pipe(\n map(([handler, range]) => {\n const contained = this.elementRef.nativeElement.contains(\n range.commonAncestorContainer,\n );\n\n this.range =\n contained && tuiIsTextNode(range.commonAncestorContainer)\n ? range\n : this.range;\n\n return (contained && handler(this.range)) || this.inDropdown(range);\n }),\n );\n\n private ghost?: HTMLElement;\n\n @Input('tuiDropdownSelectionPosition')\n @tuiDefaultProp()\n position: 'selection' | 'tag' | 'word' = 'selection';\n\n @Input()\n set tuiDropdownSelection(visible: TuiBooleanHandler<Range> | string) {\n if (!tuiIsString(visible)) {\n this.handler$.next(visible);\n }\n }\n\n constructor(\n @Inject(TUI_RANGE) private range: Range,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TUI_SELECTION_STREAM) private readonly selection$: Observable<unknown>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(ViewContainerRef) private readonly viewContainerRef: ViewContainerRef,\n @Inject(TuiDropdownDirective) private readonly dropdown: TuiDropdownDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n getClientRect(): ClientRect {\n switch (this.position) {\n case 'tag': {\n const {commonAncestorContainer} = this.range;\n const element = tuiIsElement(commonAncestorContainer)\n ? commonAncestorContainer\n : commonAncestorContainer.parentNode;\n\n return element && tuiIsElement(element)\n ? element.getBoundingClientRect()\n : EMPTY_CLIENT_RECT;\n }\n case 'word':\n return tuiGetWordRange(this.range).getBoundingClientRect();\n default:\n return this.range.getBoundingClientRect();\n }\n }\n\n ngOnDestroy(): void {\n if (this.ghost) {\n this.viewContainerRef.element.nativeElement.removeChild(this.ghost);\n }\n }\n\n private getRange(): Range {\n const {nativeElement} = this.elementRef;\n const active = tuiGetNativeFocused(this.documentRef);\n const selection = this.documentRef.getSelection();\n\n if (active && tuiIsTextfield(active) && nativeElement.contains(active)) {\n return this.veryVerySadInputFix(active);\n }\n\n return selection?.rangeCount ? selection.getRangeAt(0) : this.range;\n }\n\n /**\n * Check if Node is inside dropdown\n */\n private boxContains(node: Node): boolean {\n return !!this.dropdown.dropdownBoxRef?.location.nativeElement.contains(node);\n }\n\n /**\n * Check if given range is at least partially inside dropdown\n */\n private inDropdown(range: Range): boolean {\n const {startContainer, endContainer} = range;\n const {nativeElement} = this.elementRef;\n const inDropdown = this.boxContains(range.commonAncestorContainer);\n const hostToDropdown =\n this.boxContains(endContainer) && nativeElement.contains(startContainer);\n const dropdownToHost =\n this.boxContains(startContainer) && nativeElement.contains(endContainer);\n\n return inDropdown || hostToDropdown || dropdownToHost;\n }\n\n private veryVerySadInputFix(element: HTMLInputElement | HTMLTextAreaElement): Range {\n const {ghost = this.initGhost(element)} = this;\n const {top, left, width, height} = element.getBoundingClientRect();\n const {selectionStart, selectionEnd, value} = element;\n const range = this.documentRef.createRange();\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n ghost.style.top = tuiPx(top - hostRect.top);\n ghost.style.left = tuiPx(left - hostRect.left);\n ghost.style.width = tuiPx(width);\n ghost.style.height = tuiPx(height);\n ghost.textContent = CHAR_ZERO_WIDTH_SPACE + value + CHAR_NO_BREAK_SPACE;\n\n range.setStart(ghost.firstChild as Node, selectionStart || 0);\n range.setEnd(ghost.firstChild as Node, selectionEnd || 0);\n\n return range;\n }\n\n /**\n * Create an invisible DIV styled exactly like input/textarea element inside directive\n */\n private initGhost(element: HTMLInputElement | HTMLTextAreaElement): HTMLElement {\n const ghost = this.documentRef.createElement('div');\n const {nativeElement} = this.viewContainerRef.element;\n const {font, letterSpacing, textTransform, padding} = getComputedStyle(element);\n\n ghost.style.position = 'absolute';\n ghost.style.pointerEvents = 'none';\n ghost.style.opacity = '0';\n ghost.style.whiteSpace = 'pre-wrap';\n ghost.style.font = font;\n ghost.style.letterSpacing = letterSpacing;\n ghost.style.textTransform = textTransform;\n ghost.style.padding = padding;\n\n nativeElement.appendChild(ghost);\n this.ghost = ghost;\n\n return ghost;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiHoveredModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {TuiModeModule} from '@taiga-ui/core/directives/mode';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDropdownComponent} from './dropdown.component';\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownContextDirective} from './dropdown-context.directive';\nimport {TuiDropdownDriverDirective} from './dropdown-driver.directive';\nimport {TuiDropdownHostDirective} from './dropdown-host.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TuiDropdownManualDirective} from './dropdown-manual.directive';\nimport {TuiDropdownOptionsDirective} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\nimport {TuiDropdownPositionSidedDirective} from './dropdown-position-sided.directive';\nimport {TuiDropdownSelectionDirective} from './dropdown-selection.directive';\n\n@NgModule({\n imports: [\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n TuiModeModule,\n TuiHoveredModule,\n ],\n declarations: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n exports: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n})\nexport class TuiDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["InjectionToken","tuiCheckFixedPosition","i0","ElementRef","PolymorpheusComponent","TuiDropdownPortalService","tuiAsRectAccessor","tuiAsVehicle","INJECTOR","tuiDefaultProp","tuiPure","Directive","Inject","Input","Subject","merge","switchMap","of","delay","TuiDriver","TuiHoveredService","tuiAsDriver","Optional","SkipSelf","tuiOverrideOptions","forwardRef","takeUntil","tuiPx","tuiGetClosestFocusable","TuiPositionService","TuiDestroyService","AbstractTuiPortalHostComponent","TuiRectAccessor","WINDOW","TUI_ANIMATION_OPTIONS","i1","i2","i3","i4","tuiDropdownAnimation","Component","ChangeDetectionStrategy","Self","HostBinding","EMPTY_CLIENT_RECT","tuiPointToClientRect","TuiActiveZoneDirective","shouldCall","HostListener","AbstractTuiDriverDirective","tuiAsPositionAccessor","BehaviorSubject","ALWAYS_TRUE_HANDLER","combineLatest","map","distinctUntilChanged","tuiIsTextNode","tuiIsString","tuiIsElement","tuiGetWordRange","tuiGetNativeFocused","tuiIsTextfield","CHAR_ZERO_WIDTH_SPACE","CHAR_NO_BREAK_SPACE","TUI_RANGE","DOCUMENT","TUI_SELECTION_STREAM","ViewContainerRef","PolymorpheusModule","TuiActiveZoneModule","TuiOverscrollModule","TuiScrollbarModule","TuiModeModule","TuiHoveredModule","NgModule"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAA;;;;;;;;;;;;;IAagF;IAChF;IAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC,EAAA;QAC7B,aAAa,GAAG,MAAM,CAAC,cAAc;aAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAA,EAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,EAAE,CAAC,EAAA,EAAI,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;IACtG,IAAA,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEc,SAAA,SAAS,CAAC,CAAC,EAAE,CAAC,EAAA;IAC1B,IAAA,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;IACrC,QAAA,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;IAC9F,IAAA,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;IACvC,IAAA,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,YAAA;QAClB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAA;IAC3C,QAAA,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IACjD,YAAA,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;IAChF,SAAA;IACD,QAAA,OAAO,CAAC,CAAC;IACb,KAAC,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAA;IAEe,SAAA,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA;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;IAC1E,gBAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,SAAA;IACL,IAAA,OAAO,CAAC,CAAC;IACb,CAAC;IAEK,SAAU,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAA;IACpD,IAAA,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;IAAE,QAAA,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;IAC1H,QAAA,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;IAAE,YAAA,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;IAAE,gBAAA,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;IAClJ,IAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IAEe,SAAA,OAAO,CAAC,UAAU,EAAE,SAAS,EAAA;IACzC,IAAA,OAAO,UAAU,MAAM,EAAE,GAAG,EAAA,EAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;IACzE,CAAC;IAEe,SAAA,UAAU,CAAC,WAAW,EAAE,aAAa,EAAA;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;IAEK,SAAU,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAA;IACvD,IAAA,SAAS,KAAK,CAAC,KAAK,EAAA,EAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAA,EAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;IAC5G,IAAA,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAA;IACrD,QAAA,SAAS,SAAS,CAAC,KAAK,EAAA,EAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAAE,SAAA;IAAC,QAAA,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAAE,SAAA,EAAE;IAC3F,QAAA,SAAS,QAAQ,CAAC,KAAK,EAAA,EAAI,IAAI;gBAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAAE,SAAA;IAAC,QAAA,OAAO,CAAC,EAAE;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAAE,SAAA,EAAE;IAC9F,QAAA,SAAS,IAAI,CAAC,MAAM,EAAA,EAAI,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;IAC9G,QAAA,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,KAAC,CAAC,CAAC;IACP,CAAC;IAEe,SAAA,WAAW,CAAC,OAAO,EAAE,IAAI,EAAA;IACrC,IAAA,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAA,EAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAAE,YAAA,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,YAAA,EAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzJ,SAAS,IAAI,CAAC,CAAC,EAAA,EAAI,OAAO,UAAU,CAAC,EAAI,EAAA,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QAClE,SAAS,IAAI,CAAC,EAAE,EAAA;IACZ,QAAA,IAAI,CAAC;IAAE,YAAA,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;IAC9D,QAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAE,IAAI;IAC1C,gBAAA,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;IAAE,oBAAA,OAAO,CAAC,CAAC;IAC7J,gBAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAAE,oBAAA,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACxC,gBAAA,QAAQ,EAAE,CAAC,CAAC,CAAC;IACT,oBAAA,KAAK,CAAC,CAAC;IAAC,oBAAA,KAAK,CAAC;4BAAE,CAAC,GAAG,EAAE,CAAC;4BAAC,MAAM;IAC9B,oBAAA,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAAC,wBAAA,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxD,oBAAA,KAAK,CAAC;4BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAAC,wBAAA,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAAC,wBAAA,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;4BAAC,SAAS;IACjD,oBAAA,KAAK,CAAC;IAAE,wBAAA,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAAC,wBAAA,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;IACjD,oBAAA;IACI,wBAAA,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;IAAE,yBAAA;IAC5G,wBAAA,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;IAAE,4BAAA,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gCAAC,MAAM;IAAE,yBAAA;IACtF,wBAAA,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;IAAE,4BAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCAAC,CAAC,GAAG,EAAE,CAAC;gCAAC,MAAM;IAAE,yBAAA;4BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;IAAE,4BAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,4BAAA,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gCAAC,MAAM;IAAE,yBAAA;4BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;IAAE,4BAAA,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IACtB,wBAAA,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,SAAS;IAC9B,iBAAA;oBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9B,aAAA;IAAC,YAAA,OAAO,CAAC,EAAE;IAAE,gBAAA,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC,GAAG,CAAC,CAAC;IAAE,aAAA;IAAS,oBAAA;IAAE,gBAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAAE,aAAA;IAC1D,QAAA,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAAE,YAAA,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,EAAA;QAC9D,IAAI,EAAE,KAAK,SAAS;YAAE,EAAE,GAAG,CAAC,CAAC;QAC7B,IAAI,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE;IAC/E,QAAA,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAA,EAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACjE,KAAA;QACD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAA;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;IAEa,SAAA,YAAY,CAAC,CAAC,EAAE,CAAC,EAAA;QAC7B,KAAK,IAAI,CAAC,IAAI,CAAC;IAAE,QAAA,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAAE,YAAA,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClH,CAAC;IAEK,SAAU,QAAQ,CAAC,CAAC,EAAA;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;IAC9E,IAAA,IAAI,CAAC;IAAE,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,IAAA,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO;IAC1C,YAAA,IAAI,EAAE,YAAA;IACF,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;wBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;IACnC,gBAAA,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBAC3C;aACJ,CAAC;IACF,IAAA,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;IAC3F,CAAC;IAEe,SAAA,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA;IACvB,IAAA,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3D,IAAA,IAAI,CAAC,CAAC;IAAE,QAAA,OAAO,CAAC,CAAC;IACjB,IAAA,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;IAAE,YAAA,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9E,KAAA;IACD,IAAA,OAAO,KAAK,EAAE;IAAE,QAAA,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAAE,KAAA;IAC/B,YAAA;YACJ,IAAI;IACA,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAAE,gBAAA,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpD,SAAA;IACO,gBAAA;IAAE,YAAA,IAAI,CAAC;oBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;IAAE,SAAA;IACpC,KAAA;IACD,IAAA,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,QAAQ,GAAA;IACpB,IAAA,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;IAC9C,QAAA,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,IAAA,OAAO,EAAE,CAAC;IACd,CAAC;IAED;aACgB,cAAc,GAAA;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;IAAE,QAAA,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;IACpB,IAAA,OAAO,CAAC,CAAC;IACb,CAAC;aAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAA;IACxC,IAAA,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;IAAE,QAAA,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;IACpB,gBAAA,IAAI,CAAC,EAAE;IAAE,oBAAA,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;IACnB,aAAA;IACJ,SAAA;IACD,IAAA,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEK,SAAU,OAAO,CAAC,CAAC,EAAA;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,EAAA;QAC3D,IAAI,CAAC,MAAM,CAAC,aAAa;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;IACvF,IAAA,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IAC9D,IAAA,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,YAAc,EAAA,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACtH,SAAS,IAAI,CAAC,CAAC,EAAA,EAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAA,EAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAI,EAAA,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;IAC1I,IAAA,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAE,KAAA;IAAC,IAAA,OAAO,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAAE,KAAA,EAAE;QAClF,SAAS,IAAI,CAAC,CAAC,EAAA,EAAI,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;IACxH,IAAA,SAAS,OAAO,CAAC,KAAK,EAAA,EAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;IAClD,IAAA,SAAS,MAAM,CAAC,KAAK,EAAA,EAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;IAClD,IAAA,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA,EAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;IAAE,QAAA,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;IACtF,CAAC;IAEK,SAAU,gBAAgB,CAAC,CAAC,EAAA;QAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,IAAA,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,YAAA,EAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5I,IAAA,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAI,EAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAI,EAAA,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;IAEK,SAAU,aAAa,CAAC,CAAC,EAAA;QAC3B,IAAI,CAAC,MAAM,CAAC,aAAa;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;QACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACnC,IAAA,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,YAAA,EAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjN,SAAS,IAAI,CAAC,CAAC,EAAI,EAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAA,EAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAI,EAAA,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;IAChK,IAAA,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,EAAI,EAAA,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;IAChI,CAAC;IAEe,SAAA,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAA;QAC5C,IAAI,MAAM,CAAC,cAAc,EAAE;IAAE,QAAA,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAAE,KAAA;IAAM,SAAA;IAAE,QAAA,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;IAAE,KAAA;IAC/G,IAAA,OAAO,MAAM,CAAC;IAClB,CAAC;IAAA,CAAC;IAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAA;IACnD,IAAA,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,EAAA;IACd,IAAA,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC,CAAC;IAEI,SAAU,YAAY,CAAC,GAAG,EAAA;IAC5B,IAAA,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;IAAE,QAAA,OAAO,GAAG,CAAC;QACtC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,CAAC,IAAI,GAAG;IAAE,YAAA,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAAE,gBAAA,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACzI,IAAA,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,IAAA,OAAO,MAAM,CAAC;IAClB,CAAC;IAEK,SAAU,eAAe,CAAC,GAAG,EAAA;IAC/B,IAAA,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;IAC5D,CAAC;IAEK,SAAU,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAA;IAC3D,IAAA,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;IAAE,QAAA,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;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;IACnL,IAAA,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;IAEK,SAAU,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAA;QAClE,IAAI,IAAI,KAAK,GAAG;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;IACxE,IAAA,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;IAAE,QAAA,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;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;IAClL,IAAA,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,CAAC;IAEe,SAAA,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAA;IACjD,IAAA,IAAI,QAAQ,KAAK,IAAI,KAAK,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,CAAC;IAAE,QAAA,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;IACzJ,IAAA,OAAO,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClF;;QCjPa,sBAAsB,GAAG,IAAIA,iBAAc,CACpD,4DAA4D,EAC5D;IACI,IAAA,OAAO,EAAE,YAAA,EAAM,OAAA,oBAAoB,GAAA;IACtC,CAAA;;ACmCL,QAAA,oBAAA,kBAAA,YAAA;IAeI,IAAA,SAAA,oBAAA,CACyC,UAAmC,EAE/D,SAA8C,EAEtC,eAAyC,EAAA;IAJrB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;IAE/D,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAqC;IAEtC,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAA0B;IAT9D,QAAA,IAAO,CAAA,OAAA,GAAwE,EAAE,CAAC;IAElF,QAAA,IAAc,CAAA,cAAA,GAAiC,IAAI,CAAC;SAQhD;IAGJ,IAAA,MAAA,CAAA,cAAA,CAAI,oBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;IAAZ,QAAA,GAAA,EAAA,YAAA;IACI,YAAA,OAAOC,2BAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;IACvD,kBAAE,OAAO;sBACP,UAAU,CAAC;aACpB;;;IAAA,KAAA,CAAA,CAAA;IAED,IAAA,oBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,YAAA;;YACI,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,iBAAiB,CAAC,aAAa,EAAE,CAAC;YACvD,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,iBAAiB,CAAC,YAAY,EAAE,CAAC;SACzD,CAAA;IAED,IAAA,oBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;IACI,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;IACf,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,SAAA;SACJ,CAAA;IAED,IAAA,oBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;IACI,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACtB,CAAA;IAED,IAAA,oBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;YACI,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;SAChE,CAAA;QAED,oBAAM,CAAA,SAAA,CAAA,MAAA,GAAN,UAAO,IAAa,EAAA;YAChB,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;IAC9C,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,SAAA;IAAM,aAAA,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,EAAE;gBACrC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACjD,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC9B,SAAA;SACJ,CAAA;;;IAxDQ,oBAAA,CAAA,IAAA,GAAAC,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,oBAAoB,EAgBjB,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,aAAU,EACV,EAAA,EAAA,KAAA,EAAAC,wBAAqB,aAErBC,2BAAwB,EAAA,CAAA,EAAA,MAAA,EAAAH,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;IAnB3B,oBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAVlB,QAAA,EAAA,iCAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,SAAA,CAAA,EAAA,EAAA,SAAA,EAAA;YACPI,sBAAiB,CAAC,oBAAoB,CAAC;YACvCC,iBAAY,CAAC,oBAAoB,CAAC;IAClC,QAAA;IACI,YAAA,OAAO,EAAEH,wBAAqB;IAC9B,YAAA,IAAI,EAAE,CAAC,sBAAsB,EAAEI,WAAQ,CAAC;IACxC,YAAA,QAAQ,EAAEJ,wBAAqB;IAClC,SAAA;IACJ,KAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAAF,aAAA,EAAA,CAAA,CAAA;IAaD,UAAA,CAAA;IADC,IAAAO,iBAAc,EAAE;KACiE,EAAA,oBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;IAalF,UAAA,CAAA;QADCC,UAAO;KAKP,EAAA,oBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,IAAA,CAAA,CAAA;sHA5BQ,oBAAoB,EAAA,UAAA,EAAA,CAAA;sBAbhCC,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACP,oBAAA,QAAQ,EAAE,iCAAiC;IAC3C,oBAAA,QAAQ,EAAE,aAAa;IACvB,oBAAA,SAAS,EAAE;4BACPL,sBAAiB,CAAsB,oBAAA,CAAA;4BACvCC,iBAAY,CAAsB,oBAAA,CAAA;IAClC,wBAAA;IACI,4BAAA,OAAO,EAAEH,wBAAqB;IAC9B,4BAAA,IAAI,EAAE,CAAC,sBAAsB,EAAEI,WAAQ,CAAC;IACxC,4BAAA,QAAQ,EAAEJ,wBAAqB;IAClC,yBAAA;IACJ,qBAAA;qBACJ,CAAA;;;kCAiBQQ,SAAM;mCAACT,aAAU,CAAA;;kCACjBS,SAAM;mCAACR,wBAAqB,CAAA;;kCAE5BQ,SAAM;mCAACP,2BAAwB,CAAA;;6BARpC,OAAO,EAAA,CAAA;0BAFNQ,QAAK;2BAAC,aAAa,CAAA;oBAehB,QAAQ,EAAA,EAAA,EAAA,EAAA,CAAA;;AC3DhB,QAAA,yBAAA,kBAAA,UAAA,MAAA,EAAA;QAA+C,SAAS,CAAA,yBAAA,EAAA,MAAA,CAAA,CAAA;IAgBpD,IAAA,SAAA,yBAAA,CACgD,QAA6B,EAAA;IAD7E,QAAA,IAAA,KAAA,GAGI,kBAAM,UAAA,UAAU,EAAI,EAAA,OAAA,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAlC,EAAkC,CAAC,IAC1D,IAAA,CAAA;IAH+C,QAAA,KAAQ,CAAA,QAAA,GAAR,QAAQ,CAAqB;IAhB5D,QAAA,KAAA,CAAA,OAAO,GAAG,IAAIC,UAAO,EAAW,CAAC;YACjC,KAAO,CAAA,OAAA,GAAGC,QAAK,CAAC,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC9DC,mBAAS,CAAC,UAAA,OAAO,EAAA,EACb,OAAAC,KAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAACC,eAAK,CAAC,OAAO,GAAG,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC,CAAC,CAAlE,EAAkE,CACrE,CACJ,CAAC;IAIF,QAAA,KAAS,CAAA,SAAA,GAAG,GAAG,CAAC;IAIhB,QAAA,KAAS,CAAA,SAAA,GAAG,GAAG,CAAC;;SAMf;QAED,yBAAM,CAAA,SAAA,CAAA,MAAA,GAAN,UAAO,OAAgB,EAAA;IACnB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC9B,CAAA;;KAxBL,CAA+CC,cAAS;IAA3C,yBAAA,CAAA,IAAA,GAAAjB,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,yBAAyB,kBAiBtBkB,oBAAiB,EAAA,CAAA,EAAA,MAAA,EAAAlB,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0HAjBpB,yBAAyB,EAAA,QAAA,EAAA,sCAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,EAAA,WAAA,CAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,EAAA,WAAA,CAAA,EAAA,EAAA,SAAA,EAFvB,CAACmB,gBAAW,CAAC,yBAAyB,CAAC,EAAED,oBAAiB,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAAlB,aAAA,EAAA,CAAA,CAAA;IAYtE,UAAA,CAAA;IADC,IAAAO,iBAAc,EAAE;KACD,EAAA,yBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;IAIhB,UAAA,CAAA;IADC,IAAAA,iBAAc,EAAE;KACD,EAAA,yBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;sHAdP,yBAAyB,EAAA,UAAA,EAAA,CAAA;sBAJrCE,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACP,oBAAA,QAAQ,EAAE,sCAAsC;wBAChD,SAAS,EAAE,CAACU,gBAAW,CAA2B,yBAAA,CAAA,EAAED,oBAAiB,CAAC;qBACzE,CAAA;;;kCAkBQR,SAAM;mCAACQ,oBAAiB,CAAA;;6BAP7B,SAAS,EAAA,CAAA;0BAFRP,QAAK;2BAAC,sBAAsB,CAAA;oBAM7B,SAAS,EAAA,CAAA;0BAFRA,QAAK;2BAAC,sBAAsB,CAAA;;;ICKjC;AACa,QAAA,4BAA4B,GAAuB;IAC5D,IAAA,KAAK,EAAE,MAAM;IACb,IAAA,SAAS,EAAE,IAAI;IACf,IAAA,UAAU,EAAE,MAAM;IAClB,IAAA,SAAS,EAAE,GAAG;IACd,IAAA,SAAS,EAAE,EAAE;IACb,IAAA,MAAM,EAAE,CAAC;MACX;QAEW,oBAAoB,GAAG,IAAIb,iBAAc,CAClD,kEAAkE,EAClE;IACI,IAAA,OAAO,EAAE,YAAA,EAAM,OAAA,4BAA4B,GAAA;IAC9C,CAAA,EACH;QAEW,0BAA0B,GAEhB,UAAC,QAAqC,EAAA,EAAK,QAAC;IAC/D,IAAA,OAAO,EAAE,oBAAoB;IAC7B,IAAA,IAAI,EAAE;IACF,QAAA,CAAC,IAAIsB,WAAQ,EAAE,EAAE,2BAA2B,CAAC;IAC7C,QAAA,CAAC,IAAIC,WAAQ,EAAE,EAAE,oBAAoB,CAAC;IACzC,KAAA;IACD,IAAA,UAAU,EAAEC,wBAAkB,CAAC,QAAQ,CAAC;KAC3C,EAAC,GAAC;AAYH,QAAA,2BAAA,kBAAA,YAAA;IAyBI,IAAA,SAAA,2BAAA,CAGqB,OAA2B,EAAA;IAA3B,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;YAzBhD,IAAA,CAAA,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAI3B,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YAInC,IAAA,CAAA,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;YAIrC,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YAInC,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;YAInC,IAAA,CAAA,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;SAMzB;;;IA7BK,2BAAA,CAAA,IAAA,GAAAtB,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,2BAA2B,kBA2BxB,oBAAoB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAAA,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;IA3BvB,2BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAPzB,QAAA,EAAA,0IAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,kBAAA,EAAA,OAAA,CAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,EAAA,WAAA,CAAA,EAAA,UAAA,EAAA,CAAA,uBAAA,EAAA,YAAA,CAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,EAAA,WAAA,CAAA,EAAA,SAAA,EAAA,CAAA,sBAAA,EAAA,WAAA,CAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,CAAA,EAAA,EAAA,SAAA,EAAA;IACP,QAAA;IACI,YAAA,OAAO,EAAE,oBAAoB;gBAC7B,WAAW,EAAEuB,aAAU,CAAC,YAAA,EAAM,OAAA,2BAA2B,CAAA,EAAA,CAAC;IAC7D,SAAA;IACJ,KAAA,EAAA,QAAA,EAAAvB,aAAA,EAAA,CAAA,CAAA;IAKD,UAAA,CAAA;IADC,IAAAO,iBAAc,EAAE;KACU,EAAA,2BAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA,CAAA;IAI3B,UAAA,CAAA;IADC,IAAAA,iBAAc,EAAE;KACkB,EAAA,2BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;IAInC,UAAA,CAAA;IADC,IAAAA,iBAAc,EAAE;KACoB,EAAA,2BAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;IAIrC,UAAA,CAAA;IADC,IAAAA,iBAAc,EAAE;KACkB,EAAA,2BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;IAInC,UAAA,CAAA;IADC,IAAAA,iBAAc,EAAE;KACkB,EAAA,2BAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA,CAAA;IAInC,UAAA,CAAA;IADC,IAAAA,iBAAc,EAAE;KACY,EAAA,2BAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;sHAvBpB,2BAA2B,EAAA,UAAA,EAAA,CAAA;sBAVvCE,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACP,oBAAA,QAAQ,EACJ,0IAA0I;IAC9I,oBAAA,SAAS,EAAE;IACP,wBAAA;IACI,4BAAA,OAAO,EAAE,oBAAoB;gCAC7B,WAAW,EAAEc,aAAU,CAAC,YAAA,oCAAiC,CAAA,EAAA,CAAC;IAC7D,yBAAA;IACJ,qBAAA;qBACJ,CAAA;;;kCA2BQF,WAAQ;;kCACRX,SAAM;mCAAC,oBAAoB,CAAA;;6BAxBhC,KAAK,EAAA,CAAA;0BAFJC,QAAK;2BAAC,kBAAkB,CAAA;oBAMzB,SAAS,EAAA,CAAA;0BAFRA,QAAK;2BAAC,sBAAsB,CAAA;oBAM7B,UAAU,EAAA,CAAA;0BAFTA,QAAK;2BAAC,uBAAuB,CAAA;oBAM9B,SAAS,EAAA,CAAA;0BAFRA,QAAK;2BAAC,sBAAsB,CAAA;oBAM7B,SAAS,EAAA,CAAA;0BAFRA,QAAK;2BAAC,sBAAsB,CAAA;oBAM7B,MAAM,EAAA,CAAA;0BAFLA,QAAK;2BAAC,mBAAmB,CAAA;;;ICtD9B;;IAEG;IACH;AASA,QAAA,oBAAA,kBAAA,YAAA;IAOI,IAAA,SAAA,oBAAA,CACgC,SAA+B,EACxB,QAA0B,EACtB,SAA+B,EACjC,UAAmC,EAEvD,IAAoC,EACX,QAAyB,EAClC,SAAiB,EAEjC,gBAAkC,EACJ,OAA2B,EAGzD,cAAgD,EAAA;YAdrE,IAmBC,KAAA,GAAA,IAAA,CAAA;IAhB0C,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAsB;IACjC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;IAEvD,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAgC;IACX,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;IAClC,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAQ;IAEjC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;IACJ,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;IAGzD,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAkC;IAnB5D,QAAA,IAAA,CAAA,iBAAiB,mBACtB,KAAK,EAAA,WAAA,kBAAA,EACF,IAAI,CAAC,gBAAgB,CAC1B,CAAA;IAkBE,QAAA,SAAS,CAAC,IAAI,CAACa,mBAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,UAAC,EAAW,EAAA;IAAX,YAAA,IAAA,EAAA,GAAA,aAAW,EAAV,GAAG,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,IAAI,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;IACrD,YAAA,KAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3B,SAAC,CAAC,CAAC;SACN;QAED,oBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,OAAgB,EAAA;YAC5B,IAAI,IAAI,CAAC,cAAc,EAAE;IACrB,YAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,SAAA;SACJ,CAAA;IAED,IAAA,oBAAA,CAAA,SAAA,CAAA,UAAU,GAAV,YAAA;IACI,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;SAC/B,CAAA;IAED,IAAA,oBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;IACI,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAChC,CAAA;IAEO,IAAA,oBAAA,CAAA,SAAA,CAAA,MAAM,GAAN,UAAO,GAAW,EAAE,IAAY,EAAA;YAC7B,IAAA,KAAK,GAAI,IAAI,CAAC,UAAU,CAAC,aAAa,MAAjC,CAAkC;YACvC,IAAA,KAAK,GAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAA,KAAzD,CAA0D;IAChE,QAAA,IAAA,EAAkC,GAAA,IAAI,CAAC,OAAO,EAA7C,UAAU,GAAA,EAAA,CAAA,UAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA,EAAE,MAAM,YAAgB,CAAC;IAC9C,QAAA,IAAA,WAAW,GAAI,IAAI,CAAC,SAAS,YAAlB,CAAmB;IAC9B,QAAA,IAAA,UAAU,GAAI,IAAI,CAAC,IAAI,WAAb,CAAc;IACxB,QAAA,IAAA,QAAQ,GAAI,IAAI,CAAC,SAAS,SAAlB,CAAmB;YAClC,IAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IAC3C,QAAA,IAAM,OAAO,GAAG,QAAQ,KAAK,OAAO,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;IAC5D,QAAA,IAAM,OAAO,GAAG,QAAQ,KAAK,OAAO,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAE3D,GAAG,IAAI,OAAO,CAAC;YACf,IAAI,IAAI,OAAO,CAAC;YAEhB,IAAM,cAAc,GAChB,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,GAAG,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC;YACzE,IAAM,SAAS,GAAG,cAAc;IAC5B,cAAE,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM;kBACrB,OAAO,GAAG,WAAW,GAAG,GAAG,GAAG,MAAM,CAAC;IAE3C,QAAA,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,QAAA,KAAK,CAAC,GAAG,GAAGC,QAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;IACnD,QAAA,KAAK,CAAC,IAAI,GAAGA,QAAK,CAAC,IAAI,CAAC,CAAC;IACzB,QAAA,KAAK,CAAC,SAAS,GAAGA,QAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IACxD,QAAA,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;IACjB,QAAA,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;IAEpB,QAAA,QAAQ,UAAU;IACd,YAAA,KAAK,KAAK;oBACN,KAAK,CAAC,QAAQ,GAAGA,QAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnC,MAAM;IACV,YAAA,KAAK,OAAO;oBACR,KAAK,CAAC,KAAK,GAAGA,QAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,SAAA;SACJ,CAAA;QAEO,oBAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,UAAiB,QAAiB,EAAA;YACtC,IAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,QAAA,IAAA,aAAa,GAAI,IAAI,CAAA,aAAR,CAAS;IAC7B,QAAA,IAAM,IAAI,GAAG,aAAa,GAAG,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;IACvD,QAAA,IAAI,SAAS,GAAGC,yBAAsB,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,MAAA,EAAE,QAAQ,EAAA,QAAA,EAAC,CAAC,CAAC;YAExE,OAAO,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;IACnD,YAAA,SAAS,GAAGA,yBAAsB,CAAC,EAAC,OAAO,EAAE,SAAS,EAAE,IAAI,MAAA,EAAE,QAAQ,EAAA,QAAA,EAAC,CAAC,CAAC;IAC5E,SAAA;IAED,QAAA,SAAS,aAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,KAAK,EAAE,CAAC;SACtB,CAAA;;;IAzFQ,oBAAA,CAAA,IAAA,GAAA1B,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,oBAAoB,kBAQjB2B,2BAAkB,EAAA,EAAA,EAAA,KAAA,EACVC,oBAAiB,EACzB,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,oBAAoB,aACpB3B,aAAU,EAAA,EAAA,EAAA,KAAA,EACV4B,iCAA8B,EAE9B,EAAA,EAAA,KAAA,EAAAC,oBAAe,aACfC,aAAM,EAAA,EAAA,EAAA,KAAA,EACNC,4BAAqB,EAErB,EAAA,EAAA,KAAA,EAAA,oBAAoB,aAEpB,yBAAyB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAAhC,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;qHApB5B,oBAAoB,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,EAAA,EAAA,SAAA,EAHlB,CAAC4B,oBAAiB,EAAED,2BAAkB,CAAC,EAAA,QAAA,EAAA3B,aAAA,EAAA,QAAA,ECzCtD,ipBAyBA,EAAA,MAAA,EAAA,CAAA,ggBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAiC,eAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,qHAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,aAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,aAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,aAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAE,aAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EDiBgB,CAACC,+BAAoB,CAAC,EAAA,eAAA,EAAArC,aAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,CAAA,CAAA;sHAEzB,oBAAoB,EAAA,UAAA,EAAA,CAAA;sBARhCsC,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACP,oBAAA,QAAQ,EAAE,cAAc;IACxB,oBAAA,WAAW,EAAE,0BAA0B;wBACvC,SAAS,EAAE,CAAC,uBAAuB,CAAC;wBACpC,eAAe,EAAEC,0BAAuB,CAAC,OAAO;IAChD,oBAAA,SAAS,EAAE,CAACX,oBAAiB,EAAED,2BAAkB,CAAC;wBAClD,UAAU,EAAE,CAACU,+BAAoB,CAAC;qBACrC,CAAA;;;kCASQ3B,SAAM;mCAACiB,2BAAkB,CAAA;;kCACzBa,OAAI;;kCAAI9B,SAAM;mCAACkB,oBAAiB,CAAA;;kCAChClB,SAAM;mCAAC,oBAAoB,CAAA;;kCAC3BA,SAAM;mCAACT,aAAU,CAAA;;kCACjBS,SAAM;mCAACmB,iCAA8B,CAAA;;kCAErCnB,SAAM;mCAACoB,oBAAe,CAAA;sCACqB,MAAM,EAAA,UAAA,EAAA,CAAA;kCAAjDpB,SAAM;mCAACqB,aAAM,CAAA;;kCACbrB,SAAM;mCAACsB,4BAAqB,CAAA;;kCAE5BtB,SAAM;mCAAC,oBAAoB,CAAA;;kCAC3BU,WAAQ;;kCACRV,SAAM;mCAAC,yBAAyB,CAAA;;6BAlB5B,iBAAiB,EAAA,CAAA;0BADzB+B,cAAW;2BAAC,uBAAuB,CAAA;;;IE9BxC,SAAS,gBAAgB,CAAoC,MAAe,EAAA;QACxE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;AAUD,QAAA,2BAAA,kBAAA,UAAA,MAAA,EAAA;QAAiD,SAAS,CAAA,2BAAA,EAAA,MAAA,CAAA,CAAA;IAKtD,IAAA,SAAA,2BAAA,CAEa,UAAkC,EAAA;IAF/C,QAAA,IAAA,KAAA,GAII,kBAAM,UAAA,UAAU,EAAI,EAAA,OAAA,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAlC,EAAkC,CAAC,IAC1D,IAAA,CAAA;IAHY,QAAA,KAAU,CAAA,UAAA,GAAV,UAAU,CAAwB;IAN9B,QAAA,KAAA,CAAA,OAAO,GAAG,IAAI7B,UAAO,EAAW,CAAC;IAE1C,QAAA,KAAW,CAAA,WAAA,GAAG8B,oBAAiB,CAAC;;SAOvC;IAGD,IAAA,2BAAA,CAAA,SAAA,CAAA,aAAa,GAAb,UAAc,CAAS,EAAE,CAAS,EAAA;YAC9B,IAAI,CAAC,WAAW,GAAGC,uBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B,CAAA;IAMD,IAAA,2BAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;IACI,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC5B,CAAA;IAED,IAAA,2BAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;YACI,OAAO,IAAI,CAAC,WAAW,CAAC;SAC3B,CAAA;;KA5BL,CAAiD1B,cAAS;IAA7C,2BAAA,CAAA,IAAA,GAAAjB,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,2BAA2B,kBAMxB4C,yBAAsB,EAAA,CAAA,EAAA,MAAA,EAAA5C,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;IANzB,2BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EANzB,QAAA,EAAA,mCAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,0BAAA,EAAA,8CAAA,EAAA,uBAAA,EAAA,8BAAA,EAAA,qCAAA,EAAA,8BAAA,EAAA,sBAAA,EAAA,qCAAA,EAAA,EAAA,EAAA,SAAA,EAAA;YACP4C,yBAAsB;YACtBzB,gBAAW,CAAC,2BAA2B,CAAC;YACxCf,sBAAiB,CAAC,2BAA2B,CAAC;SACjD,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAAJ,aAAA,EAAA,CAAA,CAAA;IAwBD,UAAA,CAAA;QAJC6C,yBAAU,CAAC,gBAAgB,CAAC;KAM5B,EAAA,2BAAA,CAAA,SAAA,EAAA,eAAA,EAAA,IAAA,CAAA,CAAA;sHAxBQ,2BAA2B,EAAA,UAAA,EAAA,CAAA;sBARvCpC,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACP,oBAAA,QAAQ,EAAE,mCAAmC;IAC7C,oBAAA,SAAS,EAAE;4BACPmC,yBAAsB;4BACtBzB,gBAAW,CAA6B,2BAAA,CAAA;4BACxCf,sBAAiB,CAA6B,2BAAA,CAAA;IACjD,qBAAA;qBACJ,CAAA;;;kCAOQM,SAAM;mCAACkC,yBAAsB,CAAA;;6BAOlC,aAAa,EAAA,CAAA;0BADZE,eAAY;oBAAC,IAAA,EAAA,CAAA,0BAA0B,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAA;oBAU9E,aAAa,EAAA,CAAA;0BAHZA,eAAY;2BAAC,uBAAuB,EAAE,CAAC,eAAe,CAAC,CAAA;;0BACvDA,eAAY;2BAAC,qCAAqC,EAAE,CAAC,eAAe,CAAC,CAAA;;0BACrEA,eAAY;2BAAC,sBAAsB,EAAE,CAAC,sBAAsB,CAAC,CAAA;;;ACxClE,QAAA,0BAAA,kBAAA,UAAA,MAAA,EAAA;QAAgD,SAA0B,CAAA,0BAAA,EAAA,MAAA,CAAA,CAAA;IAA1E,IAAA,SAAA,0BAAA,GAAA;;;;KAAA,CAAgDC,+BAA0B;kJAA7D,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA/C,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;2HAA1B,0BAA0B,EAAA,QAAA,EAAA,eAAA,EAAA,SAAA,EAFxB,CAAC4B,oBAAiB,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA5B,aAAA,EAAA,CAAA,CAAA;sHAErB,0BAA0B,EAAA,UAAA,EAAA,CAAA;sBAJtCS,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACP,oBAAA,QAAQ,EAAE,eAAe;wBACzB,SAAS,EAAE,CAACmB,oBAAiB,CAAC;qBACjC,CAAA;;;ACCD,QAAA,wBAAA,kBAAA,UAAA,MAAA,EAAA;QAA8C,SAAe,CAAA,wBAAA,EAAA,MAAA,CAAA,CAAA;IAA7D,IAAA,SAAA,wBAAA,GAAA;;;IAII,IAAA,wBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;;IACI,QAAA,OAAO,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,eAAe,0CAAE,qBAAqB,EAAE,KAAIc,oBAAiB,CAAC;SAC7E,CAAA;;KANL,CAA8CZ,oBAAe;gJAAhD,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA9B,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;IAAxB,wBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,yGAFtB,CAACI,sBAAiB,CAAC,wBAAwB,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAAJ,aAAA,EAAA,CAAA,CAAA;sHAE/C,wBAAwB,EAAA,UAAA,EAAA,CAAA;sBAJpCS,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACP,oBAAA,QAAQ,EAAE,gCAAgC;IAC1C,oBAAA,SAAS,EAAE,CAACL,sBAAiB,CAAA,wBAAA,CAA0B,CAAC;qBAC3D,CAAA;kCAGG,eAAe,EAAA,CAAA;0BADdO,QAAK;;;ACDV,QAAA,0BAAA,kBAAA,UAAA,MAAA,EAAA;QAAgD,SAAS,CAAA,0BAAA,EAAA,MAAA,CAAA,CAAA;IAMrD,IAAA,SAAA,0BAAA,GAAA;IAAA,QAAA,IAAA,KAAA,GACI,kBAAM,UAAA,UAAU,EAAI,EAAA,OAAA,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAlC,EAAkC,CAAC,IAC1D,IAAA,CAAA;IAPgB,QAAA,KAAA,CAAA,OAAO,GAAG,IAAIC,UAAO,EAAW,CAAC;IAGlD,QAAA,KAAiB,CAAA,iBAAA,GAAG,KAAK,CAAC;;SAIzB;IAED,IAAA,0BAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;YACI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SAC7C,CAAA;;KAZL,CAAgDK,cAAS;kJAA5C,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAjB,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;IAA1B,0BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,+GAFxB,CAACmB,gBAAW,CAAC,0BAA0B,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAAnB,aAAA,EAAA,CAAA,CAAA;sHAE3C,0BAA0B,EAAA,UAAA,EAAA,CAAA;sBAJtCS,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACP,oBAAA,QAAQ,EAAE,kCAAkC;IAC5C,oBAAA,SAAS,EAAE,CAACU,gBAAW,CAAA,0BAAA,CAA4B,CAAC;qBACvD,CAAA;8EAKG,iBAAiB,EAAA,CAAA;0BADhBR,QAAK;;;ACIV,QAAA,4BAAA,kBAAA,YAAA;IAGI,IAAA,SAAA,4BAAA,CACmD,OAA2B,EACzC,SAAiB,EACR,QAAyB,EAAA;IAFpB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;IACzC,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAQ;IACR,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;SACnE;QAEJ,4BAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,EAA2B,EAAA;gBAA1B,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA;YACtB,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YACzC,IAAA,EAAA,GAA4B,IAAI,CAAC,SAAS,EAAzC,WAAW,GAAA,EAAA,CAAA,WAAA,EAAE,UAAU,GAAA,EAAA,CAAA,UAAkB,CAAC;IAC3C,QAAA,IAAA,KAAwC,IAAI,CAAC,OAAO,EAAnD,SAAS,GAAA,EAAA,CAAA,SAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA,EAAE,MAAM,YAAgB,CAAC;YAC3D,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,IAAI,QAAQ,CAAC;IACxD,QAAA,IAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC;IACvD,QAAA,IAAM,SAAS,GAAG;IACd,YAAA,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM;gBAC9B,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM;aAC5C,CAAC;IACX,QAAA,IAAM,QAAQ,GAAG;IACb,YAAA,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,MAAM,GAAG,MAAM;IACnC,YAAA,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,MAAM;IAChC,YAAA,KAAK,EAAA,KAAA;IACL,YAAA,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC,IAAI,GAAG,KAAK;aACnE,CAAC;IACX,QAAA,IAAM,MAAM,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;YAEnE,IACI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,SAAS,IAAI,SAAS;IAC7C,YAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,MAAM,EAC9B;gBACE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,SAAA;IAED,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;SAC9C,CAAA;;;IArCQ,4BAAA,CAAA,IAAA,GAAAX,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,4BAA4B,EAIzB,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,oBAAoB,EACpB,EAAA,EAAA,KAAA,EAAA+B,aAAM,aACND,oBAAe,EAAA,CAAA,EAAA,MAAA,EAAA9B,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;IANlB,4BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,iGAF1B,CAACgD,0BAAqB,CAAC,4BAA4B,CAAC,CAAC,EAAA,QAAA,EAAAhD,aAAA,EAAA,CAAA,CAAA;sHAEvD,4BAA4B,EAAA,UAAA,EAAA,CAAA;sBAJxCS,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACP,oBAAA,QAAQ,EAAE,wEAAwE;IAClF,oBAAA,SAAS,EAAE,CAACuC,0BAAqB,CAAA,4BAAA,CAA8B,CAAC;qBACnE,CAAA;;;kCAKQtC,SAAM;mCAAC,oBAAoB,CAAA;sCACgB,MAAM,EAAA,UAAA,EAAA,CAAA;kCAAjDA,SAAM;mCAACqB,aAAM,CAAA;;kCACbrB,SAAM;mCAACoB,oBAAe,CAAA;;;;ACF/B,QAAA,iCAAA,kBAAA,YAAA;IASI,IAAA,SAAA,iCAAA,CACmD,OAA2B,EACzC,SAAiB,EACR,QAAyB,EAElD,QAA6B,EAAA;IAJC,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;IACzC,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAQ;IACR,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;IAElD,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAqB;YAb1C,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC;IAGtD,QAAA,IAAgB,CAAA,gBAAA,GAAqB,EAAE,CAAC;IAGxC,QAAA,IAAsB,CAAA,sBAAA,GAAG,CAAC,CAAC;SAQvB;QAEJ,iCAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,IAAgB,EAAA;IACxB,QAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,KAAK,EAAE;gBACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,SAAA;YAEM,IAAA,MAAM,GAAW,IAAI,CAAA,MAAf,EAAE,KAAK,GAAI,IAAI,CAAA,KAAR,CAAS;YAC7B,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YACzC,IAAA,EAAA,GAA4B,IAAI,CAAC,SAAS,EAAzC,WAAW,GAAA,EAAA,CAAA,WAAA,EAAE,UAAU,GAAA,EAAA,CAAA,UAAkB,CAAC;IAC3C,QAAA,IAAA,KAAwC,IAAI,CAAC,OAAO,EAAnD,KAAK,GAAA,EAAA,CAAA,KAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA,EAAE,MAAM,YAAgB,CAAC;IAC3D,QAAA,IAAM,SAAS,GAAG;gBACd,GAAG,EAAE,QAAQ,CAAC,MAAM;IACpB,YAAA,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,MAAM;IAC5B,YAAA,KAAK,EAAE,UAAU,GAAG,QAAQ,CAAC,KAAK,GAAG,MAAM;IAC3C,YAAA,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC,GAAG;aAC5B,CAAC;IACX,QAAA,IAAM,QAAQ,GAAG;gBACb,GAAG,EAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,sBAAsB,GAAG,CAAC;IAC/D,YAAA,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,KAAK,GAAG,MAAM;IACpC,YAAA,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,MAAM;gBAC9B,MAAM,EAAE,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,sBAAsB,GAAG,CAAC;aAChD,CAAC;IACX,QAAA,IAAM,MAAM,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;YACnE,IAAM,OAAO,GAAG,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;IAClF,QAAA,IAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;YAElE,IACI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,SAAS,IAAI,SAAS;IAClD,YAAA,IAAI,CAAC,QAAQ,KAAK,MAAM,EAC1B;gBACE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1C,SAAA;IAED,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;SACnC,CAAA;;;IApDQ,iCAAA,CAAA,IAAA,GAAA9B,aAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,iCAAiC,kBAU9B,oBAAoB,EAAA,EAAA,EAAA,KAAA,EACpB+B,aAAM,EACN,EAAA,EAAA,KAAA,EAAAD,oBAAe,aACf,4BAA4B,EAAA,CAAA,EAAA,MAAA,EAAA9B,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;IAb/B,iCAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,EAL/B,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,EAAA,SAAA,EAAA;YACP,4BAA4B;YAC5BgD,0BAAqB,CAAC,iCAAiC,CAAC;IAC3D,KAAA,EAAA,QAAA,EAAAhD,aAAA,EAAA,CAAA,CAAA;sHAEQ,iCAAiC,EAAA,UAAA,EAAA,CAAA;sBAP7CS,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACP,oBAAA,QAAQ,EAAE,oBAAoB;IAC9B,oBAAA,SAAS,EAAE;4BACP,4BAA4B;4BAC5BuC,0BAAqB,CAAmC,iCAAA,CAAA;IAC3D,qBAAA;qBACJ,CAAA;;;kCAWQtC,SAAM;mCAAC,oBAAoB,CAAA;sCACgB,MAAM,EAAA,UAAA,EAAA,CAAA;kCAAjDA,SAAM;mCAACqB,aAAM,CAAA;;kCACbrB,SAAM;mCAACoB,oBAAe,CAAA;;kCACtBpB,SAAM;mCAAC,4BAA4B,CAAA;;6BATxC,gBAAgB,EAAA,CAAA;0BADfC,QAAK;oBAIN,sBAAsB,EAAA,CAAA;0BADrBA,QAAK;;;ACmBV,QAAA,6BAAA,kBAAA,UAAA,MAAA,EAAA;QACY,SAAS,CAAA,6BAAA,EAAA,MAAA,CAAA,CAAA;QAyCjB,SAC+B,6BAAA,CAAA,KAAY,EACJ,WAAqB,EACT,UAA+B,EACzC,UAAmC,EAC7B,gBAAkC,EAC9B,QAA8B,EAAA;IANjF,QAAA,IAAA,KAAA,GAQI,kBAAM,UAAA,UAAU,EAAI,EAAA,OAAA,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,CAAlC,EAAkC,CAAC,IAC1D,IAAA,CAAA;IAR8B,QAAA,KAAK,CAAA,KAAA,GAAL,KAAK,CAAO;IACJ,QAAA,KAAW,CAAA,WAAA,GAAX,WAAW,CAAU;IACT,QAAA,KAAU,CAAA,UAAA,GAAV,UAAU,CAAqB;IACzC,QAAA,KAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;IAC7B,QAAA,KAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;IAC9B,QAAA,KAAQ,CAAA,QAAA,GAAR,QAAQ,CAAsB;YA5ChE,KAAA,CAAA,QAAQ,GAAG,IAAIsC,kBAAe,CAC3CC,sBAAmB,CACtB,CAAC;IAEe,QAAA,KAAO,CAAA,OAAA,GAAGC,gBAAa,CAAC;IACrC,YAAA,KAAI,CAAC,QAAQ;IACb,YAAA,KAAI,CAAC,UAAU,CAAC,IAAI,CAChBC,aAAG,CAAC,YAAM,EAAA,OAAA,KAAI,CAAC,QAAQ,EAAE,CAAf,EAAe,CAAC,EAC1BC,8BAAoB,EAAE,CACzB;IACJ,SAAA,CAAC,CAAC,IAAI,CACHD,aAAG,CAAC,UAAC,EAAgB,EAAA;IAAhB,YAAA,IAAA,EAAA,GAAA,aAAgB,EAAf,OAAO,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;IAChB,YAAA,IAAM,SAAS,GAAG,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CACpD,KAAK,CAAC,uBAAuB,CAChC,CAAC;IAEF,YAAA,KAAI,CAAC,KAAK;IACN,gBAAA,SAAS,IAAIE,gBAAa,CAAC,KAAK,CAAC,uBAAuB,CAAC;IACrD,sBAAE,KAAK;IACP,sBAAE,KAAI,CAAC,KAAK,CAAC;IAErB,YAAA,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,KAAI,CAAC,KAAK,CAAC,KAAK,KAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACvE,CAAC,CACL,CAAC;IAMF,QAAA,KAAQ,CAAA,QAAA,GAAiC,WAAW,CAAC;;SAkBpD;IAhBD,IAAA,MAAA,CAAA,cAAA,CACI,6BAAoB,CAAA,SAAA,EAAA,sBAAA,EAAA;IADxB,QAAA,GAAA,EAAA,UACyB,OAA0C,EAAA;IAC/D,YAAA,IAAI,CAACC,cAAW,CAAC,OAAO,CAAC,EAAE;IACvB,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,aAAA;aACJ;;;IAAA,KAAA,CAAA,CAAA;IAaD,IAAA,6BAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;YACI,QAAQ,IAAI,CAAC,QAAQ;gBACjB,KAAK,KAAK,EAAE;IACD,gBAAA,IAAA,uBAAuB,GAAI,IAAI,CAAC,KAAK,wBAAd,CAAe;IAC7C,gBAAA,IAAM,OAAO,GAAGC,eAAY,CAAC,uBAAuB,CAAC;IACjD,sBAAE,uBAAuB;IACzB,sBAAE,uBAAuB,CAAC,UAAU,CAAC;IAEzC,gBAAA,OAAO,OAAO,IAAIA,eAAY,CAAC,OAAO,CAAC;IACnC,sBAAE,OAAO,CAAC,qBAAqB,EAAE;0BAC/Bd,oBAAiB,CAAC;IAC3B,aAAA;IACD,YAAA,KAAK,MAAM;oBACP,OAAOe,qBAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,qBAAqB,EAAE,CAAC;IAC/D,YAAA;IACI,gBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC;IACjD,SAAA;SACJ,CAAA;IAED,IAAA,6BAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;YACI,IAAI,IAAI,CAAC,KAAK,EAAE;IACZ,YAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvE,SAAA;SACJ,CAAA;IAEO,IAAA,6BAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;IACG,QAAA,IAAA,aAAa,GAAI,IAAI,CAAC,UAAU,cAAnB,CAAoB;YACxC,IAAM,MAAM,GAAGC,sBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACrD,IAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;IAElD,QAAA,IAAI,MAAM,IAAIC,iBAAc,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;IACpE,YAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC3C,SAAA;IAED,QAAA,OAAO,CAAA,SAAS,KAAT,IAAA,IAAA,SAAS,uBAAT,SAAS,CAAE,UAAU,IAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;SACvE,CAAA;IAED;;IAEG;QACK,6BAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,IAAU,EAAA;;IAC1B,QAAA,OAAO,CAAC,EAAC,MAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,0CAAE,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAC;SAChF,CAAA;IAED;;IAEG;QACK,6BAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,KAAY,EAAA;YACpB,IAAA,cAAc,GAAkB,KAAK,CAAA,cAAvB,EAAE,YAAY,GAAI,KAAK,CAAA,YAAT,CAAU;IACtC,QAAA,IAAA,aAAa,GAAI,IAAI,CAAC,UAAU,cAAnB,CAAoB;YACxC,IAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACnE,QAAA,IAAM,cAAc,GAChB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC7E,QAAA,IAAM,cAAc,GAChB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAE7E,QAAA,OAAO,UAAU,IAAI,cAAc,IAAI,cAAc,CAAC;SACzD,CAAA;QAEO,6BAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,OAA+C,EAAA;IAChE,QAAA,IAAA,EAAmC,GAAA,IAAI,CAAR,KAAA,EAA/B,KAAK,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAA,CAAS;IACzC,QAAA,IAAA,KAA6B,OAAO,CAAC,qBAAqB,EAAE,EAA3D,GAAG,GAAA,EAAA,CAAA,GAAA,EAAE,IAAI,UAAA,EAAE,KAAK,WAAA,EAAE,MAAM,YAAmC,CAAC;IAC5D,QAAA,IAAA,cAAc,GAAyB,OAAO,CAAA,cAAhC,EAAE,YAAY,GAAW,OAAO,CAAA,YAAlB,EAAE,KAAK,GAAI,OAAO,MAAX,CAAY;YACtD,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;IAEvE,QAAA,KAAK,CAAC,KAAK,CAAC,GAAG,GAAGlC,QAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5C,QAAA,KAAK,CAAC,KAAK,CAAC,IAAI,GAAGA,QAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,KAAK,CAAC,KAAK,CAAC,KAAK,GAAGA,QAAK,CAAC,KAAK,CAAC,CAAC;YACjC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAGA,QAAK,CAAC,MAAM,CAAC,CAAC;YACnC,KAAK,CAAC,WAAW,GAAGmC,wBAAqB,GAAG,KAAK,GAAGC,sBAAmB,CAAC;YAExE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAkB,EAAE,cAAc,IAAI,CAAC,CAAC,CAAC;YAC9D,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,UAAkB,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC;IAE1D,QAAA,OAAO,KAAK,CAAC;SAChB,CAAA;IAED;;IAEG;QACK,6BAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,OAA+C,EAAA;YAC7D,IAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAA,aAAa,GAAI,IAAI,CAAC,gBAAgB,CAAC,OAAO,cAAjC,CAAkC;IAChD,QAAA,IAAA,KAAgD,gBAAgB,CAAC,OAAO,CAAC,EAAxE,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,aAAa,mBAAA,EAAE,aAAa,mBAAA,EAAE,OAAO,aAA6B,CAAC;IAEhF,QAAA,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IAClC,QAAA,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;IACnC,QAAA,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;IAC1B,QAAA,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;IACpC,QAAA,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IACxB,QAAA,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;IAC1C,QAAA,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;IAC1C,QAAA,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IAE9B,QAAA,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACjC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAEnB,QAAA,OAAO,KAAK,CAAC;SAChB,CAAA;;KAxJL,CACY5C,cAAS;qJADR,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EA2C1B6C,YAAS,EAAA,EAAA,EAAA,KAAA,EACTC,iBAAQ,EAAA,EAAA,EAAA,KAAA,EACRC,2BAAoB,EAAA,EAAA,EAAA,KAAA,EACpB/D,aAAU,EAAA,EAAA,EAAA,KAAA,EACVgE,mBAAgB,EAAA,EAAA,EAAA,KAAA,EAChB,oBAAoB,EAAA,CAAA,EAAA,MAAA,EAAAjE,aAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;IAhDvB,6BAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,EAL3B,QAAA,EAAA,qCAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,8BAAA,EAAA,UAAA,CAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,EAAA,SAAA,EAAA;YACPmB,gBAAW,CAAC,6BAA6B,CAAC;YAC1Cf,sBAAiB,CAAC,6BAA6B,CAAC;SACnD,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAAJ,aAAA,EAAA,CAAA,CAAA;IAmCD,UAAA,CAAA;IADC,IAAAO,iBAAc,EAAE;KACoC,EAAA,6BAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;sHAjC5C,6BAA6B,EAAA,UAAA,EAAA,CAAA;sBAPzCE,YAAS;IAAC,YAAA,IAAA,EAAA,CAAA;IACP,oBAAA,QAAQ,EAAE,qCAAqC;IAC/C,oBAAA,SAAS,EAAE;4BACPU,gBAAW,CAA+B,6BAAA,CAAA;4BAC1Cf,sBAAiB,CAA+B,6BAAA,CAAA;IACnD,qBAAA;qBACJ,CAAA;;4BA4CyC,KAAK,EAAA,UAAA,EAAA,CAAA;kCAAtCM,SAAM;mCAACoD,YAAS,CAAA;sCAC+B,QAAQ,EAAA,UAAA,EAAA,CAAA;kCAAvDpD,SAAM;mCAACqD,iBAAQ,CAAA;;kCACfrD,SAAM;mCAACsD,2BAAoB,CAAA;;kCAC3BtD,SAAM;mCAACT,aAAU,CAAA;;kCACjBS,SAAM;mCAACuD,mBAAgB,CAAA;;kCACvBvD,SAAM;mCAAC,oBAAoB,CAAA;;6BAfhC,QAAQ,EAAA,CAAA;0BAFPC,QAAK;2BAAC,8BAA8B,CAAA;oBAKjC,oBAAoB,EAAA,CAAA;0BADvBA,QAAK;;;ACzBV,QAAA,iBAAA,kBAAA,YAAA;IAAA,IAAA,SAAA,iBAAA,GAAA;;;;yIAAa,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAAX,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;IAAjB,iBAAA,CAAA,IAAA,GAAAA,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,iBAAiB,iBA1BtB,oBAAoB;YACpB,oBAAoB;YACpB,2BAA2B;YAC3B,wBAAwB;YACxB,0BAA0B;YAC1B,0BAA0B;YAC1B,yBAAyB;YACzB,2BAA2B;YAC3B,4BAA4B;YAC5B,iCAAiC;IACjC,QAAA,6BAA6B,aAlB7BkE,qBAAkB;YAClBC,sBAAmB;YACnBC,sBAAmB;YACnBC,uBAAkB;YAClBC,gBAAa;IACb,QAAAC,mBAAgB,aAgBhB,oBAAoB;YACpB,oBAAoB;YACpB,2BAA2B;YAC3B,wBAAwB;YACxB,0BAA0B;YAC1B,0BAA0B;YAC1B,yBAAyB;YACzB,2BAA2B;YAC3B,4BAA4B;YAC5B,iCAAiC;YACjC,6BAA6B,CAAA,EAAA,CAAA,CAAA;IAGxB,iBAAA,CAAA,IAAA,GAAAvE,aAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAAA,aAAA,EAAA,IAAA,EAAA,iBAAiB,EAnCjB,OAAA,EAAA,CAAA;gBACLkE,qBAAkB;gBAClBC,sBAAmB;gBACnBC,sBAAmB;gBACnBC,uBAAkB;gBAClBC,gBAAa;gBACbC,mBAAgB;aACnB,CAAA,EAAA,CAAA,CAAA;sHA4BQ,iBAAiB,EAAA,UAAA,EAAA,CAAA;sBApC7BC,WAAQ;IAAC,YAAA,IAAA,EAAA,CAAA;IACN,oBAAA,OAAO,EAAE;4BACLN,qBAAkB;4BAClBC,sBAAmB;4BACnBC,sBAAmB;4BACnBC,uBAAkB;4BAClBC,gBAAa;4BACbC,mBAAgB;IACnB,qBAAA;IACD,oBAAA,YAAY,EAAE;4BACV,oBAAoB;4BACpB,oBAAoB;4BACpB,2BAA2B;4BAC3B,wBAAwB;4BACxB,0BAA0B;4BAC1B,0BAA0B;4BAC1B,yBAAyB;4BACzB,2BAA2B;4BAC3B,4BAA4B;4BAC5B,iCAAiC;4BACjC,6BAA6B;IAChC,qBAAA;IACD,oBAAA,OAAO,EAAE;4BACL,oBAAoB;4BACpB,oBAAoB;4BACpB,2BAA2B;4BAC3B,wBAAwB;4BACxB,0BAA0B;4BAC1B,0BAA0B;4BAC1B,yBAAyB;4BACzB,2BAA2B;4BAC3B,4BAA4B;4BAC5B,iCAAiC;4BACjC,6BAA6B;IAChC,qBAAA;qBACJ,CAAA;;;ICrDD;;IAEG;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,12 +2,12 @@ import { TuiActiveZoneDirective } from '@taiga-ui/cdk';
2
2
  import { TuiDriver, TuiRectAccessor } from '@taiga-ui/core/abstract';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class TuiDropdownContextDirective extends TuiDriver implements TuiRectAccessor {
5
- private readonly activeZone;
5
+ readonly activeZone: TuiActiveZoneDirective;
6
6
  private readonly stream$;
7
7
  private currentRect;
8
8
  constructor(activeZone: TuiActiveZoneDirective);
9
9
  onContextMenu(x: number, y: number): void;
10
- closeDropdown(target: Element): void;
10
+ closeDropdown(): void;
11
11
  getClientRect(): ClientRect;
12
12
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDropdownContextDirective, never>;
13
13
  static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDropdownContextDirective, "[tuiDropdown][tuiDropdownContext]", never, {}, {}, never>;
@@ -1,9 +1,14 @@
1
+ import { __decorate } from "tslib";
1
2
  import { Directive, HostListener, Inject } from '@angular/core';
2
3
  import { EMPTY_CLIENT_RECT, TuiActiveZoneDirective, tuiPointToClientRect, } from '@taiga-ui/cdk';
3
4
  import { tuiAsDriver, tuiAsRectAccessor, TuiDriver, } from '@taiga-ui/core/abstract';
5
+ import { shouldCall } from '@tinkoff/ng-event-plugins';
4
6
  import { Subject } from 'rxjs';
5
7
  import * as i0 from "@angular/core";
6
8
  import * as i1 from "@taiga-ui/cdk";
9
+ function activeZoneFilter(target) {
10
+ return !this.activeZone.contains(target);
11
+ }
7
12
  export class TuiDropdownContextDirective extends TuiDriver {
8
13
  constructor(activeZone) {
9
14
  super(subscriber => this.stream$.subscribe(subscriber));
@@ -15,10 +20,8 @@ export class TuiDropdownContextDirective extends TuiDriver {
15
20
  this.currentRect = tuiPointToClientRect(x, y);
16
21
  this.stream$.next(true);
17
22
  }
18
- closeDropdown(target) {
19
- if (!this.activeZone.contains(target)) {
20
- this.stream$.next(false);
21
- }
23
+ closeDropdown() {
24
+ this.stream$.next(false);
22
25
  }
23
26
  getClientRect() {
24
27
  return this.currentRect;
@@ -30,6 +33,9 @@ TuiDropdownContextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.
30
33
  tuiAsDriver(TuiDropdownContextDirective),
31
34
  tuiAsRectAccessor(TuiDropdownContextDirective),
32
35
  ], usesInheritance: true, ngImport: i0 });
36
+ __decorate([
37
+ shouldCall(activeZoneFilter)
38
+ ], TuiDropdownContextDirective.prototype, "closeDropdown", null);
33
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDropdownContextDirective, decorators: [{
34
40
  type: Directive,
35
41
  args: [{
@@ -56,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
56
62
  type: HostListener,
57
63
  args: ['document:keydown.esc', ['$event.currentTarget']]
58
64
  }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFDSCxpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLG9CQUFvQixHQUN2QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixTQUFTLEdBRVosTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7QUFVN0IsTUFBTSxPQUFPLDJCQUE0QixTQUFRLFNBQVM7SUFLdEQsWUFFcUIsVUFBa0M7UUFFbkQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUZ2QyxlQUFVLEdBQVYsVUFBVSxDQUF3QjtRQU50QyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUUxQyxnQkFBVyxHQUFHLGlCQUFpQixDQUFDO0lBT3hDLENBQUM7SUFHRCxhQUFhLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUtELGFBQWEsQ0FBQyxNQUFlO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM1QjtJQUNMLENBQUM7SUFFRCxhQUFhO1FBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7O3lIQTdCUSwyQkFBMkIsa0JBTXhCLHNCQUFzQjs2R0FOekIsMkJBQTJCLGdXQU56QjtRQUNQLHNCQUFzQjtRQUN0QixXQUFXLENBQUMsMkJBQTJCLENBQUM7UUFDeEMsaUJBQWlCLENBQUMsMkJBQTJCLENBQUM7S0FDakQ7NEZBRVEsMkJBQTJCO2tCQVJ2QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxtQ0FBbUM7b0JBQzdDLFNBQVMsRUFBRTt3QkFDUCxzQkFBc0I7d0JBQ3RCLFdBQVcsNkJBQTZCO3dCQUN4QyxpQkFBaUIsNkJBQTZCO3FCQUNqRDtpQkFDSjs7MEJBT1EsTUFBTTsyQkFBQyxzQkFBc0I7NENBT2xDLGFBQWE7c0JBRFosWUFBWTt1QkFBQywwQkFBMEIsRUFBRSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO2dCQVM5RSxhQUFhO3NCQUhaLFlBQVk7dUJBQUMsdUJBQXVCLEVBQUUsQ0FBQyxlQUFlLENBQUM7O3NCQUN2RCxZQUFZO3VCQUFDLHFDQUFxQyxFQUFFLENBQUMsZUFBZSxDQUFDOztzQkFDckUsWUFBWTt1QkFBQyxzQkFBc0IsRUFBRSxDQUFDLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRU1QVFlfQ0xJRU5UX1JFQ1QsXG4gICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICB0dWlQb2ludFRvQ2xpZW50UmVjdCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIHR1aUFzRHJpdmVyLFxuICAgIHR1aUFzUmVjdEFjY2Vzc29yLFxuICAgIFR1aURyaXZlcixcbiAgICBUdWlSZWN0QWNjZXNzb3IsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlL2Fic3RyYWN0JztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aURyb3Bkb3duXVt0dWlEcm9wZG93bkNvbnRleHRdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICAgICAgdHVpQXNEcml2ZXIoVHVpRHJvcGRvd25Db250ZXh0RGlyZWN0aXZlKSxcbiAgICAgICAgdHVpQXNSZWN0QWNjZXNzb3IoVHVpRHJvcGRvd25Db250ZXh0RGlyZWN0aXZlKSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEcm9wZG93bkNvbnRleHREaXJlY3RpdmUgZXh0ZW5kcyBUdWlEcml2ZXIgaW1wbGVtZW50cyBUdWlSZWN0QWNjZXNzb3Ige1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RyZWFtJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBwcml2YXRlIGN1cnJlbnRSZWN0ID0gRU1QVFlfQ0xJRU5UX1JFQ1Q7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUdWlBY3RpdmVab25lRGlyZWN0aXZlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2ZVpvbmU6IFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHN1YnNjcmliZXIgPT4gdGhpcy5zdHJlYW0kLnN1YnNjcmliZShzdWJzY3JpYmVyKSk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignY29udGV4dG1lbnUucHJldmVudC5zdG9wJywgWyckZXZlbnQuY2xpZW50WCcsICckZXZlbnQuY2xpZW50WSddKVxuICAgIG9uQ29udGV4dE1lbnUoeDogbnVtYmVyLCB5OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jdXJyZW50UmVjdCA9IHR1aVBvaW50VG9DbGllbnRSZWN0KHgsIHkpO1xuICAgICAgICB0aGlzLnN0cmVhbSQubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljay5zaWxlbnQnLCBbJyRldmVudC50YXJnZXQnXSlcbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjb250ZXh0bWVudS5jYXB0dXJlLnNpbGVudCcsIFsnJGV2ZW50LnRhcmdldCddKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24uZXNjJywgWyckZXZlbnQuY3VycmVudFRhcmdldCddKVxuICAgIGNsb3NlRHJvcGRvd24odGFyZ2V0OiBFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5hY3RpdmVab25lLmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgICAgIHRoaXMuc3RyZWFtJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldENsaWVudFJlY3QoKTogQ2xpZW50UmVjdCB7XG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRSZWN0O1xuICAgIH1cbn1cbiJdfQ==
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vZHJvcGRvd24tY29udGV4dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QixvQkFBb0IsR0FDdkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsU0FBUyxHQUVaLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7OztBQUU3QixTQUFTLGdCQUFnQixDQUFvQyxNQUFlO0lBQ3hFLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBVUQsTUFBTSxPQUFPLDJCQUE0QixTQUFRLFNBQVM7SUFLdEQsWUFFYSxVQUFrQztRQUUzQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRi9DLGVBQVUsR0FBVixVQUFVLENBQXdCO1FBTjlCLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRTFDLGdCQUFXLEdBQUcsaUJBQWlCLENBQUM7SUFPeEMsQ0FBQztJQUdELGFBQWEsQ0FBQyxDQUFTLEVBQUUsQ0FBUztRQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHLG9CQUFvQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBTUQsYUFBYTtRQUNULElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxhQUFhO1FBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7O3lIQTVCUSwyQkFBMkIsa0JBTXhCLHNCQUFzQjs2R0FOekIsMkJBQTJCLGdXQU56QjtRQUNQLHNCQUFzQjtRQUN0QixXQUFXLENBQUMsMkJBQTJCLENBQUM7UUFDeEMsaUJBQWlCLENBQUMsMkJBQTJCLENBQUM7S0FDakQ7QUF3QkQ7SUFKQyxVQUFVLENBQUMsZ0JBQWdCLENBQUM7Z0VBTTVCOzRGQXhCUSwyQkFBMkI7a0JBUnZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1DQUFtQztvQkFDN0MsU0FBUyxFQUFFO3dCQUNQLHNCQUFzQjt3QkFDdEIsV0FBVyw2QkFBNkI7d0JBQ3hDLGlCQUFpQiw2QkFBNkI7cUJBQ2pEO2lCQUNKOzswQkFPUSxNQUFNOzJCQUFDLHNCQUFzQjs0Q0FPbEMsYUFBYTtzQkFEWixZQUFZO3VCQUFDLDBCQUEwQixFQUFFLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7Z0JBVTlFLGFBQWE7c0JBSFosWUFBWTt1QkFBQyx1QkFBdUIsRUFBRSxDQUFDLGVBQWUsQ0FBQzs7c0JBQ3ZELFlBQVk7dUJBQUMscUNBQXFDLEVBQUUsQ0FBQyxlQUFlLENBQUM7O3NCQUNyRSxZQUFZO3VCQUFDLHNCQUFzQixFQUFFLENBQUMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBFTVBUWV9DTElFTlRfUkVDVCxcbiAgICBUdWlBY3RpdmVab25lRGlyZWN0aXZlLFxuICAgIHR1aVBvaW50VG9DbGllbnRSZWN0LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgdHVpQXNEcml2ZXIsXG4gICAgdHVpQXNSZWN0QWNjZXNzb3IsXG4gICAgVHVpRHJpdmVyLFxuICAgIFR1aVJlY3RBY2Nlc3Nvcixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvYWJzdHJhY3QnO1xuaW1wb3J0IHtzaG91bGRDYWxsfSBmcm9tICdAdGlua29mZi9uZy1ldmVudC1wbHVnaW5zJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbmZ1bmN0aW9uIGFjdGl2ZVpvbmVGaWx0ZXIodGhpczogVHVpRHJvcGRvd25Db250ZXh0RGlyZWN0aXZlLCB0YXJnZXQ6IEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuYWN0aXZlWm9uZS5jb250YWlucyh0YXJnZXQpO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t0dWlEcm9wZG93bl1bdHVpRHJvcGRvd25Db250ZXh0XScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFR1aUFjdGl2ZVpvbmVEaXJlY3RpdmUsXG4gICAgICAgIHR1aUFzRHJpdmVyKFR1aURyb3Bkb3duQ29udGV4dERpcmVjdGl2ZSksXG4gICAgICAgIHR1aUFzUmVjdEFjY2Vzc29yKFR1aURyb3Bkb3duQ29udGV4dERpcmVjdGl2ZSksXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcGRvd25Db250ZXh0RGlyZWN0aXZlIGV4dGVuZHMgVHVpRHJpdmVyIGltcGxlbWVudHMgVHVpUmVjdEFjY2Vzc29yIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0cmVhbSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgcHJpdmF0ZSBjdXJyZW50UmVjdCA9IEVNUFRZX0NMSUVOVF9SRUNUO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSlcbiAgICAgICAgcmVhZG9ubHkgYWN0aXZlWm9uZTogVHVpQWN0aXZlWm9uZURpcmVjdGl2ZSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoc3Vic2NyaWJlciA9PiB0aGlzLnN0cmVhbSQuc3Vic2NyaWJlKHN1YnNjcmliZXIpKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdjb250ZXh0bWVudS5wcmV2ZW50LnN0b3AnLCBbJyRldmVudC5jbGllbnRYJywgJyRldmVudC5jbGllbnRZJ10pXG4gICAgb25Db250ZXh0TWVudSh4OiBudW1iZXIsIHk6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRSZWN0ID0gdHVpUG9pbnRUb0NsaWVudFJlY3QoeCwgeSk7XG4gICAgICAgIHRoaXMuc3RyZWFtJC5uZXh0KHRydWUpO1xuICAgIH1cblxuICAgIEBzaG91bGRDYWxsKGFjdGl2ZVpvbmVGaWx0ZXIpXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2suc2lsZW50JywgWyckZXZlbnQudGFyZ2V0J10pXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y29udGV4dG1lbnUuY2FwdHVyZS5zaWxlbnQnLCBbJyRldmVudC50YXJnZXQnXSlcbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzYycsIFsnJGV2ZW50LmN1cnJlbnRUYXJnZXQnXSlcbiAgICBjbG9zZURyb3Bkb3duKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0cmVhbSQubmV4dChmYWxzZSk7XG4gICAgfVxuXG4gICAgZ2V0Q2xpZW50UmVjdCgpOiBDbGllbnRSZWN0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFJlY3Q7XG4gICAgfVxufVxuIl19
@@ -19,6 +19,7 @@ import * as i1$1 from '@taiga-ui/core/components/scrollbar';
19
19
  import { TuiScrollbarModule } from '@taiga-ui/core/components/scrollbar';
20
20
  import * as i3 from '@taiga-ui/core/directives/mode';
21
21
  import { TuiModeModule } from '@taiga-ui/core/directives/mode';
22
+ import { shouldCall } from '@tinkoff/ng-event-plugins';
22
23
  import { DOCUMENT } from '@angular/common';
23
24
 
24
25
  const TUI_DROPDOWN_COMPONENT = new InjectionToken(`[TUI_DROPDOWN_COMPONENT] A component to display a dropdown`, {
@@ -361,6 +362,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
361
362
  args: ['@tuiDropdownAnimation']
362
363
  }] } });
363
364
 
365
+ function activeZoneFilter(target) {
366
+ return !this.activeZone.contains(target);
367
+ }
364
368
  class TuiDropdownContextDirective extends TuiDriver {
365
369
  constructor(activeZone) {
366
370
  super(subscriber => this.stream$.subscribe(subscriber));
@@ -372,10 +376,8 @@ class TuiDropdownContextDirective extends TuiDriver {
372
376
  this.currentRect = tuiPointToClientRect(x, y);
373
377
  this.stream$.next(true);
374
378
  }
375
- closeDropdown(target) {
376
- if (!this.activeZone.contains(target)) {
377
- this.stream$.next(false);
378
- }
379
+ closeDropdown() {
380
+ this.stream$.next(false);
379
381
  }
380
382
  getClientRect() {
381
383
  return this.currentRect;
@@ -387,6 +389,9 @@ TuiDropdownContextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.
387
389
  tuiAsDriver(TuiDropdownContextDirective),
388
390
  tuiAsRectAccessor(TuiDropdownContextDirective),
389
391
  ], usesInheritance: true, ngImport: i0 });
392
+ __decorate([
393
+ shouldCall(activeZoneFilter)
394
+ ], TuiDropdownContextDirective.prototype, "closeDropdown", null);
390
395
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDropdownContextDirective, decorators: [{
391
396
  type: Directive,
392
397
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-directives-dropdown.js","sources":["../../../projects/core/directives/dropdown/dropdown.providers.ts","../../../projects/core/directives/dropdown/dropdown.directive.ts","../../../projects/core/directives/dropdown/dropdown-hover.directive.ts","../../../projects/core/directives/dropdown/dropdown-options.directive.ts","../../../projects/core/directives/dropdown/dropdown.component.ts","../../../projects/core/directives/dropdown/dropdown.template.html","../../../projects/core/directives/dropdown/dropdown-context.directive.ts","../../../projects/core/directives/dropdown/dropdown-driver.directive.ts","../../../projects/core/directives/dropdown/dropdown-host.directive.ts","../../../projects/core/directives/dropdown/dropdown-manual.directive.ts","../../../projects/core/directives/dropdown/dropdown-position.directive.ts","../../../projects/core/directives/dropdown/dropdown-position-sided.directive.ts","../../../projects/core/directives/dropdown/dropdown-selection.directive.ts","../../../projects/core/directives/dropdown/dropdown.module.ts","../../../projects/core/directives/dropdown/taiga-ui-core-directives-dropdown.ts"],"sourcesContent":["import {InjectionToken, Type} from '@angular/core';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDropdownComponent} from './dropdown.component';\n\nexport const TUI_DROPDOWN_COMPONENT = new InjectionToken<Type<any>>(\n `[TUI_DROPDOWN_COMPONENT] A component to display a dropdown`,\n {\n factory: () => TuiDropdownComponent,\n },\n);\n","import {\n AfterViewChecked,\n ComponentRef,\n Directive,\n ElementRef,\n Inject,\n INJECTOR,\n Input,\n OnChanges,\n OnDestroy,\n} from '@angular/core';\nimport {\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiDropdownPortalService,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsRectAccessor,\n tuiAsVehicle,\n TuiRectAccessor,\n TuiVehicle,\n} from '@taiga-ui/core/abstract';\nimport {TuiPortalItem} from '@taiga-ui/core/interfaces';\nimport {tuiCheckFixedPosition} from '@taiga-ui/core/utils';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TUI_DROPDOWN_COMPONENT} from './dropdown.providers';\n\n@Directive({\n selector: '[tuiDropdown]:not(ng-container)',\n exportAs: 'tuiDropdown',\n providers: [\n tuiAsRectAccessor(TuiDropdownDirective),\n tuiAsVehicle(TuiDropdownDirective),\n {\n provide: PolymorpheusComponent,\n deps: [TUI_DROPDOWN_COMPONENT, INJECTOR],\n useClass: PolymorpheusComponent,\n },\n ],\n})\nexport class TuiDropdownDirective\n implements\n AfterViewChecked,\n OnDestroy,\n OnChanges,\n TuiPortalItem,\n TuiRectAccessor,\n TuiVehicle\n{\n @Input('tuiDropdown')\n @tuiDefaultProp()\n content: PolymorpheusContent<TuiContextWithImplicit<TuiActiveZoneDirective>> = '';\n\n dropdownBoxRef: ComponentRef<unknown> | null = null;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(PolymorpheusComponent)\n readonly component: PolymorpheusComponent<unknown, any>,\n @Inject(TuiDropdownPortalService)\n private readonly dropdownService: TuiDropdownPortalService,\n ) {}\n\n @tuiPure\n get position(): 'absolute' | 'fixed' {\n return tuiCheckFixedPosition(this.elementRef.nativeElement)\n ? 'fixed'\n : 'absolute';\n }\n\n ngAfterViewChecked(): void {\n this.dropdownBoxRef?.changeDetectorRef.detectChanges();\n this.dropdownBoxRef?.changeDetectorRef.markForCheck();\n }\n\n ngOnChanges(): void {\n if (!this.content) {\n this.toggle(false);\n }\n }\n\n ngOnDestroy(): void {\n this.toggle(false);\n }\n\n getClientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n toggle(show: boolean): void {\n if (show && this.content && !this.dropdownBoxRef) {\n this.dropdownBoxRef = this.dropdownService.add(this.component);\n } else if (!show && this.dropdownBoxRef) {\n this.dropdownService.remove(this.dropdownBoxRef);\n this.dropdownBoxRef = null;\n }\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp, TuiHoveredService} from '@taiga-ui/cdk';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {merge, Observable, of, Subject} from 'rxjs';\nimport {delay, switchMap} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiDropdownHover]:not(ng-container)',\n providers: [tuiAsDriver(TuiDropdownHoverDirective), TuiHoveredService],\n})\nexport class TuiDropdownHoverDirective extends TuiDriver {\n private readonly toggle$ = new Subject<boolean>();\n private readonly stream$ = merge(this.toggle$, this.hovered$).pipe(\n switchMap(visible =>\n of(visible).pipe(delay(visible ? this.showDelay : this.hideDelay)),\n ),\n );\n\n @Input('tuiDropdownShowDelay')\n @tuiDefaultProp()\n showDelay = 200;\n\n @Input('tuiDropdownHideDelay')\n @tuiDefaultProp()\n hideDelay = 500;\n\n constructor(\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n toggle(visible: boolean): void {\n this.toggle$.next(visible);\n }\n}\n","import {\n Directive,\n FactoryProvider,\n forwardRef,\n Inject,\n InjectionToken,\n Input,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {\n TuiDropdownWidth,\n TuiHorizontalDirection,\n TuiVerticalDirection,\n} from '@taiga-ui/core/types';\nimport {tuiOverrideOptions} from '@taiga-ui/core/utils';\n\nexport interface TuiDropdownOptions {\n readonly align: TuiHorizontalDirection;\n readonly direction: TuiVerticalDirection | null;\n readonly limitWidth: TuiDropdownWidth;\n readonly minHeight: number;\n readonly maxHeight: number;\n readonly offset: number;\n}\n\n/** Default values for dropdown options */\nexport const TUI_DROPDOWN_DEFAULT_OPTIONS: TuiDropdownOptions = {\n align: 'left',\n direction: null,\n limitWidth: 'auto',\n maxHeight: 400,\n minHeight: 80,\n offset: 4,\n};\n\nexport const TUI_DROPDOWN_OPTIONS = new InjectionToken<TuiDropdownOptions>(\n '[TUI_DROPDOWN_OPTIONS] Default parameters for dropdown directive',\n {\n factory: () => TUI_DROPDOWN_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiDropdownOptionsProvider: (\n options: Partial<TuiDropdownOptions>,\n) => FactoryProvider = (override: Partial<TuiDropdownOptions>) => ({\n provide: TUI_DROPDOWN_OPTIONS,\n deps: [\n [new Optional(), TuiDropdownOptionsDirective],\n [new SkipSelf(), TUI_DROPDOWN_OPTIONS],\n ],\n useFactory: tuiOverrideOptions(override),\n});\n\n@Directive({\n selector:\n '[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]',\n providers: [\n {\n provide: TUI_DROPDOWN_OPTIONS,\n useExisting: forwardRef(() => TuiDropdownOptionsDirective),\n },\n ],\n})\nexport class TuiDropdownOptionsDirective implements TuiDropdownOptions {\n @Input('tuiDropdownAlign')\n @tuiDefaultProp()\n align = this.options.align;\n\n @Input('tuiDropdownDirection')\n @tuiDefaultProp()\n direction = this.options.direction;\n\n @Input('tuiDropdownLimitWidth')\n @tuiDefaultProp()\n limitWidth = this.options.limitWidth;\n\n @Input('tuiDropdownMinHeight')\n @tuiDefaultProp()\n minHeight = this.options.minHeight;\n\n @Input('tuiDropdownMaxHeight')\n @tuiDefaultProp()\n maxHeight = this.options.maxHeight;\n\n @Input('tuiDropdownOffset')\n @tuiDefaultProp()\n offset = this.options.offset;\n\n constructor(\n @SkipSelf()\n @Inject(TUI_DROPDOWN_OPTIONS)\n private readonly options: TuiDropdownOptions,\n ) {}\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Optional,\n Self,\n} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n AbstractTuiPortalHostComponent,\n TuiDestroyService,\n tuiGetClosestFocusable,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {TuiRectAccessor} from '@taiga-ui/core/abstract';\nimport {tuiDropdownAnimation} from '@taiga-ui/core/animations';\nimport {TuiDropdownAnimation} from '@taiga-ui/core/enums';\nimport {TuiPositionService} from '@taiga-ui/core/services';\nimport {TUI_ANIMATION_OPTIONS} from '@taiga-ui/core/tokens';\nimport {TuiPoint} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n/**\n * This component is used to show template in a portal using default style of white rounded box with a shadow\n */\n// @bad TODO: OnPush\n@Component({\n selector: 'tui-dropdown',\n templateUrl: './dropdown.template.html',\n styleUrls: ['./dropdown.style.less'],\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDestroyService, TuiPositionService],\n animations: [tuiDropdownAnimation],\n})\nexport class TuiDropdownComponent {\n @HostBinding('@tuiDropdownAnimation')\n readonly dropdownAnimation = {\n value: TuiDropdownAnimation.FadeInTop,\n ...this.animationOptions,\n };\n\n constructor(\n @Inject(TuiPositionService) position$: Observable<TuiPoint>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(TuiDropdownDirective) readonly directive: TuiDropdownDirective,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalHostComponent)\n private readonly host: AbstractTuiPortalHostComponent,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TUI_ANIMATION_OPTIONS)\n private readonly animationOptions: AnimationOptions,\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Optional()\n @Inject(TuiDropdownHoverDirective)\n private readonly hoverDirective: TuiDropdownHoverDirective | null,\n ) {\n position$.pipe(takeUntil(destroy$)).subscribe(([top, left]) => {\n this.update(top, left);\n });\n }\n\n onHoveredChange(hovered: boolean): void {\n if (this.hoverDirective) {\n this.hoverDirective.toggle(hovered);\n }\n }\n\n onTopFocus(): void {\n this.moveFocusOutside(true);\n }\n\n onBottomFocus(): void {\n this.moveFocusOutside(false);\n }\n\n private update(top: number, left: number): void {\n const {style} = this.elementRef.nativeElement;\n const {right} = this.elementRef.nativeElement.getBoundingClientRect();\n const {limitWidth, maxHeight, offset} = this.options;\n const {innerHeight} = this.windowRef;\n const {clientRect} = this.host;\n const {position} = this.directive;\n const rect = this.accessor.getClientRect();\n const offsetX = position === 'fixed' ? 0 : -clientRect.left;\n const offsetY = position === 'fixed' ? 0 : -clientRect.top;\n\n top += offsetY;\n left += offsetX;\n\n const isIntersecting =\n left < rect.right && right > rect.left && top < offsetY + 2 * offset;\n const available = isIntersecting\n ? rect.top - 2 * offset\n : offsetY + innerHeight - top - offset;\n\n style.position = position;\n style.top = tuiPx(Math.max(top, offsetY + offset));\n style.left = tuiPx(left);\n style.maxHeight = tuiPx(Math.min(maxHeight, available));\n style.width = '';\n style.minWidth = '';\n\n switch (limitWidth) {\n case 'min':\n style.minWidth = tuiPx(rect.width);\n break;\n case 'fixed':\n style.width = tuiPx(rect.width);\n }\n }\n\n private moveFocusOutside(previous: boolean): void {\n const host = document.createElement('div');\n const {ownerDocument} = host;\n const root = ownerDocument ? ownerDocument.body : host;\n let focusable = tuiGetClosestFocusable({initial: host, root, previous});\n\n while (focusable !== null && host.contains(focusable)) {\n focusable = tuiGetClosestFocusable({initial: focusable, root, previous});\n }\n\n focusable?.focus();\n }\n}\n","<div\n #activeZone=\"tuiActiveZone\"\n tuiActiveZone\n tuiOverscroll=\"all\"\n class=\"t-wrapper\"\n [tuiMode]=\"null\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n>\n <tui-scrollbar class=\"t-scroll\">\n <div\n tabindex=\"0\"\n (focus)=\"onTopFocus()\"\n ></div>\n <div\n *polymorpheusOutlet=\"directive.content as text; context: {$implicit: activeZone}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n <div\n tabindex=\"0\"\n (focus)=\"onBottomFocus()\"\n ></div>\n </tui-scrollbar>\n</div>\n","import {Directive, HostListener, Inject} from '@angular/core';\nimport {\n EMPTY_CLIENT_RECT,\n TuiActiveZoneDirective,\n tuiPointToClientRect,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {Subject} from 'rxjs';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownContext]',\n providers: [\n TuiActiveZoneDirective,\n tuiAsDriver(TuiDropdownContextDirective),\n tuiAsRectAccessor(TuiDropdownContextDirective),\n ],\n})\nexport class TuiDropdownContextDirective extends TuiDriver implements TuiRectAccessor {\n private readonly stream$ = new Subject<boolean>();\n\n private currentRect = EMPTY_CLIENT_RECT;\n\n constructor(\n @Inject(TuiActiveZoneDirective)\n private readonly activeZone: TuiActiveZoneDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n @HostListener('contextmenu.prevent.stop', ['$event.clientX', '$event.clientY'])\n onContextMenu(x: number, y: number): void {\n this.currentRect = tuiPointToClientRect(x, y);\n this.stream$.next(true);\n }\n\n @HostListener('document:click.silent', ['$event.target'])\n @HostListener('document:contextmenu.capture.silent', ['$event.target'])\n @HostListener('document:keydown.esc', ['$event.currentTarget'])\n closeDropdown(target: Element): void {\n if (!this.activeZone.contains(target)) {\n this.stream$.next(false);\n }\n }\n\n getClientRect(): ClientRect {\n return this.currentRect;\n }\n}\n","import {Directive} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {AbstractTuiDriverDirective} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiDropdown]',\n providers: [TuiDestroyService],\n})\nexport class TuiDropdownDriverDirective extends AbstractTuiDriverDirective {}\n","import {Directive, Input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk';\nimport {tuiAsRectAccessor, TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownHost]',\n providers: [tuiAsRectAccessor(TuiDropdownHostDirective)],\n})\nexport class TuiDropdownHostDirective extends TuiRectAccessor {\n @Input()\n tuiDropdownHost?: HTMLElement;\n\n getClientRect(): ClientRect {\n return this.tuiDropdownHost?.getBoundingClientRect() || EMPTY_CLIENT_RECT;\n }\n}\n","import {Directive, Input, OnChanges} from '@angular/core';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {Subject} from 'rxjs';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownManual]',\n providers: [tuiAsDriver(TuiDropdownManualDirective)],\n})\nexport class TuiDropdownManualDirective extends TuiDriver implements OnChanges {\n private readonly stream$ = new Subject<boolean>();\n\n @Input()\n tuiDropdownManual = false;\n\n constructor() {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n ngOnChanges(): void {\n this.stream$.next(this.tuiDropdownManual);\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TuiPoint, TuiVerticalDirection} from '@taiga-ui/core/types';\n\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n@Directive({\n selector: '[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])',\n providers: [tuiAsPositionAccessor(TuiDropdownPositionDirective)],\n})\nexport class TuiDropdownPositionDirective implements TuiPositionAccessor {\n private previous?: TuiVerticalDirection;\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n ) {}\n\n getPosition({width, height}: ClientRect): TuiPoint {\n const hostRect = this.accessor.getClientRect();\n const {innerHeight, innerWidth} = this.windowRef;\n const {minHeight, align, direction, offset} = this.options;\n const previous = this.previous || direction || 'bottom';\n const right = Math.max(hostRect.right - width, offset);\n const available = {\n top: hostRect.top - 2 * offset,\n bottom: innerHeight - hostRect.bottom - 2 * offset,\n } as const;\n const position = {\n top: hostRect.top - offset - height,\n bottom: hostRect.bottom + offset,\n right,\n left: hostRect.left + width < innerWidth - offset ? hostRect.left : right,\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n\n if (\n (available[previous] > minHeight && direction) ||\n available[previous] > height\n ) {\n return [position[previous], position[align]];\n }\n\n this.previous = better;\n\n return [position[better], position[align]];\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TuiPoint} from '@taiga-ui/core/types';\n\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\n\n@Directive({\n selector: '[tuiDropdownSided]',\n providers: [\n TuiDropdownPositionDirective,\n tuiAsPositionAccessor(TuiDropdownPositionSidedDirective),\n ],\n})\nexport class TuiDropdownPositionSidedDirective implements TuiPositionAccessor {\n private previous = this.options.direction || 'bottom';\n\n @Input()\n tuiDropdownSided: boolean | string = '';\n\n @Input()\n tuiDropdownSidedOffset = 4;\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n @Inject(TuiDropdownPositionDirective)\n private readonly vertical: TuiPositionAccessor,\n ) {}\n\n getPosition(rect: ClientRect): TuiPoint {\n if (this.tuiDropdownSided === false) {\n return this.vertical.getPosition(rect);\n }\n\n const {height, width} = rect;\n const hostRect = this.accessor.getClientRect();\n const {innerHeight, innerWidth} = this.windowRef;\n const {align, direction, minHeight, offset} = this.options;\n const available = {\n top: hostRect.bottom,\n left: hostRect.left - offset,\n right: innerWidth - hostRect.right - offset,\n bottom: innerHeight - hostRect.top,\n } as const;\n const position = {\n top: hostRect.bottom - height + this.tuiDropdownSidedOffset + 1, // 1 for border\n left: hostRect.left - width - offset,\n right: hostRect.right + offset,\n bottom: hostRect.top - this.tuiDropdownSidedOffset - 1, // 1 for border\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n const maxLeft = available.left > available.right ? position.left : position.right;\n const left = available[align] > width ? position[align] : maxLeft;\n\n if (\n (available[this.previous] > minHeight && direction) ||\n this.previous === better\n ) {\n return [position[this.previous], left];\n }\n\n this.previous = better;\n\n return [position[better], left];\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Inject,\n Input,\n OnDestroy,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_SPACE,\n EMPTY_CLIENT_RECT,\n TUI_RANGE,\n TuiBooleanHandler,\n tuiDefaultProp,\n tuiGetNativeFocused,\n tuiIsElement,\n tuiIsString,\n tuiIsTextfield,\n tuiIsTextNode,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_SELECTION_STREAM} from '@taiga-ui/core/tokens';\nimport {tuiGetWordRange} from '@taiga-ui/core/utils';\nimport {BehaviorSubject, combineLatest, Observable} from 'rxjs';\nimport {distinctUntilChanged, map} from 'rxjs/operators';\n\nimport {TuiDropdownDirective} from './dropdown.directive';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownSelection]',\n providers: [\n tuiAsDriver(TuiDropdownSelectionDirective),\n tuiAsRectAccessor(TuiDropdownSelectionDirective),\n ],\n})\nexport class TuiDropdownSelectionDirective\n extends TuiDriver\n implements TuiRectAccessor, OnDestroy\n{\n private readonly handler$ = new BehaviorSubject<TuiBooleanHandler<Range>>(\n ALWAYS_TRUE_HANDLER,\n );\n\n private readonly stream$ = combineLatest([\n this.handler$,\n this.selection$.pipe(\n map(() => this.getRange()),\n distinctUntilChanged(),\n ),\n ]).pipe(\n map(([handler, range]) => {\n const contained = this.elementRef.nativeElement.contains(\n range.commonAncestorContainer,\n );\n\n this.range =\n contained && tuiIsTextNode(range.commonAncestorContainer)\n ? range\n : this.range;\n\n return (contained && handler(this.range)) || this.inDropdown(range);\n }),\n );\n\n private ghost?: HTMLElement;\n\n @Input('tuiDropdownSelectionPosition')\n @tuiDefaultProp()\n position: 'selection' | 'tag' | 'word' = 'selection';\n\n @Input()\n set tuiDropdownSelection(visible: TuiBooleanHandler<Range> | string) {\n if (!tuiIsString(visible)) {\n this.handler$.next(visible);\n }\n }\n\n constructor(\n @Inject(TUI_RANGE) private range: Range,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TUI_SELECTION_STREAM) private readonly selection$: Observable<unknown>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(ViewContainerRef) private readonly viewContainerRef: ViewContainerRef,\n @Inject(TuiDropdownDirective) private readonly dropdown: TuiDropdownDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n getClientRect(): ClientRect {\n switch (this.position) {\n case 'tag': {\n const {commonAncestorContainer} = this.range;\n const element = tuiIsElement(commonAncestorContainer)\n ? commonAncestorContainer\n : commonAncestorContainer.parentNode;\n\n return element && tuiIsElement(element)\n ? element.getBoundingClientRect()\n : EMPTY_CLIENT_RECT;\n }\n case 'word':\n return tuiGetWordRange(this.range).getBoundingClientRect();\n default:\n return this.range.getBoundingClientRect();\n }\n }\n\n ngOnDestroy(): void {\n if (this.ghost) {\n this.viewContainerRef.element.nativeElement.removeChild(this.ghost);\n }\n }\n\n private getRange(): Range {\n const {nativeElement} = this.elementRef;\n const active = tuiGetNativeFocused(this.documentRef);\n const selection = this.documentRef.getSelection();\n\n if (active && tuiIsTextfield(active) && nativeElement.contains(active)) {\n return this.veryVerySadInputFix(active);\n }\n\n return selection?.rangeCount ? selection.getRangeAt(0) : this.range;\n }\n\n /**\n * Check if Node is inside dropdown\n */\n private boxContains(node: Node): boolean {\n return !!this.dropdown.dropdownBoxRef?.location.nativeElement.contains(node);\n }\n\n /**\n * Check if given range is at least partially inside dropdown\n */\n private inDropdown(range: Range): boolean {\n const {startContainer, endContainer} = range;\n const {nativeElement} = this.elementRef;\n const inDropdown = this.boxContains(range.commonAncestorContainer);\n const hostToDropdown =\n this.boxContains(endContainer) && nativeElement.contains(startContainer);\n const dropdownToHost =\n this.boxContains(startContainer) && nativeElement.contains(endContainer);\n\n return inDropdown || hostToDropdown || dropdownToHost;\n }\n\n private veryVerySadInputFix(element: HTMLInputElement | HTMLTextAreaElement): Range {\n const {ghost = this.initGhost(element)} = this;\n const {top, left, width, height} = element.getBoundingClientRect();\n const {selectionStart, selectionEnd, value} = element;\n const range = this.documentRef.createRange();\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n ghost.style.top = tuiPx(top - hostRect.top);\n ghost.style.left = tuiPx(left - hostRect.left);\n ghost.style.width = tuiPx(width);\n ghost.style.height = tuiPx(height);\n ghost.textContent = CHAR_ZERO_WIDTH_SPACE + value + CHAR_NO_BREAK_SPACE;\n\n range.setStart(ghost.firstChild as Node, selectionStart || 0);\n range.setEnd(ghost.firstChild as Node, selectionEnd || 0);\n\n return range;\n }\n\n /**\n * Create an invisible DIV styled exactly like input/textarea element inside directive\n */\n private initGhost(element: HTMLInputElement | HTMLTextAreaElement): HTMLElement {\n const ghost = this.documentRef.createElement('div');\n const {nativeElement} = this.viewContainerRef.element;\n const {font, letterSpacing, textTransform, padding} = getComputedStyle(element);\n\n ghost.style.position = 'absolute';\n ghost.style.pointerEvents = 'none';\n ghost.style.opacity = '0';\n ghost.style.whiteSpace = 'pre-wrap';\n ghost.style.font = font;\n ghost.style.letterSpacing = letterSpacing;\n ghost.style.textTransform = textTransform;\n ghost.style.padding = padding;\n\n nativeElement.appendChild(ghost);\n this.ghost = ghost;\n\n return ghost;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiHoveredModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {TuiModeModule} from '@taiga-ui/core/directives/mode';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDropdownComponent} from './dropdown.component';\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownContextDirective} from './dropdown-context.directive';\nimport {TuiDropdownDriverDirective} from './dropdown-driver.directive';\nimport {TuiDropdownHostDirective} from './dropdown-host.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TuiDropdownManualDirective} from './dropdown-manual.directive';\nimport {TuiDropdownOptionsDirective} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\nimport {TuiDropdownPositionSidedDirective} from './dropdown-position-sided.directive';\nimport {TuiDropdownSelectionDirective} from './dropdown-selection.directive';\n\n@NgModule({\n imports: [\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n TuiModeModule,\n TuiHoveredModule,\n ],\n declarations: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n exports: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n})\nexport class TuiDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i4"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-directives-dropdown.js","sources":["../../../projects/core/directives/dropdown/dropdown.providers.ts","../../../projects/core/directives/dropdown/dropdown.directive.ts","../../../projects/core/directives/dropdown/dropdown-hover.directive.ts","../../../projects/core/directives/dropdown/dropdown-options.directive.ts","../../../projects/core/directives/dropdown/dropdown.component.ts","../../../projects/core/directives/dropdown/dropdown.template.html","../../../projects/core/directives/dropdown/dropdown-context.directive.ts","../../../projects/core/directives/dropdown/dropdown-driver.directive.ts","../../../projects/core/directives/dropdown/dropdown-host.directive.ts","../../../projects/core/directives/dropdown/dropdown-manual.directive.ts","../../../projects/core/directives/dropdown/dropdown-position.directive.ts","../../../projects/core/directives/dropdown/dropdown-position-sided.directive.ts","../../../projects/core/directives/dropdown/dropdown-selection.directive.ts","../../../projects/core/directives/dropdown/dropdown.module.ts","../../../projects/core/directives/dropdown/taiga-ui-core-directives-dropdown.ts"],"sourcesContent":["import {InjectionToken, Type} from '@angular/core';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDropdownComponent} from './dropdown.component';\n\nexport const TUI_DROPDOWN_COMPONENT = new InjectionToken<Type<any>>(\n `[TUI_DROPDOWN_COMPONENT] A component to display a dropdown`,\n {\n factory: () => TuiDropdownComponent,\n },\n);\n","import {\n AfterViewChecked,\n ComponentRef,\n Directive,\n ElementRef,\n Inject,\n INJECTOR,\n Input,\n OnChanges,\n OnDestroy,\n} from '@angular/core';\nimport {\n TuiActiveZoneDirective,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiDropdownPortalService,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsRectAccessor,\n tuiAsVehicle,\n TuiRectAccessor,\n TuiVehicle,\n} from '@taiga-ui/core/abstract';\nimport {TuiPortalItem} from '@taiga-ui/core/interfaces';\nimport {tuiCheckFixedPosition} from '@taiga-ui/core/utils';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TUI_DROPDOWN_COMPONENT} from './dropdown.providers';\n\n@Directive({\n selector: '[tuiDropdown]:not(ng-container)',\n exportAs: 'tuiDropdown',\n providers: [\n tuiAsRectAccessor(TuiDropdownDirective),\n tuiAsVehicle(TuiDropdownDirective),\n {\n provide: PolymorpheusComponent,\n deps: [TUI_DROPDOWN_COMPONENT, INJECTOR],\n useClass: PolymorpheusComponent,\n },\n ],\n})\nexport class TuiDropdownDirective\n implements\n AfterViewChecked,\n OnDestroy,\n OnChanges,\n TuiPortalItem,\n TuiRectAccessor,\n TuiVehicle\n{\n @Input('tuiDropdown')\n @tuiDefaultProp()\n content: PolymorpheusContent<TuiContextWithImplicit<TuiActiveZoneDirective>> = '';\n\n dropdownBoxRef: ComponentRef<unknown> | null = null;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(PolymorpheusComponent)\n readonly component: PolymorpheusComponent<unknown, any>,\n @Inject(TuiDropdownPortalService)\n private readonly dropdownService: TuiDropdownPortalService,\n ) {}\n\n @tuiPure\n get position(): 'absolute' | 'fixed' {\n return tuiCheckFixedPosition(this.elementRef.nativeElement)\n ? 'fixed'\n : 'absolute';\n }\n\n ngAfterViewChecked(): void {\n this.dropdownBoxRef?.changeDetectorRef.detectChanges();\n this.dropdownBoxRef?.changeDetectorRef.markForCheck();\n }\n\n ngOnChanges(): void {\n if (!this.content) {\n this.toggle(false);\n }\n }\n\n ngOnDestroy(): void {\n this.toggle(false);\n }\n\n getClientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n toggle(show: boolean): void {\n if (show && this.content && !this.dropdownBoxRef) {\n this.dropdownBoxRef = this.dropdownService.add(this.component);\n } else if (!show && this.dropdownBoxRef) {\n this.dropdownService.remove(this.dropdownBoxRef);\n this.dropdownBoxRef = null;\n }\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp, TuiHoveredService} from '@taiga-ui/cdk';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {merge, Observable, of, Subject} from 'rxjs';\nimport {delay, switchMap} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiDropdownHover]:not(ng-container)',\n providers: [tuiAsDriver(TuiDropdownHoverDirective), TuiHoveredService],\n})\nexport class TuiDropdownHoverDirective extends TuiDriver {\n private readonly toggle$ = new Subject<boolean>();\n private readonly stream$ = merge(this.toggle$, this.hovered$).pipe(\n switchMap(visible =>\n of(visible).pipe(delay(visible ? this.showDelay : this.hideDelay)),\n ),\n );\n\n @Input('tuiDropdownShowDelay')\n @tuiDefaultProp()\n showDelay = 200;\n\n @Input('tuiDropdownHideDelay')\n @tuiDefaultProp()\n hideDelay = 500;\n\n constructor(\n @Inject(TuiHoveredService) private readonly hovered$: Observable<boolean>,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n toggle(visible: boolean): void {\n this.toggle$.next(visible);\n }\n}\n","import {\n Directive,\n FactoryProvider,\n forwardRef,\n Inject,\n InjectionToken,\n Input,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {\n TuiDropdownWidth,\n TuiHorizontalDirection,\n TuiVerticalDirection,\n} from '@taiga-ui/core/types';\nimport {tuiOverrideOptions} from '@taiga-ui/core/utils';\n\nexport interface TuiDropdownOptions {\n readonly align: TuiHorizontalDirection;\n readonly direction: TuiVerticalDirection | null;\n readonly limitWidth: TuiDropdownWidth;\n readonly minHeight: number;\n readonly maxHeight: number;\n readonly offset: number;\n}\n\n/** Default values for dropdown options */\nexport const TUI_DROPDOWN_DEFAULT_OPTIONS: TuiDropdownOptions = {\n align: 'left',\n direction: null,\n limitWidth: 'auto',\n maxHeight: 400,\n minHeight: 80,\n offset: 4,\n};\n\nexport const TUI_DROPDOWN_OPTIONS = new InjectionToken<TuiDropdownOptions>(\n '[TUI_DROPDOWN_OPTIONS] Default parameters for dropdown directive',\n {\n factory: () => TUI_DROPDOWN_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiDropdownOptionsProvider: (\n options: Partial<TuiDropdownOptions>,\n) => FactoryProvider = (override: Partial<TuiDropdownOptions>) => ({\n provide: TUI_DROPDOWN_OPTIONS,\n deps: [\n [new Optional(), TuiDropdownOptionsDirective],\n [new SkipSelf(), TUI_DROPDOWN_OPTIONS],\n ],\n useFactory: tuiOverrideOptions(override),\n});\n\n@Directive({\n selector:\n '[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]',\n providers: [\n {\n provide: TUI_DROPDOWN_OPTIONS,\n useExisting: forwardRef(() => TuiDropdownOptionsDirective),\n },\n ],\n})\nexport class TuiDropdownOptionsDirective implements TuiDropdownOptions {\n @Input('tuiDropdownAlign')\n @tuiDefaultProp()\n align = this.options.align;\n\n @Input('tuiDropdownDirection')\n @tuiDefaultProp()\n direction = this.options.direction;\n\n @Input('tuiDropdownLimitWidth')\n @tuiDefaultProp()\n limitWidth = this.options.limitWidth;\n\n @Input('tuiDropdownMinHeight')\n @tuiDefaultProp()\n minHeight = this.options.minHeight;\n\n @Input('tuiDropdownMaxHeight')\n @tuiDefaultProp()\n maxHeight = this.options.maxHeight;\n\n @Input('tuiDropdownOffset')\n @tuiDefaultProp()\n offset = this.options.offset;\n\n constructor(\n @SkipSelf()\n @Inject(TUI_DROPDOWN_OPTIONS)\n private readonly options: TuiDropdownOptions,\n ) {}\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Optional,\n Self,\n} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n AbstractTuiPortalHostComponent,\n TuiDestroyService,\n tuiGetClosestFocusable,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {TuiRectAccessor} from '@taiga-ui/core/abstract';\nimport {tuiDropdownAnimation} from '@taiga-ui/core/animations';\nimport {TuiDropdownAnimation} from '@taiga-ui/core/enums';\nimport {TuiPositionService} from '@taiga-ui/core/services';\nimport {TUI_ANIMATION_OPTIONS} from '@taiga-ui/core/tokens';\nimport {TuiPoint} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n/**\n * This component is used to show template in a portal using default style of white rounded box with a shadow\n */\n// @bad TODO: OnPush\n@Component({\n selector: 'tui-dropdown',\n templateUrl: './dropdown.template.html',\n styleUrls: ['./dropdown.style.less'],\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TuiDestroyService, TuiPositionService],\n animations: [tuiDropdownAnimation],\n})\nexport class TuiDropdownComponent {\n @HostBinding('@tuiDropdownAnimation')\n readonly dropdownAnimation = {\n value: TuiDropdownAnimation.FadeInTop,\n ...this.animationOptions,\n };\n\n constructor(\n @Inject(TuiPositionService) position$: Observable<TuiPoint>,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(TuiDropdownDirective) readonly directive: TuiDropdownDirective,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalHostComponent)\n private readonly host: AbstractTuiPortalHostComponent,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TUI_ANIMATION_OPTIONS)\n private readonly animationOptions: AnimationOptions,\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Optional()\n @Inject(TuiDropdownHoverDirective)\n private readonly hoverDirective: TuiDropdownHoverDirective | null,\n ) {\n position$.pipe(takeUntil(destroy$)).subscribe(([top, left]) => {\n this.update(top, left);\n });\n }\n\n onHoveredChange(hovered: boolean): void {\n if (this.hoverDirective) {\n this.hoverDirective.toggle(hovered);\n }\n }\n\n onTopFocus(): void {\n this.moveFocusOutside(true);\n }\n\n onBottomFocus(): void {\n this.moveFocusOutside(false);\n }\n\n private update(top: number, left: number): void {\n const {style} = this.elementRef.nativeElement;\n const {right} = this.elementRef.nativeElement.getBoundingClientRect();\n const {limitWidth, maxHeight, offset} = this.options;\n const {innerHeight} = this.windowRef;\n const {clientRect} = this.host;\n const {position} = this.directive;\n const rect = this.accessor.getClientRect();\n const offsetX = position === 'fixed' ? 0 : -clientRect.left;\n const offsetY = position === 'fixed' ? 0 : -clientRect.top;\n\n top += offsetY;\n left += offsetX;\n\n const isIntersecting =\n left < rect.right && right > rect.left && top < offsetY + 2 * offset;\n const available = isIntersecting\n ? rect.top - 2 * offset\n : offsetY + innerHeight - top - offset;\n\n style.position = position;\n style.top = tuiPx(Math.max(top, offsetY + offset));\n style.left = tuiPx(left);\n style.maxHeight = tuiPx(Math.min(maxHeight, available));\n style.width = '';\n style.minWidth = '';\n\n switch (limitWidth) {\n case 'min':\n style.minWidth = tuiPx(rect.width);\n break;\n case 'fixed':\n style.width = tuiPx(rect.width);\n }\n }\n\n private moveFocusOutside(previous: boolean): void {\n const host = document.createElement('div');\n const {ownerDocument} = host;\n const root = ownerDocument ? ownerDocument.body : host;\n let focusable = tuiGetClosestFocusable({initial: host, root, previous});\n\n while (focusable !== null && host.contains(focusable)) {\n focusable = tuiGetClosestFocusable({initial: focusable, root, previous});\n }\n\n focusable?.focus();\n }\n}\n","<div\n #activeZone=\"tuiActiveZone\"\n tuiActiveZone\n tuiOverscroll=\"all\"\n class=\"t-wrapper\"\n [tuiMode]=\"null\"\n (tuiHoveredChange)=\"onHoveredChange($event)\"\n>\n <tui-scrollbar class=\"t-scroll\">\n <div\n tabindex=\"0\"\n (focus)=\"onTopFocus()\"\n ></div>\n <div\n *polymorpheusOutlet=\"directive.content as text; context: {$implicit: activeZone}\"\n class=\"t-primitive\"\n >\n {{ text }}\n </div>\n <div\n tabindex=\"0\"\n (focus)=\"onBottomFocus()\"\n ></div>\n </tui-scrollbar>\n</div>\n","import {Directive, HostListener, Inject} from '@angular/core';\nimport {\n EMPTY_CLIENT_RECT,\n TuiActiveZoneDirective,\n tuiPointToClientRect,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {shouldCall} from '@tinkoff/ng-event-plugins';\nimport {Subject} from 'rxjs';\n\nfunction activeZoneFilter(this: TuiDropdownContextDirective, target: Element): boolean {\n return !this.activeZone.contains(target);\n}\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownContext]',\n providers: [\n TuiActiveZoneDirective,\n tuiAsDriver(TuiDropdownContextDirective),\n tuiAsRectAccessor(TuiDropdownContextDirective),\n ],\n})\nexport class TuiDropdownContextDirective extends TuiDriver implements TuiRectAccessor {\n private readonly stream$ = new Subject<boolean>();\n\n private currentRect = EMPTY_CLIENT_RECT;\n\n constructor(\n @Inject(TuiActiveZoneDirective)\n readonly activeZone: TuiActiveZoneDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n @HostListener('contextmenu.prevent.stop', ['$event.clientX', '$event.clientY'])\n onContextMenu(x: number, y: number): void {\n this.currentRect = tuiPointToClientRect(x, y);\n this.stream$.next(true);\n }\n\n @shouldCall(activeZoneFilter)\n @HostListener('document:click.silent', ['$event.target'])\n @HostListener('document:contextmenu.capture.silent', ['$event.target'])\n @HostListener('document:keydown.esc', ['$event.currentTarget'])\n closeDropdown(): void {\n this.stream$.next(false);\n }\n\n getClientRect(): ClientRect {\n return this.currentRect;\n }\n}\n","import {Directive} from '@angular/core';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {AbstractTuiDriverDirective} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiDropdown]',\n providers: [TuiDestroyService],\n})\nexport class TuiDropdownDriverDirective extends AbstractTuiDriverDirective {}\n","import {Directive, Input} from '@angular/core';\nimport {EMPTY_CLIENT_RECT} from '@taiga-ui/cdk';\nimport {tuiAsRectAccessor, TuiRectAccessor} from '@taiga-ui/core/abstract';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownHost]',\n providers: [tuiAsRectAccessor(TuiDropdownHostDirective)],\n})\nexport class TuiDropdownHostDirective extends TuiRectAccessor {\n @Input()\n tuiDropdownHost?: HTMLElement;\n\n getClientRect(): ClientRect {\n return this.tuiDropdownHost?.getBoundingClientRect() || EMPTY_CLIENT_RECT;\n }\n}\n","import {Directive, Input, OnChanges} from '@angular/core';\nimport {tuiAsDriver, TuiDriver} from '@taiga-ui/core/abstract';\nimport {Subject} from 'rxjs';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownManual]',\n providers: [tuiAsDriver(TuiDropdownManualDirective)],\n})\nexport class TuiDropdownManualDirective extends TuiDriver implements OnChanges {\n private readonly stream$ = new Subject<boolean>();\n\n @Input()\n tuiDropdownManual = false;\n\n constructor() {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n ngOnChanges(): void {\n this.stream$.next(this.tuiDropdownManual);\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TuiPoint, TuiVerticalDirection} from '@taiga-ui/core/types';\n\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\n\n@Directive({\n selector: '[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])',\n providers: [tuiAsPositionAccessor(TuiDropdownPositionDirective)],\n})\nexport class TuiDropdownPositionDirective implements TuiPositionAccessor {\n private previous?: TuiVerticalDirection;\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n ) {}\n\n getPosition({width, height}: ClientRect): TuiPoint {\n const hostRect = this.accessor.getClientRect();\n const {innerHeight, innerWidth} = this.windowRef;\n const {minHeight, align, direction, offset} = this.options;\n const previous = this.previous || direction || 'bottom';\n const right = Math.max(hostRect.right - width, offset);\n const available = {\n top: hostRect.top - 2 * offset,\n bottom: innerHeight - hostRect.bottom - 2 * offset,\n } as const;\n const position = {\n top: hostRect.top - offset - height,\n bottom: hostRect.bottom + offset,\n right,\n left: hostRect.left + width < innerWidth - offset ? hostRect.left : right,\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n\n if (\n (available[previous] > minHeight && direction) ||\n available[previous] > height\n ) {\n return [position[previous], position[align]];\n }\n\n this.previous = better;\n\n return [position[better], position[align]];\n }\n}\n","import {Directive, Inject, Input} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TuiPoint} from '@taiga-ui/core/types';\n\nimport {TUI_DROPDOWN_OPTIONS, TuiDropdownOptions} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\n\n@Directive({\n selector: '[tuiDropdownSided]',\n providers: [\n TuiDropdownPositionDirective,\n tuiAsPositionAccessor(TuiDropdownPositionSidedDirective),\n ],\n})\nexport class TuiDropdownPositionSidedDirective implements TuiPositionAccessor {\n private previous = this.options.direction || 'bottom';\n\n @Input()\n tuiDropdownSided: boolean | string = '';\n\n @Input()\n tuiDropdownSidedOffset = 4;\n\n constructor(\n @Inject(TUI_DROPDOWN_OPTIONS) private readonly options: TuiDropdownOptions,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(TuiRectAccessor) private readonly accessor: TuiRectAccessor,\n @Inject(TuiDropdownPositionDirective)\n private readonly vertical: TuiPositionAccessor,\n ) {}\n\n getPosition(rect: ClientRect): TuiPoint {\n if (this.tuiDropdownSided === false) {\n return this.vertical.getPosition(rect);\n }\n\n const {height, width} = rect;\n const hostRect = this.accessor.getClientRect();\n const {innerHeight, innerWidth} = this.windowRef;\n const {align, direction, minHeight, offset} = this.options;\n const available = {\n top: hostRect.bottom,\n left: hostRect.left - offset,\n right: innerWidth - hostRect.right - offset,\n bottom: innerHeight - hostRect.top,\n } as const;\n const position = {\n top: hostRect.bottom - height + this.tuiDropdownSidedOffset + 1, // 1 for border\n left: hostRect.left - width - offset,\n right: hostRect.right + offset,\n bottom: hostRect.top - this.tuiDropdownSidedOffset - 1, // 1 for border\n } as const;\n const better = available.top > available.bottom ? 'top' : 'bottom';\n const maxLeft = available.left > available.right ? position.left : position.right;\n const left = available[align] > width ? position[align] : maxLeft;\n\n if (\n (available[this.previous] > minHeight && direction) ||\n this.previous === better\n ) {\n return [position[this.previous], left];\n }\n\n this.previous = better;\n\n return [position[better], left];\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Inject,\n Input,\n OnDestroy,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_SPACE,\n EMPTY_CLIENT_RECT,\n TUI_RANGE,\n TuiBooleanHandler,\n tuiDefaultProp,\n tuiGetNativeFocused,\n tuiIsElement,\n tuiIsString,\n tuiIsTextfield,\n tuiIsTextNode,\n tuiPx,\n} from '@taiga-ui/cdk';\nimport {\n tuiAsDriver,\n tuiAsRectAccessor,\n TuiDriver,\n TuiRectAccessor,\n} from '@taiga-ui/core/abstract';\nimport {TUI_SELECTION_STREAM} from '@taiga-ui/core/tokens';\nimport {tuiGetWordRange} from '@taiga-ui/core/utils';\nimport {BehaviorSubject, combineLatest, Observable} from 'rxjs';\nimport {distinctUntilChanged, map} from 'rxjs/operators';\n\nimport {TuiDropdownDirective} from './dropdown.directive';\n\n@Directive({\n selector: '[tuiDropdown][tuiDropdownSelection]',\n providers: [\n tuiAsDriver(TuiDropdownSelectionDirective),\n tuiAsRectAccessor(TuiDropdownSelectionDirective),\n ],\n})\nexport class TuiDropdownSelectionDirective\n extends TuiDriver\n implements TuiRectAccessor, OnDestroy\n{\n private readonly handler$ = new BehaviorSubject<TuiBooleanHandler<Range>>(\n ALWAYS_TRUE_HANDLER,\n );\n\n private readonly stream$ = combineLatest([\n this.handler$,\n this.selection$.pipe(\n map(() => this.getRange()),\n distinctUntilChanged(),\n ),\n ]).pipe(\n map(([handler, range]) => {\n const contained = this.elementRef.nativeElement.contains(\n range.commonAncestorContainer,\n );\n\n this.range =\n contained && tuiIsTextNode(range.commonAncestorContainer)\n ? range\n : this.range;\n\n return (contained && handler(this.range)) || this.inDropdown(range);\n }),\n );\n\n private ghost?: HTMLElement;\n\n @Input('tuiDropdownSelectionPosition')\n @tuiDefaultProp()\n position: 'selection' | 'tag' | 'word' = 'selection';\n\n @Input()\n set tuiDropdownSelection(visible: TuiBooleanHandler<Range> | string) {\n if (!tuiIsString(visible)) {\n this.handler$.next(visible);\n }\n }\n\n constructor(\n @Inject(TUI_RANGE) private range: Range,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TUI_SELECTION_STREAM) private readonly selection$: Observable<unknown>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(ViewContainerRef) private readonly viewContainerRef: ViewContainerRef,\n @Inject(TuiDropdownDirective) private readonly dropdown: TuiDropdownDirective,\n ) {\n super(subscriber => this.stream$.subscribe(subscriber));\n }\n\n getClientRect(): ClientRect {\n switch (this.position) {\n case 'tag': {\n const {commonAncestorContainer} = this.range;\n const element = tuiIsElement(commonAncestorContainer)\n ? commonAncestorContainer\n : commonAncestorContainer.parentNode;\n\n return element && tuiIsElement(element)\n ? element.getBoundingClientRect()\n : EMPTY_CLIENT_RECT;\n }\n case 'word':\n return tuiGetWordRange(this.range).getBoundingClientRect();\n default:\n return this.range.getBoundingClientRect();\n }\n }\n\n ngOnDestroy(): void {\n if (this.ghost) {\n this.viewContainerRef.element.nativeElement.removeChild(this.ghost);\n }\n }\n\n private getRange(): Range {\n const {nativeElement} = this.elementRef;\n const active = tuiGetNativeFocused(this.documentRef);\n const selection = this.documentRef.getSelection();\n\n if (active && tuiIsTextfield(active) && nativeElement.contains(active)) {\n return this.veryVerySadInputFix(active);\n }\n\n return selection?.rangeCount ? selection.getRangeAt(0) : this.range;\n }\n\n /**\n * Check if Node is inside dropdown\n */\n private boxContains(node: Node): boolean {\n return !!this.dropdown.dropdownBoxRef?.location.nativeElement.contains(node);\n }\n\n /**\n * Check if given range is at least partially inside dropdown\n */\n private inDropdown(range: Range): boolean {\n const {startContainer, endContainer} = range;\n const {nativeElement} = this.elementRef;\n const inDropdown = this.boxContains(range.commonAncestorContainer);\n const hostToDropdown =\n this.boxContains(endContainer) && nativeElement.contains(startContainer);\n const dropdownToHost =\n this.boxContains(startContainer) && nativeElement.contains(endContainer);\n\n return inDropdown || hostToDropdown || dropdownToHost;\n }\n\n private veryVerySadInputFix(element: HTMLInputElement | HTMLTextAreaElement): Range {\n const {ghost = this.initGhost(element)} = this;\n const {top, left, width, height} = element.getBoundingClientRect();\n const {selectionStart, selectionEnd, value} = element;\n const range = this.documentRef.createRange();\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n ghost.style.top = tuiPx(top - hostRect.top);\n ghost.style.left = tuiPx(left - hostRect.left);\n ghost.style.width = tuiPx(width);\n ghost.style.height = tuiPx(height);\n ghost.textContent = CHAR_ZERO_WIDTH_SPACE + value + CHAR_NO_BREAK_SPACE;\n\n range.setStart(ghost.firstChild as Node, selectionStart || 0);\n range.setEnd(ghost.firstChild as Node, selectionEnd || 0);\n\n return range;\n }\n\n /**\n * Create an invisible DIV styled exactly like input/textarea element inside directive\n */\n private initGhost(element: HTMLInputElement | HTMLTextAreaElement): HTMLElement {\n const ghost = this.documentRef.createElement('div');\n const {nativeElement} = this.viewContainerRef.element;\n const {font, letterSpacing, textTransform, padding} = getComputedStyle(element);\n\n ghost.style.position = 'absolute';\n ghost.style.pointerEvents = 'none';\n ghost.style.opacity = '0';\n ghost.style.whiteSpace = 'pre-wrap';\n ghost.style.font = font;\n ghost.style.letterSpacing = letterSpacing;\n ghost.style.textTransform = textTransform;\n ghost.style.padding = padding;\n\n nativeElement.appendChild(ghost);\n this.ghost = ghost;\n\n return ghost;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule, TuiHoveredModule, TuiOverscrollModule} from '@taiga-ui/cdk';\nimport {TuiScrollbarModule} from '@taiga-ui/core/components/scrollbar';\nimport {TuiModeModule} from '@taiga-ui/core/directives/mode';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDropdownComponent} from './dropdown.component';\nimport {TuiDropdownDirective} from './dropdown.directive';\nimport {TuiDropdownContextDirective} from './dropdown-context.directive';\nimport {TuiDropdownDriverDirective} from './dropdown-driver.directive';\nimport {TuiDropdownHostDirective} from './dropdown-host.directive';\nimport {TuiDropdownHoverDirective} from './dropdown-hover.directive';\nimport {TuiDropdownManualDirective} from './dropdown-manual.directive';\nimport {TuiDropdownOptionsDirective} from './dropdown-options.directive';\nimport {TuiDropdownPositionDirective} from './dropdown-position.directive';\nimport {TuiDropdownPositionSidedDirective} from './dropdown-position-sided.directive';\nimport {TuiDropdownSelectionDirective} from './dropdown-selection.directive';\n\n@NgModule({\n imports: [\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiOverscrollModule,\n TuiScrollbarModule,\n TuiModeModule,\n TuiHoveredModule,\n ],\n declarations: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n exports: [\n TuiDropdownDirective,\n TuiDropdownComponent,\n TuiDropdownOptionsDirective,\n TuiDropdownHostDirective,\n TuiDropdownDriverDirective,\n TuiDropdownManualDirective,\n TuiDropdownHoverDirective,\n TuiDropdownContextDirective,\n TuiDropdownPositionDirective,\n TuiDropdownPositionSidedDirective,\n TuiDropdownSelectionDirective,\n ],\n})\nexport class TuiDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i4"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/core",
3
- "version": "3.16.0-dev.main-19ebb76",
3
+ "version": "3.16.0-dev.main-c0b4e86",
4
4
  "description": "Core library for creating Angular components and applications using Taiga UI",
5
5
  "keywords": [
6
6
  "angular",
@@ -15,8 +15,11 @@
15
15
  --tui-font-text: var(--tui-text-font);
16
16
  --tui-font-text-xl: normal 1.1875rem/1.75rem var(--tui-font-text);
17
17
  --tui-font-text-l: normal 1.0625rem/1.5rem var(--tui-font-text);
18
+ --tui-font-text-l-2: normal 1.0625rem/1.25rem var(--tui-font-text);
18
19
  --tui-font-text-m: normal 0.9375rem/1.5rem var(--tui-font-text);
20
+ --tui-font-text-m-2: normal 0.9375rem/1.25rem var(--tui-font-text);
19
21
  --tui-font-text-s: normal 0.8125rem/1.25rem var(--tui-font-text);
22
+ --tui-font-text-s-2: normal 0.8125rem/1rem var(--tui-font-text);
20
23
  --tui-font-text-xs: normal 0.6875rem/1rem var(--tui-font-text);
21
24
  // Sizes
22
25
  --tui-radius-xs: 0.25rem;