@taiga-ui/cdk 3.26.0-dev.main-eca1ec4 → 3.26.0-dev.main-b9c3cb0

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.
@@ -12,6 +12,7 @@ export declare abstract class AbstractTuiControl<T> extends AbstractTuiInteracti
12
12
  protected readonly cdr: ChangeDetectorRef;
13
13
  protected readonly valueTransformer?: TuiControlValueTransformer<T, unknown> | null | undefined;
14
14
  private previousInternalValue?;
15
+ private readonly refresh$;
15
16
  private onTouched;
16
17
  private onChange;
17
18
  protected readonly fallbackValue: T;
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms'), require('@taiga-ui/cdk/classes'), require('@taiga-ui/cdk/constants'), require('@taiga-ui/cdk/decorators'), require('rxjs'), require('rxjs/operators'), require('@taiga-ui/cdk/observables'), require('@tinkoff/ng-polymorpheus'), require('@taiga-ui/cdk/services'), require('@taiga-ui/cdk/exceptions'), require('@angular/common')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/cdk/abstract', ['exports', '@angular/core', '@angular/forms', '@taiga-ui/cdk/classes', '@taiga-ui/cdk/constants', '@taiga-ui/cdk/decorators', 'rxjs', 'rxjs/operators', '@taiga-ui/cdk/observables', '@tinkoff/ng-polymorpheus', '@taiga-ui/cdk/services', '@taiga-ui/cdk/exceptions', '@angular/common'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].cdk = global["taiga-ui"].cdk || {}, global["taiga-ui"].cdk.abstract = {}), global.ng.core, global.ng.forms, global["taiga-ui"].cdk.classes, global["taiga-ui"].cdk.constants, global["taiga-ui"].cdk.decorators, global.rxjs, global.rxjs.operators, global["taiga-ui"].cdk.observables, global.ngPolymorpheus, global["taiga-ui"].cdk.services, global["taiga-ui"].cdk.exceptions, global.ng.common));
5
- })(this, (function (exports, i0, i1, classes, constants, decorators, rxjs, operators, observables, ngPolymorpheus, i1$1, exceptions, common) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms'), require('@taiga-ui/cdk/classes'), require('@taiga-ui/cdk/constants'), require('@taiga-ui/cdk/decorators'), require('@taiga-ui/cdk/utils'), require('rxjs'), require('rxjs/operators'), require('@taiga-ui/cdk/observables'), require('@tinkoff/ng-polymorpheus'), require('@taiga-ui/cdk/services'), require('@taiga-ui/cdk/exceptions'), require('@angular/common')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/cdk/abstract', ['exports', '@angular/core', '@angular/forms', '@taiga-ui/cdk/classes', '@taiga-ui/cdk/constants', '@taiga-ui/cdk/decorators', '@taiga-ui/cdk/utils', 'rxjs', 'rxjs/operators', '@taiga-ui/cdk/observables', '@tinkoff/ng-polymorpheus', '@taiga-ui/cdk/services', '@taiga-ui/cdk/exceptions', '@angular/common'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].cdk = global["taiga-ui"].cdk || {}, global["taiga-ui"].cdk.abstract = {}), global.ng.core, global.ng.forms, global["taiga-ui"].cdk.classes, global["taiga-ui"].cdk.constants, global["taiga-ui"].cdk.decorators, global["taiga-ui"].cdk.utils, global.rxjs, global.rxjs.operators, global["taiga-ui"].cdk.observables, global.ngPolymorpheus, global["taiga-ui"].cdk.services, global["taiga-ui"].cdk.exceptions, global.ng.common));
5
+ })(this, (function (exports, i0, i1, classes, constants, decorators, utils, rxjs, operators, observables, ngPolymorpheus, i1$1, exceptions, common) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -477,6 +477,7 @@
477
477
  _this.ngControl = ngControl;
478
478
  _this.cdr = cdr;
479
479
  _this.valueTransformer = valueTransformer;
480
+ _this.refresh$ = new rxjs.Subject();
480
481
  _this.onTouched = constants.EMPTY_FUNCTION;
481
482
  _this.onChange = constants.EMPTY_FUNCTION;
482
483
  _this.fallbackValue = _this.getFallbackValue();
@@ -609,13 +610,11 @@
609
610
  });
