@taiga-ui/cdk 2.47.0 → 2.48.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/abstract/controller.d.ts +6 -0
  2. package/abstract/taiga-ui-cdk-abstract.metadata.json +1 -1
  3. package/bundles/taiga-ui-cdk-abstract.umd.js +12 -0
  4. package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
  5. package/bundles/taiga-ui-cdk-abstract.umd.min.js +1 -1
  6. package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js +96 -35
  8. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
  9. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js +1 -1
  10. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js.map +1 -1
  11. package/bundles/taiga-ui-cdk-enums.umd.js +12 -0
  12. package/bundles/taiga-ui-cdk-enums.umd.js.map +1 -1
  13. package/bundles/taiga-ui-cdk-enums.umd.min.js +1 -1
  14. package/bundles/taiga-ui-cdk-enums.umd.min.js.map +1 -1
  15. package/bundles/taiga-ui-cdk-utils-browser.umd.js +2 -2
  16. package/bundles/taiga-ui-cdk-utils-browser.umd.js.map +1 -1
  17. package/bundles/taiga-ui-cdk-utils-browser.umd.min.js +1 -1
  18. package/bundles/taiga-ui-cdk-utils-browser.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-cdk-utils-focus.umd.js +1 -1
  20. package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
  21. package/bundles/taiga-ui-cdk-utils-focus.umd.min.js +1 -1
  22. package/bundles/taiga-ui-cdk-utils-focus.umd.min.js.map +1 -1
  23. package/directives/auto-focus/autofocus.options.d.ts +1 -1
  24. package/directives/auto-focus/handlers/ios.handler.d.ts +26 -1
  25. package/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.metadata.json +1 -1
  26. package/enums/autocomplete.d.ts +10 -0
  27. package/enums/taiga-ui-cdk-enums.metadata.json +1 -1
  28. package/esm2015/abstract/controller.js +7 -1
  29. package/esm2015/directives/auto-focus/autofocus.options.js +7 -6
  30. package/esm2015/directives/auto-focus/handlers/ios.handler.js +80 -29
  31. package/esm2015/enums/autocomplete.js +12 -1
  32. package/esm2015/utils/browser/is-edge-older-than.js +2 -2
  33. package/esm2015/utils/browser/is-safari.js +2 -2
  34. package/esm2015/utils/focus/get-native-focused.js +2 -2
  35. package/esm5/abstract/controller.js +14 -1
  36. package/esm5/directives/auto-focus/autofocus.options.js +7 -6
  37. package/esm5/directives/auto-focus/handlers/ios.handler.js +92 -30
  38. package/esm5/enums/autocomplete.js +12 -1
  39. package/esm5/utils/browser/is-edge-older-than.js +2 -2
  40. package/esm5/utils/browser/is-safari.js +2 -2
  41. package/esm5/utils/focus/get-native-focused.js +2 -2
  42. package/fesm2015/taiga-ui-cdk-abstract.js +7 -1
  43. package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
  44. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js +84 -33
  45. package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  46. package/fesm2015/taiga-ui-cdk-enums.js +11 -0
  47. package/fesm2015/taiga-ui-cdk-enums.js.map +1 -1
  48. package/fesm2015/taiga-ui-cdk-utils-browser.js +2 -2
  49. package/fesm2015/taiga-ui-cdk-utils-browser.js.map +1 -1
  50. package/fesm2015/taiga-ui-cdk-utils-focus.js +1 -1
  51. package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
  52. package/fesm5/taiga-ui-cdk-abstract.js +12 -1
  53. package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
  54. package/fesm5/taiga-ui-cdk-directives-auto-focus.js +96 -34
  55. package/fesm5/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
  56. package/fesm5/taiga-ui-cdk-enums.js +11 -0
  57. package/fesm5/taiga-ui-cdk-enums.js.map +1 -1
  58. package/fesm5/taiga-ui-cdk-utils-browser.js +2 -2
  59. package/fesm5/taiga-ui-cdk-utils-browser.js.map +1 -1
  60. package/fesm5/taiga-ui-cdk-utils-focus.js +1 -1
  61. package/fesm5/taiga-ui-cdk-utils-focus.js.map +1 -1
  62. package/package.json +1 -1
  63. package/schematics/ng-update/constants/consts.js +28 -0
  64. package/schematics/ng-update/constants/enums.js +22 -0
  65. package/schematics/ng-update/constants/services.d.ts +8 -0
  66. package/schematics/ng-update/constants/services.js +43 -0
  67. package/schematics/ng-update/constants/types.d.ts +1 -0
  68. package/schematics/ng-update/constants/types.js +29 -0
  69. package/schematics/ng-update/constants/warnings.js +22 -0
  70. package/schematics/ng-update/index.js +2 -0
  71. package/schematics/ng-update/steps/rename-types.js +26 -17
  72. package/schematics/ng-update/steps/replace-const.js +2 -2
  73. package/schematics/ng-update/steps/replace-enums.js +2 -2
  74. package/schematics/ng-update/steps/replace-services.d.ts +1 -0
  75. package/schematics/ng-update/steps/replace-services.js +51 -0
  76. package/schematics/ng-update/steps/show-warnings.js +26 -9
  77. package/schematics/utils/{remove-import.d.ts → import-manipulations.d.ts} +1 -0
  78. package/schematics/utils/import-manipulations.js +19 -0
  79. package/schematics/utils/remove-import.js +0 -11
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/cdk/abstract/interactive.ts","ng://@taiga-ui/cdk/abstract/control.ts","ng://@taiga-ui/cdk/abstract/controller.ts","ng://@taiga-ui/cdk/abstract/dialog.service.ts","ng://@taiga-ui/cdk/abstract/dialog.directive.ts","ng://@taiga-ui/cdk/abstract/multiple-control.ts","ng://@taiga-ui/cdk/abstract/nullable-control.ts","ng://@taiga-ui/cdk/abstract/portal-service.ts","ng://@taiga-ui/cdk/abstract/portal-host.ts","ng://@taiga-ui/cdk/abstract/theme-switcher.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__assign","assign","t","s","i","n","arguments","length","apply","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","AbstractTuiInteractive","pseudoHovered","pseudoPressed","pseudoFocused","focusable","nativeId","focusedChange","EventEmitter","pressedChange","hoveredChange","focusVisibleChange","hovered","pressed","focusVisible","autoIdString","AbstractTuiInteractive_1","autoId","Date","now","disabled","computedDisabled","_a","focused","updateHovered","emit","updatePressed","updateFocused","updateFocusVisible","Input","tuiDefaultProp","Output","HostBinding","Directive","AbstractTuiControl","ngControl","changeDetectorRef","valueTransformer","_this","_super","onTouched","EMPTY_FUNCTION","onChange","fallbackValue","getFallbackValue","destroy$","Subject","readOnly","pseudoInvalid","tuiAssert","assert","name","valueAccessor","interactive","touched","invalid","previousInternalValue","rawValue","safeNgControlData","valid","control","_b","controlName","toString","_c","controlValue","NgModel","undefined","viewModel","fromControlValue","ngOnInit","valueChanges","statusChanges","merge","pipe","takeUntil","subscribe","refreshLocalValue","safeCurrentValue","ngOnDestroy","complete","checkControlUpdate","markForCheck","registerOnChange","componentValue","toControlValue","registerOnTouched","setDisabledState","writeValue","model","controlMarkAsTouched","updateValue","valueIdenticalComparator","controlSetValue","oldValue","newValue","extractor","defaultFieldValue","NgControl","ChangeDetectorRef","TuiController","change$","ngOnChanges","AbstractTuiDialogService","idService","observer","dialogs$","BehaviorSubject","open","content","options","Observable","dialog","defaultOptions","completeWith","result","$implicit","component","createdAt","id","generate","concat","__spread","filter","item","TuiIdService","type","Inject","args","Injectable","AbstractTuiDialogDirective","templateRef","service","open$","openChange","switchMap","ignoreElements","endWith","EMPTY","TemplateRef","PolymorpheusTemplate","AbstractTuiMultipleControl","clear","AbstractTuiNullableControl","AbstractTuiPortalService","host","TuiNoHostException","attach","add","componentFactory","injector","safeHost","addComponentChild","remove","hostView","destroy","addTemplate","context","addTemplateChild","removeTemplate","viewRef","AbstractTuiPortalHostComponent","elementRef","portalService","nativeElement","getBoundingClientRect","viewContainerRef","createComponent","Injector","parent","providers","provide","AbstractTuiPortalHostComponent_1","useValue","createEmbeddedView","ElementRef","ViewChild","read","ViewContainerRef","AbstractTuiThemeSwitcher","documentRef","style","styles","head","querySelectorAll","addTheme","removeTheme","appendChild","contains","removeChild","Document","DOCUMENT"],"mappings":"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","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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import {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 pseudoHovered: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoPressed: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoFocused: 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 /** @deprecated use `tuiPressedChange` directive */\n @Output()\n readonly pressedChange = new EventEmitter<boolean>();\n\n /** @deprecated use `tuiHoveredChange` directive */\n @Output()\n readonly hoveredChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusVisibleChange = new EventEmitter<boolean>();\n\n /** @deprecated use `tuiHoveredChange` directive */\n hovered = false;\n\n /** @deprecated use `tuiPressedChange` directive */\n pressed = false;\n\n focusVisible = false;\n\n protected 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 /** @deprecated */\n @HostBinding('class._hovered')\n get computedHovered(): boolean {\n return !this.computedDisabled && (this.pseudoHovered ?? this.hovered);\n }\n\n /** @deprecated */\n @HostBinding('class._pressed')\n get computedPressed(): boolean {\n return !this.computedDisabled && (this.pseudoPressed ?? this.pressed);\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.pseudoFocused ?? this.focused);\n }\n\n @HostBinding('class._focus-visible')\n get computedFocusVisible(): boolean {\n return !this.computedDisabled && (this.pseudoFocused ?? this.focusVisible);\n }\n\n // TODO: 3.0 Consider removing since native input is exposed\n get id(): string {\n return this.nativeId ? this.nativeId : this.autoIdString;\n }\n\n /** @deprecated */\n protected updateHovered(hovered: boolean): void {\n if (this.hovered === hovered) {\n return;\n }\n\n this.hovered = hovered;\n this.hoveredChange.emit(hovered);\n }\n\n /** @deprecated */\n protected updatePressed(pressed: boolean): void {\n if (this.pressed === pressed) {\n return;\n }\n\n this.pressed = pressed;\n this.pressedChange.emit(pressed);\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","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\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';\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 protected constructor(\n private readonly ngControl: NgControl | null,\n protected readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly valueTransformer?: TuiControlValueTransformer<T> | null,\n ) {\n super();\n\n if (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 } else {\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 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.changeDetectorRef.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 updateFocused(focused: boolean): void {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\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","import {OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\nexport abstract class TuiController 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> 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 protected constructor(\n @Inject(TuiIdService) private readonly idService: TuiIdService,\n ) {\n super(observer => this.dialogs$.subscribe(observer));\n }\n\n open<G = void>(\n content: PolymorpheusContent<TuiBaseDialogContext<G> & T>,\n options: Partial<T> = {},\n ): Observable<G> {\n return new Observable(observer => {\n const completeWith = (result: G): 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 {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Subject} from 'rxjs';\nimport {endWith, ignoreElements, switchMap} 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 switchMap(open =>\n open\n ? this.service\n .open(this, this.options)\n .pipe(ignoreElements(), endWith(false))\n : EMPTY,\n ),\n );\n\n constructor(\n @Inject(TemplateRef)\n templateRef: TemplateRef<TuiDialog<T, void>>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(AbstractTuiDialogService)\n private readonly service: AbstractTuiDialogService<T>,\n ) {\n super(templateRef, changeDetectorRef);\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.updateValue([]);\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 {\n ComponentFactory,\n ComponentRef,\n EmbeddedViewRef,\n Injectable,\n Injector,\n TemplateRef,\n} from '@angular/core';\nimport {TuiNoHostException} from '@taiga-ui/cdk/exceptions';\n\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>(componentFactory: ComponentFactory<C>, injector: Injector): ComponentRef<C> {\n return this.safeHost.addComponentChild(componentFactory, injector);\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 ComponentFactory,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n Inject,\n Injector,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\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 viewContainerRef!: ViewContainerRef;\n\n constructor(\n @Inject(ElementRef)\n readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalService) portalService: AbstractTuiPortalService,\n ) {\n portalService.attach(this);\n }\n\n get clientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n addComponentChild<C>(\n componentFactory: ComponentFactory<C>,\n injector: Injector,\n ): ComponentRef<C> {\n return this.viewContainerRef.createComponent<C>(\n componentFactory,\n undefined,\n Injector.create({\n parent: injector,\n providers: [\n {\n provide: AbstractTuiPortalHostComponent,\n useValue: this,\n },\n ],\n }),\n );\n }\n\n addTemplateChild<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.viewContainerRef.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 * @dynamic\n */\n@Directive()\nexport abstract class AbstractTuiThemeSwitcher implements OnDestroy {\n static style: HTMLStyleElement | null = null;\n\n constructor(@Inject(DOCUMENT) private readonly documentRef: Document) {\n if (this.style !== null) {\n this.addTheme();\n\n return;\n }\n\n const styles = this.documentRef.head.querySelectorAll('style');\n\n (<typeof AbstractTuiThemeSwitcher>this.constructor).style =\n styles[styles.length - 1];\n }\n\n get style(): HTMLStyleElement | null {\n return (<typeof AbstractTuiThemeSwitcher>this.constructor).style;\n }\n\n ngOnDestroy(): void {\n this.removeTheme();\n }\n\n private addTheme(): void {\n if (this.style) {\n this.documentRef.head.appendChild(this.style);\n }\n }\n\n private removeTheme(): void {\n if (this.style && this.documentRef.head.contains(this.style)) {\n this.documentRef.head.removeChild(this.style);\n }\n }\n}\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/cdk/abstract/interactive.ts","ng://@taiga-ui/cdk/abstract/control.ts","ng://@taiga-ui/cdk/abstract/controller.ts","ng://@taiga-ui/cdk/abstract/dialog.service.ts","ng://@taiga-ui/cdk/abstract/dialog.directive.ts","ng://@taiga-ui/cdk/abstract/multiple-control.ts","ng://@taiga-ui/cdk/abstract/nullable-control.ts","ng://@taiga-ui/cdk/abstract/portal-service.ts","ng://@taiga-ui/cdk/abstract/portal-host.ts","ng://@taiga-ui/cdk/abstract/theme-switcher.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__extends","TypeError","String","__","this","constructor","create","__assign","assign","t","s","i","n","arguments","length","apply","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__param","paramIndex","decorator","__read","o","m","Symbol","iterator","e","ar","next","done","push","value","error","AbstractTuiInteractive","pseudoHovered","pseudoPressed","pseudoFocused","focusable","nativeId","focusedChange","EventEmitter","pressedChange","hoveredChange","focusVisibleChange","hovered","pressed","focusVisible","autoIdString","AbstractTuiInteractive_1","autoId","Date","now","disabled","computedDisabled","_a","focused","updateHovered","emit","updatePressed","updateFocused","updateFocusVisible","Input","tuiDefaultProp","Output","HostBinding","Directive","AbstractTuiControl","ngControl","changeDetectorRef","valueTransformer","_this","_super","onTouched","EMPTY_FUNCTION","onChange","fallbackValue","getFallbackValue","destroy$","Subject","readOnly","pseudoInvalid","tuiAssert","assert","name","valueAccessor","interactive","touched","invalid","previousInternalValue","rawValue","safeNgControlData","valid","control","_b","controlName","toString","_c","controlValue","NgModel","undefined","viewModel","fromControlValue","ngOnInit","valueChanges","statusChanges","merge","pipe","takeUntil","subscribe","refreshLocalValue","safeCurrentValue","ngOnDestroy","complete","checkControlUpdate","markForCheck","registerOnChange","componentValue","toControlValue","registerOnTouched","setDisabledState","writeValue","model","controlMarkAsTouched","updateValue","valueIdenticalComparator","controlSetValue","oldValue","newValue","extractor","defaultFieldValue","NgControl","ChangeDetectorRef","TuiController","change$","ngOnChanges","AbstractTuiController","AbstractTuiDialogService","idService","observer","dialogs$","BehaviorSubject","open","content","options","Observable","dialog","defaultOptions","completeWith","result","$implicit","component","createdAt","id","generate","concat","__spread","filter","item","TuiIdService","type","Inject","args","Injectable","AbstractTuiDialogDirective","templateRef","service","open$","openChange","switchMap","ignoreElements","endWith","EMPTY","TemplateRef","PolymorpheusTemplate","AbstractTuiMultipleControl","clear","AbstractTuiNullableControl","AbstractTuiPortalService","host","TuiNoHostException","attach","add","componentFactory","injector","safeHost","addComponentChild","remove","hostView","destroy","addTemplate","context","addTemplateChild","removeTemplate","viewRef","AbstractTuiPortalHostComponent","elementRef","portalService","nativeElement","getBoundingClientRect","viewContainerRef","createComponent","Injector","parent","providers","provide","AbstractTuiPortalHostComponent_1","useValue","createEmbeddedView","ElementRef","ViewChild","read","ViewContainerRef","AbstractTuiThemeSwitcher","documentRef","style","styles","head","querySelectorAll","addTheme","removeTheme","appendChild","contains","removeChild","Document","DOCUMENT"],"mappings":"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","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 var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import {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 pseudoHovered: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoPressed: boolean | null = null;\n\n @Input()\n @tuiDefaultProp()\n pseudoFocused: 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 /** @deprecated use `tuiPressedChange` directive */\n @Output()\n readonly pressedChange = new EventEmitter<boolean>();\n\n /** @deprecated use `tuiHoveredChange` directive */\n @Output()\n readonly hoveredChange = new EventEmitter<boolean>();\n\n @Output()\n readonly focusVisibleChange = new EventEmitter<boolean>();\n\n /** @deprecated use `tuiHoveredChange` directive */\n hovered = false;\n\n /** @deprecated use `tuiPressedChange` directive */\n pressed = false;\n\n focusVisible = false;\n\n protected 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 /** @deprecated */\n @HostBinding('class._hovered')\n get computedHovered(): boolean {\n return !this.computedDisabled && (this.pseudoHovered ?? this.hovered);\n }\n\n /** @deprecated */\n @HostBinding('class._pressed')\n get computedPressed(): boolean {\n return !this.computedDisabled && (this.pseudoPressed ?? this.pressed);\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.pseudoFocused ?? this.focused);\n }\n\n @HostBinding('class._focus-visible')\n get computedFocusVisible(): boolean {\n return !this.computedDisabled && (this.pseudoFocused ?? this.focusVisible);\n }\n\n // TODO: 3.0 Consider removing since native input is exposed\n get id(): string {\n return this.nativeId ? this.nativeId : this.autoIdString;\n }\n\n /** @deprecated */\n protected updateHovered(hovered: boolean): void {\n if (this.hovered === hovered) {\n return;\n }\n\n this.hovered = hovered;\n this.hoveredChange.emit(hovered);\n }\n\n /** @deprecated */\n protected updatePressed(pressed: boolean): void {\n if (this.pressed === pressed) {\n return;\n }\n\n this.pressed = pressed;\n this.pressedChange.emit(pressed);\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","import {\n ChangeDetectorRef,\n Directive,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\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';\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 protected constructor(\n private readonly ngControl: NgControl | null,\n protected readonly changeDetectorRef: ChangeDetectorRef,\n protected readonly valueTransformer?: TuiControlValueTransformer<T> | null,\n ) {\n super();\n\n if (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 } else {\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 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.changeDetectorRef.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 updateFocused(focused: boolean): void {\n if (!focused) {\n this.controlMarkAsTouched();\n }\n\n super.updateFocused(focused);\n }\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","/* eslint-disable @typescript-eslint/naming-convention */\nimport {OnChanges} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/**\n * @deprecated\n * TODO: 3.0 replace with {@link AbstractTuiController}\n */\nexport abstract class TuiController implements OnChanges {\n readonly change$ = new Subject<void>();\n\n ngOnChanges(): void {\n this.change$.next();\n }\n}\n\nexport abstract class AbstractTuiController extends TuiController {}\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> 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 protected constructor(\n @Inject(TuiIdService) private readonly idService: TuiIdService,\n ) {\n super(observer => this.dialogs$.subscribe(observer));\n }\n\n open<G = void>(\n content: PolymorpheusContent<TuiBaseDialogContext<G> & T>,\n options: Partial<T> = {},\n ): Observable<G> {\n return new Observable(observer => {\n const completeWith = (result: G): 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 {TuiDialog} from '@taiga-ui/cdk/types';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, Subject} from 'rxjs';\nimport {endWith, ignoreElements, switchMap} 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 switchMap(open =>\n open\n ? this.service\n .open(this, this.options)\n .pipe(ignoreElements(), endWith(false))\n : EMPTY,\n ),\n );\n\n constructor(\n @Inject(TemplateRef)\n templateRef: TemplateRef<TuiDialog<T, void>>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(AbstractTuiDialogService)\n private readonly service: AbstractTuiDialogService<T>,\n ) {\n super(templateRef, changeDetectorRef);\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.updateValue([]);\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 {\n ComponentFactory,\n ComponentRef,\n EmbeddedViewRef,\n Injectable,\n Injector,\n TemplateRef,\n} from '@angular/core';\nimport {TuiNoHostException} from '@taiga-ui/cdk/exceptions';\n\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>(componentFactory: ComponentFactory<C>, injector: Injector): ComponentRef<C> {\n return this.safeHost.addComponentChild(componentFactory, injector);\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 ComponentFactory,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n Inject,\n Injector,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\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 viewContainerRef!: ViewContainerRef;\n\n constructor(\n @Inject(ElementRef)\n readonly elementRef: ElementRef<HTMLElement>,\n @Inject(AbstractTuiPortalService) portalService: AbstractTuiPortalService,\n ) {\n portalService.attach(this);\n }\n\n get clientRect(): ClientRect {\n return this.elementRef.nativeElement.getBoundingClientRect();\n }\n\n addComponentChild<C>(\n componentFactory: ComponentFactory<C>,\n injector: Injector,\n ): ComponentRef<C> {\n return this.viewContainerRef.createComponent<C>(\n componentFactory,\n undefined,\n Injector.create({\n parent: injector,\n providers: [\n {\n provide: AbstractTuiPortalHostComponent,\n useValue: this,\n },\n ],\n }),\n );\n }\n\n addTemplateChild<C>(templateRef: TemplateRef<C>, context?: C): EmbeddedViewRef<C> {\n return this.viewContainerRef.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 * @dynamic\n */\n@Directive()\nexport abstract class AbstractTuiThemeSwitcher implements OnDestroy {\n static style: HTMLStyleElement | null = null;\n\n constructor(@Inject(DOCUMENT) private readonly documentRef: Document) {\n if (this.style !== null) {\n this.addTheme();\n\n return;\n }\n\n const styles = this.documentRef.head.querySelectorAll('style');\n\n (<typeof AbstractTuiThemeSwitcher>this.constructor).style =\n styles[styles.length - 1];\n }\n\n get style(): HTMLStyleElement | null {\n return (<typeof AbstractTuiThemeSwitcher>this.constructor).style;\n }\n\n ngOnDestroy(): void {\n this.removeTheme();\n }\n\n private addTheme(): void {\n if (this.style) {\n this.documentRef.head.appendChild(this.style);\n }\n }\n\n private removeTheme(): void {\n if (this.style && this.documentRef.head.contains(this.style)) {\n this.documentRef.head.removeChild(this.style);\n }\n }\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@ng-web-apis/common'), require('@taiga-ui/cdk/tokens'), require('@taiga-ui/cdk/constants'), require('rxjs'), require('rxjs/operators')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/cdk/directives/auto-focus', ['exports', '@angular/core', '@ng-web-apis/common', '@taiga-ui/cdk/tokens', '@taiga-ui/cdk/constants', 'rxjs', 'rxjs/operators'], factory) :
4
- (global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui'].cdk = global['taiga-ui'].cdk || {}, global['taiga-ui'].cdk.directives = global['taiga-ui'].cdk.directives || {}, global['taiga-ui'].cdk.directives['auto-focus'] = {}), global.ng.core, global.common, global['taiga-ui'].cdk.tokens, global['taiga-ui'].cdk.constants, global.rxjs, global.rxjs.operators));
5
- }(this, (function (exports, core, common, tokens, constants, rxjs, operators) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@ng-web-apis/common'), require('@taiga-ui/cdk/tokens'), require('@taiga-ui/cdk/constants'), require('rxjs'), require('rxjs/operators'), require('@taiga-ui/cdk/utils')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/cdk/directives/auto-focus', ['exports', '@angular/core', '@ng-web-apis/common', '@taiga-ui/cdk/tokens', '@taiga-ui/cdk/constants', 'rxjs', 'rxjs/operators', '@taiga-ui/cdk/utils'], factory) :
4
+ (global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui'].cdk = global['taiga-ui'].cdk || {}, global['taiga-ui'].cdk.directives = global['taiga-ui'].cdk.directives || {}, global['taiga-ui'].cdk.directives['auto-focus'] = {}), global.ng.core, global.common, global['taiga-ui'].cdk.tokens, global['taiga-ui'].cdk.constants, global.rxjs, global.rxjs.operators, global['taiga-ui'].cdk.utils));
5
+ }(this, (function (exports, core, common, tokens, constants, rxjs, operators, utils) { 'use strict';
6
6
 
7
7
  /******************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
@@ -318,12 +318,15 @@
318
318
  return TuiDefaultAutofocusHandler;
319
319
  }(AbstractTuiAutofocusHandler));
320
320
 
321
+ // @dynamic
321
322
  var TuiIosAutofocusHandler = /** @class */ (function (_super) {
322
323
  __extends(TuiIosAutofocusHandler, _super);
323
- function TuiIosAutofocusHandler(tuiFocusableComponent, elementRef, renderer, ngZone) {
324
+ function TuiIosAutofocusHandler(tuiFocusableComponent, elementRef, renderer, ngZone, windowRef) {
324
325
  var _this = _super.call(this, tuiFocusableComponent, elementRef) || this;
325
326
  _this.renderer = renderer;
326
327
  _this.ngZone = ngZone;
328
+ _this.windowRef = windowRef;
329
+ _this.patchCssStyles();
327
330
  return _this;
328
331
  }
329
332
  TuiIosAutofocusHandler.prototype.setFocus = function () {
@@ -338,43 +341,99 @@
338
341
  TuiIosAutofocusHandler.prototype.iosWebkitAutofocus = function () {
339
342
  var _this = this;
340
343
  var _a;
341
- var fakeInput = this.renderer.createElement('input');
342
- fakeInput.style.position = 'absolute';
343
- fakeInput.style.opacity = '0';
344
- fakeInput.style.height = '0';
345
- var blurHandler = function () { return fakeInput.focus(); };
344
+ var fakeInput = this.makeFakeInput();
345
+ var duration = this.getDurationTimeBeforeFocus();
346
+ var fakeFocusTimeoutId = 0;
347
+ var elementFocusTimeoutId = 0;
348
+ var blurHandler = function () { return fakeInput.focus({ preventScroll: true }); };
346
349
  var focusHandler = function () {
347
- setTimeout(function () {
348
- _this.element.focus();
349
- /**
350
- * @note:
351
- * We can't remove the element immediately, because it breaks flow
352
- */
353
- setTimeout(function () {
354
- fakeInput.removeEventListener('blur', blurHandler);
355
- fakeInput.removeEventListener('focus', focusHandler);
350
+ clearTimeout(fakeFocusTimeoutId);
351
+ fakeFocusTimeoutId = _this.windowRef.setTimeout(function () {
352
+ clearTimeout(elementFocusTimeoutId);
353
+ fakeInput.removeEventListener('blur', blurHandler);
354
+ fakeInput.removeEventListener('focus', focusHandler);
355
+ elementFocusTimeoutId = _this.windowRef.setTimeout(function () {
356
+ _this.element.focus({ preventScroll: false });
356
357
  fakeInput.remove();
357
- });
358
+ }, duration);
358
359
  });
359
360
  };
360
- /**
361
- * @note: ping-pong eager strategy hack
362
- * After creating an element and bringing it into DOM,
363
- * the browser automatically focuses on the invisible element.
364
- * And then, after focus is triggered, we try to focus on target element, and if we managed to refocus,
365
- * then we try to focus again on an invisible element, so that the keyboard slowly appears.
366
- * This ping pong allows the keyboard to not overlap the modal window.
367
- */
368
361
  fakeInput.addEventListener('blur', blurHandler, { once: true });
369
362
  fakeInput.addEventListener('focus', focusHandler);
370
- (_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.appendChild(fakeInput);
371
- fakeInput.focus();
363
+ if (this.insideDialog()) {
364
+ this.windowRef.document.body.appendChild(fakeInput);
365
+ }
366
+ else {
367
+ (_a = this.element.parentElement) === null || _a === void 0 ? void 0 : _a.appendChild(fakeInput);
368
+ }
369
+ fakeInput.focus({ preventScroll: true });
370
+ };
371
+ /**
372
+ * @note:
373
+ * emulate textfield position in layout with cursor
374
+ * before focus to real textfield element
375
+ */
376
+ TuiIosAutofocusHandler.prototype.makeFakeInput = function () {
377
+ var fakeInput = this.renderer.createElement('input');
378
+ var rect = this.element.getBoundingClientRect();
379
+ fakeInput.style.height = utils.px(rect.height);
380
+ fakeInput.style.width = utils.px(rect.width / 2);
381
+ fakeInput.style.position = 'fixed';
382
+ fakeInput.style.opacity = '0';
383
+ fakeInput.style.fontSize = utils.px(16); // disable possible auto zoom
384
+ fakeInput.readOnly = true; // prevent keyboard for fake input
385
+ // @note: emulate position cursor before focus to real textfield element
386
+ fakeInput.style.top = utils.px(rect.top);
387
+ fakeInput.style.left = utils.px(rect.left);
388
+ return fakeInput;
389
+ };
390
+ TuiIosAutofocusHandler.prototype.getDurationTimeBeforeFocus = function () {
391
+ return (parseFloat(this.windowRef
392
+ .getComputedStyle(this.element)
393
+ .getPropertyValue('--tui-duration')) || 0);
394
+ };
395
+ /**
396
+ * @note:
397
+ * unfortunately, in older versions of iOS
398
+ * there is a bug that the fake input cursor
399
+ * will move along with the dialog animation
400
+ * and then that dialog will be shaking
401
+ */
402
+ TuiIosAutofocusHandler.prototype.insideDialog = function () {
403
+ return !!this.element.closest('tui-dialog');
404
+ };
405
+ /**
406
+ * @note:
407
+ * This is necessary so that the viewport isn't recalculated
408
+ * and then the dialogs don't shake.
409
+ *
410
+ * Also, we need to fixed height viewport,
411
+ * so that when focusing the dialogs don't shake
412
+ */
413
+ TuiIosAutofocusHandler.prototype.patchCssStyles = function () {
414
+ var e_1, _a;
415
+ var documentRef = this.windowRef.document;
416
+ try {
417
+ for (var _b = __values([documentRef.documentElement, documentRef.body]), _c = _b.next(); !_c.done; _c = _b.next()) {
418
+ var element = _c.value;
419
+ element.style.setProperty('overflow', 'auto');
420
+ element.style.setProperty('height', '100%');
421
+ }
422
+ }
423
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
424
+ finally {
425
+ try {
426
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
427
+ }
428
+ finally { if (e_1) throw e_1.error; }
429
+ }
372
430
  };
373
431
  TuiIosAutofocusHandler.ctorParameters = function () { return [
374
432
  { type: undefined, decorators: [{ type: core.Optional }, { type: core.Self }, { type: core.Inject, args: [tokens.TUI_FOCUSABLE_ITEM_ACCESSOR,] }] },
375
433
  { type: core.ElementRef, decorators: [{ type: core.Inject, args: [core.ElementRef,] }] },
376
434
  { type: core.Renderer2, decorators: [{ type: core.Inject, args: [core.Renderer2,] }] },
377
- { type: core.NgZone, decorators: [{ type: core.Inject, args: [core.NgZone,] }] }
435
+ { type: core.NgZone, decorators: [{ type: core.Inject, args: [core.NgZone,] }] },
436
+ { type: Window, decorators: [{ type: core.Inject, args: [common.WINDOW,] }] }
378
437
  ]; };
379
438
  TuiIosAutofocusHandler = __decorate([
380
439
  core.Directive(),
@@ -383,16 +442,17 @@
383
442
  __param(0, core.Inject(tokens.TUI_FOCUSABLE_ITEM_ACCESSOR)),
384
443
  __param(1, core.Inject(core.ElementRef)),
385
444
  __param(2, core.Inject(core.Renderer2)),
386
- __param(3, core.Inject(core.NgZone))
445
+ __param(3, core.Inject(core.NgZone)),
446
+ __param(4, core.Inject(common.WINDOW))
387
447
  ], TuiIosAutofocusHandler);
388
448
  return TuiIosAutofocusHandler;
389
449
  }(AbstractTuiAutofocusHandler));
390
450
 
391
451
  var TUI_AUTOFOCUS_HANDLER = new core.InjectionToken('Autofocusing handler');
392
452
  // TODO: 3.0 remove in ivy compilation
393
- function tuiAutofocusHandlerFactory(tuiFocusableComponent, elementRef, animationFrame$, renderer, ngZone) {
394
- return core.inject(tokens.TUI_IS_APPLE)
395
- ? new TuiIosAutofocusHandler(tuiFocusableComponent, elementRef, renderer, ngZone)
453
+ function tuiAutofocusHandlerFactory(tuiFocusableComponent, elementRef, animationFrame$, renderer, ngZone, windowRef) {
454
+ return core.inject(tokens.TUI_IS_IOS)
455
+ ? new TuiIosAutofocusHandler(tuiFocusableComponent, elementRef, renderer, ngZone, windowRef)
396
456
  : new TuiDefaultAutofocusHandler(tuiFocusableComponent, elementRef, animationFrame$);
397
457
  }
398
458
  var TUI_AUTOFOCUS_PROVIDERS = [
@@ -406,6 +466,7 @@
406
466
  common.ANIMATION_FRAME,
407
467
  core.Renderer2,
408
468
  core.NgZone,
469
+ common.WINDOW,
409
470
  ],
410
471
  },
411
472
  ];