610
611
  AbstractTuiControl.prototype.ngOnInit = function () {
611
612
  var _this = this;
612
- var _a, _b;
613
- if (!((_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.valueChanges) || !((_b = this.ngControl) === null || _b === void 0 ? void 0 : _b.statusChanges)) {
614
- return;
615
- }
616
- rxjs.merge(this.ngControl.valueChanges, this.ngControl.statusChanges)
617
- .pipe(operators.takeUntil(this.destroy$))
618
- .subscribe(function () { return _this.refreshLocalValue(_this.safeCurrentValue); });
613
+ this.refresh$
614
+ .pipe(operators.delay(0), operators.startWith(null), operators.map(function () { var _a; return (_a = _this.ngControl) === null || _a === void 0 ? void 0 : _a.control; }), operators.filter(utils.tuiIsPresent), operators.distinctUntilChanged(), operators.switchMap(function (control) { return rxjs.merge(control.valueChanges, control.statusChanges); }), operators.takeUntil(this.destroy$))
615
+ .subscribe(function () {
616
+ _this.refreshLocalValue(_this.safeCurrentValue);
617
+ });
619
618
  };
620
619
  AbstractTuiControl.prototype.ngOnDestroy = function () {
621
620
  this.destroy$.next();
@@ -629,6 +628,7 @@
629
628
  this.onChange = function (componentValue) {
630
629
  onChange(_this.toControlValue(componentValue));
631
630
  };
631
+ this.refresh$.next();
632
632
  };
633
633
  AbstractTuiControl.prototype.registerOnTouched = function (onTouched) {
634
634
  this.onTouched = onTouched;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-abstract.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/cdk/abstract/interactive.ts","../../../projects/cdk/abstract/value-transformer.ts","../../../projects/cdk/abstract/control.ts","../../../projects/cdk/abstract/controller.ts","../../../projects/cdk/abstract/dialog.service.ts","../../../projects/cdk/abstract/dialog.directive.ts","../../../projects/cdk/abstract/multiple-control.ts","../../../projects/cdk/abstract/nullable-control.ts","../../../projects/cdk/abstract/portal-service.ts","../../../projects/cdk/abstract/portal-host.ts","../../../projects/cdk/abstract/theme-switcher.ts","../../../projects/cdk/abstract/taiga-ui-cdk-abstract.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {Directive, EventEmitter, HostBinding, Input, Output} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\n\nconst TUI = `tui_interactive_`;\n\n/**\n * The most basic class for interactive components\n */\n@Directive()\nexport abstract class AbstractTuiInteractive {\n private static autoId = 0;\n\n abstract disabled: boolean;\n\n abstract focused: boolean;\n\n private readonly autoIdString: string;\n\n @Input()\n @tuiDefaultProp()\n pseudoHover: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoActive: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoFocus: boolean | null = null;\n\n /**\n * Determines if component is focusable with keyboard.\n */\n @Input()\n @tuiDefaultProp()\n focusable = true;\n\n @Input()\n @tuiDefaultProp()\n nativeId = ``;\n\n /**\n * Emits 'true' on focus and 'false' on blur.\n */\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusVisibleChange = new EventEmitter<boolean>();\n\n focusVisible = false;\n\n constructor() {\n this.autoIdString = `${TUI}${AbstractTuiInteractive.autoId++}${Date.now()}`;\n }\n\n @HostBinding(`class._disabled`)\n get computedDisabled(): boolean {\n return this.disabled;\n }\n\n get computedFocusable(): boolean {\n return !this.computedDisabled && (this.focusable || this.focused);\n }\n\n @HostBinding(`class._focused`)\n get computedFocused(): boolean {\n return !this.computedDisabled && (this.pseudoFocus ?? this.focused);\n }\n\n @HostBinding(`class._focus-visible`)\n get computedFocusVisible(): boolean {\n return !this.computedDisabled && (this.pseudoFocus ?? this.focusVisible);\n }\n\n // TODO: 3.0 Consider removing since native input is exposed\n get id(): string {\n return this.nativeId || this.autoIdString;\n }\n\n protected updateFocused(focused: boolean): void {\n this.focusedChange.emit(focused);\n }\n\n protected updateFocusVisible(focusVisible: boolean): void {\n if (this.focusVisible === focusVisible) {\n return;\n }\n\n this.focusVisible = focusVisible;\n this.focusVisibleChange.emit(focusVisible);\n }\n}\n","export abstract class AbstractTuiValueTransformer<From, To = unknown> {\n abstract toControlValue(componentValue: From): To;\n abstract fromControlValue(controlValue: To): From;\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Provider,\n Type,\n} from '@angular/core';\nimport {AbstractControl, ControlValueAccessor, NgControl, NgModel} from '@angular/forms';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {TuiControlValueTransformer} from '@taiga-ui/cdk/interfaces';\nimport {merge, Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {AbstractTuiInteractive} from './interactive';\nimport {AbstractTuiValueTransformer} from './value-transformer';\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class AbstractTuiControl<T>\n extends AbstractTuiInteractive\n implements OnDestroy, OnInit, ControlValueAccessor\n{\n private previousInternalValue?: T | null;\n\n private onTouched = EMPTY_FUNCTION;\n\n private onChange = EMPTY_FUNCTION;\n\n protected readonly fallbackValue = this.getFallbackValue();\n\n protected readonly destroy$ = new Subject<void>();\n\n @Input()\n @HostBinding(`class._readonly`)\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n pseudoInvalid: boolean | null = null;\n\n constructor(\n @Optional()\n private readonly ngControl: NgControl | null,\n protected readonly cdr: ChangeDetectorRef,\n @Optional()\n @Inject(AbstractTuiValueTransformer)\n protected readonly valueTransformer?: TuiControlValueTransformer<T> | null,\n ) {\n super();\n\n if (ngDevMode && this.ngControl === null) {\n tuiAssert.assert(\n false,\n `NgControl not injected in ${this.constructor.name}!\\n`,\n `Use [(ngModel)] or [formControl] or formControlName for correct work.`,\n );\n }\n\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n protected abstract getFallbackValue(): T;\n\n @HostBinding(`class._invalid`)\n get computedInvalid(): boolean {\n return (\n this.interactive &&\n (this.pseudoInvalid !== null\n ? this.pseudoInvalid\n : this.touched && this.invalid)\n );\n }\n\n get value(): T {\n return this.previousInternalValue ?? this.fallbackValue;\n }\n\n set value(value: T) {\n this.updateValue(value);\n }\n\n get safeCurrentValue(): T {\n return this.rawValue ?? this.fallbackValue;\n }\n\n get invalid(): boolean {\n return this.safeNgControlData<boolean>(({invalid}) => invalid, false);\n }\n\n get valid(): boolean {\n return this.safeNgControlData<boolean>(({valid}) => valid, false);\n }\n\n get touched(): boolean {\n return this.safeNgControlData<boolean>(({touched}) => touched, false);\n }\n\n get disabled(): boolean {\n return this.safeNgControlData<boolean>(({disabled}) => disabled, false);\n }\n\n get interactive(): boolean {\n return !this.readOnly && !this.computedDisabled;\n }\n\n get control(): AbstractControl | null {\n return this.safeNgControlData<AbstractControl | null>(\n ({control}) => control,\n null,\n );\n }\n\n get computedName(): string | null {\n return this.controlName?.toString() ?? null;\n }\n\n protected get controlName(): string | null {\n return this.ngControl?.name?.toString() ?? null;\n }\n\n private get rawValue(): T | undefined {\n const {ngControl} = this;\n\n if (ngControl === null) {\n return undefined;\n }\n\n const controlValue =\n ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? ngControl.viewModel\n : ngControl.value;\n\n return this.fromControlValue(controlValue);\n }\n\n ngOnInit(): void {\n if (!this.ngControl?.valueChanges || !this.ngControl?.statusChanges) {\n return;\n }\n\n merge(this.ngControl.valueChanges, this.ngControl.statusChanges)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => this.refreshLocalValue(this.safeCurrentValue));\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n checkControlUpdate(): void {\n this.cdr.markForCheck();\n }\n\n registerOnChange(onChange: (value: T | unknown) => void): void {\n this.onChange = (componentValue: T) => {\n onChange(this.toControlValue(componentValue));\n };\n }\n\n registerOnTouched(onTouched: () => void): void {\n this.onTouched = onTouched;\n }\n\n setDisabledState(): void {\n this.checkControlUpdate();\n }\n\n writeValue(value: T | null): void {\n const controlValue =\n this.ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? this.ngControl.model\n : value;\n\n this.refreshLocalValue(this.fromControlValue(controlValue));\n }\n\n protected override updateFocused(focused: boolean): void {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\n\n /**\n * @deprecated use `value` setter\n */\n protected updateValue(value: T): void {\n if (this.disabled || this.valueIdenticalComparator(this.value, value)) {\n return;\n }\n\n this.previousInternalValue = value;\n this.controlSetValue(value);\n }\n\n protected valueIdenticalComparator(oldValue: T, newValue: T): boolean {\n return oldValue === newValue;\n }\n\n private safeNgControlData<T>(\n extractor: (ngControl: NgControl) => T | null | undefined,\n defaultFieldValue: T,\n ): T {\n return (this.ngControl && extractor(this.ngControl)) ?? defaultFieldValue;\n }\n\n private controlMarkAsTouched(): void {\n this.onTouched();\n this.checkControlUpdate();\n }\n\n private controlSetValue(value: T): void {\n this.onChange(value);\n this.checkControlUpdate();\n }\n\n private refreshLocalValue(value: T | null): void {\n this.previousInternalValue = value;\n this.checkControlUpdate();\n }\n\n private fromControlValue(controlValue: unknown): T {\n return this.valueTransformer\n ? this.valueTransformer.fromControlValue(controlValue)\n : (controlValue as T);\n }\n\n private toControlValue(componentValue: T): unknown {\n return this.valueTransformer\n ? this.valueTransformer.toControlValue(componentValue)\n : componentValue;\n }\n}\n\nexport function tuiAsControl<T>(useExisting: Type<AbstractTuiControl<T>>): Provider {\n return {\n provide: AbstractTuiControl,\n useExisting,\n };\n}\n","import {Directive, OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n@Directive()\nexport abstract class AbstractTuiController implements OnChanges {\n readonly change$ = new Subject<void>();\n\n ngOnChanges(): void {\n this.change$.next();\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {TuiBaseDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\n@Injectable()\nexport abstract class AbstractTuiDialogService<T, K = void> extends Observable<\n ReadonlyArray<TuiDialog<T, any>>\n> {\n protected abstract readonly component: PolymorpheusComponent<any, TuiDialog<T, any>>;\n\n protected abstract readonly defaultOptions: T;\n\n protected readonly dialogs$ = new BehaviorSubject<ReadonlyArray<TuiDialog<T, any>>>(\n [],\n );\n\n constructor(@Inject(TuiIdService) private readonly idService: TuiIdService) {\n super(observer => this.dialogs$.subscribe(observer));\n }\n\n open<G = void>(\n content: PolymorpheusContent<T & TuiBaseDialogContext<K extends void ? G : K>>,\n options: Partial<T> = {},\n ): Observable<K extends void ? G : K> {\n return new Observable(observer => {\n const completeWith = (result: K extends void ? G : K): void => {\n observer.next(result);\n observer.complete();\n };\n const dialog = {\n ...this.defaultOptions,\n ...options,\n content,\n completeWith,\n $implicit: observer,\n component: this.component,\n createdAt: Date.now(),\n id: this.idService.generate(),\n };\n\n this.dialogs$.next([...this.dialogs$.value, dialog]);\n\n return () => {\n this.dialogs$.next(this.dialogs$.value.filter(item => item !== dialog));\n };\n });\n }\n}\n","import {ChangeDetectorRef, Directive, Inject, TemplateRef} from '@angular/core';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {endWith, ignoreElements, share} from 'rxjs/operators';\n\nimport {AbstractTuiDialogService} from './dialog.service';\n\n@Directive()\nexport abstract class AbstractTuiDialogDirective<T> extends PolymorpheusTemplate<\n TuiDialog<T, void>\n> {\n private readonly open$ = new Subject<boolean>();\n\n options: Partial<T> = {};\n\n set open(open: boolean) {\n this.open$.next(open);\n }\n\n openChange = this.open$.pipe(\n tuiIfMap(() =>\n this.service.open(this, this.options).pipe(ignoreElements(), endWith(false)),\n ),\n share(),\n );\n\n constructor(\n @Inject(TemplateRef)\n templateRef: TemplateRef<TuiDialog<T, void>>,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(AbstractTuiDialogService)\n private readonly service: AbstractTuiDialogService<T>,\n ) {\n super(templateRef, cdr);\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiMultipleControl<T> extends AbstractTuiControl<\n readonly T[]\n> {\n clear(): void {\n this.value = [];\n }\n\n protected getFallbackValue(): readonly T[] {\n return [];\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiNullableControl<T> extends AbstractTuiControl<T | null> {\n protected getFallbackValue(): T | null {\n return null;\n }\n}\n","import {ComponentRef, EmbeddedViewRef, Injectable, TemplateRef} from '@angular/core';\nimport {TuiNoHostException} from '@taiga-ui/cdk/exceptions';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {AbstractTuiPortalHostComponent} from './portal-host';\n\n/**\n * Abstract service for displaying portals\n */\n@Injectable()\nexport abstract class AbstractTuiPortalService {\n protected host?: AbstractTuiPortalHostComponent;\n\n protected get safeHost(): AbstractTuiPortalHostComponent {\n if (!this.host) {\n throw new TuiNoHostException();\n }\n\n return this.host;\n }\n\n attach(host: AbstractTuiPortalHostComponent): void {\n this.host = host;\n }\n\n add<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n return this.safeHost.addComponentChild(component);\n }\n\n remove<C>({hostView}: ComponentRef<C>): void {\n hostView.destroy();\n }\n\n addTemplate<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.safeHost.addTemplateChild(templateRef, context);\n }\n\n removeTemplate<C>(viewRef: EmbeddedViewRef<C>): void {\n viewRef.destroy();\n }\n}\n","import {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n Inject,\n INJECTOR,\n Injector,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {AbstractTuiPortalService} from './portal-service';\n\n/**\n * Abstract class for host element for dynamically created portals.\n */\n@Directive()\nexport abstract class AbstractTuiPortalHostComponent {\n @ViewChild(`viewContainer`, {read: ViewContainerRef})\n private readonly vcr!: ViewContainerRef;\n\n constructor(\n @Inject(INJECTOR) private readonly injector: Injector,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalService) portalService: AbstractTuiPortalService,\n ) {\n portalService.attach(this);\n }\n\n get clientRect(): ClientRect {\n return this.el.nativeElement.getBoundingClientRect();\n }\n\n addComponentChild<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n const parent = component.createInjector(this.injector);\n const resolver = parent.get(ComponentFactoryResolver);\n const factory = resolver.resolveComponentFactory(component.component);\n const providers = [{provide: AbstractTuiPortalHostComponent, useValue: this}];\n const injector = Injector.create({parent, providers});\n const ref = this.vcr.createComponent(factory, undefined, injector);\n\n ref.changeDetectorRef.detectChanges();\n\n return ref;\n }\n\n addTemplateChild<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.vcr.createEmbeddedView(templateRef, context);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, Inject, OnDestroy} from '@angular/core';\n\n/**\n * Use this abstract class to create your own toggleable themes.\n * A component extending this class must have CSS variables definitions\n * and have ViewEncapsulation set to NONE. A boolean input allows to\n * switch theme on or off.\n */\n@Directive()\nexport abstract class AbstractTuiThemeSwitcher implements OnDestroy {\n static style: HTMLStyleElement | null = null;\n\n constructor(@Inject(DOCUMENT) private readonly doc: Document) {\n if (this.style !== null) {\n this.addTheme();\n\n return;\n }\n\n const styles = this.doc.head.querySelectorAll(`style`);\n\n (this.constructor as typeof AbstractTuiThemeSwitcher).style =\n styles[styles.length - 1];\n }\n\n get style(): HTMLStyleElement | null {\n return (this.constructor as typeof AbstractTuiThemeSwitcher).style;\n }\n\n ngOnDestroy(): void {\n this.removeTheme();\n }\n\n private addTheme(): void {\n if (this.style) {\n this.doc.head.appendChild(this.style);\n }\n }\n\n private removeTheme(): void {\n if (this.style && this.doc.head.contains(this.style)) {\n this.doc.head.removeChild(this.style);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["EventEmitter","i0","tuiDefaultProp","Directive","Input","Output","HostBinding","EMPTY_FUNCTION","Subject","tuiAssert","NgModel","merge","takeUntil","Optional","Inject","BehaviorSubject","Observable","TuiIdService","Injectable","tuiIfMap","ignoreElements","endWith","share","PolymorpheusTemplate","TemplateRef","ChangeDetectorRef","TuiNoHostException","ComponentFactoryResolver","Injector","INJECTOR","ElementRef","ViewContainerRef","ViewChild","DOCUMENT"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-abstract.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/cdk/abstract/interactive.ts","../../../projects/cdk/abstract/value-transformer.ts","../../../projects/cdk/abstract/control.ts","../../../projects/cdk/abstract/controller.ts","../../../projects/cdk/abstract/dialog.service.ts","../../../projects/cdk/abstract/dialog.directive.ts","../../../projects/cdk/abstract/multiple-control.ts","../../../projects/cdk/abstract/nullable-control.ts","../../../projects/cdk/abstract/portal-service.ts","../../../projects/cdk/abstract/portal-host.ts","../../../projects/cdk/abstract/theme-switcher.ts","../../../projects/cdk/abstract/taiga-ui-cdk-abstract.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {Directive, EventEmitter, HostBinding, Input, Output} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\n\nconst TUI = `tui_interactive_`;\n\n/**\n * The most basic class for interactive components\n */\n@Directive()\nexport abstract class AbstractTuiInteractive {\n private static autoId = 0;\n\n abstract disabled: boolean;\n\n abstract focused: boolean;\n\n private readonly autoIdString: string;\n\n @Input()\n @tuiDefaultProp()\n pseudoHover: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoActive: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoFocus: boolean | null = null;\n\n /**\n * Determines if component is focusable with keyboard.\n */\n @Input()\n @tuiDefaultProp()\n focusable = true;\n\n @Input()\n @tuiDefaultProp()\n nativeId = ``;\n\n /**\n * Emits 'true' on focus and 'false' on blur.\n */\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusVisibleChange = new EventEmitter<boolean>();\n\n focusVisible = false;\n\n constructor() {\n this.autoIdString = `${TUI}${AbstractTuiInteractive.autoId++}${Date.now()}`;\n }\n\n @HostBinding(`class._disabled`)\n get computedDisabled(): boolean {\n return this.disabled;\n }\n\n get computedFocusable(): boolean {\n return !this.computedDisabled && (this.focusable || this.focused);\n }\n\n @HostBinding(`class._focused`)\n get computedFocused(): boolean {\n return !this.computedDisabled && (this.pseudoFocus ?? this.focused);\n }\n\n @HostBinding(`class._focus-visible`)\n get computedFocusVisible(): boolean {\n return !this.computedDisabled && (this.pseudoFocus ?? this.focusVisible);\n }\n\n // TODO: 3.0 Consider removing since native input is exposed\n get id(): string {\n return this.nativeId || this.autoIdString;\n }\n\n protected updateFocused(focused: boolean): void {\n this.focusedChange.emit(focused);\n }\n\n protected updateFocusVisible(focusVisible: boolean): void {\n if (this.focusVisible === focusVisible) {\n return;\n }\n\n this.focusVisible = focusVisible;\n this.focusVisibleChange.emit(focusVisible);\n }\n}\n","export abstract class AbstractTuiValueTransformer<From, To = unknown> {\n abstract toControlValue(componentValue: From): To;\n abstract fromControlValue(controlValue: To): From;\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Provider,\n Type,\n} from '@angular/core';\nimport {AbstractControl, ControlValueAccessor, NgControl, NgModel} from '@angular/forms';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {TuiControlValueTransformer} from '@taiga-ui/cdk/interfaces';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils';\nimport {merge, Subject} from 'rxjs';\nimport {\n delay,\n distinctUntilChanged,\n filter,\n map,\n startWith,\n switchMap,\n takeUntil,\n} from 'rxjs/operators';\n\nimport {AbstractTuiInteractive} from './interactive';\nimport {AbstractTuiValueTransformer} from './value-transformer';\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class AbstractTuiControl<T>\n extends AbstractTuiInteractive\n implements OnDestroy, OnInit, ControlValueAccessor\n{\n private previousInternalValue?: T | null;\n private readonly refresh$ = new Subject();\n\n private onTouched = EMPTY_FUNCTION;\n\n private onChange = EMPTY_FUNCTION;\n\n protected readonly fallbackValue = this.getFallbackValue();\n\n protected readonly destroy$ = new Subject<void>();\n\n @Input()\n @HostBinding(`class._readonly`)\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n pseudoInvalid: boolean | null = null;\n\n constructor(\n @Optional()\n private readonly ngControl: NgControl | null,\n protected readonly cdr: ChangeDetectorRef,\n @Optional()\n @Inject(AbstractTuiValueTransformer)\n protected readonly valueTransformer?: TuiControlValueTransformer<T> | null,\n ) {\n super();\n\n if (ngDevMode && this.ngControl === null) {\n tuiAssert.assert(\n false,\n `NgControl not injected in ${this.constructor.name}!\\n`,\n `Use [(ngModel)] or [formControl] or formControlName for correct work.`,\n );\n }\n\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n protected abstract getFallbackValue(): T;\n\n @HostBinding(`class._invalid`)\n get computedInvalid(): boolean {\n return (\n this.interactive &&\n (this.pseudoInvalid !== null\n ? this.pseudoInvalid\n : this.touched && this.invalid)\n );\n }\n\n get value(): T {\n return this.previousInternalValue ?? this.fallbackValue;\n }\n\n set value(value: T) {\n this.updateValue(value);\n }\n\n get safeCurrentValue(): T {\n return this.rawValue ?? this.fallbackValue;\n }\n\n get invalid(): boolean {\n return this.safeNgControlData<boolean>(({invalid}) => invalid, false);\n }\n\n get valid(): boolean {\n return this.safeNgControlData<boolean>(({valid}) => valid, false);\n }\n\n get touched(): boolean {\n return this.safeNgControlData<boolean>(({touched}) => touched, false);\n }\n\n get disabled(): boolean {\n return this.safeNgControlData<boolean>(({disabled}) => disabled, false);\n }\n\n get interactive(): boolean {\n return !this.readOnly && !this.computedDisabled;\n }\n\n get control(): AbstractControl | null {\n return this.safeNgControlData<AbstractControl | null>(\n ({control}) => control,\n null,\n );\n }\n\n get computedName(): string | null {\n return this.controlName?.toString() ?? null;\n }\n\n protected get controlName(): string | null {\n return this.ngControl?.name?.toString() ?? null;\n }\n\n private get rawValue(): T | undefined {\n const {ngControl} = this;\n\n if (ngControl === null) {\n return undefined;\n }\n\n const controlValue =\n ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? ngControl.viewModel\n : ngControl.value;\n\n return this.fromControlValue(controlValue);\n }\n\n ngOnInit(): void {\n this.refresh$\n .pipe(\n delay(0),\n startWith(null),\n map(() => this.ngControl?.control),\n filter(tuiIsPresent),\n distinctUntilChanged(),\n switchMap(control => merge(control.valueChanges, control.statusChanges)),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.refreshLocalValue(this.safeCurrentValue);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n checkControlUpdate(): void {\n this.cdr.markForCheck();\n }\n\n registerOnChange(onChange: (value: T | unknown) => void): void {\n this.onChange = (componentValue: T) => {\n onChange(this.toControlValue(componentValue));\n };\n\n this.refresh$.next();\n }\n\n registerOnTouched(onTouched: () => void): void {\n this.onTouched = onTouched;\n }\n\n setDisabledState(): void {\n this.checkControlUpdate();\n }\n\n writeValue(value: T | null): void {\n const controlValue =\n this.ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? this.ngControl.model\n : value;\n\n this.refreshLocalValue(this.fromControlValue(controlValue));\n }\n\n protected override updateFocused(focused: boolean): void {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\n\n /**\n * @deprecated use `value` setter\n */\n protected updateValue(value: T): void {\n if (this.disabled || this.valueIdenticalComparator(this.value, value)) {\n return;\n }\n\n this.previousInternalValue = value;\n this.controlSetValue(value);\n }\n\n protected valueIdenticalComparator(oldValue: T, newValue: T): boolean {\n return oldValue === newValue;\n }\n\n private safeNgControlData<T>(\n extractor: (ngControl: NgControl) => T | null | undefined,\n defaultFieldValue: T,\n ): T {\n return (this.ngControl && extractor(this.ngControl)) ?? defaultFieldValue;\n }\n\n private controlMarkAsTouched(): void {\n this.onTouched();\n this.checkControlUpdate();\n }\n\n private controlSetValue(value: T): void {\n this.onChange(value);\n this.checkControlUpdate();\n }\n\n private refreshLocalValue(value: T | null): void {\n this.previousInternalValue = value;\n this.checkControlUpdate();\n }\n\n private fromControlValue(controlValue: unknown): T {\n return this.valueTransformer\n ? this.valueTransformer.fromControlValue(controlValue)\n : (controlValue as T);\n }\n\n private toControlValue(componentValue: T): unknown {\n return this.valueTransformer\n ? this.valueTransformer.toControlValue(componentValue)\n : componentValue;\n }\n}\n\nexport function tuiAsControl<T>(useExisting: Type<AbstractTuiControl<T>>): Provider {\n return {\n provide: AbstractTuiControl,\n useExisting,\n };\n}\n","import {Directive, OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n@Directive()\nexport abstract class AbstractTuiController implements OnChanges {\n readonly change$ = new Subject<void>();\n\n ngOnChanges(): void {\n this.change$.next();\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {TuiBaseDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\n@Injectable()\nexport abstract class AbstractTuiDialogService<T, K = void> extends Observable<\n ReadonlyArray<TuiDialog<T, any>>\n> {\n protected abstract readonly component: PolymorpheusComponent<any, TuiDialog<T, any>>;\n\n protected abstract readonly defaultOptions: T;\n\n protected readonly dialogs$ = new BehaviorSubject<ReadonlyArray<TuiDialog<T, any>>>(\n [],\n );\n\n constructor(@Inject(TuiIdService) private readonly idService: TuiIdService) {\n super(observer => this.dialogs$.subscribe(observer));\n }\n\n open<G = void>(\n content: PolymorpheusContent<T & TuiBaseDialogContext<K extends void ? G : K>>,\n options: Partial<T> = {},\n ): Observable<K extends void ? G : K> {\n return new Observable(observer => {\n const completeWith = (result: K extends void ? G : K): void => {\n observer.next(result);\n observer.complete();\n };\n const dialog = {\n ...this.defaultOptions,\n ...options,\n content,\n completeWith,\n $implicit: observer,\n component: this.component,\n createdAt: Date.now(),\n id: this.idService.generate(),\n };\n\n this.dialogs$.next([...this.dialogs$.value, dialog]);\n\n return () => {\n this.dialogs$.next(this.dialogs$.value.filter(item => item !== dialog));\n };\n });\n }\n}\n","import {ChangeDetectorRef, Directive, Inject, TemplateRef} from '@angular/core';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {endWith, ignoreElements, share} from 'rxjs/operators';\n\nimport {AbstractTuiDialogService} from './dialog.service';\n\n@Directive()\nexport abstract class AbstractTuiDialogDirective<T> extends PolymorpheusTemplate<\n TuiDialog<T, void>\n> {\n private readonly open$ = new Subject<boolean>();\n\n options: Partial<T> = {};\n\n set open(open: boolean) {\n this.open$.next(open);\n }\n\n openChange = this.open$.pipe(\n tuiIfMap(() =>\n this.service.open(this, this.options).pipe(ignoreElements(), endWith(false)),\n ),\n share(),\n );\n\n constructor(\n @Inject(TemplateRef)\n templateRef: TemplateRef<TuiDialog<T, void>>,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(AbstractTuiDialogService)\n private readonly service: AbstractTuiDialogService<T>,\n ) {\n super(templateRef, cdr);\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiMultipleControl<T> extends AbstractTuiControl<\n readonly T[]\n> {\n clear(): void {\n this.value = [];\n }\n\n protected getFallbackValue(): readonly T[] {\n return [];\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiNullableControl<T> extends AbstractTuiControl<T | null> {\n protected getFallbackValue(): T | null {\n return null;\n }\n}\n","import {ComponentRef, EmbeddedViewRef, Injectable, TemplateRef} from '@angular/core';\nimport {TuiNoHostException} from '@taiga-ui/cdk/exceptions';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {AbstractTuiPortalHostComponent} from './portal-host';\n\n/**\n * Abstract service for displaying portals\n */\n@Injectable()\nexport abstract class AbstractTuiPortalService {\n protected host?: AbstractTuiPortalHostComponent;\n\n protected get safeHost(): AbstractTuiPortalHostComponent {\n if (!this.host) {\n throw new TuiNoHostException();\n }\n\n return this.host;\n }\n\n attach(host: AbstractTuiPortalHostComponent): void {\n this.host = host;\n }\n\n add<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n return this.safeHost.addComponentChild(component);\n }\n\n remove<C>({hostView}: ComponentRef<C>): void {\n hostView.destroy();\n }\n\n addTemplate<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.safeHost.addTemplateChild(templateRef, context);\n }\n\n removeTemplate<C>(viewRef: EmbeddedViewRef<C>): void {\n viewRef.destroy();\n }\n}\n","import {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n Inject,\n INJECTOR,\n Injector,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {AbstractTuiPortalService} from './portal-service';\n\n/**\n * Abstract class for host element for dynamically created portals.\n */\n@Directive()\nexport abstract class AbstractTuiPortalHostComponent {\n @ViewChild(`viewContainer`, {read: ViewContainerRef})\n private readonly vcr!: ViewContainerRef;\n\n constructor(\n @Inject(INJECTOR) private readonly injector: Injector,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalService) portalService: AbstractTuiPortalService,\n ) {\n portalService.attach(this);\n }\n\n get clientRect(): ClientRect {\n return this.el.nativeElement.getBoundingClientRect();\n }\n\n addComponentChild<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n const parent = component.createInjector(this.injector);\n const resolver = parent.get(ComponentFactoryResolver);\n const factory = resolver.resolveComponentFactory(component.component);\n const providers = [{provide: AbstractTuiPortalHostComponent, useValue: this}];\n const injector = Injector.create({parent, providers});\n const ref = this.vcr.createComponent(factory, undefined, injector);\n\n ref.changeDetectorRef.detectChanges();\n\n return ref;\n }\n\n addTemplateChild<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.vcr.createEmbeddedView(templateRef, context);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, Inject, OnDestroy} from '@angular/core';\n\n/**\n * Use this abstract class to create your own toggleable themes.\n * A component extending this class must have CSS variables definitions\n * and have ViewEncapsulation set to NONE. A boolean input allows to\n * switch theme on or off.\n */\n@Directive()\nexport abstract class AbstractTuiThemeSwitcher implements OnDestroy {\n static style: HTMLStyleElement | null = null;\n\n constructor(@Inject(DOCUMENT) private readonly doc: Document) {\n if (this.style !== null) {\n this.addTheme();\n\n return;\n }\n\n const styles = this.doc.head.querySelectorAll(`style`);\n\n (this.constructor as typeof AbstractTuiThemeSwitcher).style =\n styles[styles.length - 1];\n }\n\n get style(): HTMLStyleElement | null {\n return (this.constructor as typeof AbstractTuiThemeSwitcher).style;\n }\n\n ngOnDestroy(): void {\n this.removeTheme();\n }\n\n private addTheme(): void {\n if (this.style) {\n this.doc.head.appendChild(this.style);\n }\n }\n\n private removeTheme(): void {\n if (this.style && this.doc.head.contains(this.style)) {\n this.doc.head.removeChild(this.style);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["EventEmitter","i0","tuiDefaultProp","Directive","Input","Output","HostBinding","Subject","EMPTY_FUNCTION","tuiAssert","NgModel","delay","startWith","map","filter","tuiIsPresent","distinctUntilChanged","switchMap","merge","takeUntil","Optional","Inject","BehaviorSubject","Observable","TuiIdService","Injectable","tuiIfMap","ignoreElements","endWith","share","PolymorpheusTemplate","TemplateRef","ChangeDetectorRef","TuiNoHostException","ComponentFactoryResolver","Injector","INJECTOR","ElementRef","ViewContainerRef","ViewChild","DOCUMENT"],"mappings":"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"}
@@ -4,8 +4,9 @@ import { NgModel } from '@angular/forms';
4
4
  import { tuiAssert } from '@taiga-ui/cdk/classes';
5
5
  import { EMPTY_FUNCTION } from '@taiga-ui/cdk/constants';
6
6
  import { tuiDefaultProp } from '@taiga-ui/cdk/decorators';
7
+ import { tuiIsPresent } from '@taiga-ui/cdk/utils';
7
8
  import { merge, Subject } from 'rxjs';
8
- import { takeUntil } from 'rxjs/operators';
9
+ import { delay, distinctUntilChanged, filter, map, startWith, switchMap, takeUntil, } from 'rxjs/operators';
9
10
  import { AbstractTuiInteractive } from './interactive';
10
11
  import { AbstractTuiValueTransformer } from './value-transformer';
11
12
  import * as i0 from "@angular/core";
@@ -19,6 +20,7 @@ export class AbstractTuiControl extends AbstractTuiInteractive {
19
20
  this.ngControl = ngControl;
20
21
  this.cdr = cdr;
21
22
  this.valueTransformer = valueTransformer;
23
+ this.refresh$ = new Subject();
22
24
  this.onTouched = EMPTY_FUNCTION;
23
25
  this.onChange = EMPTY_FUNCTION;
24
26
  this.fallbackValue = this.getFallbackValue();
@@ -86,13 +88,11 @@ export class AbstractTuiControl extends AbstractTuiInteractive {
86
88
  return this.fromControlValue(controlValue);
87
89
  }
88
90
  ngOnInit() {
89
- var _a, _b;
90
- if (!((_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.valueChanges) || !((_b = this.ngControl) === null || _b === void 0 ? void 0 : _b.statusChanges)) {
91
- return;
92
- }
93
- merge(this.ngControl.valueChanges, this.ngControl.statusChanges)
94
- .pipe(takeUntil(this.destroy$))
95
- .subscribe(() => this.refreshLocalValue(this.safeCurrentValue));
91
+ this.refresh$
92
+ .pipe(delay(0), startWith(null), map(() => { var _a; return (_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.control; }), filter(tuiIsPresent), distinctUntilChanged(), switchMap(control => merge(control.valueChanges, control.statusChanges)), takeUntil(this.destroy$))
93
+ .subscribe(() => {
94
+ this.refreshLocalValue(this.safeCurrentValue);
95
+ });
96
96
  }
97
97
  ngOnDestroy() {
98
98
  this.destroy$.next();
@@ -105,6 +105,7 @@ export class AbstractTuiControl extends AbstractTuiInteractive {
105
105
  this.onChange = (componentValue) => {
106
106
  onChange(this.toControlValue(componentValue));
107
107
  };
108
+ this.refresh$.next();
108
109
  }
109
110
  registerOnTouched(onTouched) {
110
111
  this.onTouched = onTouched;
@@ -198,4 +199,4 @@ export function tuiAsControl(useExisting) {
198
199
  useExisting,
199
200
  };
200
201
  }
201
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9hYnN0cmFjdC9jb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsR0FHWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1ELE9BQU8sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRXhELE9BQU8sRUFBQyxLQUFLLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3BDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0scUJBQXFCLENBQUM7OztBQUVoRTs7R0FFRztBQUVILE1BQU0sT0FBZ0Isa0JBQ2xCLFNBQVEsc0JBQXNCO0lBc0I5QixZQUVxQixTQUEyQixFQUN6QixHQUFzQixFQUd0QixnQkFBdUQ7UUFFMUUsS0FBSyxFQUFFLENBQUM7UUFOUyxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUN6QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUd0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXVDO1FBdkJ0RSxjQUFTLEdBQUcsY0FBYyxDQUFDO1FBRTNCLGFBQVEsR0FBRyxjQUFjLENBQUM7UUFFZixrQkFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FB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QixXQUFXO0tBQ2QsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBQcm92aWRlcixcbiAgICBUeXBlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sLCBOZ01vZGVsfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge3R1aUFzc2VydH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7RU1QVFlfRlVOQ1RJT059IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpRGVmYXVsdFByb3B9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGVjb3JhdG9ycyc7XG5pbXBvcnQge1R1aUNvbnRyb2xWYWx1ZVRyYW5zZm9ybWVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuaW1wb3J0IHttZXJnZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge3Rha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge0Fic3RyYWN0VHVpSW50ZXJhY3RpdmV9IGZyb20gJy4vaW50ZXJhY3RpdmUnO1xuaW1wb3J0IHtBYnN0cmFjdFR1aVZhbHVlVHJhbnNmb3JtZXJ9IGZyb20gJy4vdmFsdWUtdHJhbnNmb3JtZXInO1xuXG4vKipcbiAqIEJhc2ljIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGNsYXNzIHRvIGJ1aWxkIGZvcm0gY29tcG9uZW50cyB1cG9uXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VHVpQ29udHJvbDxUPlxuICAgIGV4dGVuZHMgQWJzdHJhY3RUdWlJbnRlcmFjdGl2ZVxuICAgIGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG57XG4gICAgcHJpdmF0ZSBwcmV2aW91c0ludGVybmFsVmFsdWU/OiBUIHwgbnVsbDtcblxuICAgIHByaXZhdGUgb25Ub3VjaGVkID0gRU1QVFlfRlVOQ1RJT047XG5cbiAgICBwcml2YXRlIG9uQ2hhbmdlID0gRU1QVFlfRlVOQ1RJT047XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmFsbGJhY2tWYWx1ZSA9IHRoaXMuZ2V0RmFsbGJhY2tWYWx1ZSgpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5fcmVhZG9ubHlgKVxuICAgIEB0dWlEZWZhdWx0UHJvcCgpXG4gICAgcmVhZE9ubHkgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBwc2V1ZG9JbnZhbGlkOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBuZ0NvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIHByb3RlY3RlZCByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KEFic3RyYWN0VHVpVmFsdWVUcmFuc2Zvcm1lcilcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IHZhbHVlVHJhbnNmb3JtZXI/OiBUdWlDb250cm9sVmFsdWVUcmFuc2Zvcm1lcjxUPiB8IG51bGwsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgaWYgKG5nRGV2TW9kZSAmJiB0aGlzLm5nQ29udHJvbCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdHVpQXNzZXJ0LmFzc2VydChcbiAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICBgTmdDb250cm9sIG5vdCBpbmplY3RlZCBpbiAke3RoaXMuY29uc3RydWN0b3IubmFtZX0hXFxuYCxcbiAgICAgICAgICAgICAgICBgVXNlIFsobmdNb2RlbCldIG9yIFtmb3JtQ29udHJvbF0gb3IgZm9ybUNvbnRyb2xOYW1lIGZvciBjb3JyZWN0IHdvcmsuYCxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgICAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldEZhbGxiYWNrVmFsdWUoKTogVDtcblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MuX2ludmFsaWRgKVxuICAgIGdldCBjb21wdXRlZEludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmludGVyYWN0aXZlICYmXG4gICAgICAgICAgICAodGhpcy5wc2V1ZG9JbnZhbGlkICE9PSBudWxsXG4gICAgICAgICAgICAgICAgPyB0aGlzLnBzZXVkb0ludmFsaWRcbiAgICAgICAgICAgICAgICA6IHRoaXMudG91Y2hlZCAmJiB0aGlzLmludmFsaWQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IHZhbHVlKCk6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy5wcmV2aW91c0ludGVybmFsVmFsdWUgPz8gdGhpcy5mYWxsYmFja1ZhbHVlO1xuICAgIH1cblxuICAgIHNldCB2YWx1ZSh2YWx1ZTogVCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgc2FmZUN1cnJlbnRWYWx1ZSgpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmF3VmFsdWUgPz8gdGhpcy5mYWxsYmFja1ZhbHVlO1xuICAgIH1cblxuICAgIGdldCBpbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zYWZlTmdDb250cm9sRGF0YTxib29sZWFuPigoe2ludmFsaWR9KSA9PiBpbnZhbGlkLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgZ2V0IHZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zYWZlTmdDb250cm9sRGF0YTxib29sZWFuPigoe3ZhbGlkfSkgPT4gdmFsaWQsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXQgdG91Y2hlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FmZU5nQ29udHJvbERhdGE8Ym9vbGVhbj4oKHt0b3VjaGVkfSkgPT4gdG91Y2hlZCwgZmFsc2UpO1xuICAgIH1cblxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FmZU5nQ29udHJvbERhdGE8Ym9vbGVhbj4oKHtkaXNhYmxlZH0pID0+IGRpc2FibGVkLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgZ2V0IGludGVyYWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMucmVhZE9ubHkgJiYgIXRoaXMuY29tcHV0ZWREaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgY29udHJvbCgpOiBBYnN0cmFjdENvbnRyb2wgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2FmZU5nQ29udHJvbERhdGE8QWJzdHJhY3RDb250cm9sIHwgbnVsbD4oXG4gICAgICAgICAgICAoe2NvbnRyb2x9KSA9PiBjb250cm9sLFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgY29tcHV0ZWROYW1lKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sTmFtZT8udG9TdHJpbmcoKSA/PyBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY29udHJvbE5hbWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLm5nQ29udHJvbD8ubmFtZT8udG9TdHJpbmcoKSA/PyBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHJhd1ZhbHVlKCk6IFQgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCB7bmdDb250cm9sfSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKG5nQ29udHJvbCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9XG4gICAgICAgICAgICBuZ0NvbnRyb2wgaW5zdGFuY2VvZiBOZ01vZGVsICYmIHRoaXMucHJldmlvdXNJbnRlcm5hbFZhbHVlID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICA/IG5nQ29udHJvbC52aWV3TW9kZWxcbiAgICAgICAgICAgICAgICA6IG5nQ29udHJvbC52YWx1ZTtcblxuICAgICAgICByZXR1cm4gdGhpcy5mcm9tQ29udHJvbFZhbHVlKGNvbnRyb2xWYWx1ZSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5uZ0NvbnRyb2w/LnZhbHVlQ2hhbmdlcyB8fCAhdGhpcy5uZ0NvbnRyb2w/LnN0YXR1c0NoYW5nZXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIG1lcmdlKHRoaXMubmdDb250cm9sLnZhbHVlQ2hhbmdlcywgdGhpcy5uZ0NvbnRyb2wuc3RhdHVzQ2hhbmdlcylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWZyZXNoTG9jYWxWYWx1ZSh0aGlzLnNhZmVDdXJyZW50VmFsdWUpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBjaGVja0NvbnRyb2xVcGRhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6ICh2YWx1ZTogVCB8IHVua25vd24pID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IChjb21wb25lbnRWYWx1ZTogVCkgPT4ge1xuICAgICAgICAgICAgb25DaGFuZ2UodGhpcy50b0NvbnRyb2xWYWx1ZShjb21wb25lbnRWYWx1ZSkpO1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoZWNrQ29udHJvbFVwZGF0ZSgpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IFQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9XG4gICAgICAgICAgICB0aGlzLm5nQ29udHJvbCBpbnN0YW5jZW9mIE5nTW9kZWwgJiYgdGhpcy5wcmV2aW91c0ludGVybmFsVmFsdWUgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgID8gdGhpcy5uZ0NvbnRyb2wubW9kZWxcbiAgICAgICAgICAgICAgICA6IHZhbHVlO1xuXG4gICAgICAgIHRoaXMucmVmcmVzaExvY2FsVmFsdWUodGhpcy5mcm9tQ29udHJvbFZhbHVlKGNvbnRyb2xWYWx1ZSkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSB1cGRhdGVGb2N1c2VkKGZvY3VzZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFmb2N1c2VkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRyb2xNYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgIH1cblxuICAgICAgICBzdXBlci51cGRhdGVGb2N1c2VkKGZvY3VzZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHVzZSBgdmFsdWVgIHNldHRlclxuICAgICAqL1xuICAgIHByb3RlY3RlZCB1cGRhdGVWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnZhbHVlSWRlbnRpY2FsQ29tcGFyYXRvcih0aGlzLnZhbHVlLCB2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHJldmlvdXNJbnRlcm5hbFZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY29udHJvbFNldFZhbHVlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdmFsdWVJZGVudGljYWxDb21wYXJhdG9yKG9sZFZhbHVlOiBULCBuZXdWYWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gb2xkVmFsdWUgPT09IG5ld1ZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2FmZU5nQ29udHJvbERhdGE8VD4oXG4gICAgICAgIGV4dHJhY3RvcjogKG5nQ29udHJvbDogTmdDb250cm9sKSA9PiBUIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICAgICAgZGVmYXVsdEZpZWxkVmFsdWU6IFQsXG4gICAgKTogVCB7XG4gICAgICAgIHJldHVybiAodGhpcy5uZ0NvbnRyb2wgJiYgZXh0cmFjdG9yKHRoaXMubmdDb250cm9sKSkgPz8gZGVmYXVsdEZpZWxkVmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb250cm9sTWFya0FzVG91Y2hlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5jaGVja0NvbnRyb2xVcGRhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnRyb2xTZXRWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5jaGVja0NvbnRyb2xVcGRhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZnJlc2hMb2NhbFZhbHVlKHZhbHVlOiBUIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICB0aGlzLnByZXZpb3VzSW50ZXJuYWxWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNoZWNrQ29udHJvbFVwZGF0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZnJvbUNvbnRyb2xWYWx1ZShjb250cm9sVmFsdWU6IHVua25vd24pOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVUcmFuc2Zvcm1lclxuICAgICAgICAgICAgPyB0aGlzLnZhbHVlVHJhbnNmb3JtZXIuZnJvbUNvbnRyb2xWYWx1ZShjb250cm9sVmFsdWUpXG4gICAgICAgICAgICA6IChjb250cm9sVmFsdWUgYXMgVCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0b0NvbnRyb2xWYWx1ZShjb21wb25lbnRWYWx1ZTogVCk6IHVua25vd24ge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZVRyYW5zZm9ybWVyXG4gICAgICAgICAgICA/IHRoaXMudmFsdWVUcmFuc2Zvcm1lci50b0NvbnRyb2xWYWx1ZShjb21wb25lbnRWYWx1ZSlcbiAgICAgICAgICAgIDogY29tcG9uZW50VmFsdWU7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpQXNDb250cm9sPFQ+KHVzZUV4aXN0aW5nOiBUeXBlPEFic3RyYWN0VHVpQ29udHJvbDxUPj4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogQWJzdHJhY3RUdWlDb250cm9sLFxuICAgICAgICB1c2VFeGlzdGluZyxcbiAgICB9O1xufVxuIl19
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9hYnN0cmFjdC9jb250cm9sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUdMLFFBQVEsR0FHWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQW1ELE9BQU8sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRXhELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQ0gsS0FBSyxFQUNMLG9CQUFvQixFQUNwQixNQUFNLEVBQ04sR0FBRyxFQUNILFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxHQUNaLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7QUFFaEU7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLGtCQUNsQixTQUFRLHNCQUFzQjtJQXVCOUIsWUFFcUIsU0FBMkIsRUFDekIsR0FBc0IsRUFHdEIsZ0JBQXVEO1FBRTFFLEtBQUssRUFBRSxDQUFDO1FBTlMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDekIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFHdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF1QztRQXpCN0QsYUFBUSxHQUFHLElBQUksT0FBTyxF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QjtJQURDLGNBQWMsRUFBRTt5REFDb0I7NEZBdEJuQixrQkFBa0I7a0JBRHZDLFNBQVM7OzBCQTBCRCxRQUFROzswQkFHUixRQUFROzswQkFDUixNQUFNOzJCQUFDLDJCQUEyQjs0Q0FYdkMsUUFBUTtzQkFIUCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLGlCQUFpQjtnQkFNOUIsYUFBYTtzQkFGWixLQUFLO2dCQThCRixlQUFlO3NCQURsQixXQUFXO3VCQUFDLGdCQUFnQjs7QUFxTGpDLE1BQU0sVUFBVSxZQUFZLENBQUksV0FBd0M7SUFDcEUsT0FBTztRQUNILE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsV0FBVztLQUNkLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUHJvdmlkZXIsXG4gICAgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCwgTmdNb2RlbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHt0dWlBc3NlcnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge0VNUFRZX0ZVTkNUSU9OfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge3R1aURlZmF1bHRQcm9wfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RlY29yYXRvcnMnO1xuaW1wb3J0IHtUdWlDb250cm9sVmFsdWVUcmFuc2Zvcm1lcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9pbnRlcmZhY2VzJztcbmltcG9ydCB7dHVpSXNQcmVzZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzJztcbmltcG9ydCB7bWVyZ2UsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBkZWxheSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgICBmaWx0ZXIsXG4gICAgbWFwLFxuICAgIHN0YXJ0V2l0aCxcbiAgICBzd2l0Y2hNYXAsXG4gICAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7QWJzdHJhY3RUdWlJbnRlcmFjdGl2ZX0gZnJvbSAnLi9pbnRlcmFjdGl2ZSc7XG5pbXBvcnQge0Fic3RyYWN0VHVpVmFsdWVUcmFuc2Zvcm1lcn0gZnJvbSAnLi92YWx1ZS10cmFuc2Zvcm1lcic7XG5cbi8qKlxuICogQmFzaWMgQ29udHJvbFZhbHVlQWNjZXNzb3IgY2xhc3MgdG8gYnVpbGQgZm9ybSBjb21wb25lbnRzIHVwb25cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RUdWlDb250cm9sPFQ+XG4gICAgZXh0ZW5kcyBBYnN0cmFjdFR1aUludGVyYWN0aXZlXG4gICAgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3JcbntcbiAgICBwcml2YXRlIHByZXZpb3VzSW50ZXJuYWxWYWx1ZT86IFQgfCBudWxsO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVmcmVzaCQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgcHJpdmF0ZSBvblRvdWNoZWQgPSBFTVBUWV9GVU5DVElPTjtcblxuICAgIHByaXZhdGUgb25DaGFuZ2UgPSBFTVBUWV9GVU5DVElPTjtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBmYWxsYmFja1ZhbHVlID0gdGhpcy5nZXRGYWxsYmFja1ZhbHVlKCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLl9yZWFkb25seWApXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICByZWFkT25seSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIHBzZXVkb0ludmFsaWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG5nQ29udHJvbDogTmdDb250cm9sIHwgbnVsbCxcbiAgICAgICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoQWJzdHJhY3RUdWlWYWx1ZVRyYW5zZm9ybWVyKVxuICAgICAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmFsdWVUcmFuc2Zvcm1lcj86IFR1aUNvbnRyb2xWYWx1ZVRyYW5zZm9ybWVyPFQ+IHwgbnVsbCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICBpZiAobmdEZXZNb2RlICYmIHRoaXMubmdDb250cm9sID09PSBudWxsKSB7XG4gICAgICAgICAgICB0dWlBc3NlcnQuYXNzZXJ0KFxuICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgIGBOZ0NvbnRyb2wgbm90IGluamVjdGVkIGluICR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfSFcXG5gLFxuICAgICAgICAgICAgICAgIGBVc2UgWyhuZ01vZGVsKV0gb3IgW2Zvcm1Db250cm9sXSBvciBmb3JtQ29udHJvbE5hbWUgZm9yIGNvcnJlY3Qgd29yay5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0RmFsbGJhY2tWYWx1ZSgpOiBUO1xuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy5faW52YWxpZGApXG4gICAgZ2V0IGNvbXB1dGVkSW52YWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuaW50ZXJhY3RpdmUgJiZcbiAgICAgICAgICAgICh0aGlzLnBzZXVkb0ludmFsaWQgIT09IG51bGxcbiAgICAgICAgICAgICAgICA/IHRoaXMucHNldWRvSW52YWxpZFxuICAgICAgICAgICAgICAgIDogdGhpcy50b3VjaGVkICYmIHRoaXMuaW52YWxpZClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLnByZXZpb3VzSW50ZXJuYWxWYWx1ZSA/PyB0aGlzLmZhbGxiYWNrVmFsdWU7XG4gICAgfVxuXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBUKSB7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIGdldCBzYWZlQ3VycmVudFZhbHVlKCk6IFQge1xuICAgICAgICByZXR1cm4gdGhpcy5yYXdWYWx1ZSA/PyB0aGlzLmZhbGxiYWNrVmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhZmVOZ0NvbnRyb2xEYXRhPGJvb2xlYW4+KCh7aW52YWxpZH0pID0+IGludmFsaWQsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXQgdmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNhZmVOZ0NvbnRyb2xEYXRhPGJvb2xlYW4+KCh7dmFsaWR9KSA9PiB2YWxpZCwgZmFsc2UpO1xuICAgIH1cblxuICAgIGdldCB0b3VjaGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zYWZlTmdDb250cm9sRGF0YTxib29sZWFuPigoe3RvdWNoZWR9KSA9PiB0b3VjaGVkLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zYWZlTmdDb250cm9sRGF0YTxib29sZWFuPigoe2Rpc2FibGVkfSkgPT4gZGlzYWJsZWQsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBnZXQgaW50ZXJhY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5yZWFkT25seSAmJiAhdGhpcy5jb21wdXRlZERpc2FibGVkO1xuICAgIH1cblxuICAgIGdldCBjb250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5zYWZlTmdDb250cm9sRGF0YTxBYnN0cmFjdENvbnRyb2wgfCBudWxsPihcbiAgICAgICAgICAgICh7Y29udHJvbH0pID0+IGNvbnRyb2wsXG4gICAgICAgICAgICBudWxsLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBjb21wdXRlZE5hbWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2xOYW1lPy50b1N0cmluZygpID8/IG51bGw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjb250cm9sTmFtZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmdDb250cm9sPy5uYW1lPy50b1N0cmluZygpID8/IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgcmF3VmFsdWUoKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHtuZ0NvbnRyb2x9ID0gdGhpcztcblxuICAgICAgICBpZiAobmdDb250cm9sID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY29udHJvbFZhbHVlID1cbiAgICAgICAgICAgIG5nQ29udHJvbCBpbnN0YW5jZW9mIE5nTW9kZWwgJiYgdGhpcy5wcmV2aW91c0ludGVybmFsVmFsdWUgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgID8gbmdDb250cm9sLnZpZXdNb2RlbFxuICAgICAgICAgICAgICAgIDogbmdDb250cm9sLnZhbHVlO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmZyb21Db250cm9sVmFsdWUoY29udHJvbFZhbHVlKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWZyZXNoJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZGVsYXkoMCksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKG51bGwpLFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLm5nQ29udHJvbD8uY29udHJvbCksXG4gICAgICAgICAgICAgICAgZmlsdGVyKHR1aUlzUHJlc2VudCksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoY29udHJvbCA9PiBtZXJnZShjb250cm9sLnZhbHVlQ2hhbmdlcywgY29udHJvbC5zdGF0dXNDaGFuZ2VzKSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZWZyZXNoTG9jYWxWYWx1ZSh0aGlzLnNhZmVDdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgY2hlY2tDb250cm9sVXBkYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAodmFsdWU6IFQgfCB1bmtub3duKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSAoY29tcG9uZW50VmFsdWU6IFQpID0+IHtcbiAgICAgICAgICAgIG9uQ2hhbmdlKHRoaXMudG9Db250cm9sVmFsdWUoY29tcG9uZW50VmFsdWUpKTtcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLnJlZnJlc2gkLm5leHQoKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChvblRvdWNoZWQ6ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja0NvbnRyb2xVcGRhdGUoKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBUIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb250cm9sVmFsdWUgPVxuICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2wgaW5zdGFuY2VvZiBOZ01vZGVsICYmIHRoaXMucHJldmlvdXNJbnRlcm5hbFZhbHVlID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICA/IHRoaXMubmdDb250cm9sLm1vZGVsXG4gICAgICAgICAgICAgICAgOiB2YWx1ZTtcblxuICAgICAgICB0aGlzLnJlZnJlc2hMb2NhbFZhbHVlKHRoaXMuZnJvbUNvbnRyb2xWYWx1ZShjb250cm9sVmFsdWUpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlRm9jdXNlZChmb2N1c2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICghZm9jdXNlZCkge1xuICAgICAgICAgICAgdGhpcy5jb250cm9sTWFya0FzVG91Y2hlZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VwZXIudXBkYXRlRm9jdXNlZChmb2N1c2VkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgYHZhbHVlYCBzZXR0ZXJcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgdXBkYXRlVmFsdWUodmFsdWU6IFQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy52YWx1ZUlkZW50aWNhbENvbXBhcmF0b3IodGhpcy52YWx1ZSwgdmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnByZXZpb3VzSW50ZXJuYWxWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmNvbnRyb2xTZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHZhbHVlSWRlbnRpY2FsQ29tcGFyYXRvcihvbGRWYWx1ZTogVCwgbmV3VmFsdWU6IFQpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIG9sZFZhbHVlID09PSBuZXdWYWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNhZmVOZ0NvbnRyb2xEYXRhPFQ+KFxuICAgICAgICBleHRyYWN0b3I6IChuZ0NvbnRyb2w6IE5nQ29udHJvbCkgPT4gVCB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgICAgIGRlZmF1bHRGaWVsZFZhbHVlOiBULFxuICAgICk6IFQge1xuICAgICAgICByZXR1cm4gKHRoaXMubmdDb250cm9sICYmIGV4dHJhY3Rvcih0aGlzLm5nQ29udHJvbCkpID8/IGRlZmF1bHRGaWVsZFZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29udHJvbE1hcmtBc1RvdWNoZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgICAgIHRoaXMuY2hlY2tDb250cm9sVXBkYXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb250cm9sU2V0VmFsdWUodmFsdWU6IFQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMuY2hlY2tDb250cm9sVXBkYXRlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWZyZXNoTG9jYWxWYWx1ZSh2YWx1ZTogVCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcmV2aW91c0ludGVybmFsVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jaGVja0NvbnRyb2xVcGRhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZyb21Db250cm9sVmFsdWUoY29udHJvbFZhbHVlOiB1bmtub3duKTogVCB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlVHJhbnNmb3JtZXJcbiAgICAgICAgICAgID8gdGhpcy52YWx1ZVRyYW5zZm9ybWVyLmZyb21Db250cm9sVmFsdWUoY29udHJvbFZhbHVlKVxuICAgICAgICAgICAgOiAoY29udHJvbFZhbHVlIGFzIFQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdG9Db250cm9sVmFsdWUoY29tcG9uZW50VmFsdWU6IFQpOiB1bmtub3duIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVUcmFuc2Zvcm1lclxuICAgICAgICAgICAgPyB0aGlzLnZhbHVlVHJhbnNmb3JtZXIudG9Db250cm9sVmFsdWUoY29tcG9uZW50VmFsdWUpXG4gICAgICAgICAgICA6IGNvbXBvbmVudFZhbHVlO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUFzQ29udHJvbDxUPih1c2VFeGlzdGluZzogVHlwZTxBYnN0cmFjdFR1aUNvbnRyb2w8VD4+KTogUHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IEFic3RyYWN0VHVpQ29udHJvbCxcbiAgICAgICAgdXNlRXhpc3RpbmcsXG4gICAgfTtcbn1cbiJdfQ==
@@ -6,8 +6,9 @@ import { NgModel } from '@angular/forms';
6
6
  import { tuiAssert } from '@taiga-ui/cdk/classes';
7
7
  import { EMPTY_FUNCTION } from '@taiga-ui/cdk/constants';
8
8
  import { tuiDefaultProp } from '@taiga-ui/cdk/decorators';
9
+ import { tuiIsPresent } from '@taiga-ui/cdk/utils';
9
10
  import { Subject, merge, Observable, BehaviorSubject } from 'rxjs';
10
- import { takeUntil, ignoreElements, endWith, share } from 'rxjs/operators';
11
+ import { delay, startWith, map, filter, distinctUntilChanged, switchMap, takeUntil, ignoreElements, endWith, share } from 'rxjs/operators';
11
12
  import { tuiIfMap } from '@taiga-ui/cdk/observables';
12
13
  import { PolymorpheusTemplate } from '@tinkoff/ng-polymorpheus';
13
14
  import * as i1$1 from '@taiga-ui/cdk/services';
@@ -123,6 +124,7 @@ class AbstractTuiControl extends AbstractTuiInteractive {
123
124
  this.ngControl = ngControl;
124
125
  this.cdr = cdr;
125
126
  this.valueTransformer = valueTransformer;
127
+ this.refresh$ = new Subject();
126
128
  this.onTouched = EMPTY_FUNCTION;
127
129
  this.onChange = EMPTY_FUNCTION;
128
130
  this.fallbackValue = this.getFallbackValue();
@@ -190,13 +192,11 @@ class AbstractTuiControl extends AbstractTuiInteractive {
190
192
  return this.fromControlValue(controlValue);
191
193
  }
192
194
  ngOnInit() {
193
- var _a, _b;
194
- if (!((_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.valueChanges) || !((_b = this.ngControl) === null || _b === void 0 ? void 0 : _b.statusChanges)) {
195
- return;
196
- }
197
- merge(this.ngControl.valueChanges, this.ngControl.statusChanges)
198
- .pipe(takeUntil(this.destroy$))
199
- .subscribe(() => this.refreshLocalValue(this.safeCurrentValue));
195
+ this.refresh$
196
+ .pipe(delay(0), startWith(null), map(() => { var _a; return (_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.control; }), filter(tuiIsPresent), distinctUntilChanged(), switchMap(control => merge(control.valueChanges, control.statusChanges)), takeUntil(this.destroy$))
197
+ .subscribe(() => {
198
+ this.refreshLocalValue(this.safeCurrentValue);
199
+ });
200
200
  }
201
201
  ngOnDestroy() {
202
202
  this.destroy$.next();
@@ -209,6 +209,7 @@ class AbstractTuiControl extends AbstractTuiInteractive {
209
209
  this.onChange = (componentValue) => {
210
210
  onChange(this.toControlValue(componentValue));
211
211
  };
212
+ this.refresh$.next();
212
213
  }
213
214
  registerOnTouched(onTouched) {
214
215
  this.onTouched = onTouched;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-abstract.js","sources":["../../../projects/cdk/abstract/interactive.ts","../../../projects/cdk/abstract/value-transformer.ts","../../../projects/cdk/abstract/control.ts","../../../projects/cdk/abstract/controller.ts","../../../projects/cdk/abstract/dialog.service.ts","../../../projects/cdk/abstract/dialog.directive.ts","../../../projects/cdk/abstract/multiple-control.ts","../../../projects/cdk/abstract/nullable-control.ts","../../../projects/cdk/abstract/portal-service.ts","../../../projects/cdk/abstract/portal-host.ts","../../../projects/cdk/abstract/theme-switcher.ts","../../../projects/cdk/abstract/taiga-ui-cdk-abstract.ts"],"sourcesContent":["import {Directive, EventEmitter, HostBinding, Input, Output} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\n\nconst TUI = `tui_interactive_`;\n\n/**\n * The most basic class for interactive components\n */\n@Directive()\nexport abstract class AbstractTuiInteractive {\n private static autoId = 0;\n\n abstract disabled: boolean;\n\n abstract focused: boolean;\n\n private readonly autoIdString: string;\n\n @Input()\n @tuiDefaultProp()\n pseudoHover: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoActive: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoFocus: boolean | null = null;\n\n /**\n * Determines if component is focusable with keyboard.\n */\n @Input()\n @tuiDefaultProp()\n focusable = true;\n\n @Input()\n @tuiDefaultProp()\n nativeId = ``;\n\n /**\n * Emits 'true' on focus and 'false' on blur.\n */\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusVisibleChange = new EventEmitter<boolean>();\n\n focusVisible = false;\n\n constructor() {\n this.autoIdString = `${TUI}${AbstractTuiInteractive.autoId++}${Date.now()}`;\n }\n\n @HostBinding(`class._disabled`)\n get computedDisabled(): boolean {\n return this.disabled;\n }\n\n get computedFocusable(): boolean {\n return !this.computedDisabled && (this.focusable || this.focused);\n }\n\n @HostBinding(`class._focused`)\n get computedFocused(): boolean {\n return !this.computedDisabled && (this.pseudoFocus ?? this.focused);\n }\n\n @HostBinding(`class._focus-visible`)\n get computedFocusVisible(): boolean {\n return !this.computedDisabled && (this.pseudoFocus ?? this.focusVisible);\n }\n\n // TODO: 3.0 Consider removing since native input is exposed\n get id(): string {\n return this.nativeId || this.autoIdString;\n }\n\n protected updateFocused(focused: boolean): void {\n this.focusedChange.emit(focused);\n }\n\n protected updateFocusVisible(focusVisible: boolean): void {\n if (this.focusVisible === focusVisible) {\n return;\n }\n\n this.focusVisible = focusVisible;\n this.focusVisibleChange.emit(focusVisible);\n }\n}\n","export abstract class AbstractTuiValueTransformer<From, To = unknown> {\n abstract toControlValue(componentValue: From): To;\n abstract fromControlValue(controlValue: To): From;\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Provider,\n Type,\n} from '@angular/core';\nimport {AbstractControl, ControlValueAccessor, NgControl, NgModel} from '@angular/forms';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {TuiControlValueTransformer} from '@taiga-ui/cdk/interfaces';\nimport {merge, Subject} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {AbstractTuiInteractive} from './interactive';\nimport {AbstractTuiValueTransformer} from './value-transformer';\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class AbstractTuiControl<T>\n extends AbstractTuiInteractive\n implements OnDestroy, OnInit, ControlValueAccessor\n{\n private previousInternalValue?: T | null;\n\n private onTouched = EMPTY_FUNCTION;\n\n private onChange = EMPTY_FUNCTION;\n\n protected readonly fallbackValue = this.getFallbackValue();\n\n protected readonly destroy$ = new Subject<void>();\n\n @Input()\n @HostBinding(`class._readonly`)\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n pseudoInvalid: boolean | null = null;\n\n constructor(\n @Optional()\n private readonly ngControl: NgControl | null,\n protected readonly cdr: ChangeDetectorRef,\n @Optional()\n @Inject(AbstractTuiValueTransformer)\n protected readonly valueTransformer?: TuiControlValueTransformer<T> | null,\n ) {\n super();\n\n if (ngDevMode && this.ngControl === null) {\n tuiAssert.assert(\n false,\n `NgControl not injected in ${this.constructor.name}!\\n`,\n `Use [(ngModel)] or [formControl] or formControlName for correct work.`,\n );\n }\n\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n protected abstract getFallbackValue(): T;\n\n @HostBinding(`class._invalid`)\n get computedInvalid(): boolean {\n return (\n this.interactive &&\n (this.pseudoInvalid !== null\n ? this.pseudoInvalid\n : this.touched && this.invalid)\n );\n }\n\n get value(): T {\n return this.previousInternalValue ?? this.fallbackValue;\n }\n\n set value(value: T) {\n this.updateValue(value);\n }\n\n get safeCurrentValue(): T {\n return this.rawValue ?? this.fallbackValue;\n }\n\n get invalid(): boolean {\n return this.safeNgControlData<boolean>(({invalid}) => invalid, false);\n }\n\n get valid(): boolean {\n return this.safeNgControlData<boolean>(({valid}) => valid, false);\n }\n\n get touched(): boolean {\n return this.safeNgControlData<boolean>(({touched}) => touched, false);\n }\n\n get disabled(): boolean {\n return this.safeNgControlData<boolean>(({disabled}) => disabled, false);\n }\n\n get interactive(): boolean {\n return !this.readOnly && !this.computedDisabled;\n }\n\n get control(): AbstractControl | null {\n return this.safeNgControlData<AbstractControl | null>(\n ({control}) => control,\n null,\n );\n }\n\n get computedName(): string | null {\n return this.controlName?.toString() ?? null;\n }\n\n protected get controlName(): string | null {\n return this.ngControl?.name?.toString() ?? null;\n }\n\n private get rawValue(): T | undefined {\n const {ngControl} = this;\n\n if (ngControl === null) {\n return undefined;\n }\n\n const controlValue =\n ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? ngControl.viewModel\n : ngControl.value;\n\n return this.fromControlValue(controlValue);\n }\n\n ngOnInit(): void {\n if (!this.ngControl?.valueChanges || !this.ngControl?.statusChanges) {\n return;\n }\n\n merge(this.ngControl.valueChanges, this.ngControl.statusChanges)\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => this.refreshLocalValue(this.safeCurrentValue));\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n checkControlUpdate(): void {\n this.cdr.markForCheck();\n }\n\n registerOnChange(onChange: (value: T | unknown) => void): void {\n this.onChange = (componentValue: T) => {\n onChange(this.toControlValue(componentValue));\n };\n }\n\n registerOnTouched(onTouched: () => void): void {\n this.onTouched = onTouched;\n }\n\n setDisabledState(): void {\n this.checkControlUpdate();\n }\n\n writeValue(value: T | null): void {\n const controlValue =\n this.ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? this.ngControl.model\n : value;\n\n this.refreshLocalValue(this.fromControlValue(controlValue));\n }\n\n protected override updateFocused(focused: boolean): void {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\n\n /**\n * @deprecated use `value` setter\n */\n protected updateValue(value: T): void {\n if (this.disabled || this.valueIdenticalComparator(this.value, value)) {\n return;\n }\n\n this.previousInternalValue = value;\n this.controlSetValue(value);\n }\n\n protected valueIdenticalComparator(oldValue: T, newValue: T): boolean {\n return oldValue === newValue;\n }\n\n private safeNgControlData<T>(\n extractor: (ngControl: NgControl) => T | null | undefined,\n defaultFieldValue: T,\n ): T {\n return (this.ngControl && extractor(this.ngControl)) ?? defaultFieldValue;\n }\n\n private controlMarkAsTouched(): void {\n this.onTouched();\n this.checkControlUpdate();\n }\n\n private controlSetValue(value: T): void {\n this.onChange(value);\n this.checkControlUpdate();\n }\n\n private refreshLocalValue(value: T | null): void {\n this.previousInternalValue = value;\n this.checkControlUpdate();\n }\n\n private fromControlValue(controlValue: unknown): T {\n return this.valueTransformer\n ? this.valueTransformer.fromControlValue(controlValue)\n : (controlValue as T);\n }\n\n private toControlValue(componentValue: T): unknown {\n return this.valueTransformer\n ? this.valueTransformer.toControlValue(componentValue)\n : componentValue;\n }\n}\n\nexport function tuiAsControl<T>(useExisting: Type<AbstractTuiControl<T>>): Provider {\n return {\n provide: AbstractTuiControl,\n useExisting,\n };\n}\n","import {Directive, OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n@Directive()\nexport abstract class AbstractTuiController implements OnChanges {\n readonly change$ = new Subject<void>();\n\n ngOnChanges(): void {\n this.change$.next();\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {TuiBaseDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\n@Injectable()\nexport abstract class AbstractTuiDialogService<T, K = void> extends Observable<\n ReadonlyArray<TuiDialog<T, any>>\n> {\n protected abstract readonly component: PolymorpheusComponent<any, TuiDialog<T, any>>;\n\n protected abstract readonly defaultOptions: T;\n\n protected readonly dialogs$ = new BehaviorSubject<ReadonlyArray<TuiDialog<T, any>>>(\n [],\n );\n\n constructor(@Inject(TuiIdService) private readonly idService: TuiIdService) {\n super(observer => this.dialogs$.subscribe(observer));\n }\n\n open<G = void>(\n content: PolymorpheusContent<T & TuiBaseDialogContext<K extends void ? G : K>>,\n options: Partial<T> = {},\n ): Observable<K extends void ? G : K> {\n return new Observable(observer => {\n const completeWith = (result: K extends void ? G : K): void => {\n observer.next(result);\n observer.complete();\n };\n const dialog = {\n ...this.defaultOptions,\n ...options,\n content,\n completeWith,\n $implicit: observer,\n component: this.component,\n createdAt: Date.now(),\n id: this.idService.generate(),\n };\n\n this.dialogs$.next([...this.dialogs$.value, dialog]);\n\n return () => {\n this.dialogs$.next(this.dialogs$.value.filter(item => item !== dialog));\n };\n });\n }\n}\n","import {ChangeDetectorRef, Directive, Inject, TemplateRef} from '@angular/core';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {endWith, ignoreElements, share} from 'rxjs/operators';\n\nimport {AbstractTuiDialogService} from './dialog.service';\n\n@Directive()\nexport abstract class AbstractTuiDialogDirective<T> extends PolymorpheusTemplate<\n TuiDialog<T, void>\n> {\n private readonly open$ = new Subject<boolean>();\n\n options: Partial<T> = {};\n\n set open(open: boolean) {\n this.open$.next(open);\n }\n\n openChange = this.open$.pipe(\n tuiIfMap(() =>\n this.service.open(this, this.options).pipe(ignoreElements(), endWith(false)),\n ),\n share(),\n );\n\n constructor(\n @Inject(TemplateRef)\n templateRef: TemplateRef<TuiDialog<T, void>>,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(AbstractTuiDialogService)\n private readonly service: AbstractTuiDialogService<T>,\n ) {\n super(templateRef, cdr);\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiMultipleControl<T> extends AbstractTuiControl<\n readonly T[]\n> {\n clear(): void {\n this.value = [];\n }\n\n protected getFallbackValue(): readonly T[] {\n return [];\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiNullableControl<T> extends AbstractTuiControl<T | null> {\n protected getFallbackValue(): T | null {\n return null;\n }\n}\n","import {ComponentRef, EmbeddedViewRef, Injectable, TemplateRef} from '@angular/core';\nimport {TuiNoHostException} from '@taiga-ui/cdk/exceptions';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {AbstractTuiPortalHostComponent} from './portal-host';\n\n/**\n * Abstract service for displaying portals\n */\n@Injectable()\nexport abstract class AbstractTuiPortalService {\n protected host?: AbstractTuiPortalHostComponent;\n\n protected get safeHost(): AbstractTuiPortalHostComponent {\n if (!this.host) {\n throw new TuiNoHostException();\n }\n\n return this.host;\n }\n\n attach(host: AbstractTuiPortalHostComponent): void {\n this.host = host;\n }\n\n add<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n return this.safeHost.addComponentChild(component);\n }\n\n remove<C>({hostView}: ComponentRef<C>): void {\n hostView.destroy();\n }\n\n addTemplate<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.safeHost.addTemplateChild(templateRef, context);\n }\n\n removeTemplate<C>(viewRef: EmbeddedViewRef<C>): void {\n viewRef.destroy();\n }\n}\n","import {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n Inject,\n INJECTOR,\n Injector,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {AbstractTuiPortalService} from './portal-service';\n\n/**\n * Abstract class for host element for dynamically created portals.\n */\n@Directive()\nexport abstract class AbstractTuiPortalHostComponent {\n @ViewChild(`viewContainer`, {read: ViewContainerRef})\n private readonly vcr!: ViewContainerRef;\n\n constructor(\n @Inject(INJECTOR) private readonly injector: Injector,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalService) portalService: AbstractTuiPortalService,\n ) {\n portalService.attach(this);\n }\n\n get clientRect(): ClientRect {\n return this.el.nativeElement.getBoundingClientRect();\n }\n\n addComponentChild<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n const parent = component.createInjector(this.injector);\n const resolver = parent.get(ComponentFactoryResolver);\n const factory = resolver.resolveComponentFactory(component.component);\n const providers = [{provide: AbstractTuiPortalHostComponent, useValue: this}];\n const injector = Injector.create({parent, providers});\n const ref = this.vcr.createComponent(factory, undefined, injector);\n\n ref.changeDetectorRef.detectChanges();\n\n return ref;\n }\n\n addTemplateChild<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.vcr.createEmbeddedView(templateRef, context);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, Inject, OnDestroy} from '@angular/core';\n\n/**\n * Use this abstract class to create your own toggleable themes.\n * A component extending this class must have CSS variables definitions\n * and have ViewEncapsulation set to NONE. A boolean input allows to\n * switch theme on or off.\n */\n@Directive()\nexport abstract class AbstractTuiThemeSwitcher implements OnDestroy {\n static style: HTMLStyleElement | null = null;\n\n constructor(@Inject(DOCUMENT) private readonly doc: Document) {\n if (this.style !== null) {\n this.addTheme();\n\n return;\n }\n\n const styles = this.doc.head.querySelectorAll(`style`);\n\n (this.constructor as typeof AbstractTuiThemeSwitcher).style =\n styles[styles.length - 1];\n }\n\n get style(): HTMLStyleElement | null {\n return (this.constructor as typeof AbstractTuiThemeSwitcher).style;\n }\n\n ngOnDestroy(): void {\n this.removeTheme();\n }\n\n private addTheme(): void {\n if (this.style) {\n this.doc.head.appendChild(this.style);\n }\n }\n\n private removeTheme(): void {\n if (this.style && this.doc.head.contains(this.style)) {\n this.doc.head.removeChild(this.style);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-abstract.js","sources":["../../../projects/cdk/abstract/interactive.ts","../../../projects/cdk/abstract/value-transformer.ts","../../../projects/cdk/abstract/control.ts","../../../projects/cdk/abstract/controller.ts","../../../projects/cdk/abstract/dialog.service.ts","../../../projects/cdk/abstract/dialog.directive.ts","../../../projects/cdk/abstract/multiple-control.ts","../../../projects/cdk/abstract/nullable-control.ts","../../../projects/cdk/abstract/portal-service.ts","../../../projects/cdk/abstract/portal-host.ts","../../../projects/cdk/abstract/theme-switcher.ts","../../../projects/cdk/abstract/taiga-ui-cdk-abstract.ts"],"sourcesContent":["import {Directive, EventEmitter, HostBinding, Input, Output} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\n\nconst TUI = `tui_interactive_`;\n\n/**\n * The most basic class for interactive components\n */\n@Directive()\nexport abstract class AbstractTuiInteractive {\n private static autoId = 0;\n\n abstract disabled: boolean;\n\n abstract focused: boolean;\n\n private readonly autoIdString: string;\n\n @Input()\n @tuiDefaultProp()\n pseudoHover: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoActive: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoFocus: boolean | null = null;\n\n /**\n * Determines if component is focusable with keyboard.\n */\n @Input()\n @tuiDefaultProp()\n focusable = true;\n\n @Input()\n @tuiDefaultProp()\n nativeId = ``;\n\n /**\n * Emits 'true' on focus and 'false' on blur.\n */\n @Output()\n readonly focusedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusVisibleChange = new EventEmitter<boolean>();\n\n focusVisible = false;\n\n constructor() {\n this.autoIdString = `${TUI}${AbstractTuiInteractive.autoId++}${Date.now()}`;\n }\n\n @HostBinding(`class._disabled`)\n get computedDisabled(): boolean {\n return this.disabled;\n }\n\n get computedFocusable(): boolean {\n return !this.computedDisabled && (this.focusable || this.focused);\n }\n\n @HostBinding(`class._focused`)\n get computedFocused(): boolean {\n return !this.computedDisabled && (this.pseudoFocus ?? this.focused);\n }\n\n @HostBinding(`class._focus-visible`)\n get computedFocusVisible(): boolean {\n return !this.computedDisabled && (this.pseudoFocus ?? this.focusVisible);\n }\n\n // TODO: 3.0 Consider removing since native input is exposed\n get id(): string {\n return this.nativeId || this.autoIdString;\n }\n\n protected updateFocused(focused: boolean): void {\n this.focusedChange.emit(focused);\n }\n\n protected updateFocusVisible(focusVisible: boolean): void {\n if (this.focusVisible === focusVisible) {\n return;\n }\n\n this.focusVisible = focusVisible;\n this.focusVisibleChange.emit(focusVisible);\n }\n}\n","export abstract class AbstractTuiValueTransformer<From, To = unknown> {\n abstract toControlValue(componentValue: From): To;\n abstract fromControlValue(controlValue: To): From;\n}\n","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Provider,\n Type,\n} from '@angular/core';\nimport {AbstractControl, ControlValueAccessor, NgControl, NgModel} from '@angular/forms';\nimport {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk/constants';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {TuiControlValueTransformer} from '@taiga-ui/cdk/interfaces';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils';\nimport {merge, Subject} from 'rxjs';\nimport {\n delay,\n distinctUntilChanged,\n filter,\n map,\n startWith,\n switchMap,\n takeUntil,\n} from 'rxjs/operators';\n\nimport {AbstractTuiInteractive} from './interactive';\nimport {AbstractTuiValueTransformer} from './value-transformer';\n\n/**\n * Basic ControlValueAccessor class to build form components upon\n */\n@Directive()\nexport abstract class AbstractTuiControl<T>\n extends AbstractTuiInteractive\n implements OnDestroy, OnInit, ControlValueAccessor\n{\n private previousInternalValue?: T | null;\n private readonly refresh$ = new Subject();\n\n private onTouched = EMPTY_FUNCTION;\n\n private onChange = EMPTY_FUNCTION;\n\n protected readonly fallbackValue = this.getFallbackValue();\n\n protected readonly destroy$ = new Subject<void>();\n\n @Input()\n @HostBinding(`class._readonly`)\n @tuiDefaultProp()\n readOnly = false;\n\n @Input()\n @tuiDefaultProp()\n pseudoInvalid: boolean | null = null;\n\n constructor(\n @Optional()\n private readonly ngControl: NgControl | null,\n protected readonly cdr: ChangeDetectorRef,\n @Optional()\n @Inject(AbstractTuiValueTransformer)\n protected readonly valueTransformer?: TuiControlValueTransformer<T> | null,\n ) {\n super();\n\n if (ngDevMode && this.ngControl === null) {\n tuiAssert.assert(\n false,\n `NgControl not injected in ${this.constructor.name}!\\n`,\n `Use [(ngModel)] or [formControl] or formControlName for correct work.`,\n );\n }\n\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n protected abstract getFallbackValue(): T;\n\n @HostBinding(`class._invalid`)\n get computedInvalid(): boolean {\n return (\n this.interactive &&\n (this.pseudoInvalid !== null\n ? this.pseudoInvalid\n : this.touched && this.invalid)\n );\n }\n\n get value(): T {\n return this.previousInternalValue ?? this.fallbackValue;\n }\n\n set value(value: T) {\n this.updateValue(value);\n }\n\n get safeCurrentValue(): T {\n return this.rawValue ?? this.fallbackValue;\n }\n\n get invalid(): boolean {\n return this.safeNgControlData<boolean>(({invalid}) => invalid, false);\n }\n\n get valid(): boolean {\n return this.safeNgControlData<boolean>(({valid}) => valid, false);\n }\n\n get touched(): boolean {\n return this.safeNgControlData<boolean>(({touched}) => touched, false);\n }\n\n get disabled(): boolean {\n return this.safeNgControlData<boolean>(({disabled}) => disabled, false);\n }\n\n get interactive(): boolean {\n return !this.readOnly && !this.computedDisabled;\n }\n\n get control(): AbstractControl | null {\n return this.safeNgControlData<AbstractControl | null>(\n ({control}) => control,\n null,\n );\n }\n\n get computedName(): string | null {\n return this.controlName?.toString() ?? null;\n }\n\n protected get controlName(): string | null {\n return this.ngControl?.name?.toString() ?? null;\n }\n\n private get rawValue(): T | undefined {\n const {ngControl} = this;\n\n if (ngControl === null) {\n return undefined;\n }\n\n const controlValue =\n ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? ngControl.viewModel\n : ngControl.value;\n\n return this.fromControlValue(controlValue);\n }\n\n ngOnInit(): void {\n this.refresh$\n .pipe(\n delay(0),\n startWith(null),\n map(() => this.ngControl?.control),\n filter(tuiIsPresent),\n distinctUntilChanged(),\n switchMap(control => merge(control.valueChanges, control.statusChanges)),\n takeUntil(this.destroy$),\n )\n .subscribe(() => {\n this.refreshLocalValue(this.safeCurrentValue);\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n checkControlUpdate(): void {\n this.cdr.markForCheck();\n }\n\n registerOnChange(onChange: (value: T | unknown) => void): void {\n this.onChange = (componentValue: T) => {\n onChange(this.toControlValue(componentValue));\n };\n\n this.refresh$.next();\n }\n\n registerOnTouched(onTouched: () => void): void {\n this.onTouched = onTouched;\n }\n\n setDisabledState(): void {\n this.checkControlUpdate();\n }\n\n writeValue(value: T | null): void {\n const controlValue =\n this.ngControl instanceof NgModel && this.previousInternalValue === undefined\n ? this.ngControl.model\n : value;\n\n this.refreshLocalValue(this.fromControlValue(controlValue));\n }\n\n protected override updateFocused(focused: boolean): void {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\n\n /**\n * @deprecated use `value` setter\n */\n protected updateValue(value: T): void {\n if (this.disabled || this.valueIdenticalComparator(this.value, value)) {\n return;\n }\n\n this.previousInternalValue = value;\n this.controlSetValue(value);\n }\n\n protected valueIdenticalComparator(oldValue: T, newValue: T): boolean {\n return oldValue === newValue;\n }\n\n private safeNgControlData<T>(\n extractor: (ngControl: NgControl) => T | null | undefined,\n defaultFieldValue: T,\n ): T {\n return (this.ngControl && extractor(this.ngControl)) ?? defaultFieldValue;\n }\n\n private controlMarkAsTouched(): void {\n this.onTouched();\n this.checkControlUpdate();\n }\n\n private controlSetValue(value: T): void {\n this.onChange(value);\n this.checkControlUpdate();\n }\n\n private refreshLocalValue(value: T | null): void {\n this.previousInternalValue = value;\n this.checkControlUpdate();\n }\n\n private fromControlValue(controlValue: unknown): T {\n return this.valueTransformer\n ? this.valueTransformer.fromControlValue(controlValue)\n : (controlValue as T);\n }\n\n private toControlValue(componentValue: T): unknown {\n return this.valueTransformer\n ? this.valueTransformer.toControlValue(componentValue)\n : componentValue;\n }\n}\n\nexport function tuiAsControl<T>(useExisting: Type<AbstractTuiControl<T>>): Provider {\n return {\n provide: AbstractTuiControl,\n useExisting,\n };\n}\n","import {Directive, OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n@Directive()\nexport abstract class AbstractTuiController implements OnChanges {\n readonly change$ = new Subject<void>();\n\n ngOnChanges(): void {\n this.change$.next();\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {TuiBaseDialogContext} from '@taiga-ui/cdk/interfaces';\nimport {TuiIdService} from '@taiga-ui/cdk/services';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable} from 'rxjs';\n\n@Injectable()\nexport abstract class AbstractTuiDialogService<T, K = void> extends Observable<\n ReadonlyArray<TuiDialog<T, any>>\n> {\n protected abstract readonly component: PolymorpheusComponent<any, TuiDialog<T, any>>;\n\n protected abstract readonly defaultOptions: T;\n\n protected readonly dialogs$ = new BehaviorSubject<ReadonlyArray<TuiDialog<T, any>>>(\n [],\n );\n\n constructor(@Inject(TuiIdService) private readonly idService: TuiIdService) {\n super(observer => this.dialogs$.subscribe(observer));\n }\n\n open<G = void>(\n content: PolymorpheusContent<T & TuiBaseDialogContext<K extends void ? G : K>>,\n options: Partial<T> = {},\n ): Observable<K extends void ? G : K> {\n return new Observable(observer => {\n const completeWith = (result: K extends void ? G : K): void => {\n observer.next(result);\n observer.complete();\n };\n const dialog = {\n ...this.defaultOptions,\n ...options,\n content,\n completeWith,\n $implicit: observer,\n component: this.component,\n createdAt: Date.now(),\n id: this.idService.generate(),\n };\n\n this.dialogs$.next([...this.dialogs$.value, dialog]);\n\n return () => {\n this.dialogs$.next(this.dialogs$.value.filter(item => item !== dialog));\n };\n });\n }\n}\n","import {ChangeDetectorRef, Directive, Inject, TemplateRef} from '@angular/core';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {endWith, ignoreElements, share} from 'rxjs/operators';\n\nimport {AbstractTuiDialogService} from './dialog.service';\n\n@Directive()\nexport abstract class AbstractTuiDialogDirective<T> extends PolymorpheusTemplate<\n TuiDialog<T, void>\n> {\n private readonly open$ = new Subject<boolean>();\n\n options: Partial<T> = {};\n\n set open(open: boolean) {\n this.open$.next(open);\n }\n\n openChange = this.open$.pipe(\n tuiIfMap(() =>\n this.service.open(this, this.options).pipe(ignoreElements(), endWith(false)),\n ),\n share(),\n );\n\n constructor(\n @Inject(TemplateRef)\n templateRef: TemplateRef<TuiDialog<T, void>>,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(AbstractTuiDialogService)\n private readonly service: AbstractTuiDialogService<T>,\n ) {\n super(templateRef, cdr);\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiMultipleControl<T> extends AbstractTuiControl<\n readonly T[]\n> {\n clear(): void {\n this.value = [];\n }\n\n protected getFallbackValue(): readonly T[] {\n return [];\n }\n}\n","import {Directive} from '@angular/core';\n\nimport {AbstractTuiControl} from './control';\n\n@Directive()\nexport abstract class AbstractTuiNullableControl<T> extends AbstractTuiControl<T | null> {\n protected getFallbackValue(): T | null {\n return null;\n }\n}\n","import {ComponentRef, EmbeddedViewRef, Injectable, TemplateRef} from '@angular/core';\nimport {TuiNoHostException} from '@taiga-ui/cdk/exceptions';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {AbstractTuiPortalHostComponent} from './portal-host';\n\n/**\n * Abstract service for displaying portals\n */\n@Injectable()\nexport abstract class AbstractTuiPortalService {\n protected host?: AbstractTuiPortalHostComponent;\n\n protected get safeHost(): AbstractTuiPortalHostComponent {\n if (!this.host) {\n throw new TuiNoHostException();\n }\n\n return this.host;\n }\n\n attach(host: AbstractTuiPortalHostComponent): void {\n this.host = host;\n }\n\n add<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n return this.safeHost.addComponentChild(component);\n }\n\n remove<C>({hostView}: ComponentRef<C>): void {\n hostView.destroy();\n }\n\n addTemplate<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.safeHost.addTemplateChild(templateRef, context);\n }\n\n removeTemplate<C>(viewRef: EmbeddedViewRef<C>): void {\n viewRef.destroy();\n }\n}\n","import {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n Inject,\n INJECTOR,\n Injector,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\n// TODO: find the best way for prevent cycle\n// eslint-disable-next-line import/no-cycle\nimport {AbstractTuiPortalService} from './portal-service';\n\n/**\n * Abstract class for host element for dynamically created portals.\n */\n@Directive()\nexport abstract class AbstractTuiPortalHostComponent {\n @ViewChild(`viewContainer`, {read: ViewContainerRef})\n private readonly vcr!: ViewContainerRef;\n\n constructor(\n @Inject(INJECTOR) private readonly injector: Injector,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalService) portalService: AbstractTuiPortalService,\n ) {\n portalService.attach(this);\n }\n\n get clientRect(): ClientRect {\n return this.el.nativeElement.getBoundingClientRect();\n }\n\n addComponentChild<C>(component: PolymorpheusComponent<C>): ComponentRef<C> {\n const parent = component.createInjector(this.injector);\n const resolver = parent.get(ComponentFactoryResolver);\n const factory = resolver.resolveComponentFactory(component.component);\n const providers = [{provide: AbstractTuiPortalHostComponent, useValue: this}];\n const injector = Injector.create({parent, providers});\n const ref = this.vcr.createComponent(factory, undefined, injector);\n\n ref.changeDetectorRef.detectChanges();\n\n return ref;\n }\n\n addTemplateChild<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.vcr.createEmbeddedView(templateRef, context);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, Inject, OnDestroy} from '@angular/core';\n\n/**\n * Use this abstract class to create your own toggleable themes.\n * A component extending this class must have CSS variables definitions\n * and have ViewEncapsulation set to NONE. A boolean input allows to\n * switch theme on or off.\n */\n@Directive()\nexport abstract class AbstractTuiThemeSwitcher implements OnDestroy {\n static style: HTMLStyleElement | null = null;\n\n constructor(@Inject(DOCUMENT) private readonly doc: Document) {\n if (this.style !== null) {\n this.addTheme();\n\n return;\n }\n\n const styles = this.doc.head.querySelectorAll(`style`);\n\n (this.constructor as typeof AbstractTuiThemeSwitcher).style =\n styles[styles.length - 1];\n }\n\n get style(): HTMLStyleElement | null {\n return (this.constructor as typeof AbstractTuiThemeSwitcher).style;\n }\n\n ngOnDestroy(): void {\n this.removeTheme();\n }\n\n private addTheme(): void {\n if (this.style) {\n this.doc.head.appendChild(this.style);\n }\n }\n\n private removeTheme(): void {\n if (this.style && this.doc.head.contains(this.style)) {\n this.doc.head.removeChild(this.style);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/cdk",
3
- "version": "3.26.0-dev.main-eca1ec4",
3
+ "version": "3.26.0-dev.main-b9c3cb0",
4
4
  "description": "Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance",
5
5
  "keywords": [
6
6
  "angular",