@taiga-ui/addon-doc 3.0.0-rc.0 → 3.0.0-rc.3

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 (50) hide show
  1. package/bundles/taiga-ui-addon-doc.umd.js +501 -561
  2. package/bundles/taiga-ui-addon-doc.umd.js.map +1 -1
  3. package/components/code/parse-code-block.d.ts +1 -5
  4. package/components/documentation/documentation.module.d.ts +1 -1
  5. package/components/language-switcher/language-switcher.component.d.ts +16 -0
  6. package/components/language-switcher/language-switcher.module.d.ts +11 -0
  7. package/components/main/main.component.d.ts +1 -1
  8. package/components/navigation/navigation.component.d.ts +5 -5
  9. package/components/navigation/navigation.module.d.ts +5 -4
  10. package/components/navigation/navigation.providers.d.ts +0 -4
  11. package/components/page/page.providers.d.ts +1 -2
  12. package/directives/scroll-into-view/scroll-into-view.directive.d.ts +3 -11
  13. package/directives/scroll-into-view/scroll-into-view.module.d.ts +0 -9
  14. package/esm2015/components/code/code.component.js +4 -4
  15. package/esm2015/components/code/parse-code-block.js +2 -7
  16. package/esm2015/components/copy/copy.component.js +1 -2
  17. package/esm2015/components/demo/demo.component.js +2 -3
  18. package/esm2015/components/documentation/documentation-property-connector.directive.js +3 -3
  19. package/esm2015/components/documentation/documentation.component.js +10 -12
  20. package/esm2015/components/documentation/documentation.module.js +5 -5
  21. package/esm2015/components/example/example.component.js +3 -5
  22. package/esm2015/components/language-switcher/language-switcher.component.js +55 -0
  23. package/esm2015/components/language-switcher/language-switcher.module.js +21 -0
  24. package/esm2015/components/main/main.component.js +2 -3
  25. package/esm2015/components/navigation/navigation.component.js +30 -36
  26. package/esm2015/components/navigation/navigation.module.js +18 -17
  27. package/esm2015/components/navigation/navigation.providers.js +14 -19
  28. package/esm2015/components/page/page.component.js +2 -4
  29. package/esm2015/components/page/page.providers.js +10 -12
  30. package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +10 -26
  31. package/esm2015/directives/scroll-into-view/scroll-into-view.module.js +2 -19
  32. package/esm2015/internal/see-also/see-also.component.js +2 -3
  33. package/esm2015/public-api.js +3 -1
  34. package/esm2015/utils/coerce-value.js +2 -7
  35. package/esm2015/utils/inspect.js +4 -7
  36. package/esm2015/utils/raw-load-record.js +4 -9
  37. package/esm2015/utils/raw-load.js +2 -7
  38. package/esm2015/utils/transliterate-keyboard-layout.js +2 -5
  39. package/fesm2015/taiga-ui-addon-doc.js +180 -229
  40. package/fesm2015/taiga-ui-addon-doc.js.map +1 -1
  41. package/package.json +5 -5
  42. package/public-api.d.ts +2 -0
  43. package/tokens/logo.d.ts +1 -1
  44. package/utils/coerce-value.d.ts +1 -5
  45. package/utils/inspect.d.ts +1 -3
  46. package/utils/raw-load-record.d.ts +1 -5
  47. package/utils/raw-load.d.ts +1 -5
  48. package/utils/transliterate-keyboard-layout.d.ts +1 -3
  49. package/esm2015/utils/color-conversion.js +0 -27
  50. package/utils/color-conversion.d.ts +0 -12
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('rxjs/operators'), require('markdown-it'), require('@angular/common'), require('ngx-highlightjs'), require('@taiga-ui/cdk'), require('@taiga-ui/kit'), require('@taiga-ui/core'), require('@angular/forms'), require('@angular/router'), require('@angular/animations'), require('@angular/cdk/clipboard'), require('@ng-web-apis/common'), require('@tinkoff/ng-polymorpheus'), require('@angular/platform-browser'), require('@taiga-ui/addon-mobile')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/addon-doc', ['exports', '@angular/core', 'rxjs', 'rxjs/operators', 'markdown-it', '@angular/common', 'ngx-highlightjs', '@taiga-ui/cdk', '@taiga-ui/kit', '@taiga-ui/core', '@angular/forms', '@angular/router', '@angular/animations', '@angular/cdk/clipboard', '@ng-web-apis/common', '@tinkoff/ng-polymorpheus', '@angular/platform-browser', '@taiga-ui/addon-mobile'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"]["addon-doc"] = {}), global.ng.core, global.rxjs, global.rxjs.operators, global.MarkdownIt, global.ng.common, global.i2, global.i3, global.i2$1, global.i1, global.ng.forms, global.ng.router, global.ng.animations, global.ng.cdk.clipboard, global.common, global.i6, global.ng.platformBrowser, global.i4$1));
5
- })(this, (function (exports, i0, i8, operators, MarkdownIt, i4, i2, i3, i2$1, i1, i5, i5$1, animations, i8$1, common, i6, i7, i4$1) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('rxjs/operators'), require('markdown-it'), require('@angular/common'), require('ngx-highlightjs'), require('@taiga-ui/cdk'), require('@taiga-ui/kit'), require('@taiga-ui/core'), require('@angular/forms'), require('@angular/router'), require('@angular/animations'), require('@angular/cdk/clipboard'), require('@ng-web-apis/common'), require('@tinkoff/ng-polymorpheus'), require('@taiga-ui/i18n'), require('@angular/platform-browser'), require('@taiga-ui/addon-mobile')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/addon-doc', ['exports', '@angular/core', 'rxjs', 'rxjs/operators', 'markdown-it', '@angular/common', 'ngx-highlightjs', '@taiga-ui/cdk', '@taiga-ui/kit', '@taiga-ui/core', '@angular/forms', '@angular/router', '@angular/animations', '@angular/cdk/clipboard', '@ng-web-apis/common', '@tinkoff/ng-polymorpheus', '@taiga-ui/i18n', '@angular/platform-browser', '@taiga-ui/addon-mobile'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"]["addon-doc"] = {}), global.ng.core, global.rxjs, global.rxjs.operators, global.MarkdownIt, global.ng.common, global.i2, global.i6, global.i1, global.i2$1, global.ng.forms, global.ng.router, global.ng.animations, global.ng.cdk.clipboard, global.common, global.i6$2, global.i5$2, global.ng.platformBrowser, global.i4));
5
+ })(this, (function (exports, i0, i9, operators, MarkdownIt, i5, i2, i6, i1, i2$1, i5$1, i6$1, animations, i8, common, i6$2, i5$2, i8$1, i4) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -25,19 +25,20 @@
25
25
  }
26
26
 
27
27
  var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
28
- var i8__namespace = /*#__PURE__*/_interopNamespace(i8);
28
+ var i9__namespace = /*#__PURE__*/_interopNamespace(i9);
29
29
  var MarkdownIt__default = /*#__PURE__*/_interopDefaultLegacy(MarkdownIt);
30
- var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
30
+ var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
31
31
  var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
32
- var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
33
- var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
32
+ var i6__namespace$1 = /*#__PURE__*/_interopNamespace(i6);
34
33
  var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
35
- var i5__namespace$1 = /*#__PURE__*/_interopNamespace(i5);
36
- var i5__namespace = /*#__PURE__*/_interopNamespace(i5$1);
34
+ var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
35
+ var i5__namespace$1 = /*#__PURE__*/_interopNamespace(i5$1);
36
+ var i6__namespace = /*#__PURE__*/_interopNamespace(i6$1);
37
+ var i8__namespace = /*#__PURE__*/_interopNamespace(i8);
38
+ var i6__namespace$2 = /*#__PURE__*/_interopNamespace(i6$2);
39
+ var i5__namespace$2 = /*#__PURE__*/_interopNamespace(i5$2);
37
40
  var i8__namespace$1 = /*#__PURE__*/_interopNamespace(i8$1);
38
- var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
39
- var i7__namespace = /*#__PURE__*/_interopNamespace(i7);
40
- var i4__namespace$1 = /*#__PURE__*/_interopNamespace(i4$1);
41
+ var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
41
42
 
42
43
  /******************************************************************************
43
44
  Copyright (c) Microsoft Corporation.
@@ -376,11 +377,7 @@
376
377
  .replaceAll("\\\"", "\"")
377
378
  : fileContent;
378
379
  }
379
- /**
380
- * @deprecated: use {@link tuiRawLoad} instead
381
- */
382
- // eslint-disable-next-line @typescript-eslint/naming-convention
383
- function rawLoad(content) {
380
+ function tuiRawLoad(content) {
384
381
  return __awaiter(this, void 0, void 0, function () {
385
382
  var unpacked, _a;
386
383
  return __generator(this, function (_b) {
@@ -401,13 +398,8 @@
401
398
  });
402
399
  });
403
400
  }
404
- var tuiRawLoad = rawLoad;
405
401
 
406
- /**
407
- * @deprecated: use {@link tuiTryParseMarkdownCodeBlock} instead
408
- */
409
- // eslint-disable-next-line @typescript-eslint/naming-convention
410
- function tryParseMarkdownCodeBlock(text) {
402
+ function tuiTryParseMarkdownCodeBlock(text) {
411
403
  if (text === void 0) { text = ""; }
412
404
  var tokens = new MarkdownIt__default["default"]().parse(text, {});
413
405
  var result = tokens
@@ -421,13 +413,12 @@
421
413
  });
422
414
  return result.length ? result : [text];
423
415
  }
424
- var tuiTryParseMarkdownCodeBlock = tryParseMarkdownCodeBlock;
425
416
 
426
417
  var TuiDocCodeComponent = /** @class */ (function () {
427
418
  function TuiDocCodeComponent() {
428
- this.rawLoader$$ = new i8.BehaviorSubject("");
419
+ this.rawLoader$$ = new i9.BehaviorSubject("");
429
420
  this.filename = "";
430
- this.processor$ = this.rawLoader$$.pipe(operators.switchMap(rawLoad), operators.map(tryParseMarkdownCodeBlock));
421
+ this.processor$ = this.rawLoader$$.pipe(operators.switchMap(tuiRawLoad), operators.map(tuiTryParseMarkdownCodeBlock));
431
422
  }
432
423
  Object.defineProperty(TuiDocCodeComponent.prototype, "code", {
433
424
  set: function (code) {
@@ -446,7 +437,7 @@
446
437
  return TuiDocCodeComponent;
447
438
  }());
448
439
  TuiDocCodeComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocCodeComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
449
- TuiDocCodeComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocCodeComponent, selector: "tui-doc-code", inputs: { filename: "filename", code: "code" }, host: { properties: { "class._has-filename": "this.hasFilename" } }, ngImport: i0__namespace, template: "<p\n *ngIf=\"filename\"\n class=\"t-header\"\n>\n {{ filename }}\n</p>\n<pre\n *ngFor=\"let content of processor$ | async\"\n class=\"t-code\"\n><code [lineNumbers]=\"true\" [highlight]=\"content\"></code></pre>\n", styles: [":host{display:block}.t-header{font:var(--tui-font-text-s);font-weight:bold}.t-code{margin:0}.t-code+.t-code{margin-top:1rem}.hljs:not(:empty){font:var(--tui-font-text-m);padding:1.5rem 2rem;font-family:monospace;background:var(--tui-clear-disabled);word-wrap:break-word;white-space:pre-wrap}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.hljs:not(:empty)::-webkit-scrollbar,.hljs:not(:empty)::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}.hljs:not(:empty)::-webkit-scrollbar{background-color:transparent}.hljs:not(:empty)::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.hljs:not(:empty)::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.hljs:not(:empty)::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host._has-filename .hljs:not(:empty){border-radius:.75rem}:host-context(tui-root._mobile) .hljs:not(:empty){padding:1rem}\n"], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace.Highlight, selector: "[highlight]", inputs: ["highlight", "languages", "lineNumbers"], outputs: ["highlighted"] }], pipes: { "async": i4__namespace.AsyncPipe } });
440
+ TuiDocCodeComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocCodeComponent, selector: "tui-doc-code", inputs: { filename: "filename", code: "code" }, host: { properties: { "class._has-filename": "this.hasFilename" } }, ngImport: i0__namespace, template: "<p\n *ngIf=\"filename\"\n class=\"t-header\"\n>\n {{ filename }}\n</p>\n<pre\n *ngFor=\"let content of processor$ | async\"\n class=\"t-code\"\n><code [lineNumbers]=\"true\" [highlight]=\"content\"></code></pre>\n", styles: [":host{display:block}.t-header{font:var(--tui-font-text-s);font-weight:bold}.t-code{margin:0}.t-code+.t-code{margin-top:1rem}.hljs:not(:empty){font:var(--tui-font-text-m);padding:1.5rem 2rem;font-family:monospace;background:var(--tui-clear-disabled);word-wrap:break-word;white-space:pre-wrap}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.hljs:not(:empty)::-webkit-scrollbar,.hljs:not(:empty)::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}.hljs:not(:empty)::-webkit-scrollbar{background-color:transparent}.hljs:not(:empty)::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.hljs:not(:empty)::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.hljs:not(:empty)::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host._has-filename .hljs:not(:empty){border-radius:.75rem}:host-context(tui-root._mobile) .hljs:not(:empty){padding:1rem}\n"], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace.Highlight, selector: "[highlight]", inputs: ["highlight", "languages", "lineNumbers"], outputs: ["highlighted"] }], pipes: { "async": i5__namespace.AsyncPipe } });
450
441
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocCodeComponent, decorators: [{
451
442
  type: i0.Component,
452
443
  args: [{
@@ -469,27 +460,26 @@
469
460
  return TuiDocCodeModule;
470
461
  }());
471
462
  TuiDocCodeModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocCodeModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
472
- TuiDocCodeModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocCodeModule, declarations: [TuiDocCodeComponent], imports: [i4.CommonModule, i2.HighlightModule], exports: [TuiDocCodeComponent] });
473
- TuiDocCodeModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocCodeModule, imports: [[i4.CommonModule, i2.HighlightModule]] });
463
+ TuiDocCodeModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocCodeModule, declarations: [TuiDocCodeComponent], imports: [i5.CommonModule, i2.HighlightModule], exports: [TuiDocCodeComponent] });
464
+ TuiDocCodeModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocCodeModule, imports: [[i5.CommonModule, i2.HighlightModule]] });
474
465
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocCodeModule, decorators: [{
475
466
  type: i0.NgModule,
476
467
  args: [{
477
- imports: [i4.CommonModule, i2.HighlightModule],
468
+ imports: [i5.CommonModule, i2.HighlightModule],
478
469
  declarations: [TuiDocCodeComponent],
479
470
  exports: [TuiDocCodeComponent],
480
471
  }]
481
472
  }] });
482
473
 
483
474
  var COPIED_TIMEOUT = 1500;
484
- // @dynamic
485
475
  var TuiDocCopyComponent = /** @class */ (function () {
486
476
  function TuiDocCopyComponent(texts$) {
487
477
  this.texts$ = texts$;
488
- this.copy$ = new i8.Subject();
478
+ this.copy$ = new i9.Subject();
489
479
  }
490
480
  Object.defineProperty(TuiDocCopyComponent.prototype, "copied$", {
491
481
  get: function () {
492
- return this.copy$.pipe(operators.switchMapTo(i8.timer(COPIED_TIMEOUT).pipe(operators.mapTo(false), operators.startWith(true))));
482
+ return this.copy$.pipe(operators.switchMapTo(i9.timer(COPIED_TIMEOUT).pipe(operators.mapTo(false), operators.startWith(true))));
493
483
  },
494
484
  enumerable: false,
495
485
  configurable: true
@@ -499,10 +489,10 @@
499
489
  };
500
490
  return TuiDocCopyComponent;
501
491
  }());
502
- TuiDocCopyComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocCopyComponent, deps: [{ token: i2$1.TUI_COPY_TEXTS }], target: i0__namespace.ɵɵFactoryTarget.Component });
503
- TuiDocCopyComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocCopyComponent, selector: "tui-doc-copy", providers: [i3.TuiDestroyService], ngImport: i0__namespace, template: "<button\n *ngIf=\"texts$ | async as texts\"\n tuiButton\n type=\"button\"\n appearance=\"\"\n size=\"s\"\n class=\"t-copy\"\n [title]=\"texts[0]\"\n (click)=\"onClick()\"\n>\n <span\n class=\"t-content\"\n [class.t-content_moved]=\"copied$ | async\"\n >\n <span\n class=\"t-initial\"\n [attr.data-text]=\"texts[0]\"\n >\n <ng-content></ng-content>\n </span>\n {{ texts[1] }}\n </span>\n</button>\n", styles: [":host{position:relative;display:inline-block;vertical-align:middle}.t-copy{transition-property:background;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;width:100%;color:var(--tui-text-01);background:var(--tui-base-01);overflow:hidden}.t-copy:hover{background:var(--tui-base-02)}.t-initial{white-space:nowrap}.t-initial:empty:before{content:attr(data-text)}.t-content{transition-property:transform;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;flex-direction:column;transform:translateY(1rem);text-align:center;line-height:2rem}.t-content_moved{transform:translateY(-1rem)}\n"], components: [{ type: i1__namespace.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
492
+ TuiDocCopyComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocCopyComponent, deps: [{ token: i1.TUI_COPY_TEXTS }], target: i0__namespace.ɵɵFactoryTarget.Component });
493
+ TuiDocCopyComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocCopyComponent, selector: "tui-doc-copy", providers: [i6.TuiDestroyService], ngImport: i0__namespace, template: "<button\n *ngIf=\"texts$ | async as texts\"\n tuiButton\n type=\"button\"\n appearance=\"\"\n size=\"s\"\n class=\"t-copy\"\n [title]=\"texts[0]\"\n (click)=\"onClick()\"\n>\n <span\n class=\"t-content\"\n [class.t-content_moved]=\"copied$ | async\"\n >\n <span\n class=\"t-initial\"\n [attr.data-text]=\"texts[0]\"\n >\n <ng-content></ng-content>\n </span>\n {{ texts[1] }}\n </span>\n</button>\n", styles: [":host{position:relative;display:inline-block;vertical-align:middle}.t-copy{transition-property:background;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;width:100%;color:var(--tui-text-01);background:var(--tui-base-01);overflow:hidden}.t-copy:hover{background:var(--tui-base-02)}.t-initial{white-space:nowrap}.t-initial:empty:before{content:attr(data-text)}.t-content{transition-property:transform;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;flex-direction:column;transform:translateY(1rem);text-align:center;line-height:2rem}.t-content_moved{transform:translateY(-1rem)}\n"], components: [{ type: i2__namespace$1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
504
494
  __decorate([
505
- i3.tuiPure
495
+ i6.tuiPure
506
496
  ], TuiDocCopyComponent.prototype, "copied$", null);
507
497
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocCopyComponent, decorators: [{
508
498
  type: i0.Component,
@@ -511,12 +501,12 @@
511
501
  templateUrl: "./copy.template.html",
512
502
  styleUrls: ["./copy.style.less"],
513
503
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
514
- providers: [i3.TuiDestroyService],
504
+ providers: [i6.TuiDestroyService],
515
505
  }]
516
506
  }], ctorParameters: function () {
517
- return [{ type: i8__namespace.Observable, decorators: [{
507
+ return [{ type: i9__namespace.Observable, decorators: [{
518
508
  type: i0.Inject,
519
- args: [i2$1.TUI_COPY_TEXTS]
509
+ args: [i1.TUI_COPY_TEXTS]
520
510
  }] }];
521
511
  }, propDecorators: { copied$: [] } });
522
512
 
@@ -526,12 +516,12 @@
526
516
  return TuiDocCopyModule;
527
517
  }());
528
518
  TuiDocCopyModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocCopyModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
529
- TuiDocCopyModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocCopyModule, declarations: [TuiDocCopyComponent], imports: [i4.CommonModule, i1.TuiButtonModule], exports: [TuiDocCopyComponent] });
530
- TuiDocCopyModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocCopyModule, imports: [[i4.CommonModule, i1.TuiButtonModule]] });
519
+ TuiDocCopyModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocCopyModule, declarations: [TuiDocCopyComponent], imports: [i5.CommonModule, i2$1.TuiButtonModule], exports: [TuiDocCopyComponent] });
520
+ TuiDocCopyModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocCopyModule, imports: [[i5.CommonModule, i2$1.TuiButtonModule]] });
531
521
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocCopyModule, decorators: [{
532
522
  type: i0.NgModule,
533
523
  args: [{
534
- imports: [i4.CommonModule, i1.TuiButtonModule],
524
+ imports: [i5.CommonModule, i2$1.TuiButtonModule],
535
525
  declarations: [TuiDocCopyComponent],
536
526
  exports: [TuiDocCopyComponent],
537
527
  }]
@@ -591,7 +581,6 @@
591
581
  });
592
582
 
593
583
  var MIN_COMPONENT_WIDTH = 104;
594
- // @dynamic
595
584
  var TuiDocDemoComponent = /** @class */ (function () {
596
585
  function TuiDocDemoComponent(isMobile, destroy$, renderer, platformId, locationRef, urlSerializer, texts) {
597
586
  var _this = this;
@@ -607,11 +596,11 @@
607
596
  this.updateOn = "change";
608
597
  this.expanded = false;
609
598
  this.opaque = true;
610
- this.modeControl = new i5.FormControl();
599
+ this.modeControl = new i5$1.FormControl();
611
600
  this.mode = null;
612
- this.change$ = new i8.Subject();
601
+ this.change$ = new i9.Subject();
613
602
  this.items = ["onLight", "onDark"];
614
- this.isBrowser = i4.isPlatformBrowser(platformId);
603
+ this.isBrowser = i5.isPlatformBrowser(platformId);
615
604
  var parsedMode = locationRef.path().match(/tuiMode=(onDark|onLight)/);
616
605
  if (parsedMode !== null && parsedMode.length > 0) {
617
606
  this.modeControl.setValue(parsedMode[1]);
@@ -670,24 +659,24 @@
670
659
  if (!control) {
671
660
  return;
672
661
  }
673
- this.testForm = new i5.FormGroup({ testValue: control }, { updateOn: updateOn });
662
+ this.testForm = new i5$1.FormGroup({ testValue: control }, { updateOn: updateOn });
674
663
  };
675
664
  TuiDocDemoComponent.prototype.resizeContent = function (delta) {
676
665
  if (!this.wrapper) {
677
666
  return;
678
667
  }
679
- this.renderer.setStyle(this.wrapper.nativeElement, "width", i3.tuiPx(Math.max(this.wrapperWidth - delta, MIN_COMPONENT_WIDTH)));
668
+ this.renderer.setStyle(this.wrapper.nativeElement, "width", i6.tuiPx(Math.max(this.wrapperWidth - delta, MIN_COMPONENT_WIDTH)));
680
669
  };
681
670
  return TuiDocDemoComponent;
682
671
  }());
683
- TuiDocDemoComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocDemoComponent, deps: [{ token: i3.TUI_IS_MOBILE }, { token: i3.TuiDestroyService }, { token: i0.Renderer2 }, { token: i0.PLATFORM_ID }, { token: i4.Location }, { token: i5$1.UrlSerializer }, { token: TUI_DOC_DEMO_TEXTS }], target: i0__namespace.ɵɵFactoryTarget.Component });
672
+ TuiDocDemoComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocDemoComponent, deps: [{ token: i6.TUI_IS_MOBILE }, { token: i6.TuiDestroyService }, { token: i0.Renderer2 }, { token: i0.PLATFORM_ID }, { token: i5.Location }, { token: i6$1.UrlSerializer }, { token: TUI_DOC_DEMO_TEXTS }], target: i0__namespace.ɵɵFactoryTarget.Component });
684
673
  TuiDocDemoComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocDemoComponent, selector: "tui-doc-demo", inputs: { control: "control" }, host: { listeners: { "window:resize": "onResize()" } }, providers: [
685
- i3.TuiDestroyService,
674
+ i6.TuiDestroyService,
686
675
  {
687
- provide: i1.TuiModeDirective,
676
+ provide: i2$1.TuiModeDirective,
688
677
  useExisting: i0.forwardRef(function () { return TuiDocDemoComponent; }),
689
678
  },
690
- ], queries: [{ propertyName: "template", first: true, predicate: i0.TemplateRef, descendants: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "resizerText", first: true, predicate: ["resizerText"], descendants: true }], ngImport: i0__namespace, template: "<div\n class=\"t-bg-toggle\"\n [tuiMode]=\"null\"\n>\n <ng-template #tooltip>\n {{ texts[0] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n routerLink=\"/directives/mode\"\n >\n <code>tuiMode</code>\n </a>\n </ng-template>\n <ng-container *ngIf=\"isMobile; else desktop\">\n <tui-select\n tuiTextfieldSize=\"s\"\n class=\"t-mode\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiHintContent]=\"tooltip\"\n [formControl]=\"modeControl\"\n >\n tuiMode\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"items\"\n ></tui-data-list-wrapper>\n </tui-select>\n </ng-container>\n <ng-template #desktop>\n tuiMode:\n <tui-tooltip\n describeId=\"form\"\n [content]=\"tooltip\"\n ></tui-tooltip>\n <div\n tuiGroup\n class=\"t-group\"\n [collapsed]=\"true\"\n >\n <tui-radio-block\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [item]=\"null\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n null\n </tui-radio-block>\n <tui-radio-block\n item=\"onDark\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n onDark\n </tui-radio-block>\n <tui-radio-block\n item=\"onLight\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n onLight\n </tui-radio-block>\n </div>\n </ng-template>\n <tui-checkbox-labeled\n size=\"m\"\n class=\"t-checkbox\"\n [(ngModel)]=\"opaque\"\n >\n {{ texts[1] }}\n </tui-checkbox-labeled>\n</div>\n<div\n #wrapper\n class=\"t-wrapper\"\n [class.t-wrapper_dark]=\"modeControl.value === 'onDark'\"\n [class.t-wrapper_gray]=\"modeControl.value === 'onLight'\"\n [class.t-wrapper_transparent]=\"!opaque\"\n>\n <div\n #content\n id=\"demoContent\"\n class=\"t-content\"\n >\n <form\n *ngIf=\"testForm\"\n class=\"t-form\"\n [formGroup]=\"testForm\"\n >\n <div class=\"t-input-wrapper\">\n <ng-container [ngTemplateOutlet]=\"template\"></ng-container>\n </div>\n <button\n tuiButton\n type=\"button\"\n size=\"s\"\n class=\"t-button\"\n [iconRight]=\"icon\"\n (click)=\"toggleDetails()\"\n >\n {{ texts[2] }}\n </button>\n <ng-template #icon>\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"expanded\"\n ></tui-svg>\n </ng-template>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"expanded\"\n >\n <ng-template tuiExpandContent>\n <pre class=\"t-value\">Form data: {{ testForm.value | json }}</pre>\n <div\n tuiGroup\n class=\"t-form-controls\"\n >\n <tui-select\n tuiTextfieldSize=\"s\"\n class=\"t-select\"\n [ngModel]=\"updateOn\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"updateOnChange($event)\"\n >\n updateOn\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"updateOnVariants\"\n ></tui-data-list-wrapper>\n </tui-select>\n <button\n tuiButton\n type=\"reset\"\n size=\"s\"\n class=\"tui-group__auto-width-item\"\n >\n Reset\n </button>\n <button\n tuiButton\n type=\"submit\"\n size=\"s\"\n class=\"tui-group__auto-width-item\"\n >\n Submit\n </button>\n </div>\n </ng-template>\n </tui-expand>\n </form>\n <ng-content></ng-content>\n </div>\n <button\n tabindex=\"-1\"\n class=\"t-resizer\"\n (tuiDragStart)=\"onDragStart($event)\"\n (tuiDragContinues)=\"onDragContinues($event)\"\n (tuiDragEnd)=\"onDragEnd()\"\n >\n <span\n #resizerText\n class=\"t-resizer-text\"\n ></span>\n </button>\n</div>\n", styles: [":host{position:relative;display:block;min-width:100%;margin:1.5rem 0}.t-bg-toggle{position:absolute;bottom:calc(100% + .75rem);display:flex;align-items:center;justify-content:flex-end;pointer-events:none;width:100%}.t-bg-toggle>*{pointer-events:auto}.t-wrapper{box-shadow:0 .5rem 1rem rgba(0,0,0,.16);display:flex;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);max-width:100%;min-height:6rem;width:100%;background-color:var(--tui-base-01);overflow:hidden}.t-wrapper.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-02) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-02) 75%);background-size:1.25rem 1.25rem;background-position:0 0,0 .625rem,.625rem -.625rem,-.625rem 0}.t-wrapper.t-wrapper_dark{background-color:#454e58;color:var(--tui-base-01)}.t-wrapper.t-wrapper_gray{background-color:#e5e7ea}.t-wrapper.t-wrapper_dark.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-focus) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-focus) 75%)}.t-wrapper.t-wrapper_gray.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-05) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-05) 75%)}:host-context(tui-root._mobile) .t-wrapper{min-height:auto}.t-content{flex:1 1 0;min-width:0;padding:1.5rem;box-sizing:border-box;overflow:hidden}:host-context(tui-root._mobile) .t-content{padding:1rem}.t-form{display:flex;flex-wrap:wrap;align-items:flex-start}.t-input-wrapper{width:100%;margin-bottom:.5rem}.t-expand{width:100%}.t-icon{transition-property:transform;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-icon_rotated{transform:rotate(180deg)}.t-value{flex:1;background:var(--tui-clear-inverse);padding:.75rem;border-radius:.25rem}.t-mode{width:12.5rem}.t-select{max-width:15rem}.t-resizer{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;box-shadow:0 .5rem 1rem rgba(0,0,0,.16);position:relative;width:3.5rem;min-height:inherit;flex-shrink:0;border-left:1px solid var(--tui-base-03);cursor:col-resize;outline:none;background:var(--tui-base-01);color:var(--tui-text-01)}.t-resizer:before,.t-resizer:after{content:\"\";position:absolute;top:.75rem;left:50%;bottom:.75rem;width:1px;background:var(--tui-base-05)}.t-resizer:before{transform:translate(.125rem)}.t-resizer:after{transform:translate(-.1875rem)}:host-context(tui-root._mobile) .t-resizer{display:none}.t-resizer-text{font:var(--tui-font-text-s);position:relative;z-index:1;padding:.75rem;background:var(--tui-base-01)}.wrapper_light .t-resizer-text{background:#3e464e}.t-group,.t-checkbox{margin-left:.75rem}.t-button,.t-form-controls{margin-top:.75rem}@supports ((position: -webkit-sticky) or (position: sticky)){@media screen and (min-height: 37.5rem){:host{position:-webkit-sticky;position:sticky;top:4.625rem;z-index:2}}}\n"], components: [{ type: i1__namespace.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { type: i2__namespace$1.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { type: i2__namespace$1.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items"] }, { type: i1__namespace.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "mode", "direction", "showDelay", "hideDelay", "describeId"] }, { type: i2__namespace$1.TuiRadioBlockComponent, selector: "tui-radio-block", inputs: ["item", "identityMatcher", "contentAlign", "size", "hideRadio", "pseudoDisabled"] }, { type: i2__namespace$1.TuiCheckboxLabeledComponent, selector: "tui-checkbox-labeled", inputs: ["size"] }, { type: i1__namespace.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1__namespace.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], directives: [{ type: i1__namespace.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i5__namespace.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.TuiSelectDirective, selector: "tui-select" }, { type: i1__namespace.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { type: i1__namespace.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { type: i1__namespace.TuiHintControllerDirective, selector: "[tuiHintContent]", inputs: ["tuiHintContent", "tuiHintDirection", "tuiHintMode", "tuiHintShowDelay", "tuiHintHideDelay"] }, { type: i5__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1__namespace.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i1__namespace.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i5__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5__namespace$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5__namespace$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5__namespace$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i4__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1__namespace.TuiExpandContentDirective, selector: "[tuiExpandContent]" }, { type: i3__namespace.TuiDragDirective, selector: "[tuiDragStart], [tuiDragContinues], [tuiDragEnd]", outputs: ["tuiDragStart", "tuiDragContinues", "tuiDragEnd"] }], pipes: { "json": i4__namespace.JsonPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
679
+ ], queries: [{ propertyName: "template", first: true, predicate: i0.TemplateRef, descendants: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true }, { propertyName: "resizerText", first: true, predicate: ["resizerText"], descendants: true }], ngImport: i0__namespace, template: "<div\n class=\"t-bg-toggle\"\n [tuiMode]=\"null\"\n>\n <ng-template #tooltip>\n {{ texts[0] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n routerLink=\"/directives/mode\"\n >\n <code>tuiMode</code>\n </a>\n </ng-template>\n <ng-container *ngIf=\"isMobile; else desktop\">\n <tui-select\n tuiTextfieldSize=\"s\"\n class=\"t-mode\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiHintContent]=\"tooltip\"\n [formControl]=\"modeControl\"\n >\n tuiMode\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"items\"\n ></tui-data-list-wrapper>\n </tui-select>\n </ng-container>\n <ng-template #desktop>\n tuiMode:\n <tui-tooltip\n describeId=\"form\"\n [content]=\"tooltip\"\n ></tui-tooltip>\n <div\n tuiGroup\n class=\"t-group\"\n [collapsed]=\"true\"\n >\n <tui-radio-block\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [item]=\"null\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n null\n </tui-radio-block>\n <tui-radio-block\n item=\"onDark\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n onDark\n </tui-radio-block>\n <tui-radio-block\n item=\"onLight\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n onLight\n </tui-radio-block>\n </div>\n </ng-template>\n <tui-checkbox-labeled\n size=\"m\"\n class=\"t-checkbox\"\n [(ngModel)]=\"opaque\"\n >\n {{ texts[1] }}\n </tui-checkbox-labeled>\n</div>\n<div\n #wrapper\n class=\"t-wrapper\"\n [class.t-wrapper_dark]=\"modeControl.value === 'onDark'\"\n [class.t-wrapper_gray]=\"modeControl.value === 'onLight'\"\n [class.t-wrapper_transparent]=\"!opaque\"\n>\n <div\n #content\n id=\"demoContent\"\n class=\"t-content\"\n >\n <form\n *ngIf=\"testForm\"\n class=\"t-form\"\n [formGroup]=\"testForm\"\n >\n <div class=\"t-input-wrapper\">\n <ng-container [ngTemplateOutlet]=\"template\"></ng-container>\n </div>\n <button\n tuiButton\n type=\"button\"\n size=\"s\"\n class=\"t-button\"\n [iconRight]=\"icon\"\n (click)=\"toggleDetails()\"\n >\n {{ texts[2] }}\n </button>\n <ng-template #icon>\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"expanded\"\n ></tui-svg>\n </ng-template>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"expanded\"\n >\n <ng-template tuiExpandContent>\n <pre class=\"t-value\">Form data: {{ testForm.value | json }}</pre>\n <div\n tuiGroup\n class=\"t-form-controls\"\n >\n <tui-select\n tuiTextfieldSize=\"s\"\n class=\"t-select\"\n [ngModel]=\"updateOn\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"updateOnChange($event)\"\n >\n updateOn\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"updateOnVariants\"\n ></tui-data-list-wrapper>\n </tui-select>\n <button\n tuiButton\n type=\"reset\"\n size=\"s\"\n class=\"tui-group__auto-width-item\"\n >\n Reset\n </button>\n <button\n tuiButton\n type=\"submit\"\n size=\"s\"\n class=\"tui-group__auto-width-item\"\n >\n Submit\n </button>\n </div>\n </ng-template>\n </tui-expand>\n </form>\n <ng-content></ng-content>\n </div>\n <button\n tabindex=\"-1\"\n class=\"t-resizer\"\n (tuiDragStart)=\"onDragStart($event)\"\n (tuiDragContinues)=\"onDragContinues($event)\"\n (tuiDragEnd)=\"onDragEnd()\"\n >\n <span\n #resizerText\n class=\"t-resizer-text\"\n ></span>\n </button>\n</div>\n", styles: [":host{position:relative;display:block;min-width:100%;margin:1.5rem 0}.t-bg-toggle{position:absolute;bottom:calc(100% + .75rem);display:flex;align-items:center;justify-content:flex-end;pointer-events:none;width:100%}.t-bg-toggle>*{pointer-events:auto}.t-wrapper{box-shadow:0 .5rem 1rem rgba(0,0,0,.16);display:flex;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);max-width:100%;min-height:6rem;width:100%;background-color:var(--tui-base-01);overflow:hidden}.t-wrapper.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-02) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-02) 75%);background-size:1.25rem 1.25rem;background-position:0 0,0 .625rem,.625rem -.625rem,-.625rem 0}.t-wrapper.t-wrapper_dark{background-color:#454e58;color:var(--tui-base-01)}.t-wrapper.t-wrapper_gray{background-color:#e5e7ea}.t-wrapper.t-wrapper_dark.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-focus) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-focus) 75%)}.t-wrapper.t-wrapper_gray.t-wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-05) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-05) 75%)}:host-context(tui-root._mobile) .t-wrapper{min-height:auto}.t-content{flex:1 1 0;min-width:0;padding:1.5rem;box-sizing:border-box;overflow:hidden}:host-context(tui-root._mobile) .t-content{padding:1rem}.t-form{display:flex;flex-wrap:wrap;align-items:flex-start}.t-input-wrapper{width:100%;margin-bottom:.5rem}.t-expand{width:100%}.t-icon{transition-property:transform;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}.t-icon_rotated{transform:rotate(180deg)}.t-value{flex:1;background:var(--tui-clear-inverse);padding:.75rem;border-radius:.25rem}.t-mode{width:12.5rem}.t-select{max-width:15rem}.t-resizer{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;box-shadow:0 .5rem 1rem rgba(0,0,0,.16);position:relative;width:3.5rem;min-height:inherit;flex-shrink:0;border-left:1px solid var(--tui-base-03);cursor:col-resize;outline:none;background:var(--tui-base-01);color:var(--tui-text-01)}.t-resizer:before,.t-resizer:after{content:\"\";position:absolute;top:.75rem;left:50%;bottom:.75rem;width:1px;background:var(--tui-base-05)}.t-resizer:before{transform:translate(.125rem)}.t-resizer:after{transform:translate(-.1875rem)}:host-context(tui-root._mobile) .t-resizer{display:none}.t-resizer-text{font:var(--tui-font-text-s);position:relative;z-index:1;padding:.75rem;background:var(--tui-base-01)}.wrapper_light .t-resizer-text{background:#3e464e}.t-group,.t-checkbox{margin-left:.75rem}.t-button,.t-form-controls{margin-top:.75rem}@supports ((position: -webkit-sticky) or (position: sticky)){@media screen and (min-height: 37.5rem){:host{position:-webkit-sticky;position:sticky;top:4.625rem;z-index:2}}}\n"], components: [{ type: i2__namespace$1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { type: i1__namespace.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { type: i1__namespace.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items"] }, { type: i2__namespace$1.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId"] }, { type: i1__namespace.TuiRadioBlockComponent, selector: "tui-radio-block", inputs: ["item", "identityMatcher", "contentAlign", "size", "hideRadio", "pseudoDisabled"] }, { type: i1__namespace.TuiCheckboxLabeledComponent, selector: "tui-checkbox-labeled", inputs: ["size"] }, { type: i2__namespace$1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i2__namespace$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2__namespace$1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], directives: [{ type: i2__namespace$1.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i6__namespace.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace.TuiSelectDirective, selector: "tui-select" }, { type: i2__namespace$1.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { type: i2__namespace$1.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { type: i2__namespace$1.TuiHintControllerDirective, selector: "[tuiHintContent]", inputs: ["tuiHintContent", "tuiHintDirection", "tuiHintAppearance", "tuiHintShowDelay", "tuiHintHideDelay"] }, { type: i5__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2__namespace$1.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i2__namespace$1.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i5__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5__namespace$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i5__namespace$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i5__namespace$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace$1.TuiExpandContentDirective, selector: "[tuiExpandContent]" }, { type: i6__namespace$1.TuiDragDirective, selector: "[tuiDragStart], [tuiDragContinues], [tuiDragEnd]", outputs: ["tuiDragStart", "tuiDragContinues", "tuiDragEnd"] }], pipes: { "json": i5__namespace.JsonPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
691
680
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocDemoComponent, decorators: [{
692
681
  type: i0.Component,
693
682
  args: [{
@@ -696,9 +685,9 @@
696
685
  styleUrls: ["./demo.style.less"],
697
686
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
698
687
  providers: [
699
- i3.TuiDestroyService,
688
+ i6.TuiDestroyService,
700
689
  {
701
- provide: i1.TuiModeDirective,
690
+ provide: i2$1.TuiModeDirective,
702
691
  useExisting: i0.forwardRef(function () { return TuiDocDemoComponent; }),
703
692
  },
704
693
  ],
@@ -706,22 +695,22 @@
706
695
  }], ctorParameters: function () {
707
696
  return [{ type: undefined, decorators: [{
708
697
  type: i0.Inject,
709
- args: [i3.TUI_IS_MOBILE]
710
- }] }, { type: i3__namespace.TuiDestroyService, decorators: [{
698
+ args: [i6.TUI_IS_MOBILE]
699
+ }] }, { type: i6__namespace$1.TuiDestroyService, decorators: [{
711
700
  type: i0.Inject,
712
- args: [i3.TuiDestroyService]
701
+ args: [i6.TuiDestroyService]
713
702
  }] }, { type: i0__namespace.Renderer2, decorators: [{
714
703
  type: i0.Inject,
715
704
  args: [i0.Renderer2]
716
705
  }] }, { type: undefined, decorators: [{
717
706
  type: i0.Inject,
718
707
  args: [i0.PLATFORM_ID]
719
- }] }, { type: i4__namespace.Location, decorators: [{
708
+ }] }, { type: i5__namespace.Location, decorators: [{
720
709
  type: i0.Inject,
721
- args: [i4.Location]
722
- }] }, { type: i5__namespace.UrlSerializer, decorators: [{
710
+ args: [i5.Location]
711
+ }] }, { type: i6__namespace.UrlSerializer, decorators: [{
723
712
  type: i0.Inject,
724
- args: [i5$1.UrlSerializer]
713
+ args: [i6$1.UrlSerializer]
725
714
  }] }, { type: undefined, decorators: [{
726
715
  type: i0.Inject,
727
716
  args: [TUI_DOC_DEMO_TEXTS]
@@ -751,102 +740,75 @@
751
740
  return TuiDocDemoModule;
752
741
  }());
753
742
  TuiDocDemoModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocDemoModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
754
- TuiDocDemoModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocDemoModule, declarations: [TuiDocDemoComponent], imports: [i4.CommonModule,
755
- i5.ReactiveFormsModule,
756
- i5.FormsModule,
757
- i5$1.RouterModule,
758
- i1.TuiLinkModule,
759
- i3.TuiDragModule,
760
- i1.TuiButtonModule,
761
- i2$1.TuiSelectModule,
762
- i1.TuiExpandModule,
763
- i1.TuiGroupModule,
764
- i1.TuiTooltipModule,
765
- i1.TuiModeModule,
766
- i2$1.TuiRadioBlockModule,
767
- i2$1.TuiCheckboxLabeledModule,
768
- i1.TuiSvgModule,
769
- i2$1.TuiDataListWrapperModule,
770
- i1.TuiDataListModule,
771
- i1.TuiTextfieldControllerModule,
772
- i1.TuiHintControllerModule], exports: [TuiDocDemoComponent] });
743
+ TuiDocDemoModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocDemoModule, declarations: [TuiDocDemoComponent], imports: [i5.CommonModule,
744
+ i5$1.ReactiveFormsModule,
745
+ i5$1.FormsModule,
746
+ i6$1.RouterModule,
747
+ i2$1.TuiLinkModule,
748
+ i6.TuiDragModule,
749
+ i2$1.TuiButtonModule,
750
+ i1.TuiSelectModule,
751
+ i2$1.TuiExpandModule,
752
+ i2$1.TuiGroupModule,
753
+ i2$1.TuiTooltipModule,
754
+ i2$1.TuiModeModule,
755
+ i1.TuiRadioBlockModule,
756
+ i1.TuiCheckboxLabeledModule,
757
+ i2$1.TuiSvgModule,
758
+ i1.TuiDataListWrapperModule,
759
+ i2$1.TuiDataListModule,
760
+ i2$1.TuiTextfieldControllerModule,
761
+ i2$1.TuiHintControllerModule], exports: [TuiDocDemoComponent] });
773
762
  TuiDocDemoModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocDemoModule, imports: [[
774
- i4.CommonModule,
775
- i5.ReactiveFormsModule,
776
- i5.FormsModule,
777
- i5$1.RouterModule,
778
- i1.TuiLinkModule,
779
- i3.TuiDragModule,
780
- i1.TuiButtonModule,
781
- i2$1.TuiSelectModule,
782
- i1.TuiExpandModule,
783
- i1.TuiGroupModule,
784
- i1.TuiTooltipModule,
785
- i1.TuiModeModule,
786
- i2$1.TuiRadioBlockModule,
787
- i2$1.TuiCheckboxLabeledModule,
788
- i1.TuiSvgModule,
789
- i2$1.TuiDataListWrapperModule,
790
- i1.TuiDataListModule,
791
- i1.TuiTextfieldControllerModule,
792
- i1.TuiHintControllerModule,
763
+ i5.CommonModule,
764
+ i5$1.ReactiveFormsModule,
765
+ i5$1.FormsModule,
766
+ i6$1.RouterModule,
767
+ i2$1.TuiLinkModule,
768
+ i6.TuiDragModule,
769
+ i2$1.TuiButtonModule,
770
+ i1.TuiSelectModule,
771
+ i2$1.TuiExpandModule,
772
+ i2$1.TuiGroupModule,
773
+ i2$1.TuiTooltipModule,
774
+ i2$1.TuiModeModule,
775
+ i1.TuiRadioBlockModule,
776
+ i1.TuiCheckboxLabeledModule,
777
+ i2$1.TuiSvgModule,
778
+ i1.TuiDataListWrapperModule,
779
+ i2$1.TuiDataListModule,
780
+ i2$1.TuiTextfieldControllerModule,
781
+ i2$1.TuiHintControllerModule,
793
782
  ]] });
794
783
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocDemoModule, decorators: [{
795
784
  type: i0.NgModule,
796
785
  args: [{
797
786
  imports: [
798
- i4.CommonModule,
799
- i5.ReactiveFormsModule,
800
- i5.FormsModule,
801
- i5$1.RouterModule,
802
- i1.TuiLinkModule,
803
- i3.TuiDragModule,
804
- i1.TuiButtonModule,
805
- i2$1.TuiSelectModule,
806
- i1.TuiExpandModule,
807
- i1.TuiGroupModule,
808
- i1.TuiTooltipModule,
809
- i1.TuiModeModule,
810
- i2$1.TuiRadioBlockModule,
811
- i2$1.TuiCheckboxLabeledModule,
812
- i1.TuiSvgModule,
813
- i2$1.TuiDataListWrapperModule,
814
- i1.TuiDataListModule,
815
- i1.TuiTextfieldControllerModule,
816
- i1.TuiHintControllerModule,
787
+ i5.CommonModule,
788
+ i5$1.ReactiveFormsModule,
789
+ i5$1.FormsModule,
790
+ i6$1.RouterModule,
791
+ i2$1.TuiLinkModule,
792
+ i6.TuiDragModule,
793
+ i2$1.TuiButtonModule,
794
+ i1.TuiSelectModule,
795
+ i2$1.TuiExpandModule,
796
+ i2$1.TuiGroupModule,
797
+ i2$1.TuiTooltipModule,
798
+ i2$1.TuiModeModule,
799
+ i1.TuiRadioBlockModule,
800
+ i1.TuiCheckboxLabeledModule,
801
+ i2$1.TuiSvgModule,
802
+ i1.TuiDataListWrapperModule,
803
+ i2$1.TuiDataListModule,
804
+ i2$1.TuiTextfieldControllerModule,
805
+ i2$1.TuiHintControllerModule,
817
806
  ],
818
807
  declarations: [TuiDocDemoComponent],
819
808
  exports: [TuiDocDemoComponent],
820
809
  }]
821
810
  }] });
822
811
 
823
- /**
824
- * TODO: duplicate, need fix it before v3
825
- * TODO: move another package for reuse between addon-editor and addon-doc
826
- * @deprecated: use {@link tuiRgbToHex} instead
827
- */
828
- // eslint-disable-next-line @typescript-eslint/naming-convention
829
- function rgbToHex(r, g, b) {
830
- return "#" + [r, g, b].map(function (x) { return x.toString(16).padStart(2, "0"); }).join("");
831
- }
832
- var tuiRgbToHex = rgbToHex;
833
- /**
834
- * @deprecated: use {@link tuiHexToRgb} instead
835
- */
836
- // eslint-disable-next-line @typescript-eslint/naming-convention
837
- function hexToRgb(hex) {
838
- var matches = hex
839
- .replace("#", "")
840
- .split("")
841
- .map(function (char, _, array) { return (array.length === 3 ? char + char : char); })
842
- .join("")
843
- .match(/.{2}/g);
844
- return matches
845
- ? matches.map(function (x) { return Number.parseInt(x, 16); })
846
- : [0, 0, 0];
847
- }
848
- var tuiHexToRgb = hexToRgb;
849
-
850
812
  function inspectArray(array, depth) {
851
813
  if (depth === 0) {
852
814
  return "[\u2026]";
@@ -860,7 +822,7 @@
860
822
  else {
861
823
  result += ", ";
862
824
  }
863
- result += index in array ? inspectAny(array[index], depth - 1) : "empty";
825
+ result += index in array ? tuiInspectAny(array[index], depth - 1) : "empty";
864
826
  }
865
827
  return "[" + result + "]";
866
828
  }
@@ -880,19 +842,17 @@
880
842
  else {
881
843
  result += ", ";
882
844
  }
883
- result += key + ": " + inspectAny(object[key], depth - 1);
845
+ result += key + ": " + tuiInspectAny(object[key], depth - 1);
884
846
  }
885
847
  return "{" + result + "}";
886
848
  }
887
849
  /**
888
- * @deprecated: use {@link tuiInspectAny} instead
889
850
  * Returns readable JS entity
890
851
  * @param data
891
852
  * @param depth
892
853
  * @return readable JS entity
893
854
  */
894
- // eslint-disable-next-line @typescript-eslint/naming-convention
895
- function inspectAny(data, depth) {
855
+ function tuiInspectAny(data, depth) {
896
856
  if (data === null) {
897
857
  return "null";
898
858
  }
@@ -913,13 +873,8 @@
913
873
  }
914
874
  return inspectObject(data, depth);
915
875
  }
916
- var tuiInspectAny = inspectAny;
917
876
 
918
- /**
919
- * @deprecated: use {@link tuiCoerceValue} instead
920
- */
921
- // eslint-disable-next-line @typescript-eslint/naming-convention
922
- function coerceValue(value) {
877
+ function tuiCoerceValue(value) {
923
878
  var prepared = String(value).trim();
924
879
  if (isEmptyParamValue(prepared)) {
925
880
  return null;
@@ -940,7 +895,6 @@
940
895
  return decodedValue;
941
896
  }
942
897
  }
943
- var tuiCoerceValue = coerceValue;
944
898
  function isEmptyParamValue(value) {
945
899
  return ["undefined", "null", "NaN", "Infinity"].includes(value);
946
900
  }
@@ -973,8 +927,8 @@
973
927
  this.documentationPropertyDeprecated = false;
974
928
  this.documentationPropertyValues = null;
975
929
  this.documentationPropertyValueChange = new i0.EventEmitter();
976
- this.changed$ = new i8.Subject();
977
- this.emits$ = new i8.BehaviorSubject(1);
930
+ this.changed$ = new i9.Subject();
931
+ this.emits$ = new i9.BehaviorSubject(1);
978
932
  }
979
933
  TuiDocDocumentationPropertyConnectorDirective.prototype.ngOnInit = function () {
980
934
  this.parseParams(this.activatedRoute.snapshot.queryParams);
@@ -1030,7 +984,7 @@
1030
984
  }
1031
985
  var value = !!propertyValueWithSuffix && this.documentationPropertyValues
1032
986
  ? this.documentationPropertyValues[propertyValueWithSuffix]
1033
- : coerceValue(propertyValue);
987
+ : tuiCoerceValue(propertyValue);
1034
988
  this.onValueChange(value);
1035
989
  };
1036
990
  TuiDocDocumentationPropertyConnectorDirective.prototype.setQueryParam = function (value) {
@@ -1047,7 +1001,7 @@
1047
1001
  };
1048
1002
  return TuiDocDocumentationPropertyConnectorDirective;
1049
1003
  }());
1050
- TuiDocDocumentationPropertyConnectorDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocDocumentationPropertyConnectorDirective, deps: [{ token: i0.TemplateRef }, { token: i4.Location }, { token: i5$1.ActivatedRoute }, { token: i5$1.UrlSerializer }], target: i0__namespace.ɵɵFactoryTarget.Directive });
1004
+ TuiDocDocumentationPropertyConnectorDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocDocumentationPropertyConnectorDirective, deps: [{ token: i0.TemplateRef }, { token: i5.Location }, { token: i6$1.ActivatedRoute }, { token: i6$1.UrlSerializer }], target: i0__namespace.ɵɵFactoryTarget.Directive });
1051
1005
  TuiDocDocumentationPropertyConnectorDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocDocumentationPropertyConnectorDirective, selector: "ng-template[documentationPropertyName]", inputs: { documentationPropertyName: "documentationPropertyName", documentationPropertyMode: "documentationPropertyMode", documentationPropertyType: "documentationPropertyType", documentationPropertyValue: "documentationPropertyValue", documentationPropertyDeprecated: "documentationPropertyDeprecated", documentationPropertyValues: "documentationPropertyValues" }, outputs: { documentationPropertyValueChange: "documentationPropertyValueChange" }, exportAs: ["documentationProperty"], usesOnChanges: true, ngImport: i0__namespace });
1052
1006
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocDocumentationPropertyConnectorDirective, decorators: [{
1053
1007
  type: i0.Directive,
@@ -1059,15 +1013,15 @@
1059
1013
  return [{ type: i0__namespace.TemplateRef, decorators: [{
1060
1014
  type: i0.Inject,
1061
1015
  args: [i0.TemplateRef]
1062
- }] }, { type: i4__namespace.Location, decorators: [{
1016
+ }] }, { type: i5__namespace.Location, decorators: [{
1063
1017
  type: i0.Inject,
1064
- args: [i4.Location]
1065
- }] }, { type: i5__namespace.ActivatedRoute, decorators: [{
1018
+ args: [i5.Location]
1019
+ }] }, { type: i6__namespace.ActivatedRoute, decorators: [{
1066
1020
  type: i0.Inject,
1067
- args: [i5$1.ActivatedRoute]
1068
- }] }, { type: i5__namespace.UrlSerializer, decorators: [{
1021
+ args: [i6$1.ActivatedRoute]
1022
+ }] }, { type: i6__namespace.UrlSerializer, decorators: [{
1069
1023
  type: i0.Inject,
1070
- args: [i5$1.UrlSerializer]
1024
+ args: [i6$1.UrlSerializer]
1071
1025
  }] }];
1072
1026
  }, propDecorators: { documentationPropertyName: [{
1073
1027
  type: i0.Input
@@ -1102,7 +1056,7 @@
1102
1056
  });
1103
1057
  return TuiInputOpacityDirective;
1104
1058
  }());
1105
- TuiInputOpacityDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiInputOpacityDirective, deps: [{ token: i0.Renderer2 }, { token: i3.TUI_FOCUSABLE_ITEM_ACCESSOR }], target: i0__namespace.ɵɵFactoryTarget.Directive });
1059
+ TuiInputOpacityDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiInputOpacityDirective, deps: [{ token: i0.Renderer2 }, { token: i6.TUI_FOCUSABLE_ITEM_ACCESSOR }], target: i0__namespace.ɵɵFactoryTarget.Directive });
1106
1060
  TuiInputOpacityDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiInputOpacityDirective, selector: "[tuiInputOpacity]", inputs: { tuiInputOpacity: "tuiInputOpacity" }, ngImport: i0__namespace });
1107
1061
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiInputOpacityDirective, decorators: [{
1108
1062
  type: i0.Directive,
@@ -1115,7 +1069,7 @@
1115
1069
  args: [i0.Renderer2]
1116
1070
  }] }, { type: undefined, decorators: [{
1117
1071
  type: i0.Inject,
1118
- args: [i3.TUI_FOCUSABLE_ITEM_ACCESSOR]
1072
+ args: [i6.TUI_FOCUSABLE_ITEM_ACCESSOR]
1119
1073
  }] }];
1120
1074
  }, propDecorators: { tuiInputOpacity: [{
1121
1075
  type: i0.Input
@@ -1123,7 +1077,6 @@
1123
1077
 
1124
1078
  // @bad TODO subscribe propertiesConnectors changes
1125
1079
  // @bad TODO refactor to make more flexible
1126
- // @dynamic
1127
1080
  var TuiDocDocumentationComponent = /** @class */ (function () {
1128
1081
  function TuiDocDocumentationComponent(changeDetectorRef, texts) {
1129
1082
  this.changeDetectorRef = changeDetectorRef;
@@ -1131,15 +1084,15 @@
1131
1084
  this.heading = "";
1132
1085
  this.showValues = true;
1133
1086
  this.isAPI = false;
1134
- this.propertiesConnectors = i3.EMPTY_QUERY;
1087
+ this.propertiesConnectors = i6.EMPTY_QUERY;
1135
1088
  this.activeItemIndex = 0;
1136
1089
  }
1137
1090
  TuiDocDocumentationComponent.prototype.ngAfterContentInit = function () {
1138
- i3.itemsQueryListObservable(this.propertiesConnectors)
1139
- .pipe(operators.switchMap(function (items) { return i8.merge.apply(void 0, __spreadArray([], __read(items.map(function (_a) {
1091
+ i6.tuiItemsQueryListObservable(this.propertiesConnectors)
1092
+ .pipe(operators.switchMap(function (items) { return i9.merge.apply(void 0, __spreadArray([], __read(items.map(function (_a) {
1140
1093
  var changed$ = _a.changed$;
1141
1094
  return changed$;
1142
- })))); }), i3.watch(this.changeDetectorRef))
1095
+ })))); }), i6.tuiWatch(this.changeDetectorRef))
1143
1096
  .subscribe();
1144
1097
  };
1145
1098
  Object.defineProperty(TuiDocDocumentationComponent.prototype, "type", {
@@ -1170,7 +1123,7 @@
1170
1123
  .replace(" ", "")
1171
1124
  .split(",")
1172
1125
  .map(function (v) { return Number.parseInt(v, 10); });
1173
- return rgbToHex.apply(void 0, __spreadArray([], __read(parsed)));
1126
+ return i6.tuiRgbToHex.apply(void 0, __spreadArray([], __read(parsed)));
1174
1127
  };
1175
1128
  TuiDocDocumentationComponent.prototype.getOpacity = function (color) {
1176
1129
  if (color.startsWith("#") || color.startsWith("rgb(")) {
@@ -1193,13 +1146,13 @@
1193
1146
  connector.onValueChange(color);
1194
1147
  return;
1195
1148
  }
1196
- var rgb = hexToRgb(color).join(", ");
1149
+ var rgb = i6.tuiHexToRgb(color).join(", ");
1197
1150
  var result = "rgba(" + rgb + ", " + opacity / 100 + ")";
1198
1151
  connector.onValueChange(result);
1199
1152
  };
1200
1153
  TuiDocDocumentationComponent.prototype.onOpacityChange = function (connector, opacity) {
1201
1154
  var hex = this.getColor(connector.documentationPropertyValue || "");
1202
- var rgb = hexToRgb(hex);
1155
+ var rgb = i6.tuiHexToRgb(hex);
1203
1156
  var result = "rgba(" + rgb + ", " + opacity / 100 + ")";
1204
1157
  connector.onValueChange(result);
1205
1158
  };
@@ -1210,7 +1163,7 @@
1210
1163
  return name.includes("?");
1211
1164
  };
1212
1165
  TuiDocDocumentationComponent.prototype.isPrimitivePolymorpheusContent = function (value) {
1213
- return i3.tuiIsString(value) || i3.tuiIsNumber(value);
1166
+ return i6.tuiIsString(value) || i6.tuiIsNumber(value);
1214
1167
  };
1215
1168
  TuiDocDocumentationComponent.prototype.showCleaner = function (type) {
1216
1169
  return type.includes("null");
@@ -1219,12 +1172,12 @@
1219
1172
  return type.includes("PolymorpheusContent");
1220
1173
  };
1221
1174
  TuiDocDocumentationComponent.prototype.inspectAny = function (data) {
1222
- return inspectAny(data, 2);
1175
+ return tuiInspectAny(data, 2);
1223
1176
  };
1224
1177
  return TuiDocDocumentationComponent;
1225
1178
  }());
1226
1179
  TuiDocDocumentationComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocDocumentationComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: TUI_DOC_DOCUMENTATION_TEXTS }], target: i0__namespace.ɵɵFactoryTarget.Component });
1227
- TuiDocDocumentationComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocDocumentationComponent, selector: "tui-doc-documentation", inputs: { heading: "heading", showValues: "showValues", isAPI: "isAPI" }, queries: [{ propertyName: "propertiesConnectors", predicate: TuiDocDocumentationPropertyConnectorDirective }], ngImport: i0__namespace, template: "<h1\n *ngIf=\"heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h1>\n<ng-content></ng-content>\n<table class=\"t-table\">\n <tr class=\"t-row t-row_header\">\n <th class=\"t-th t-cell t-cell_prop\">{{ texts[2] }}</th>\n <th class=\"t-th\">{{ type }}</th>\n <th\n *ngIf=\"showValues && !isAPI\"\n class=\"t-th t-cell t-cell_value\"\n >\n {{ texts[3] }}\n </th>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of propertiesConnectors\"\n class=\"t-row\"\n [class.t-deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n >\n <td class=\"t-cell\">\n <div\n automation-id=\"tui-documentation__property-name\"\n class=\"t-property\"\n >\n {{ stripOptional(propertyConnector.attrName) }}\n <tui-badge\n *ngIf=\"isOptional(propertyConnector.attrName)\"\n size=\"s\"\n value=\"Optional\"\n ></tui-badge>\n </div>\n <span\n *ngIf=\"propertyConnector.documentationPropertyDeprecated\"\n class=\"t-deprecated-label\"\n >\n deprecated\n </span>\n <ng-container [ngTemplateOutlet]=\"propertyConnector.template\"></ng-container>\n </td>\n <td class=\"t-cell\">\n <span class=\"type\">\n {{ propertyConnector.documentationPropertyType }}\n <tui-tooltip\n *ngIf=\"showContentTooltip(propertyConnector.documentationPropertyType)\"\n [describeId]=\"propertyConnector.attrName\"\n [content]=\"content\"\n >\n <ng-template #content>\n {{ texts[4] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n target=\"_blank\"\n href=\"https://github.com/tinkoff/ng-polymorpheus\"\n >\n <code>ng-polymorpheus</code>\n </a>\n </ng-template>\n </tui-tooltip>\n </span>\n </td>\n <td\n *ngIf=\"showValues\"\n class=\"t-cell\"\n >\n <ng-container *ngIf=\"propertyConnector.shouldShowValues; else elseEmitter\">\n <tui-select\n *ngIf=\"propertyConnector.hasItems; else noItems\"\n tuiTextfieldSize=\"m\"\n tuiDropdownLimitWidth=\"min\"\n [tuiTextfieldCleaner]=\"showCleaner(propertyConnector.documentationPropertyType)\"\n [tuiTextfieldLabelOutside]=\"true\"\n [nativeId]=\"propertyConnector.attrName\"\n [valueContent]=\"selectContent\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n >\n <code class=\"t-exception\">null</code>\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"propertyConnector.documentationPropertyValues\"\n [itemContent]=\"selectContent\"\n ></tui-data-list-wrapper>\n </tui-select>\n <ng-template\n #selectContent\n let-data\n >\n <code>{{ inspectAny(data) }}</code>\n </ng-template>\n\n <ng-template #noItems>\n <ng-container [ngSwitch]=\"propertyConnector.documentationPropertyType\">\n <tui-toggle\n *ngSwitchCase=\"'boolean'\"\n size=\"l\"\n [nativeId]=\"propertyConnector.attrName\"\n [showIcons]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-toggle>\n\n <tui-primitive-textfield\n *ngSwitchCase=\"'string'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue || ''\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-primitive-textfield>\n\n <div\n *ngSwitchCase=\"'color'\"\n tuiGroup\n >\n <tui-primitive-textfield\n tuiTextfieldType=\"text\"\n tuiTextfieldSize=\"m\"\n [attr.id]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiInputOpacity]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n [value]=\"getColor(propertyConnector.documentationPropertyValue)\"\n (valueChange)=\"onColorChange(propertyConnector, $event)\"\n ></tui-primitive-textfield>\n <tui-input-count\n tuiTextfieldSize=\"m\"\n [max]=\"100\"\n [ngModel]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n (ngModelChange)=\"onOpacityChange(propertyConnector, $event)\"\n >\n Opacity\n </tui-input-count>\n </div>\n\n <tui-input-count\n *ngSwitchCase=\"'number'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-input-count>\n\n <ng-container *ngSwitchCase=\"'PolymorpheusContent'\">\n <tui-primitive-textfield\n *ngIf=\"isPrimitivePolymorpheusContent(propertyConnector.documentationPropertyValue)\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue.toString()\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n >\n Default content\n </tui-primitive-textfield>\n </ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-template #elseEmitter>\n <tui-notification\n class=\"t-output\"\n [@emitEvent]=\"propertyConnector.emits$ | async\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n</table>\n", styles: [":host{display:block;min-width:100%}.t-table{width:100%;table-layout:fixed}.t-row:not(:last-child){border-bottom:1px solid var(--tui-base-03)}:host-context(tui-root._mobile) .t-row{display:flex;flex-wrap:wrap}:host-context(tui-root._mobile) .t-row_header{display:none}.t-cell{padding:1rem 1rem .875rem}.t-cell:first-child{padding-left:0}.t-cell:last-child{padding-right:0;text-align:right}.t-cell_prop{width:40%}.t-cell_value{max-width:20rem}:host-context(tui-root._mobile) .t-cell_value{width:9.375rem}:host-context(tui-root._mobile) .t-cell{width:100%;height:auto;padding:.5rem 0;text-align:left}.t-th{padding:.5rem 1rem;color:var(--tui-text-02);font-weight:normal;text-align:left}.t-property{font:var(--tui-font-text-m);margin-bottom:.25rem;font-family:monospace;color:#8f75d1}:host-context(tui-root._mobile) .t-property{padding:.5rem 0}.t-type{font-family:monospace}.t-deprecated{background-color:var(--tui-error-bg);box-shadow:-1rem 0 var(--tui-error-bg),1rem 0 var(--tui-error-bg)}.t-deprecated-label{margin-right:.125rem;color:var(--tui-error-fill)}.t-exception{display:block;width:-webkit-max-content;width:-moz-max-content;width:max-content}.t-output{text-align:left;opacity:0}.t-heading{font:var(--tui-font-heading-4)}\n"], components: [{ type: i2__namespace$1.TuiBadgeComponent, selector: "tui-badge", inputs: ["value", "size", "status", "hoverable"] }, { type: i1__namespace.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "mode", "direction", "showDelay", "hideDelay", "describeId"] }, { type: i1__namespace.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { type: i2__namespace$1.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { type: i2__namespace$1.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items"] }, { type: i2__namespace$1.TuiToggleComponent, selector: "tui-toggle", inputs: ["singleColor", "showIcons", "showLoader", "size"] }, { type: i1__namespace.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i2__namespace$1.TuiInputCountComponent, selector: "tui-input-count", inputs: ["step", "min", "max", "hideButtons", "prefix", "postfix"] }, { type: i1__namespace.TuiNotificationComponent, selector: "tui-notification", inputs: ["hasIcon", "status"], outputs: ["close"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1__namespace.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i2__namespace$1.TuiSelectDirective, selector: "tui-select" }, { type: i1__namespace.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { type: i1__namespace.TuiDropdownControllerDirective, selector: "[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownSided]", inputs: ["tuiDropdownAlign", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownSided"] }, { type: i1__namespace.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { type: i1__namespace.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { type: i5__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1__namespace.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i4__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1__namespace.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i1__namespace.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i1__namespace.TuiTextfieldTypeDirective, selector: "[tuiTextfieldType]", inputs: ["tuiTextfieldType"] }, { type: TuiInputOpacityDirective, selector: "[tuiInputOpacity]", inputs: ["tuiInputOpacity"] }, { type: i2__namespace$1.TuiInputCountDirective, selector: "tui-input-count" }], pipes: { "async": i4__namespace.AsyncPipe }, animations: [
1180
+ TuiDocDocumentationComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocDocumentationComponent, selector: "tui-doc-documentation", inputs: { heading: "heading", showValues: "showValues", isAPI: "isAPI" }, queries: [{ propertyName: "propertiesConnectors", predicate: TuiDocDocumentationPropertyConnectorDirective }], ngImport: i0__namespace, template: "<h1\n *ngIf=\"heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h1>\n<ng-content></ng-content>\n<table class=\"t-table\">\n <tr class=\"t-row t-row_header\">\n <th class=\"t-th t-cell t-cell_prop\">{{ texts[2] }}</th>\n <th class=\"t-th\">{{ type }}</th>\n <th\n *ngIf=\"showValues && !isAPI\"\n class=\"t-th t-cell t-cell_value\"\n >\n {{ texts[3] }}\n </th>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of propertiesConnectors\"\n class=\"t-row\"\n [class.t-deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n >\n <td class=\"t-cell\">\n <div\n automation-id=\"tui-documentation__property-name\"\n class=\"t-property\"\n >\n {{ stripOptional(propertyConnector.attrName) }}\n <tui-badge\n *ngIf=\"isOptional(propertyConnector.attrName)\"\n size=\"s\"\n value=\"Optional\"\n ></tui-badge>\n </div>\n <span\n *ngIf=\"propertyConnector.documentationPropertyDeprecated\"\n class=\"t-deprecated-label\"\n >\n deprecated\n </span>\n <ng-container [ngTemplateOutlet]=\"propertyConnector.template\"></ng-container>\n </td>\n <td class=\"t-cell\">\n <span class=\"type\">\n {{ propertyConnector.documentationPropertyType }}\n <tui-tooltip\n *ngIf=\"showContentTooltip(propertyConnector.documentationPropertyType)\"\n [describeId]=\"propertyConnector.attrName\"\n [content]=\"content\"\n >\n <ng-template #content>\n {{ texts[4] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n target=\"_blank\"\n href=\"https://github.com/tinkoff/ng-polymorpheus\"\n >\n <code>ng-polymorpheus</code>\n </a>\n </ng-template>\n </tui-tooltip>\n </span>\n </td>\n <td\n *ngIf=\"showValues\"\n class=\"t-cell\"\n >\n <ng-container *ngIf=\"propertyConnector.shouldShowValues; else elseEmitter\">\n <tui-select\n *ngIf=\"propertyConnector.hasItems; else noItems\"\n tuiTextfieldSize=\"m\"\n tuiDropdownLimitWidth=\"min\"\n [tuiTextfieldCleaner]=\"showCleaner(propertyConnector.documentationPropertyType)\"\n [tuiTextfieldLabelOutside]=\"true\"\n [nativeId]=\"propertyConnector.attrName\"\n [valueContent]=\"selectContent\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n >\n <code class=\"t-exception\">null</code>\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"propertyConnector.documentationPropertyValues\"\n [itemContent]=\"selectContent\"\n ></tui-data-list-wrapper>\n </tui-select>\n <ng-template\n #selectContent\n let-data\n >\n <code>{{ inspectAny(data) }}</code>\n </ng-template>\n\n <ng-template #noItems>\n <ng-container [ngSwitch]=\"propertyConnector.documentationPropertyType\">\n <tui-toggle\n *ngSwitchCase=\"'boolean'\"\n size=\"l\"\n [nativeId]=\"propertyConnector.attrName\"\n [showIcons]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-toggle>\n\n <tui-primitive-textfield\n *ngSwitchCase=\"'string'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue || ''\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-primitive-textfield>\n\n <div\n *ngSwitchCase=\"'color'\"\n tuiGroup\n >\n <tui-primitive-textfield\n tuiTextfieldType=\"text\"\n tuiTextfieldSize=\"m\"\n [attr.id]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiInputOpacity]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n [value]=\"getColor(propertyConnector.documentationPropertyValue)\"\n (valueChange)=\"onColorChange(propertyConnector, $event)\"\n ></tui-primitive-textfield>\n <tui-input-count\n tuiTextfieldSize=\"m\"\n [max]=\"100\"\n [ngModel]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n (ngModelChange)=\"onOpacityChange(propertyConnector, $event)\"\n >\n Opacity\n </tui-input-count>\n </div>\n\n <tui-input-count\n *ngSwitchCase=\"'number'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-input-count>\n\n <ng-container *ngSwitchCase=\"'PolymorpheusContent'\">\n <tui-primitive-textfield\n *ngIf=\"isPrimitivePolymorpheusContent(propertyConnector.documentationPropertyValue)\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue.toString()\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n >\n Default content\n </tui-primitive-textfield>\n </ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-template #elseEmitter>\n <tui-notification\n class=\"t-output\"\n [@emitEvent]=\"propertyConnector.emits$ | async\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n</table>\n", styles: [":host{display:block;min-width:100%}.t-table{width:100%;table-layout:fixed}.t-row:not(:last-child){border-bottom:1px solid var(--tui-base-03)}:host-context(tui-root._mobile) .t-row{display:flex;flex-wrap:wrap}:host-context(tui-root._mobile) .t-row_header{display:none}.t-cell{padding:1rem 1rem .875rem}.t-cell:first-child{padding-left:0}.t-cell:last-child{padding-right:0;text-align:right}.t-cell_prop{width:40%}.t-cell_value{max-width:20rem}:host-context(tui-root._mobile) .t-cell_value{width:9.375rem}:host-context(tui-root._mobile) .t-cell{width:100%;height:auto;padding:.5rem 0;text-align:left}.t-th{padding:.5rem 1rem;color:var(--tui-text-02);font-weight:normal;text-align:left}.t-property{font:var(--tui-font-text-m);margin-bottom:.25rem;font-family:monospace;color:#8f75d1}:host-context(tui-root._mobile) .t-property{padding:.5rem 0}.t-type{font-family:monospace}.t-deprecated{background-color:var(--tui-error-bg);box-shadow:-1rem 0 var(--tui-error-bg),1rem 0 var(--tui-error-bg)}.t-deprecated-label{margin-right:.125rem;color:var(--tui-error-fill)}.t-exception{display:block;width:-webkit-max-content;width:-moz-max-content;width:max-content}.t-output{text-align:left;opacity:0}.t-heading{font:var(--tui-font-heading-4)}\n"], components: [{ type: i1__namespace.TuiBadgeComponent, selector: "tui-badge", inputs: ["value", "size", "status", "hoverable"] }, { type: i2__namespace$1.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId"] }, { type: i2__namespace$1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { type: i1__namespace.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { type: i1__namespace.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items"] }, { type: i1__namespace.TuiToggleComponent, selector: "tui-toggle", inputs: ["singleColor", "showIcons", "showLoader", "size"] }, { type: i2__namespace$1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i1__namespace.TuiInputCountComponent, selector: "tui-input-count", inputs: ["step", "min", "max", "hideButtons", "prefix", "postfix"] }, { type: i2__namespace$1.TuiNotificationComponent, selector: "tui-notification", inputs: ["hasIcon", "status"], outputs: ["close"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2__namespace$1.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i1__namespace.TuiSelectDirective, selector: "tui-select" }, { type: i2__namespace$1.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { type: i2__namespace$1.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight]", inputs: ["tuiDropdownAlign", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight"] }, { type: i2__namespace$1.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { type: i2__namespace$1.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { type: i5__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2__namespace$1.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i5__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2__namespace$1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i2__namespace$1.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i2__namespace$1.TuiTextfieldTypeDirective, selector: "[tuiTextfieldType]", inputs: ["tuiTextfieldType"] }, { type: TuiInputOpacityDirective, selector: "[tuiInputOpacity]", inputs: ["tuiInputOpacity"] }, { type: i1__namespace.TuiInputCountDirective, selector: "tui-input-count" }], pipes: { "async": i5__namespace.AsyncPipe }, animations: [
1228
1181
  animations.trigger("emitEvent", [
1229
1182
  animations.transition(":increment", [animations.style({ opacity: 1 }), animations.animate("500ms ease-in")]),
1230
1183
  ]),
@@ -1284,70 +1237,70 @@
1284
1237
  }());
1285
1238
  TuiDocDocumentationModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocDocumentationModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1286
1239
  TuiDocDocumentationModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocDocumentationModule, declarations: [TuiDocDocumentationComponent,
1287
- TuiDocDocumentationPropertyConnectorDirective], imports: [i4.CommonModule,
1288
- i5.FormsModule,
1289
- i5$1.RouterModule,
1290
- i2$1.TuiBadgeModule,
1291
- i2$1.TuiSelectModule,
1292
- i2$1.TuiToggleModule,
1293
- i1.TuiTooltipModule,
1294
- i1.TuiLinkModule,
1295
- i2$1.TuiInputCountModule,
1296
- i1.TuiModeModule,
1297
- i1.TuiGroupModule,
1240
+ TuiDocDocumentationPropertyConnectorDirective], imports: [i5.CommonModule,
1241
+ i5$1.FormsModule,
1242
+ i6$1.RouterModule,
1243
+ i1.TuiBadgeModule,
1244
+ i1.TuiSelectModule,
1245
+ i1.TuiToggleModule,
1246
+ i2$1.TuiTooltipModule,
1247
+ i2$1.TuiLinkModule,
1248
+ i1.TuiInputCountModule,
1249
+ i2$1.TuiModeModule,
1250
+ i2$1.TuiGroupModule,
1298
1251
  TuiInputOpacityModule,
1299
- i1.TuiPrimitiveTextfieldModule,
1300
- i1.TuiTextfieldControllerModule,
1301
- i1.TuiHintControllerModule,
1302
- i1.TuiDropdownControllerModule,
1303
- i1.TuiDataListModule,
1304
- i2$1.TuiDataListWrapperModule,
1305
- i1.TuiNotificationModule], exports: [TuiDocDocumentationComponent,
1252
+ i2$1.TuiPrimitiveTextfieldModule,
1253
+ i2$1.TuiTextfieldControllerModule,
1254
+ i2$1.TuiHintControllerModule,
1255
+ i2$1.TuiDropdownModule,
1256
+ i2$1.TuiDataListModule,
1257
+ i1.TuiDataListWrapperModule,
1258
+ i2$1.TuiNotificationModule], exports: [TuiDocDocumentationComponent,
1306
1259
  TuiDocDocumentationPropertyConnectorDirective] });
1307
1260
  TuiDocDocumentationModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocDocumentationModule, imports: [[
1308
- i4.CommonModule,
1309
- i5.FormsModule,
1310
- i5$1.RouterModule,
1311
- i2$1.TuiBadgeModule,
1312
- i2$1.TuiSelectModule,
1313
- i2$1.TuiToggleModule,
1314
- i1.TuiTooltipModule,
1315
- i1.TuiLinkModule,
1316
- i2$1.TuiInputCountModule,
1317
- i1.TuiModeModule,
1318
- i1.TuiGroupModule,
1261
+ i5.CommonModule,
1262
+ i5$1.FormsModule,
1263
+ i6$1.RouterModule,
1264
+ i1.TuiBadgeModule,
1265
+ i1.TuiSelectModule,
1266
+ i1.TuiToggleModule,
1267
+ i2$1.TuiTooltipModule,
1268
+ i2$1.TuiLinkModule,
1269
+ i1.TuiInputCountModule,
1270
+ i2$1.TuiModeModule,
1271
+ i2$1.TuiGroupModule,
1319
1272
  TuiInputOpacityModule,
1320
- i1.TuiPrimitiveTextfieldModule,
1321
- i1.TuiTextfieldControllerModule,
1322
- i1.TuiHintControllerModule,
1323
- i1.TuiDropdownControllerModule,
1324
- i1.TuiDataListModule,
1325
- i2$1.TuiDataListWrapperModule,
1326
- i1.TuiNotificationModule,
1273
+ i2$1.TuiPrimitiveTextfieldModule,
1274
+ i2$1.TuiTextfieldControllerModule,
1275
+ i2$1.TuiHintControllerModule,
1276
+ i2$1.TuiDropdownModule,
1277
+ i2$1.TuiDataListModule,
1278
+ i1.TuiDataListWrapperModule,
1279
+ i2$1.TuiNotificationModule,
1327
1280
  ]] });
1328
1281
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocDocumentationModule, decorators: [{
1329
1282
  type: i0.NgModule,
1330
1283
  args: [{
1331
1284
  imports: [
1332
- i4.CommonModule,
1333
- i5.FormsModule,
1334
- i5$1.RouterModule,
1335
- i2$1.TuiBadgeModule,
1336
- i2$1.TuiSelectModule,
1337
- i2$1.TuiToggleModule,
1338
- i1.TuiTooltipModule,
1339
- i1.TuiLinkModule,
1340
- i2$1.TuiInputCountModule,
1341
- i1.TuiModeModule,
1342
- i1.TuiGroupModule,
1285
+ i5.CommonModule,
1286
+ i5$1.FormsModule,
1287
+ i6$1.RouterModule,
1288
+ i1.TuiBadgeModule,
1289
+ i1.TuiSelectModule,
1290
+ i1.TuiToggleModule,
1291
+ i2$1.TuiTooltipModule,
1292
+ i2$1.TuiLinkModule,
1293
+ i1.TuiInputCountModule,
1294
+ i2$1.TuiModeModule,
1295
+ i2$1.TuiGroupModule,
1343
1296
  TuiInputOpacityModule,
1344
- i1.TuiPrimitiveTextfieldModule,
1345
- i1.TuiTextfieldControllerModule,
1346
- i1.TuiHintControllerModule,
1347
- i1.TuiDropdownControllerModule,
1348
- i1.TuiDataListModule,
1349
- i2$1.TuiDataListWrapperModule,
1350
- i1.TuiNotificationModule,
1297
+ i2$1.TuiPrimitiveTextfieldModule,
1298
+ i2$1.TuiTextfieldControllerModule,
1299
+ i2$1.TuiHintControllerModule,
1300
+ i2$1.TuiDropdownModule,
1301
+ i2$1.TuiDataListModule,
1302
+ i1.TuiDataListWrapperModule,
1303
+ i2$1.TuiNotificationModule,
1351
1304
  ],
1352
1305
  declarations: [
1353
1306
  TuiDocDocumentationComponent,
@@ -1366,13 +1319,9 @@
1366
1319
 
1367
1320
  var TUI_DOC_CODE_EDITOR = new i0.InjectionToken("Contains service for opening online IDE e.g. Stackblitz");
1368
1321
 
1369
- var TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new i0.InjectionToken("Processes content in example", { factory: function () { return i8.identity; } });
1322
+ var TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new i0.InjectionToken("Processes content in example", { factory: function () { return i9.identity; } });
1370
1323
 
1371
- /**
1372
- * @deprecated: use {@link tuiRawLoadRecord} instead
1373
- */
1374
- // eslint-disable-next-line @typescript-eslint/naming-convention
1375
- function rawLoadRecord(example) {
1324
+ function tuiRawLoadRecord(example) {
1376
1325
  return __awaiter(this, void 0, void 0, function () {
1377
1326
  var processedContent, _a, _b, _c, key, content, _d, _e, e_1_1;
1378
1327
  var e_1, _f;
@@ -1391,7 +1340,7 @@
1391
1340
  if (!content) return [3 /*break*/, 4];
1392
1341
  _d = processedContent;
1393
1342
  _e = key;
1394
- return [4 /*yield*/, rawLoad(content)];
1343
+ return [4 /*yield*/, tuiRawLoad(content)];
1395
1344
  case 3:
1396
1345
  _d[_e] = _g.sent();
1397
1346
  _g.label = 4;
@@ -1414,13 +1363,12 @@
1414
1363
  });
1415
1364
  });
1416
1365
  }
1417
- var tuiRawLoadRecord = rawLoadRecord;
1418
1366
 
1419
1367
  var TuiDocExampleCapitalizePipe = /** @class */ (function () {
1420
1368
  function TuiDocExampleCapitalizePipe() {
1421
1369
  }
1422
1370
  TuiDocExampleCapitalizePipe.prototype.transform = function (content) {
1423
- return i3.tuiIsString(content) ? i1.tuiCapitalizeFirstLetter(content) : content;
1371
+ return i6.tuiIsString(content) ? i2$1.tuiCapitalizeFirstLetter(content) : content;
1424
1372
  };
1425
1373
  return TuiDocExampleCapitalizePipe;
1426
1374
  }());
@@ -1446,8 +1394,6 @@
1446
1394
  args: [{ name: "tuiDocExampleGetTabs" }]
1447
1395
  }] });
1448
1396
 
1449
- // Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395
1450
- // @dynamic
1451
1397
  var TuiDocExampleComponent = /** @class */ (function () {
1452
1398
  function TuiDocExampleComponent(id, clipboard, alertService, location, copyTexts$, texts, codeEditor, processContent, isCypress, codeActions, router, route, ngLocation) {
1453
1399
  var _this = this;
@@ -1464,7 +1410,7 @@
1464
1410
  this.router = router;
1465
1411
  this.route = route;
1466
1412
  this.ngLocation = ngLocation;
1467
- this.rawLoader$$ = new i8.BehaviorSubject({});
1413
+ this.rawLoader$$ = new i9.BehaviorSubject({});
1468
1414
  this.heading = "";
1469
1415
  this.description = "";
1470
1416
  this.componentName = this.location.pathname.slice(1);
@@ -1475,8 +1421,8 @@
1475
1421
  var _c = __read(_b, 1), copy = _c[0];
1476
1422
  return copy;
1477
1423
  }));
1478
- this.processor$ = this.rawLoader$$.pipe(operators.switchMap(rawLoadRecord), operators.map(function (value) { return _this.processContent(value); }));
1479
- this.loading$ = new i8.Subject();
1424
+ this.processor$ = this.rawLoader$$.pipe(operators.switchMap(tuiRawLoadRecord), operators.map(function (value) { return _this.processContent(value); }));
1425
+ this.loading$ = new i9.Subject();
1480
1426
  }
1481
1427
  Object.defineProperty(TuiDocExampleComponent.prototype, "content", {
1482
1428
  set: function (content) {
@@ -1514,8 +1460,8 @@
1514
1460
  };
1515
1461
  return TuiDocExampleComponent;
1516
1462
  }());
1517
- TuiDocExampleComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocExampleComponent, deps: [{ token: "id", attribute: true }, { token: i8$1.Clipboard }, { token: i1.TuiAlertService }, { token: common.LOCATION }, { token: i2$1.TUI_COPY_TEXTS }, { token: TUI_DOC_EXAMPLE_TEXTS }, { token: TUI_DOC_CODE_EDITOR, optional: true }, { token: TUI_DOC_EXAMPLE_CONTENT_PROCESSOR }, { token: i3.TUI_IS_CYPRESS }, { token: TUI_DOC_CODE_ACTIONS }, { token: i5$1.Router }, { token: i5$1.ActivatedRoute }, { token: i4.Location }], target: i0__namespace.ɵɵFactoryTarget.Component });
1518
- TuiDocExampleComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocExampleComponent, selector: "tui-doc-example", inputs: { heading: "heading", description: "description", content: "content", componentName: "componentName" }, ngImport: i0__namespace, template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n *polymorpheusOutlet=\"heading | tuiDocExampleCapitalize as text\"\n [textContent]=\"text\"\n ></span>\n <button\n *ngIf=\"id\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconLinkLarge\"\n appearance=\"icon\"\n class=\"t-link-icon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink()\"\n ></button>\n</h3>\n<h4\n *ngIf=\"description\"\n class=\"t-description\"\n>\n <ng-container *polymorpheusOutlet=\"description | tuiDocExampleCapitalize as text\">\n {{ text }}\n </ng-container>\n</h4>\n\n<div\n *ngIf=\"processor$ | async as files\"\n class=\"t-example\"\n>\n <ng-container *ngIf=\"files | tuiDocExampleGetTabs: defaultTab as tabs\">\n <div class=\"t-tabs-wrapper\">\n <tui-tabs-with-more\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <button\n *tuiItem\n tuiTab\n >\n {{ tab }}\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <button\n *ngIf=\"codeEditor\"\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n Edit on {{ codeEditor.name }}\n </button>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isCypress\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container\n *ngIf=\"index === defaultTabIndex; else anotherTab\"\n [ngTemplateOutlet]=\"preview\"\n ></ng-container>\n <ng-template #anotherTab>\n <ng-container\n [ngTemplateOutlet]=\"codeSection\"\n [ngTemplateOutletContext]=\"{$implicit: files[tabs[activeItemIndex]] || ''}\"\n ></ng-container>\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <section class=\"t-code-actions\">\n <ng-container *ngFor=\"let action of codeActions\">\n <ng-container *polymorpheusOutlet=\"action as text; context: {$implicit: code}\">\n {{ text }}\n </ng-container>\n </ng-container>\n <tui-doc-copy [cdkCopyToClipboard]=\"code\"></tui-doc-copy>\n </section>\n <tui-doc-code [code]=\"code\"></tui-doc-code>\n</ng-template>\n", styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:right}:host :host-context(tui-root._mobile){padding-top:2rem}.t-title{font:var(--tui-font-heading-5);margin:0 0 .5rem}:host-context(tui-root._mobile) .t-title{font:var(--tui-font-heading-6)}.t-description{font:var(--tui-font-text-m);font-weight:normal;margin:0}.t-example{position:relative;margin-top:1.5rem;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);box-shadow:0 .125rem .1875rem rgba(0,0,0,.1)}:host-context(tui-root._mobile) .t-example{margin-top:.75rem}.t-tabs-wrapper{display:flex;padding:0 2rem;box-shadow:inset 0 -1px var(--tui-base-03);justify-content:space-between;align-items:center}:host-context(tui-root._mobile) .t-tabs-wrapper{padding:0 1rem}.t-tabs{flex-grow:1}.t-demo{padding:2rem;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.t-demo::-webkit-scrollbar,.t-demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}.t-demo::-webkit-scrollbar{background-color:transparent}.t-demo::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.t-demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.t-demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host-context(tui-root._mobile) .t-demo{padding:1rem}.t-code-actions{position:absolute;top:4.375rem;right:1rem;display:flex;justify-content:flex-end;align-items:center}.t-code-actions>*{margin-left:.5rem}.t-link-icon{margin-left:.3rem;vertical-align:baseline}.t-content{will-change:opacity;height:0;visibility:hidden;opacity:0}.t-content_animated{transition:opacity .3s ease-in-out}.t-content_visible{height:auto;visibility:visible;opacity:1}\n"], components: [{ type: i1__namespace.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i2__namespace$1.TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["moreContent", "dropdownContent", "underline", "activeItemIndex", "itemsLimit"], outputs: ["activeItemIndexChange"] }, { type: i2__namespace$1.TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: TuiDocCopyComponent, selector: "tui-doc-copy" }, { type: TuiDocCodeComponent, selector: "tui-doc-code", inputs: ["filename", "code"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.TuiItemDirective, selector: "[tuiItem]" }, { type: i4__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8__namespace$1.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }], pipes: { "tuiDocExampleCapitalize": TuiDocExampleCapitalizePipe, "async": i4__namespace.AsyncPipe, "tuiDocExampleGetTabs": TuiDocExampleGetTabsPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1463
+ TuiDocExampleComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocExampleComponent, deps: [{ token: "id", attribute: true }, { token: i8.Clipboard }, { token: i2$1.TuiAlertService }, { token: common.LOCATION }, { token: i1.TUI_COPY_TEXTS }, { token: TUI_DOC_EXAMPLE_TEXTS }, { token: TUI_DOC_CODE_EDITOR, optional: true }, { token: TUI_DOC_EXAMPLE_CONTENT_PROCESSOR }, { token: i6.TUI_IS_CYPRESS }, { token: TUI_DOC_CODE_ACTIONS }, { token: i6$1.Router }, { token: i6$1.ActivatedRoute }, { token: i5.Location }], target: i0__namespace.ɵɵFactoryTarget.Component });
1464
+ TuiDocExampleComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocExampleComponent, selector: "tui-doc-example", inputs: { heading: "heading", description: "description", content: "content", componentName: "componentName" }, ngImport: i0__namespace, template: "<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n *polymorpheusOutlet=\"heading | tuiDocExampleCapitalize as text\"\n [textContent]=\"text\"\n ></span>\n <button\n *ngIf=\"id\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconLinkLarge\"\n appearance=\"icon\"\n class=\"t-link-icon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink()\"\n ></button>\n</h3>\n<h4\n *ngIf=\"description\"\n class=\"t-description\"\n>\n <ng-container *polymorpheusOutlet=\"description | tuiDocExampleCapitalize as text\">\n {{ text }}\n </ng-container>\n</h4>\n\n<div\n *ngIf=\"processor$ | async as files\"\n class=\"t-example\"\n>\n <ng-container *ngIf=\"files | tuiDocExampleGetTabs: defaultTab as tabs\">\n <div class=\"t-tabs-wrapper\">\n <tui-tabs-with-more\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <button\n *tuiItem\n tuiTab\n >\n {{ tab }}\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <button\n *ngIf=\"codeEditor\"\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n Edit on {{ codeEditor.name }}\n </button>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isCypress\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container\n *ngIf=\"index === defaultTabIndex; else anotherTab\"\n [ngTemplateOutlet]=\"preview\"\n ></ng-container>\n <ng-template #anotherTab>\n <ng-container\n [ngTemplateOutlet]=\"codeSection\"\n [ngTemplateOutletContext]=\"{$implicit: files[tabs[activeItemIndex]] || ''}\"\n ></ng-container>\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <section class=\"t-code-actions\">\n <ng-container *ngFor=\"let action of codeActions\">\n <ng-container *polymorpheusOutlet=\"action as text; context: {$implicit: code}\">\n {{ text }}\n </ng-container>\n </ng-container>\n <tui-doc-copy [cdkCopyToClipboard]=\"code\"></tui-doc-copy>\n </section>\n <tui-doc-code [code]=\"code\"></tui-doc-code>\n</ng-template>\n", styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:right}:host :host-context(tui-root._mobile){padding-top:2rem}.t-title{font:var(--tui-font-heading-5);margin:0 0 .5rem}:host-context(tui-root._mobile) .t-title{font:var(--tui-font-heading-6)}.t-description{font:var(--tui-font-text-m);font-weight:normal;margin:0}.t-example{position:relative;margin-top:1.5rem;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);box-shadow:0 .125rem .1875rem rgba(0,0,0,.1)}:host-context(tui-root._mobile) .t-example{margin-top:.75rem}.t-tabs-wrapper{display:flex;padding:0 2rem;box-shadow:inset 0 -1px var(--tui-base-03);justify-content:space-between;align-items:center}:host-context(tui-root._mobile) .t-tabs-wrapper{padding:0 1rem}.t-tabs{flex-grow:1}.t-demo{padding:2rem;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.t-demo::-webkit-scrollbar,.t-demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}.t-demo::-webkit-scrollbar{background-color:transparent}.t-demo::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.t-demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.t-demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host-context(tui-root._mobile) .t-demo{padding:1rem}.t-code-actions{position:absolute;top:4.375rem;right:1rem;display:flex;justify-content:flex-end;align-items:center}.t-code-actions>*{margin-left:.5rem}.t-link-icon{margin-left:.3rem;vertical-align:baseline}.t-content{will-change:opacity;height:0;visibility:hidden;opacity:0}.t-content_animated{transition:opacity .3s ease-in-out}.t-content_visible{height:auto;visibility:visible;opacity:1}\n"], components: [{ type: i2__namespace$1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1__namespace.TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["moreContent", "dropdownContent", "underline", "activeItemIndex", "itemsLimit"], outputs: ["activeItemIndexChange"] }, { type: i1__namespace.TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: TuiDocCopyComponent, selector: "tui-doc-copy" }, { type: TuiDocCodeComponent, selector: "tui-doc-code", inputs: ["filename", "code"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace$2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6__namespace$1.TuiItemDirective, selector: "[tuiItem]" }, { type: i5__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8__namespace.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }], pipes: { "tuiDocExampleCapitalize": TuiDocExampleCapitalizePipe, "async": i5__namespace.AsyncPipe, "tuiDocExampleGetTabs": TuiDocExampleGetTabsPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1519
1465
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocExampleComponent, decorators: [{
1520
1466
  type: i0.Component,
1521
1467
  args: [{
@@ -1528,18 +1474,18 @@
1528
1474
  return [{ type: undefined, decorators: [{
1529
1475
  type: i0.Attribute,
1530
1476
  args: ["id"]
1531
- }] }, { type: i8__namespace$1.Clipboard, decorators: [{
1477
+ }] }, { type: i8__namespace.Clipboard, decorators: [{
1532
1478
  type: i0.Inject,
1533
- args: [i8$1.Clipboard]
1534
- }] }, { type: i1__namespace.TuiAlertService, decorators: [{
1479
+ args: [i8.Clipboard]
1480
+ }] }, { type: i2__namespace$1.TuiAlertService, decorators: [{
1535
1481
  type: i0.Inject,
1536
- args: [i1.TuiAlertService]
1482
+ args: [i2$1.TuiAlertService]
1537
1483
  }] }, { type: Location, decorators: [{
1538
1484
  type: i0.Inject,
1539
1485
  args: [common.LOCATION]
1540
- }] }, { type: i8__namespace.Observable, decorators: [{
1486
+ }] }, { type: i9__namespace.Observable, decorators: [{
1541
1487
  type: i0.Inject,
1542
- args: [i2$1.TUI_COPY_TEXTS]
1488
+ args: [i1.TUI_COPY_TEXTS]
1543
1489
  }] }, { type: undefined, decorators: [{
1544
1490
  type: i0.Inject,
1545
1491
  args: [TUI_DOC_EXAMPLE_TEXTS]
@@ -1553,19 +1499,19 @@
1553
1499
  args: [TUI_DOC_EXAMPLE_CONTENT_PROCESSOR]
1554
1500
  }] }, { type: undefined, decorators: [{
1555
1501
  type: i0.Inject,
1556
- args: [i3.TUI_IS_CYPRESS]
1502
+ args: [i6.TUI_IS_CYPRESS]
1557
1503
  }] }, { type: Array, decorators: [{
1558
1504
  type: i0.Inject,
1559
1505
  args: [TUI_DOC_CODE_ACTIONS]
1560
- }] }, { type: i5__namespace.Router, decorators: [{
1506
+ }] }, { type: i6__namespace.Router, decorators: [{
1561
1507
  type: i0.Inject,
1562
- args: [i5$1.Router]
1563
- }] }, { type: i5__namespace.ActivatedRoute, decorators: [{
1508
+ args: [i6$1.Router]
1509
+ }] }, { type: i6__namespace.ActivatedRoute, decorators: [{
1564
1510
  type: i0.Inject,
1565
- args: [i5$1.ActivatedRoute]
1566
- }] }, { type: i4__namespace.Location, decorators: [{
1511
+ args: [i6$1.ActivatedRoute]
1512
+ }] }, { type: i5__namespace.Location, decorators: [{
1567
1513
  type: i0.Inject,
1568
- args: [i4.Location]
1514
+ args: [i5.Location]
1569
1515
  }] }];
1570
1516
  }, propDecorators: { heading: [{
1571
1517
  type: i0.Input
@@ -1585,35 +1531,35 @@
1585
1531
  TuiDocExampleModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocExampleModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1586
1532
  TuiDocExampleModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocExampleModule, declarations: [TuiDocExampleComponent,
1587
1533
  TuiDocExampleGetTabsPipe,
1588
- TuiDocExampleCapitalizePipe], imports: [i4.CommonModule,
1589
- i8$1.ClipboardModule,
1590
- i2$1.TuiTabsModule,
1591
- i1.TuiButtonModule,
1534
+ TuiDocExampleCapitalizePipe], imports: [i5.CommonModule,
1535
+ i8.ClipboardModule,
1536
+ i1.TuiTabsModule,
1537
+ i2$1.TuiButtonModule,
1592
1538
  TuiDocCopyModule,
1593
1539
  TuiDocCodeModule,
1594
- i6.PolymorpheusModule], exports: [TuiDocExampleComponent,
1540
+ i6$2.PolymorpheusModule], exports: [TuiDocExampleComponent,
1595
1541
  TuiDocExampleGetTabsPipe,
1596
1542
  TuiDocExampleCapitalizePipe] });
1597
1543
  TuiDocExampleModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocExampleModule, imports: [[
1598
- i4.CommonModule,
1599
- i8$1.ClipboardModule,
1600
- i2$1.TuiTabsModule,
1601
- i1.TuiButtonModule,
1544
+ i5.CommonModule,
1545
+ i8.ClipboardModule,
1546
+ i1.TuiTabsModule,
1547
+ i2$1.TuiButtonModule,
1602
1548
  TuiDocCopyModule,
1603
1549
  TuiDocCodeModule,
1604
- i6.PolymorpheusModule,
1550
+ i6$2.PolymorpheusModule,
1605
1551
  ]] });
1606
1552
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocExampleModule, decorators: [{
1607
1553
  type: i0.NgModule,
1608
1554
  args: [{
1609
1555
  imports: [
1610
- i4.CommonModule,
1611
- i8$1.ClipboardModule,
1612
- i2$1.TuiTabsModule,
1613
- i1.TuiButtonModule,
1556
+ i5.CommonModule,
1557
+ i8.ClipboardModule,
1558
+ i1.TuiTabsModule,
1559
+ i2$1.TuiButtonModule,
1614
1560
  TuiDocCopyModule,
1615
1561
  TuiDocCodeModule,
1616
- i6.PolymorpheusModule,
1562
+ i6$2.PolymorpheusModule,
1617
1563
  ],
1618
1564
  declarations: [
1619
1565
  TuiDocExampleComponent,
@@ -1628,7 +1574,72 @@
1628
1574
  }]
1629
1575
  }] });
1630
1576
 
1631
- var TUI_DOC_PAGE_LOADED = new i0.InjectionToken("[TUI_DOC_PAGE_LOADED] Stream that emits if loading of page is over (for example, to begin scrollIntoView)", { factory: function () { return i8.defer(function () { return i8.timer(200).pipe(operators.switchMapTo(i8.of(true))); }); } });
1577
+ var TuiLanguageSwitcherComponent = /** @class */ (function () {
1578
+ function TuiLanguageSwitcherComponent(switcher, iconsPath) {
1579
+ this.switcher = switcher;
1580
+ this.iconsPath = iconsPath;
1581
+ this.path = this.iconsPath("tuiIcon").replace("tuiIcon.svg#tuiIcon", "");
1582
+ this.language = new i5$1.FormControl(i2$1.tuiCapitalizeFirstLetter(this.switcher.language));
1583
+ this.flags = new Map([
1584
+ ["chinese", i5$2.TuiCountryIsoCode.CN],
1585
+ ["dutch", i5$2.TuiCountryIsoCode.NL],
1586
+ ["english", i5$2.TuiCountryIsoCode.GB],
1587
+ ["french", i5$2.TuiCountryIsoCode.FR],
1588
+ ["german", i5$2.TuiCountryIsoCode.DE],
1589
+ ["italian", i5$2.TuiCountryIsoCode.IT],
1590
+ ["polish", i5$2.TuiCountryIsoCode.PL],
1591
+ ["portuguese", i5$2.TuiCountryIsoCode.PT],
1592
+ ["russian", i5$2.TuiCountryIsoCode.RU],
1593
+ ["spanish", i5$2.TuiCountryIsoCode.ES],
1594
+ ["turkish", i5$2.TuiCountryIsoCode.TR],
1595
+ ["ukrainian", i5$2.TuiCountryIsoCode.UA],
1596
+ ["vietnamese", i5$2.TuiCountryIsoCode.VN],
1597
+ ]);
1598
+ this.names = Array.from(this.flags.keys());
1599
+ }
1600
+ TuiLanguageSwitcherComponent.prototype.getFlagPath = function (code) {
1601
+ return code ? "" + this.path + code + ".png" : null;
1602
+ };
1603
+ return TuiLanguageSwitcherComponent;
1604
+ }());
1605
+ TuiLanguageSwitcherComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiLanguageSwitcherComponent, deps: [{ token: i5$2.TuiLanguageSwitcher }, { token: i2$1.TUI_ICONS_PATH }], target: i0__namespace.ɵɵFactoryTarget.Component });
1606
+ TuiLanguageSwitcherComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiLanguageSwitcherComponent, selector: "tui-language-switcher", ngImport: i0__namespace, template: "<tui-select [formControl]=\"language\">\n <ng-content></ng-content>\n <tui-data-list *tuiDataList>\n <button\n *ngFor=\"let name of names\"\n tuiOption\n [value]=\"name | titlecase\"\n (click)=\"switcher.setLanguage(name)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"getFlagPath(flags.get(name))\"\n />\n {{ name | titlecase }}\n </button>\n </tui-data-list>\n</tui-select>\n", styles: [".t-flag{width:1.75rem;height:1.25rem;margin-right:.5rem}\n"], components: [{ type: i1__namespace.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { type: i2__namespace$1.TuiDataListComponent, selector: "tui-data-list", inputs: ["role", "emptyContent"] }, { type: i2__namespace$1.TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: ["size", "role", "disabled", "value"] }], directives: [{ type: i1__namespace.TuiSelectDirective, selector: "tui-select" }, { type: i5__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i2__namespace$1.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "titlecase": i5__namespace.TitleCasePipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1607
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiLanguageSwitcherComponent, decorators: [{
1608
+ type: i0.Component,
1609
+ args: [{
1610
+ selector: "tui-language-switcher",
1611
+ templateUrl: "./language-switcher.component.html",
1612
+ styleUrls: ["./language-switcher.component.less"],
1613
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
1614
+ }]
1615
+ }], ctorParameters: function () {
1616
+ return [{ type: i5__namespace$2.TuiLanguageSwitcher, decorators: [{
1617
+ type: i0.Inject,
1618
+ args: [i5$2.TuiLanguageSwitcher]
1619
+ }] }, { type: undefined, decorators: [{
1620
+ type: i0.Inject,
1621
+ args: [i2$1.TUI_ICONS_PATH]
1622
+ }] }];
1623
+ } });
1624
+
1625
+ var TuiLanguageSwitcherModule = /** @class */ (function () {
1626
+ function TuiLanguageSwitcherModule() {
1627
+ }
1628
+ return TuiLanguageSwitcherModule;
1629
+ }());
1630
+ TuiLanguageSwitcherModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiLanguageSwitcherModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
1631
+ TuiLanguageSwitcherModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiLanguageSwitcherModule, declarations: [TuiLanguageSwitcherComponent], imports: [i5.CommonModule, i1.TuiSelectModule, i2$1.TuiDataListModule, i5$1.ReactiveFormsModule], exports: [TuiLanguageSwitcherComponent] });
1632
+ TuiLanguageSwitcherModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiLanguageSwitcherModule, imports: [[i5.CommonModule, i1.TuiSelectModule, i2$1.TuiDataListModule, i5$1.ReactiveFormsModule]] });
1633
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiLanguageSwitcherModule, decorators: [{
1634
+ type: i0.NgModule,
1635
+ args: [{
1636
+ exports: [TuiLanguageSwitcherComponent],
1637
+ declarations: [TuiLanguageSwitcherComponent],
1638
+ imports: [i5.CommonModule, i1.TuiSelectModule, i2$1.TuiDataListModule, i5$1.ReactiveFormsModule],
1639
+ }]
1640
+ }] });
1641
+
1642
+ var TUI_DOC_PAGE_LOADED = new i0.InjectionToken("[TUI_DOC_PAGE_LOADED] Stream that emits if loading of page is over (for example, to begin scrollIntoView)", { factory: function () { return i9.defer(function () { return i9.timer(200).pipe(operators.switchMapTo(i9.of(true))); }); } });
1632
1643
 
1633
1644
  var TUI_DOC_SCROLL_BEHAVIOR = new i0.InjectionToken("[TUI_DOC_SCROLL_BEHAVIOR] Defines the transition animation for scroll", { factory: function () { return "smooth"; } });
1634
1645
 
@@ -1667,20 +1678,17 @@
1667
1678
  я: "z",
1668
1679
  };
1669
1680
  /**
1670
- * @deprecated: use {@link tuiTransliterateKeyboardLayout} instead
1671
1681
  * Translates text mistakenly typed in the Russian layout into English
1672
1682
  * @param string string with Russian layout characters
1673
1683
  * @return string with English layout characters
1674
1684
  */
1675
- // eslint-disable-next-line @typescript-eslint/naming-convention
1676
- function transliterateKeyboardLayout(string) {
1685
+ function tuiTransliterateKeyboardLayout(string) {
1677
1686
  var newStr = "";
1678
1687
  for (var i = 0; i < string.length; i++) {
1679
1688
  newStr += string.charAt(i) in MAP ? MAP[string.charAt(i)] : string.charAt(i);
1680
1689
  }
1681
1690
  return newStr;
1682
1691
  }
1683
- var tuiTransliterateKeyboardLayout = transliterateKeyboardLayout;
1684
1692
 
1685
1693
  var TUI_DOC_PAGES = new i0.InjectionToken("Documentation pages", {
1686
1694
  factory: function () { return []; },
@@ -1694,11 +1702,19 @@
1694
1702
  var NAVIGATION_LABELS = new i0.InjectionToken("Navigation sections labels for search");
1695
1703
  var NAVIGATION_ITEMS = new i0.InjectionToken("Navigation pages");
1696
1704
  var NAVIGATION_PROVIDERS = [
1697
- i3.TuiDestroyService,
1705
+ i6.TuiDestroyService,
1698
1706
  {
1699
1707
  provide: NAVIGATION_TITLE,
1700
- deps: [i5$1.Router, i5$1.ActivatedRoute, TUI_DOC_TITLE, i3.TuiDestroyService],
1701
- useFactory: titleProviderFactory,
1708
+ deps: [i6$1.Router, i6$1.ActivatedRoute, TUI_DOC_TITLE, i6.TuiDestroyService],
1709
+ useFactory: function (router, activatedRoute, titlePrefix, destroy$) {
1710
+ return router.events.pipe(operators.filter(function (event) { return event instanceof i6$1.NavigationEnd; }), operators.map(function () { return activatedRoute.firstChild; }), operators.filter(i6.tuiIsPresent), operators.mergeMap(function (_a) {
1711
+ var data = _a.data;
1712
+ return data;
1713
+ }), operators.map(function (_a) {
1714
+ var title = _a.title;
1715
+ return titlePrefix + title;
1716
+ }), operators.takeUntil(destroy$));
1717
+ },
1702
1718
  },
1703
1719
  {
1704
1720
  provide: NAVIGATION_LABELS,
@@ -1708,105 +1724,70 @@
1708
1724
  {
1709
1725
  provide: NAVIGATION_ITEMS,
1710
1726
  deps: [TUI_DOC_PAGES],
1711
- useFactory: itemsProviderFactory,
1727
+ useFactory: function (pages) {
1728
+ var labels = labelsProviderFactory(pages);
1729
+ return __spreadArray(__spreadArray([], __read(labels.map(function (label) { return pages.filter(function (_a) {
1730
+ var section = _a.section;
1731
+ return section === label;
1732
+ }); }))), [
1733
+ pages.filter(function (page) { return !page.section; }),
1734
+ ]);
1735
+ },
1712
1736
  },
1713
1737
  ];
1714
- // eslint-disable-next-line @typescript-eslint/naming-convention
1715
- function titleProviderFactory(router, activatedRoute, titlePrefix, destroy$) {
1716
- return router.events.pipe(operators.filter(function (event) { return event instanceof i5$1.NavigationEnd; }), operators.map(function () { return activatedRoute.firstChild; }), operators.filter(i3.isPresent), operators.mergeMap(function (_a) {
1717
- var data = _a.data;
1718
- return data;
1719
- }), operators.map(function (_a) {
1720
- var title = _a.title;
1721
- return titlePrefix + title;
1722
- }), operators.takeUntil(destroy$));
1723
- }
1724
- // eslint-disable-next-line @typescript-eslint/naming-convention
1725
1738
  function labelsProviderFactory(pages) {
1726
1739
  return pages
1727
1740
  .map(function (_a) {
1728
1741
  var section = _a.section;
1729
1742
  return section;
1730
1743
  })
1731
- .filter(i3.isPresent)
1744
+ .filter(i6.tuiIsPresent)
1732
1745
  .filter(function (item, index, array) { return array.indexOf(item) === index; });
1733
1746
  }
1734
- // eslint-disable-next-line @typescript-eslint/naming-convention
1735
- function itemsProviderFactory(pages) {
1736
- var labels = labelsProviderFactory(pages);
1737
- return __spreadArray(__spreadArray([], __read(labels.map(function (label) { return pages.filter(function (_a) {
1738
- var section = _a.section;
1739
- return section === label;
1740
- }); }))), [
1741
- pages.filter(function (page) { return !page.section; }),
1742
- ]);
1743
- }
1744
1747
 
1745
- /**
1746
- * @deprecated: use {@link TuiScrollIntoViewLinkDirective}
1747
- * TODO: remove in v3.0
1748
- */
1749
- // eslint-disable-next-line @typescript-eslint/naming-convention
1750
- var ScrollIntoViewDirective = /** @class */ (function () {
1751
- function ScrollIntoViewDirective(destroy$, _a, readyToScroll$) {
1748
+ var TuiScrollIntoViewLinkDirective = /** @class */ (function () {
1749
+ function TuiScrollIntoViewLinkDirective(destroy$, _a, readyToScroll$) {
1752
1750
  var nativeElement = _a.nativeElement;
1753
1751
  this.readyToScroll$ = readyToScroll$;
1754
- this.scroll$ = new i8.ReplaySubject(1);
1752
+ this.scroll$ = new i9.ReplaySubject(1);
1755
1753
  this.readyToScroll$
1756
- .pipe(operators.filter(Boolean), operators.switchMapTo(this.scroll$), operators.debounceTime(750), operators.filter(function (shallWe) { return shallWe && !!i3.getElementObscurers(nativeElement); }), operators.takeUntil(destroy$))
1754
+ .pipe(operators.filter(Boolean), operators.switchMapTo(this.scroll$), operators.debounceTime(750), operators.filter(function (shallWe) { return shallWe && !!i6.tuiGetElementObscures(nativeElement); }), operators.takeUntil(destroy$))
1757
1755
  .subscribe(function () {
1758
1756
  nativeElement.scrollIntoView();
1759
1757
  });
1760
1758
  }
1761
- Object.defineProperty(ScrollIntoViewDirective.prototype, "scrollIntoView", {
1759
+ Object.defineProperty(TuiScrollIntoViewLinkDirective.prototype, "tuiScrollIntoViewLink", {
1762
1760
  set: function (shallWe) {
1763
1761
  this.scroll$.next(shallWe);
1764
1762
  },
1765
1763
  enumerable: false,
1766
1764
  configurable: true
1767
1765
  });
1768
- return ScrollIntoViewDirective;
1766
+ return TuiScrollIntoViewLinkDirective;
1769
1767
  }());
1770
- ScrollIntoViewDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ScrollIntoViewDirective, deps: [{ token: i3.TuiDestroyService }, { token: i0.ElementRef }, { token: TUI_DOC_PAGE_LOADED }], target: i0__namespace.ɵɵFactoryTarget.Directive });
1771
- ScrollIntoViewDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: ScrollIntoViewDirective, selector: "[scrollIntoView]", inputs: { scrollIntoView: "scrollIntoView" }, providers: [i3.TuiDestroyService], ngImport: i0__namespace });
1772
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ScrollIntoViewDirective, decorators: [{
1768
+ TuiScrollIntoViewLinkDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiScrollIntoViewLinkDirective, deps: [{ token: i6.TuiDestroyService }, { token: i0.ElementRef }, { token: TUI_DOC_PAGE_LOADED }], target: i0__namespace.ɵɵFactoryTarget.Directive });
1769
+ TuiScrollIntoViewLinkDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiScrollIntoViewLinkDirective, selector: "[tuiScrollIntoViewLink]", inputs: { tuiScrollIntoViewLink: "tuiScrollIntoViewLink" }, providers: [i6.TuiDestroyService], ngImport: i0__namespace });
1770
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiScrollIntoViewLinkDirective, decorators: [{
1773
1771
  type: i0.Directive,
1774
1772
  args: [{
1775
- selector: "[scrollIntoView]",
1776
- providers: [i3.TuiDestroyService],
1773
+ selector: "[tuiScrollIntoViewLink]",
1774
+ providers: [i6.TuiDestroyService],
1777
1775
  }]
1778
1776
  }], ctorParameters: function () {
1779
- return [{ type: i3__namespace.TuiDestroyService, decorators: [{
1777
+ return [{ type: i6__namespace$1.TuiDestroyService, decorators: [{
1780
1778
  type: i0.Inject,
1781
- args: [i3.TuiDestroyService]
1779
+ args: [i6.TuiDestroyService]
1782
1780
  }] }, { type: i0__namespace.ElementRef, decorators: [{
1783
1781
  type: i0.Inject,
1784
1782
  args: [i0.ElementRef]
1785
- }] }, { type: i8__namespace.Observable, decorators: [{
1783
+ }] }, { type: i9__namespace.Observable, decorators: [{
1786
1784
  type: i0.Inject,
1787
1785
  args: [TUI_DOC_PAGE_LOADED]
1788
1786
  }] }];
1789
- }, propDecorators: { scrollIntoView: [{
1787
+ }, propDecorators: { tuiScrollIntoViewLink: [{
1790
1788
  type: i0.Input
1791
1789
  }] } });
1792
- var TuiScrollIntoViewLinkDirective = /** @class */ (function (_super) {
1793
- __extends(TuiScrollIntoViewLinkDirective, _super);
1794
- function TuiScrollIntoViewLinkDirective() {
1795
- return _super !== null && _super.apply(this, arguments) || this;
1796
- }
1797
- return TuiScrollIntoViewLinkDirective;
1798
- }(ScrollIntoViewDirective));
1799
- TuiScrollIntoViewLinkDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiScrollIntoViewLinkDirective, deps: null, target: i0__namespace.ɵɵFactoryTarget.Directive });
1800
- TuiScrollIntoViewLinkDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiScrollIntoViewLinkDirective, selector: "[tuiScrollIntoViewLink]", providers: [i3.TuiDestroyService], usesInheritance: true, ngImport: i0__namespace });
1801
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiScrollIntoViewLinkDirective, decorators: [{
1802
- type: i0.Directive,
1803
- args: [{
1804
- selector: "[tuiScrollIntoViewLink]",
1805
- providers: [i3.TuiDestroyService],
1806
- }]
1807
- }] });
1808
1790
 
1809
- // @dynamic
1810
1791
  var TuiDocNavigationComponent = /** @class */ (function () {
1811
1792
  function TuiDocNavigationComponent(changeDetectorRef, titleService, title$, documentRef, mode, sidebar, labels, items, searchText, router, activatedRoute, destroy$, readyToScroll$, scrollBehavior) {
1812
1793
  var _this = this;
@@ -1822,11 +1803,11 @@
1822
1803
  this.readyToScroll$ = readyToScroll$;
1823
1804
  this.scrollBehavior = scrollBehavior;
1824
1805
  this.menuOpen = false;
1825
- this.search = "";
1826
- this.open = false;
1827
1806
  this.openPagesArr = [];
1828
1807
  this.openPagesGroupsArr = [];
1829
1808
  this.active = "";
1809
+ this.search = new i5$1.FormControl("");
1810
+ this.filtered$ = i6.tuiControlValue(this.search).pipe(operators.filter(function (search) { return search.length > 2; }), operators.map(function (search) { return _this.filterItems(_this.flattenSubPages(_this.items), search); }));
1830
1811
  this.mode$ = this.mode.change$.pipe(operators.startWith(null), operators.map(function () { return _this.mode.mode || "onLight"; }));
1831
1812
  // Angular can't navigate no anchor links
1832
1813
  // https://stackoverflow.com/questions/36101756/angular2-routing-with-hashtag-to-page-anchor
@@ -1839,14 +1820,7 @@
1839
1820
  }
1840
1821
  Object.defineProperty(TuiDocNavigationComponent.prototype, "canOpen", {
1841
1822
  get: function () {
1842
- return this.search.length > 2;
1843
- },
1844
- enumerable: false,
1845
- configurable: true
1846
- });
1847
- Object.defineProperty(TuiDocNavigationComponent.prototype, "filteredItems", {
1848
- get: function () {
1849
- return this.filterItems(this.flattenSubPages(this.items), this.search);
1823
+ return this.search.value.length > 2;
1850
1824
  },
1851
1825
  enumerable: false,
1852
1826
  configurable: true
@@ -1867,26 +1841,22 @@
1867
1841
  TuiDocNavigationComponent.prototype.closeMenu = function () {
1868
1842
  this.menuOpen = false;
1869
1843
  };
1870
- TuiDocNavigationComponent.prototype.onSearchChange = function (search) {
1871
- this.search = search;
1872
- this.open = this.canOpen;
1873
- };
1874
- TuiDocNavigationComponent.prototype.onClick = function () {
1875
- this.open = false;
1844
+ TuiDocNavigationComponent.prototype.onClick = function (input) {
1845
+ input.open = false;
1876
1846
  this.menuOpen = false;
1877
- this.search = "";
1847
+ this.search.setValue("");
1878
1848
  this.openActivePageGroup();
1879
1849
  };
1880
1850
  TuiDocNavigationComponent.prototype.filterItems = function (items, search) {
1881
- return items.map(function (section) { return i3.uniqBy(section.filter(function (_a) {
1851
+ return items.map(function (section) { return i6.tuiUniqBy(section.filter(function (_a) {
1882
1852
  var title = _a.title, _b = _a.keywords, keywords = _b === void 0 ? "" : _b;
1883
1853
  title = title.toLowerCase();
1884
1854
  search = search.toLowerCase();
1885
1855
  keywords = keywords.toLowerCase();
1886
1856
  return (title.includes(search) ||
1887
1857
  keywords.includes(search) ||
1888
- title.includes(transliterateKeyboardLayout(search)) ||
1889
- keywords.includes(transliterateKeyboardLayout(search)) ||
1858
+ title.includes(tuiTransliterateKeyboardLayout(search)) ||
1859
+ keywords.includes(tuiTransliterateKeyboardLayout(search)) ||
1890
1860
  search.replace(/-/gi, "").includes(title));
1891
1861
  }), "title"); });
1892
1862
  };
@@ -1939,13 +1909,13 @@
1939
1909
  };
1940
1910
  return TuiDocNavigationComponent;
1941
1911
  }());
1942
- TuiDocNavigationComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocNavigationComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i7.Title }, { token: NAVIGATION_TITLE }, { token: i4.DOCUMENT }, { token: i1.TuiModeDirective }, { token: i4$1.TuiSidebarDirective, optional: true }, { token: NAVIGATION_LABELS }, { token: NAVIGATION_ITEMS }, { token: TUI_DOC_SEARCH_TEXT }, { token: i5$1.Router }, { token: i5$1.ActivatedRoute }, { token: i3.TuiDestroyService }, { token: TUI_DOC_PAGE_LOADED }, { token: TUI_DOC_SCROLL_BEHAVIOR }], target: i0__namespace.ɵɵFactoryTarget.Component });
1943
- TuiDocNavigationComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocNavigationComponent, selector: "tui-doc-navigation", host: { properties: { "class._open": "this.menuOpen" } }, providers: NAVIGATION_PROVIDERS, ngImport: i0__namespace, template: "<tui-hosted-dropdown\n *tuiLet=\"filteredItems as filtered\"\n tuiAutoFocus\n tuiDropdownLimitWidth=\"fixed\"\n class=\"t-input\"\n [autoFocus]=\"!!sidebar\"\n [content]=\"dropdown\"\n [canOpen]=\"canOpen\"\n [(open)]=\"open\"\n>\n <tui-primitive-textfield\n tuiTextfieldSize=\"m\"\n tuiTextfieldIconLeft=\"tuiIconSearch\"\n [pseudoFocus]=\"open || null\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiTextfieldLabelOutside]=\"true\"\n [value]=\"search\"\n (valueChange)=\"onSearchChange($event)\"\n >\n {{ searchText }}\n </tui-primitive-textfield>\n <ng-template\n #dropdown\n let-activeZone\n >\n <tui-data-list>\n <tui-opt-group\n *ngFor=\"let group of filtered; let index = index\"\n [label]=\"labels[index] || ''\"\n >\n <a\n *ngFor=\"let item of group\"\n tuiOption\n [routerLink]=\"item.route\"\n (click)=\"onClick()\"\n >\n {{ item.title }}\n </a>\n </tui-opt-group>\n </tui-data-list>\n </ng-template>\n</tui-hosted-dropdown>\n\n<nav class=\"t-navigation\">\n <tui-scrollbar\n class=\"t-scrollbar\"\n [tuiMode]=\"mode$ | async\"\n >\n <tui-accordion\n [closeOthers]=\"false\"\n [rounded]=\"false\"\n >\n <tui-accordion-item\n *ngFor=\"let label of labels; index as index\"\n size=\"s\"\n [borders]=\"null\"\n [(open)]=\"!!openPagesArr[index]\"\n >\n <span class=\"t-label\">\n <strong>{{ label }}</strong>\n </span>\n <ng-template tuiAccordionItemContent>\n <div class=\"t-section\">\n <ng-container\n *ngFor=\"let item of items[index]; index as subIndex\"\n [ngTemplateOutlet]=\"pages\"\n [ngTemplateOutletContext]=\"{item: item, index: index * 100 + subIndex}\"\n ></ng-container>\n </div>\n </ng-template>\n </tui-accordion-item>\n </tui-accordion>\n <div class=\"t-items-container\">\n <ng-container\n *ngFor=\"let item of itemsWithoutSections; let index = index\"\n [ngTemplateOutlet]=\"pages\"\n [ngTemplateOutletContext]=\"{item: item, index: items.length - 1 + index}\"\n ></ng-container>\n </div>\n\n <ng-template\n #pages\n let-item=\"item\"\n let-index=\"index\"\n >\n <a\n *ngIf=\"!item.subPages; else subPages\"\n tuiLink\n routerLinkActive=\"t-sublink_active\"\n class=\"t-sublink\"\n [routerLink]=\"item.route\"\n [scrollIntoView]=\"isActive(item.route)\"\n (click)=\"closeMenu()\"\n >\n {{ item.title }}\n </a>\n <ng-template #subPages>\n <div\n routerLinkActive\n class=\"t-subsection\"\n [routerLinkActiveOptions]=\"{exact: false}\"\n >\n <button\n *ngIf=\"item.subPages\"\n tuiLink\n type=\"button\"\n class=\"t-sublink t-sublink_subsection\"\n (click)=\"onGroupClick(index)\"\n >\n <tui-svg\n src=\"tuiIconChevronRight\"\n class=\"t-chevron\"\n [class.t-chevron_active]=\"!!openPagesGroupsArr[index]\"\n ></tui-svg>\n {{ item.title }}\n </button>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"!!openPagesGroupsArr[index]\"\n >\n <div class=\"t-section t-section_bordered\">\n <a\n *ngFor=\"let subPage of item.subPages\"\n tuiLink\n routerLinkActive=\"t-sublink_active\"\n class=\"t-sublink t-sublink_small\"\n [routerLink]=\"subPage.route\"\n [scrollIntoView]=\"isActive(subPage.route)\"\n (click)=\"closeMenu()\"\n >\n {{ subPage.title }}\n </a>\n </div>\n </tui-expand>\n </div>\n </ng-template>\n </ng-template>\n </tui-scrollbar>\n</nav>\n\n<ng-content></ng-content>\n", styles: [":host{z-index:1;display:flex;flex-direction:column;text-align:center;background:var(--tui-base-01)}.t-input{display:block;margin:1.25rem}.t-navigation{display:flex;max-height:100%;min-height:0;flex:1 1 0;text-align:left}.t-scrollbar{width:100%;scroll-behavior:smooth}.t-items-container{display:flex;flex-direction:column;padding:0 1rem}.t-label{margin-left:.5rem}.t-expand{margin-left:.25rem}.t-section{display:flex;flex-direction:column;align-items:flex-start;margin:-1rem 0 -.5rem}.t-section_bordered{margin:.5rem 0;border-left:1px solid var(--tui-base-03)}.t-subsection{margin-left:.5rem}.t-sublink{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:1rem 0 0;border:0;background:none;font-size:inherit;line-height:inherit;font:var(--tui-font-text-m);margin-left:.5rem}.t-sublink_small{margin-left:1rem;line-height:1.5rem;padding-top:.5rem}.t-sublink_subsection{margin-left:0;line-height:1.6rem}.t-sublink_active{color:var(--tui-text-01)}.t-chevron{transition-property:transform;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;width:1rem;height:1rem;margin:-.25rem .25rem 0 -.1875rem}.t-chevron_active{transform:rotate(90deg)}\n"], components: [{ type: i1__namespace.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: i1__namespace.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i1__namespace.TuiDataListComponent, selector: "tui-data-list", inputs: ["role", "emptyContent"] }, { type: i1__namespace.TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: ["size", "role", "disabled", "value"] }, { type: i1__namespace.TuiScrollbarComponent, selector: "tui-scrollbar", inputs: ["hidden"] }, { type: i2__namespace$1.TuiAccordionComponent, selector: "tui-accordion", inputs: ["closeOthers", "rounded"] }, { type: i2__namespace$1.TuiAccordionItemComponent, selector: "tui-accordion-item", inputs: ["noPadding", "showArrow", "borders", "size", "disabled", "disableHover", "open", "async"], outputs: ["openChange"] }, { type: i1__namespace.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { type: i1__namespace.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i1__namespace.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], directives: [{ type: i3__namespace.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i3__namespace.TuiAutoFocusDirective, selector: "[tuiAutoFocus]", inputs: ["autoFocus"] }, { type: i1__namespace.TuiDropdownControllerDirective, selector: "[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownSided]", inputs: ["tuiDropdownAlign", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownSided"] }, { type: i1__namespace.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i1__namespace.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { type: i1__namespace.TuiTextfieldIconLeftDirective, selector: "[tuiTextfieldIconLeft]", inputs: ["tuiTextfieldIconLeft"] }, { type: i1__namespace.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { type: i1__namespace.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1__namespace.TuiOptGroupDirective, selector: "tui-opt-group", inputs: ["label"] }, { type: i5__namespace.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i1__namespace.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i2__namespace$1.TuiAccordionItemContentDirective, selector: "ng-template[tuiAccordionItemContent]" }, { type: i4__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], exportAs: ["routerLinkActive"] }, { type: ScrollIntoViewDirective, selector: "[scrollIntoView]", inputs: ["scrollIntoView"] }], pipes: { "async": i4__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1912
+ TuiDocNavigationComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocNavigationComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i8$1.Title }, { token: NAVIGATION_TITLE }, { token: i5.DOCUMENT }, { token: i2$1.TuiModeDirective }, { token: i4.TuiSidebarDirective, optional: true }, { token: NAVIGATION_LABELS }, { token: NAVIGATION_ITEMS }, { token: TUI_DOC_SEARCH_TEXT }, { token: i6$1.Router }, { token: i6$1.ActivatedRoute }, { token: i6.TuiDestroyService }, { token: TUI_DOC_PAGE_LOADED }, { token: TUI_DOC_SCROLL_BEHAVIOR }], target: i0__namespace.ɵɵFactoryTarget.Component });
1913
+ TuiDocNavigationComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocNavigationComponent, selector: "tui-doc-navigation", host: { properties: { "class._open": "this.menuOpen" } }, providers: NAVIGATION_PROVIDERS, ngImport: i0__namespace, template: "<tui-input\n #input\n tuiTextfieldSize=\"m\"\n tuiTextfieldIconLeft=\"tuiIconSearch\"\n class=\"t-input\"\n [formControl]=\"search\"\n [tuiAutoFocus]=\"!!sidebar\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiTextfieldLabelOutside]=\"true\"\n>\n {{ searchText }}\n <ng-container *ngIf=\"canOpen\">\n <tui-data-list *tuiDataList>\n <tui-opt-group\n *ngFor=\"let group of filtered$ | async; let index = index\"\n [label]=\"labels[index] || ''\"\n >\n <a\n *ngFor=\"let item of group\"\n tuiOption\n [routerLink]=\"item.route\"\n (click)=\"onClick(input)\"\n >\n {{ item.title }}\n </a>\n </tui-opt-group>\n </tui-data-list>\n </ng-container>\n</tui-input>\n\n<nav class=\"t-navigation\">\n <tui-scrollbar\n class=\"t-scrollbar\"\n [tuiMode]=\"mode$ | async\"\n >\n <tui-accordion\n [closeOthers]=\"false\"\n [rounded]=\"false\"\n >\n <tui-accordion-item\n *ngFor=\"let label of labels; index as index\"\n size=\"s\"\n [borders]=\"null\"\n [(open)]=\"!!openPagesArr[index]\"\n >\n <span class=\"t-label\">\n <strong>{{ label }}</strong>\n </span>\n <ng-template tuiAccordionItemContent>\n <div class=\"t-section\">\n <ng-container\n *ngFor=\"let item of items[index]; index as subIndex\"\n [ngTemplateOutlet]=\"pages\"\n [ngTemplateOutletContext]=\"{item: item, index: index * 100 + subIndex}\"\n ></ng-container>\n </div>\n </ng-template>\n </tui-accordion-item>\n </tui-accordion>\n <div class=\"t-items-container\">\n <ng-container\n *ngFor=\"let item of itemsWithoutSections; let index = index\"\n [ngTemplateOutlet]=\"pages\"\n [ngTemplateOutletContext]=\"{item: item, index: items.length - 1 + index}\"\n ></ng-container>\n </div>\n\n <ng-template\n #pages\n let-item=\"item\"\n let-index=\"index\"\n >\n <a\n *ngIf=\"!item.subPages; else subPages\"\n tuiLink\n routerLinkActive=\"t-sublink_active\"\n class=\"t-sublink\"\n [routerLink]=\"item.route\"\n [tuiScrollIntoViewLink]=\"isActive(item.route)\"\n (click)=\"closeMenu()\"\n >\n {{ item.title }}\n </a>\n <ng-template #subPages>\n <div\n routerLinkActive\n class=\"t-subsection\"\n [routerLinkActiveOptions]=\"{exact: false}\"\n >\n <button\n *ngIf=\"item.subPages\"\n tuiLink\n type=\"button\"\n class=\"t-sublink t-sublink_subsection\"\n (click)=\"onGroupClick(index)\"\n >\n <tui-svg\n src=\"tuiIconChevronRight\"\n class=\"t-chevron\"\n [class.t-chevron_active]=\"!!openPagesGroupsArr[index]\"\n ></tui-svg>\n {{ item.title }}\n </button>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"!!openPagesGroupsArr[index]\"\n >\n <div class=\"t-section t-section_bordered\">\n <a\n *ngFor=\"let subPage of item.subPages\"\n tuiLink\n routerLinkActive=\"t-sublink_active\"\n class=\"t-sublink t-sublink_small\"\n [routerLink]=\"subPage.route\"\n [tuiScrollIntoViewLink]=\"isActive(subPage.route)\"\n (click)=\"closeMenu()\"\n >\n {{ subPage.title }}\n </a>\n </div>\n </tui-expand>\n </div>\n </ng-template>\n </ng-template>\n </tui-scrollbar>\n</nav>\n\n<ng-content></ng-content>\n", styles: [":host{z-index:1;display:flex;flex-direction:column;text-align:center;background:var(--tui-base-01)}.t-input{margin:1.25rem}.t-navigation{display:flex;max-height:100%;min-height:0;flex:1 1 0;text-align:left}.t-scrollbar{width:100%;scroll-behavior:smooth}.t-items-container{display:flex;flex-direction:column;padding:0 1rem}.t-label{margin-left:.5rem}.t-expand{margin-left:.25rem}.t-section{display:flex;flex-direction:column;align-items:flex-start;margin:-1rem 0 -.5rem}.t-section_bordered{margin:.5rem 0;border-left:1px solid var(--tui-base-03)}.t-subsection{margin-left:.5rem}.t-sublink{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:1rem 0 0;border:0;background:none;font-size:inherit;line-height:inherit;font:var(--tui-font-text-m);margin-left:.5rem}.t-sublink_small{margin-left:1rem;line-height:1.5rem;padding-top:.5rem}.t-sublink_subsection{margin-left:0;line-height:1.6rem}.t-sublink_active{color:var(--tui-text-01)}.t-chevron{transition-property:transform;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;width:1rem;height:1rem;margin:-.25rem .25rem 0 -.1875rem}.t-chevron_active{transform:rotate(90deg)}\n"], components: [{ type: i1__namespace.TuiInputComponent, selector: "tui-input" }, { type: i2__namespace$1.TuiDataListComponent, selector: "tui-data-list", inputs: ["role", "emptyContent"] }, { type: i2__namespace$1.TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: ["size", "role", "disabled", "value"] }, { type: i2__namespace$1.TuiScrollbarComponent, selector: "tui-scrollbar", inputs: ["hidden"] }, { type: i1__namespace.TuiAccordionComponent, selector: "tui-accordion", inputs: ["closeOthers", "rounded"] }, { type: i1__namespace.TuiAccordionItemComponent, selector: "tui-accordion-item", inputs: ["noPadding", "showArrow", "borders", "size", "disabled", "disableHover", "open", "async"], outputs: ["openChange"] }, { type: i2__namespace$1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { type: i2__namespace$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2__namespace$1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], directives: [{ type: i1__namespace.TuiInputDirective, selector: "tui-input" }, { type: i2__namespace$1.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { type: i2__namespace$1.TuiTextfieldIconLeftDirective, selector: "[tuiTextfieldIconLeft]", inputs: ["tuiTextfieldIconLeft"] }, { type: i5__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5__namespace$1.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6__namespace$1.TuiAutoFocusDirective, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { type: i2__namespace$1.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { type: i2__namespace$1.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2__namespace$1.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2__namespace$1.TuiOptGroupDirective, selector: "tui-opt-group", inputs: ["label"] }, { type: i6__namespace.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i2__namespace$1.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i1__namespace.TuiAccordionItemContentDirective, selector: "ng-template[tuiAccordionItemContent]" }, { type: i5__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6__namespace.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], exportAs: ["routerLinkActive"] }, { type: TuiScrollIntoViewLinkDirective, selector: "[tuiScrollIntoViewLink]", inputs: ["tuiScrollIntoViewLink"] }], pipes: { "async": i5__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
1944
1914
  __decorate([
1945
- i3.tuiPure
1915
+ i6.tuiPure
1946
1916
  ], TuiDocNavigationComponent.prototype, "filterItems", null);
1947
1917
  __decorate([
1948
- i3.tuiPure
1918
+ i6.tuiPure
1949
1919
  ], TuiDocNavigationComponent.prototype, "flattenSubPages", null);
1950
1920
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocNavigationComponent, decorators: [{
1951
1921
  type: i0.Component,
@@ -1960,23 +1930,23 @@
1960
1930
  return [{ type: i0__namespace.ChangeDetectorRef, decorators: [{
1961
1931
  type: i0.Inject,
1962
1932
  args: [i0.ChangeDetectorRef]
1963
- }] }, { type: i7__namespace.Title, decorators: [{
1933
+ }] }, { type: i8__namespace$1.Title, decorators: [{
1964
1934
  type: i0.Inject,
1965
- args: [i7.Title]
1966
- }] }, { type: i8__namespace.Observable, decorators: [{
1935
+ args: [i8$1.Title]
1936
+ }] }, { type: i9__namespace.Observable, decorators: [{
1967
1937
  type: i0.Inject,
1968
1938
  args: [NAVIGATION_TITLE]
1969
1939
  }] }, { type: Document, decorators: [{
1970
1940
  type: i0.Inject,
1971
- args: [i4.DOCUMENT]
1972
- }] }, { type: i1__namespace.TuiModeDirective, decorators: [{
1941
+ args: [i5.DOCUMENT]
1942
+ }] }, { type: i2__namespace$1.TuiModeDirective, decorators: [{
1973
1943
  type: i0.Inject,
1974
- args: [i1.TuiModeDirective]
1944
+ args: [i2$1.TuiModeDirective]
1975
1945
  }] }, { type: undefined, decorators: [{
1976
1946
  type: i0.Optional
1977
1947
  }, {
1978
1948
  type: i0.Inject,
1979
- args: [i4$1.TuiSidebarDirective]
1949
+ args: [i4.TuiSidebarDirective]
1980
1950
  }] }, { type: undefined, decorators: [{
1981
1951
  type: i0.Inject,
1982
1952
  args: [NAVIGATION_LABELS]
@@ -1986,16 +1956,16 @@
1986
1956
  }] }, { type: undefined, decorators: [{
1987
1957
  type: i0.Inject,
1988
1958
  args: [TUI_DOC_SEARCH_TEXT]
1989
- }] }, { type: i5__namespace.Router, decorators: [{
1959
+ }] }, { type: i6__namespace.Router, decorators: [{
1990
1960
  type: i0.Inject,
1991
- args: [i5$1.Router]
1992
- }] }, { type: i5__namespace.ActivatedRoute, decorators: [{
1961
+ args: [i6$1.Router]
1962
+ }] }, { type: i6__namespace.ActivatedRoute, decorators: [{
1993
1963
  type: i0.Inject,
1994
- args: [i5$1.ActivatedRoute]
1995
- }] }, { type: i8__namespace.Observable, decorators: [{
1964
+ args: [i6$1.ActivatedRoute]
1965
+ }] }, { type: i9__namespace.Observable, decorators: [{
1996
1966
  type: i0.Inject,
1997
- args: [i3.TuiDestroyService]
1998
- }] }, { type: i8__namespace.Observable, decorators: [{
1967
+ args: [i6.TuiDestroyService]
1968
+ }] }, { type: i9__namespace.Observable, decorators: [{
1999
1969
  type: i0.Inject,
2000
1970
  args: [TUI_DOC_PAGE_LOADED]
2001
1971
  }] }, { type: undefined, decorators: [{
@@ -2017,8 +1987,8 @@
2017
1987
  this.menu = menu;
2018
1988
  this.router = router;
2019
1989
  this.swipes$ = swipes$;
2020
- this.stream$ = new i8.Subject();
2021
- this.open$ = i8.merge(this.router.events.pipe(operators.mapTo(false)), this.stream$, this.swipes$.pipe(operators.filter(function (swipe) { return swipe.direction === "left" || swipe.direction === "right"; }), operators.map(function (swipe) { return swipe.direction === "right"; }))).pipe(operators.startWith(false), operators.distinctUntilChanged());
1990
+ this.stream$ = new i9.Subject();
1991
+ this.open$ = i9.merge(this.router.events.pipe(operators.mapTo(false)), this.stream$, this.swipes$.pipe(operators.filter(function (swipe) { return swipe.direction === "left" || swipe.direction === "right"; }), operators.map(function (swipe) { return swipe.direction === "right"; }))).pipe(operators.startWith(false), operators.distinctUntilChanged());
2022
1992
  }
2023
1993
  TuiDocHeaderComponent.prototype.onClick = function () {
2024
1994
  this.stream$.next(true);
@@ -2030,8 +2000,8 @@
2030
2000
  };
2031
2001
  return TuiDocHeaderComponent;
2032
2002
  }());
2033
- TuiDocHeaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocHeaderComponent, deps: [{ token: TUI_DOC_LOGO }, { token: TUI_DOC_MENU_TEXT }, { token: i5$1.Router }, { token: i3.TuiSwipeService }], target: i0__namespace.ɵɵFactoryTarget.Component });
2034
- TuiDocHeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocHeaderComponent, selector: "header[tuiDocHeader]", ngImport: i0__namespace, template: "<button\n tuiIconButton\n icon=\"tuiIconMenuLarge\"\n appearance=\"icon\"\n class=\"t-menu\"\n [title]=\"menu\"\n (click)=\"onClick()\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-doc-navigation\n *tuiSidebar=\"!!(open$ | async)\"\n class=\"t-navigation\"\n ></tui-doc-navigation>\n</button>\n<div class=\"t-logo\">\n <img\n *polymorpheusOutlet=\"logo as src\"\n alt=\"Logo\"\n class=\"t-img\"\n [src]=\"src\"\n />\n</div>\n<ng-content></ng-content>\n", styles: [":host{box-shadow:0 .125rem 1rem rgba(0,0,0,.08);position:fixed;top:0;left:0;right:0;z-index:1;display:flex;height:3.9375rem;align-items:center;padding:0 1.25rem;background:var(--tui-base-01);border-bottom:1px solid var(--tui-base-03)}.t-logo{margin-right:auto;font:var(--tui-font-heading-5)}.t-img{display:block}.t-menu{margin-left:-1.25rem}@media screen and (min-width: 48em){.t-menu{display:none}}.t-navigation{min-height:100%}\n"], components: [{ type: i1__namespace.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: TuiDocNavigationComponent, selector: "tui-doc-navigation" }], directives: [{ type: i3__namespace.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i4__namespace$1.TuiSidebarDirective, selector: "[tuiSidebar]", inputs: ["tuiSidebarDirection", "tuiSidebarAutoWidth", "tuiSidebar"] }, { type: i6__namespace.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i4__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
2003
+ TuiDocHeaderComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocHeaderComponent, deps: [{ token: TUI_DOC_LOGO }, { token: TUI_DOC_MENU_TEXT }, { token: i6$1.Router }, { token: i6.TuiSwipeService }], target: i0__namespace.ɵɵFactoryTarget.Component });
2004
+ TuiDocHeaderComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocHeaderComponent, selector: "header[tuiDocHeader]", ngImport: i0__namespace, template: "<button\n tuiIconButton\n icon=\"tuiIconMenuLarge\"\n appearance=\"icon\"\n class=\"t-menu\"\n [title]=\"menu\"\n (click)=\"onClick()\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-doc-navigation\n *tuiSidebar=\"!!(open$ | async)\"\n class=\"t-navigation\"\n ></tui-doc-navigation>\n</button>\n<div class=\"t-logo\">\n <img\n *polymorpheusOutlet=\"logo as src\"\n alt=\"Logo\"\n class=\"t-img\"\n [src]=\"src\"\n />\n</div>\n<ng-content></ng-content>\n", styles: [":host{box-shadow:0 .125rem 1rem rgba(0,0,0,.08);position:fixed;top:0;left:0;right:0;z-index:1;display:flex;height:3.9375rem;align-items:center;padding:0 1.25rem;background:var(--tui-base-01);border-bottom:1px solid var(--tui-base-03)}.t-logo{margin-right:auto;font:var(--tui-font-heading-5)}.t-img{display:block}.t-menu{margin-left:-1.25rem}@media screen and (min-width: 48em){.t-menu{display:none}}.t-navigation{min-height:100%}\n"], components: [{ type: i2__namespace$1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: TuiDocNavigationComponent, selector: "tui-doc-navigation" }], directives: [{ type: i6__namespace$1.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i4__namespace.TuiSidebarDirective, selector: "[tuiSidebar]", inputs: ["tuiSidebarDirection", "tuiSidebarAutoWidth", "tuiSidebar"] }, { type: i6__namespace$2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i5__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
2035
2005
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocHeaderComponent, decorators: [{
2036
2006
  type: i0.Component,
2037
2007
  args: [{
@@ -2047,16 +2017,15 @@
2047
2017
  }] }, { type: undefined, decorators: [{
2048
2018
  type: i0.Inject,
2049
2019
  args: [TUI_DOC_MENU_TEXT]
2050
- }] }, { type: i5__namespace.Router, decorators: [{
2020
+ }] }, { type: i6__namespace.Router, decorators: [{
2051
2021
  type: i0.Inject,
2052
- args: [i5$1.Router]
2053
- }] }, { type: i3__namespace.TuiSwipeService, decorators: [{
2022
+ args: [i6$1.Router]
2023
+ }] }, { type: i6__namespace$1.TuiSwipeService, decorators: [{
2054
2024
  type: i0.Inject,
2055
- args: [i3.TuiSwipeService]
2025
+ args: [i6.TuiSwipeService]
2056
2026
  }] }];
2057
2027
  } });
2058
2028
 
2059
- // @dynamic
2060
2029
  var TuiDocMainComponent = /** @class */ (function () {
2061
2030
  function TuiDocMainComponent(storage, windowRef) {
2062
2031
  this.storage = storage;
@@ -2064,7 +2033,7 @@
2064
2033
  this.night = this.storage.getItem("night") === "true" ||
2065
2034
  (this.storage.getItem("night") === null &&
2066
2035
  this.windowRef.matchMedia("(prefers-color-scheme: dark)").matches);
2067
- this.change$ = new i8.Subject();
2036
+ this.change$ = new i9.Subject();
2068
2037
  }
2069
2038
  Object.defineProperty(TuiDocMainComponent.prototype, "mode", {
2070
2039
  get: function () {
@@ -2083,11 +2052,11 @@
2083
2052
  TuiDocMainComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocMainComponent, deps: [{ token: common.LOCAL_STORAGE }, { token: common.WINDOW }], target: i0__namespace.ɵɵFactoryTarget.Component });
2084
2053
  TuiDocMainComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocMainComponent, selector: "tui-doc-main", host: { properties: { "attr.data-mode": "this.mode" } }, providers: [
2085
2054
  {
2086
- provide: i1.TuiModeDirective,
2055
+ provide: i2$1.TuiModeDirective,
2087
2056
  useExisting: i0.forwardRef(function () { return TuiDocMainComponent; }),
2088
2057
  },
2089
- i3.TuiSwipeService,
2090
- ], ngImport: i0__namespace, template: "<tui-theme-night *ngIf=\"night\"></tui-theme-night>\n<tui-root>\n <div class=\"tui-doc-page\">\n <tui-doc-navigation class=\"tui-doc-navigation\">\n <ng-content select=\"tuiDocNavigation\"></ng-content>\n </tui-doc-navigation>\n <div class=\"tui-doc-content\">\n <router-outlet class=\"tui-doc-outlet\"></router-outlet>\n </div>\n </div>\n <header tuiDocHeader>\n <label class=\"night-mode\">\n Night mode\n <tui-toggle\n class=\"tui-toggle\"\n [ngModel]=\"night\"\n (ngModelChange)=\"onMode($event)\"\n ></tui-toggle>\n </label>\n <ng-content select=\"tuiDocHeader\"></ng-content>\n </header>\n <ng-container ngProjectAs=\"tuiOverContent\">\n <ng-content select=\"tuiOverContent\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverDialogs\">\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverAlerts\">\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n </ng-container>\n <!-- TODO: 3.0 Remove-->\n <ng-container ngProjectAs=\"tuiOverNotifications\">\n <ng-content select=\"tuiOverNotifications\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverPortals\">\n <ng-content select=\"tuiOverPortals\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverHints\">\n <ng-content select=\"tuiOverHints\"></ng-content>\n </ng-container>\n</tui-root>\n", styles: ["html{scroll-padding-top:4rem;height:auto}tui-root>tui-scroll-controls>.bar_vertical{top:4rem!important}@-webkit-keyframes tuiShaking{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-.3125rem)}20%,40%,60%,80%{transform:translate(.3125rem)}}@keyframes tuiShaking{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-.3125rem)}20%,40%,60%,80%{transform:translate(.3125rem)}}body{background:var(--tui-base-01);height:auto}tui-doc-main{display:block}code:not(.hljs):not([class*=\"language-\"]):not(.exception){transition-property:background;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;background:var(--tui-base-02);color:var(--tui-text-02);vertical-align:middle;box-shadow:inset 0 -2px var(--tui-secondary);padding:.375rem .5rem;font-size:.875rem;border-radius:.5rem}button:focus code,a:focus code{background:var(--tui-base-01)}.tui-doc-page{position:relative;z-index:0;padding-top:4rem}tui-doc-navigation.tui-doc-navigation{position:fixed;top:4rem;bottom:0;width:16.25rem;border-right:1px solid var(--tui-base-03)}@media screen and (max-width: 47.9375em){tui-doc-navigation.tui-doc-navigation{display:none}}.tui-doc-content{margin-left:16.25rem}@media screen and (max-width: 47.9375em){.tui-doc-content{margin-left:0}}.tui-doc-outlet+*{display:block}.tui-doc-animated-example{-webkit-animation:1s .3s tuiShaking;animation:1s .3s tuiShaking}label.night-mode{cursor:pointer}label.night-mode .tui-toggle{margin-left:.5rem}.hljs-tag{background:none}.hljs{display:block;overflow-x:auto;padding:.5em;color:var(--tui-text-01);background-color:var(--tui-clear-disabled)}.hljs.hljs-line-numbers{background:transparent}.hljs-subst,.hljs-title{font-weight:normal;color:var(--tui-text-01)}.hljs-comment,.hljs-quote{color:var(--tui-text-03);font-style:italic}.hljs-meta{color:#e38162}.hljs-section,.hljs-name,.hljs-literal,.hljs-keyword,.hljs-selector-tag,.hljs-type,.hljs-selector-id,.hljs-selector-class{font-weight:bold;color:var(--tui-link)}.hljs-attribute,.hljs-number,.hljs-regexp,.hljs-link{font-weight:bold;color:var(--tui-support-06)}.hljs-number,.hljs-regexp,.hljs-link{font-weight:normal}.hljs-string{color:var(--tui-positive);font-weight:bold}.hljs-symbol,.hljs-bullet,.hljs-formula{color:var(--tui-text-01);background:var(--tui-base-02);font-style:italic}.hljs-doctag{text-decoration:underline}.hljs-variable,.hljs-template-variable{color:var(--tui-link-hover)}[data-mode=onDark] .hljs-variable,[data-mode=onDark] .hljs-template-variable{color:var(--tui-warning-fill)}.hljs-addition{background:var(--tui-success-bg)}.hljs-deletion{background:var(--tui-error-bg)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:bold}.hljs .hljs-line-numbers{padding:0}.hljs-ln-numbers{vertical-align:top;opacity:.3;text-align:right;padding-right:1em!important}\n"], components: [{ type: i1__namespace.TuiThemeNightComponent, selector: "tui-theme-night" }, { type: i1__namespace.TuiRootComponent, selector: "tui-root" }, { type: TuiDocNavigationComponent, selector: "tui-doc-navigation" }, { type: TuiDocHeaderComponent, selector: "header[tuiDocHeader]" }, { type: i2__namespace$1.TuiToggleComponent, selector: "tui-toggle", inputs: ["singleColor", "showIcons", "showLoader", "size"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate"], exportAs: ["outlet"] }, { type: i5__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0__namespace.ViewEncapsulation.None });
2058
+ i6.TuiSwipeService,
2059
+ ], ngImport: i0__namespace, template: "<tui-theme-night *ngIf=\"night\"></tui-theme-night>\n<tui-root>\n <div class=\"tui-doc-page\">\n <tui-doc-navigation class=\"tui-doc-navigation\">\n <ng-content select=\"tuiDocNavigation\"></ng-content>\n </tui-doc-navigation>\n <div class=\"tui-doc-content\">\n <router-outlet class=\"tui-doc-outlet\"></router-outlet>\n </div>\n </div>\n <header tuiDocHeader>\n <label class=\"night-mode\">\n Night mode\n <tui-toggle\n class=\"tui-toggle\"\n [ngModel]=\"night\"\n (ngModelChange)=\"onMode($event)\"\n ></tui-toggle>\n </label>\n <ng-content select=\"tuiDocHeader\"></ng-content>\n </header>\n <ng-container ngProjectAs=\"tuiOverContent\">\n <ng-content select=\"tuiOverContent\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverDialogs\">\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverAlerts\">\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverPortals\">\n <ng-content select=\"tuiOverPortals\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverHints\">\n <ng-content select=\"tuiOverHints\"></ng-content>\n </ng-container>\n</tui-root>\n", styles: ["html{scroll-padding-top:4rem;height:auto}tui-root>tui-scroll-controls>.t-bar_vertical{top:4rem!important}@-webkit-keyframes tuiShaking{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-.3125rem)}20%,40%,60%,80%{transform:translate(.3125rem)}}@keyframes tuiShaking{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-.3125rem)}20%,40%,60%,80%{transform:translate(.3125rem)}}body{background:var(--tui-base-01);height:auto}tui-doc-main{display:block}code:not(.hljs):not([class*=\"language-\"]):not(.exception){transition-property:background;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;background:var(--tui-base-02);color:var(--tui-text-02);vertical-align:middle;box-shadow:inset 0 -2px var(--tui-secondary);padding:.375rem .5rem;font-size:.875rem;border-radius:.5rem}button:focus code,a:focus code{background:var(--tui-base-01)}.tui-doc-page{position:relative;z-index:0;padding-top:4rem}tui-doc-navigation.tui-doc-navigation{position:fixed;top:4rem;bottom:0;width:16.25rem;border-right:1px solid var(--tui-base-03)}@media screen and (max-width: 47.9625em){tui-doc-navigation.tui-doc-navigation{display:none}}.tui-doc-content{margin-left:16.25rem}@media screen and (max-width: 47.9625em){.tui-doc-content{margin-left:0}}.tui-doc-outlet+*{display:block}.tui-doc-animated-example{-webkit-animation:1s .3s tuiShaking;animation:1s .3s tuiShaking}label.night-mode{cursor:pointer}label.night-mode .tui-toggle{margin-left:.5rem}.hljs-tag{background:none}.hljs{display:block;overflow-x:auto;padding:.5em;color:var(--tui-text-01);background-color:var(--tui-clear-disabled)}.hljs.hljs-line-numbers{background:transparent}.hljs-subst,.hljs-title{font-weight:normal;color:var(--tui-text-01)}.hljs-comment,.hljs-quote{color:var(--tui-text-03);font-style:italic}.hljs-meta{color:#e38162}.hljs-section,.hljs-name,.hljs-literal,.hljs-keyword,.hljs-selector-tag,.hljs-type,.hljs-selector-id,.hljs-selector-class{font-weight:bold;color:var(--tui-link)}.hljs-attribute,.hljs-number,.hljs-regexp,.hljs-link{font-weight:bold;color:var(--tui-support-06)}.hljs-number,.hljs-regexp,.hljs-link{font-weight:normal}.hljs-string{color:var(--tui-positive);font-weight:bold}.hljs-symbol,.hljs-bullet,.hljs-formula{color:var(--tui-text-01);background:var(--tui-base-02);font-style:italic}.hljs-doctag{text-decoration:underline}.hljs-variable,.hljs-template-variable{color:var(--tui-link-hover)}[data-mode=onDark] .hljs-variable,[data-mode=onDark] .hljs-template-variable{color:var(--tui-warning-fill)}.hljs-addition{background:var(--tui-success-bg)}.hljs-deletion{background:var(--tui-error-bg)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:bold}.hljs .hljs-line-numbers{padding:0}.hljs-ln-numbers{vertical-align:top;opacity:.3;text-align:right;padding-right:1em!important}\n"], components: [{ type: i2__namespace$1.TuiThemeNightComponent, selector: "tui-theme-night" }, { type: i2__namespace$1.TuiRootComponent, selector: "tui-root" }, { type: TuiDocNavigationComponent, selector: "tui-doc-navigation" }, { type: TuiDocHeaderComponent, selector: "header[tuiDocHeader]" }, { type: i1__namespace.TuiToggleComponent, selector: "tui-toggle", inputs: ["singleColor", "showIcons", "showLoader", "size"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate"], exportAs: ["outlet"] }, { type: i5__namespace$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5__namespace$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0__namespace.ViewEncapsulation.None });
2091
2060
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocMainComponent, decorators: [{
2092
2061
  type: i0.Component,
2093
2062
  args: [{
@@ -2097,10 +2066,10 @@
2097
2066
  encapsulation: i0.ViewEncapsulation.None,
2098
2067
  providers: [
2099
2068
  {
2100
- provide: i1.TuiModeDirective,
2069
+ provide: i2$1.TuiModeDirective,
2101
2070
  useExisting: i0.forwardRef(function () { return TuiDocMainComponent; }),
2102
2071
  },
2103
- i3.TuiSwipeService,
2072
+ i6.TuiSwipeService,
2104
2073
  ],
2105
2074
  }]
2106
2075
  }], ctorParameters: function () {
@@ -2116,26 +2085,6 @@
2116
2085
  args: ["attr.data-mode"]
2117
2086
  }] } });
2118
2087
 
2119
- /**
2120
- * @deprecated: use {@link TuiScrollIntoViewLinkModule}
2121
- * TODO: remove in v3.0
2122
- */
2123
- // eslint-disable-next-line @typescript-eslint/naming-convention
2124
- var ScrollIntoViewModule = /** @class */ (function () {
2125
- function ScrollIntoViewModule() {
2126
- }
2127
- return ScrollIntoViewModule;
2128
- }());
2129
- ScrollIntoViewModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ScrollIntoViewModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
2130
- ScrollIntoViewModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ScrollIntoViewModule, declarations: [ScrollIntoViewDirective], exports: [ScrollIntoViewDirective] });
2131
- ScrollIntoViewModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ScrollIntoViewModule });
2132
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: ScrollIntoViewModule, decorators: [{
2133
- type: i0.NgModule,
2134
- args: [{
2135
- declarations: [ScrollIntoViewDirective],
2136
- exports: [ScrollIntoViewDirective],
2137
- }]
2138
- }] });
2139
2088
  var TuiScrollIntoViewLinkModule = /** @class */ (function () {
2140
2089
  function TuiScrollIntoViewLinkModule() {
2141
2090
  }
@@ -2158,72 +2107,72 @@
2158
2107
  return TuiDocNavigationModule;
2159
2108
  }());
2160
2109
  TuiDocNavigationModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocNavigationModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
2161
- TuiDocNavigationModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocNavigationModule, declarations: [TuiDocNavigationComponent], imports: [i4.CommonModule,
2162
- i5.FormsModule,
2163
- i5$1.RouterModule,
2164
- ScrollIntoViewModule,
2110
+ TuiDocNavigationModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocNavigationModule, declarations: [TuiDocNavigationComponent], imports: [i5.CommonModule,
2111
+ i5$1.ReactiveFormsModule,
2112
+ i6$1.RouterModule,
2113
+ i6$2.PolymorpheusModule,
2165
2114
  TuiScrollIntoViewLinkModule,
2166
- i1.TuiButtonModule,
2167
- i1.TuiPrimitiveTextfieldModule,
2168
- i1.TuiTextfieldControllerModule,
2169
- i3.TuiActiveZoneModule,
2170
- i3.TuiLetModule,
2171
- i1.TuiModeModule,
2172
- i1.TuiLinkModule,
2173
- i1.TuiExpandModule,
2174
- i1.TuiHostedDropdownModule,
2175
- i1.TuiDropdownControllerModule,
2176
- i2$1.TuiAccordionModule,
2177
- i1.TuiScrollbarModule,
2178
- i1.TuiSvgModule,
2179
- i1.TuiDataListModule,
2180
- i3.TuiAutoFocusModule], exports: [TuiDocNavigationComponent] });
2115
+ i2$1.TuiButtonModule,
2116
+ i1.TuiInputModule,
2117
+ i2$1.TuiTextfieldControllerModule,
2118
+ i6.TuiActiveZoneModule,
2119
+ i6.TuiLetModule,
2120
+ i2$1.TuiModeModule,
2121
+ i2$1.TuiLinkModule,
2122
+ i2$1.TuiExpandModule,
2123
+ i2$1.TuiHostedDropdownModule,
2124
+ i2$1.TuiDropdownModule,
2125
+ i1.TuiAccordionModule,
2126
+ i2$1.TuiScrollbarModule,
2127
+ i2$1.TuiSvgModule,
2128
+ i2$1.TuiDataListModule,
2129
+ i6.TuiAutoFocusModule], exports: [TuiDocNavigationComponent] });
2181
2130
  TuiDocNavigationModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocNavigationModule, imports: [[
2182
- i4.CommonModule,
2183
- i5.FormsModule,
2184
- i5$1.RouterModule,
2185
- ScrollIntoViewModule,
2131
+ i5.CommonModule,
2132
+ i5$1.ReactiveFormsModule,
2133
+ i6$1.RouterModule,
2134
+ i6$2.PolymorpheusModule,
2186
2135
  TuiScrollIntoViewLinkModule,
2187
- i1.TuiButtonModule,
2188
- i1.TuiPrimitiveTextfieldModule,
2189
- i1.TuiTextfieldControllerModule,
2190
- i3.TuiActiveZoneModule,
2191
- i3.TuiLetModule,
2192
- i1.TuiModeModule,
2193
- i1.TuiLinkModule,
2194
- i1.TuiExpandModule,
2195
- i1.TuiHostedDropdownModule,
2196
- i1.TuiDropdownControllerModule,
2197
- i2$1.TuiAccordionModule,
2198
- i1.TuiScrollbarModule,
2199
- i1.TuiSvgModule,
2200
- i1.TuiDataListModule,
2201
- i3.TuiAutoFocusModule,
2136
+ i2$1.TuiButtonModule,
2137
+ i1.TuiInputModule,
2138
+ i2$1.TuiTextfieldControllerModule,
2139
+ i6.TuiActiveZoneModule,
2140
+ i6.TuiLetModule,
2141
+ i2$1.TuiModeModule,
2142
+ i2$1.TuiLinkModule,
2143
+ i2$1.TuiExpandModule,
2144
+ i2$1.TuiHostedDropdownModule,
2145
+ i2$1.TuiDropdownModule,
2146
+ i1.TuiAccordionModule,
2147
+ i2$1.TuiScrollbarModule,
2148
+ i2$1.TuiSvgModule,
2149
+ i2$1.TuiDataListModule,
2150
+ i6.TuiAutoFocusModule,
2202
2151
  ]] });
2203
2152
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocNavigationModule, decorators: [{
2204
2153
  type: i0.NgModule,
2205
2154
  args: [{
2206
2155
  imports: [
2207
- i4.CommonModule,
2208
- i5.FormsModule,
2209
- i5$1.RouterModule,
2210
- ScrollIntoViewModule,
2156
+ i5.CommonModule,
2157
+ i5$1.ReactiveFormsModule,
2158
+ i6$1.RouterModule,
2159
+ i6$2.PolymorpheusModule,
2211
2160
  TuiScrollIntoViewLinkModule,
2212
- i1.TuiButtonModule,
2213
- i1.TuiPrimitiveTextfieldModule,
2214
- i1.TuiTextfieldControllerModule,
2215
- i3.TuiActiveZoneModule,
2216
- i3.TuiLetModule,
2217
- i1.TuiModeModule,
2218
- i1.TuiLinkModule,
2219
- i1.TuiExpandModule,
2220
- i1.TuiHostedDropdownModule,
2221
- i1.TuiDropdownControllerModule,
2222
- i2$1.TuiAccordionModule,
2223
- i1.TuiScrollbarModule,
2224
- i1.TuiSvgModule,
2225
- i1.TuiDataListModule,
2226
- i3.TuiAutoFocusModule,
2161
+ i2$1.TuiButtonModule,
2162
+ i1.TuiInputModule,
2163
+ i2$1.TuiTextfieldControllerModule,
2164
+ i6.TuiActiveZoneModule,
2165
+ i6.TuiLetModule,
2166
+ i2$1.TuiModeModule,
2167
+ i2$1.TuiLinkModule,
2168
+ i2$1.TuiExpandModule,
2169
+ i2$1.TuiHostedDropdownModule,
2170
+ i2$1.TuiDropdownModule,
2171
+ i1.TuiAccordionModule,
2172
+ i2$1.TuiScrollbarModule,
2173
+ i2$1.TuiSvgModule,
2174
+ i2$1.TuiDataListModule,
2175
+ i6.TuiAutoFocusModule,
2227
2176
  ],
2228
2177
  declarations: [TuiDocNavigationComponent],
2229
2178
  exports: [TuiDocNavigationComponent],
@@ -2236,29 +2185,29 @@
2236
2185
  return TuiDocHeaderModule;
2237
2186
  }());
2238
2187
  TuiDocHeaderModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocHeaderModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
2239
- TuiDocHeaderModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocHeaderModule, declarations: [TuiDocHeaderComponent], imports: [i4.CommonModule,
2240
- i6.PolymorpheusModule,
2241
- i1.TuiButtonModule,
2242
- i4$1.TuiSidebarModule,
2243
- i3.TuiActiveZoneModule,
2188
+ TuiDocHeaderModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocHeaderModule, declarations: [TuiDocHeaderComponent], imports: [i5.CommonModule,
2189
+ i6$2.PolymorpheusModule,
2190
+ i2$1.TuiButtonModule,
2191
+ i4.TuiSidebarModule,
2192
+ i6.TuiActiveZoneModule,
2244
2193
  TuiDocNavigationModule], exports: [TuiDocHeaderComponent] });
2245
2194
  TuiDocHeaderModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocHeaderModule, imports: [[
2246
- i4.CommonModule,
2247
- i6.PolymorpheusModule,
2248
- i1.TuiButtonModule,
2249
- i4$1.TuiSidebarModule,
2250
- i3.TuiActiveZoneModule,
2195
+ i5.CommonModule,
2196
+ i6$2.PolymorpheusModule,
2197
+ i2$1.TuiButtonModule,
2198
+ i4.TuiSidebarModule,
2199
+ i6.TuiActiveZoneModule,
2251
2200
  TuiDocNavigationModule,
2252
2201
  ]] });
2253
2202
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocHeaderModule, decorators: [{
2254
2203
  type: i0.NgModule,
2255
2204
  args: [{
2256
2205
  imports: [
2257
- i4.CommonModule,
2258
- i6.PolymorpheusModule,
2259
- i1.TuiButtonModule,
2260
- i4$1.TuiSidebarModule,
2261
- i3.TuiActiveZoneModule,
2206
+ i5.CommonModule,
2207
+ i6$2.PolymorpheusModule,
2208
+ i2$1.TuiButtonModule,
2209
+ i4.TuiSidebarModule,
2210
+ i6.TuiActiveZoneModule,
2262
2211
  TuiDocNavigationModule,
2263
2212
  ],
2264
2213
  declarations: [TuiDocHeaderComponent],
@@ -2272,41 +2221,41 @@
2272
2221
  return TuiDocMainModule;
2273
2222
  }());
2274
2223
  TuiDocMainModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocMainModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
2275
- TuiDocMainModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocMainModule, declarations: [TuiDocMainComponent], imports: [i4.CommonModule,
2276
- i5$1.RouterModule,
2277
- i5.FormsModule,
2278
- i2$1.TuiToggleModule,
2279
- i1.TuiThemeNightModule,
2224
+ TuiDocMainModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocMainModule, declarations: [TuiDocMainComponent], imports: [i5.CommonModule,
2225
+ i6$1.RouterModule,
2226
+ i5$1.FormsModule,
2227
+ i1.TuiToggleModule,
2228
+ i2$1.TuiThemeNightModule,
2280
2229
  TuiDocHeaderModule,
2281
- i1.TuiRootModule,
2282
- i1.TuiDialogModule,
2283
- i1.TuiAlertModule,
2230
+ i2$1.TuiRootModule,
2231
+ i2$1.TuiDialogModule,
2232
+ i2$1.TuiAlertModule,
2284
2233
  TuiDocNavigationModule], exports: [TuiDocMainComponent] });
2285
2234
  TuiDocMainModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocMainModule, imports: [[
2286
- i4.CommonModule,
2287
- i5$1.RouterModule,
2288
- i5.FormsModule,
2289
- i2$1.TuiToggleModule,
2290
- i1.TuiThemeNightModule,
2235
+ i5.CommonModule,
2236
+ i6$1.RouterModule,
2237
+ i5$1.FormsModule,
2238
+ i1.TuiToggleModule,
2239
+ i2$1.TuiThemeNightModule,
2291
2240
  TuiDocHeaderModule,
2292
- i1.TuiRootModule,
2293
- i1.TuiDialogModule,
2294
- i1.TuiAlertModule,
2241
+ i2$1.TuiRootModule,
2242
+ i2$1.TuiDialogModule,
2243
+ i2$1.TuiAlertModule,
2295
2244
  TuiDocNavigationModule,
2296
2245
  ]] });
2297
2246
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocMainModule, decorators: [{
2298
2247
  type: i0.NgModule,
2299
2248
  args: [{
2300
2249
  imports: [
2301
- i4.CommonModule,
2302
- i5$1.RouterModule,
2303
- i5.FormsModule,
2304
- i2$1.TuiToggleModule,
2305
- i1.TuiThemeNightModule,
2250
+ i5.CommonModule,
2251
+ i6$1.RouterModule,
2252
+ i5$1.FormsModule,
2253
+ i1.TuiToggleModule,
2254
+ i2$1.TuiThemeNightModule,
2306
2255
  TuiDocHeaderModule,
2307
- i1.TuiRootModule,
2308
- i1.TuiDialogModule,
2309
- i1.TuiAlertModule,
2256
+ i2$1.TuiRootModule,
2257
+ i2$1.TuiDialogModule,
2258
+ i2$1.TuiAlertModule,
2310
2259
  TuiDocNavigationModule,
2311
2260
  ],
2312
2261
  declarations: [TuiDocMainComponent],
@@ -2327,20 +2276,18 @@
2327
2276
  {
2328
2277
  provide: PAGE_SEE_ALSO,
2329
2278
  deps: [i0.ElementRef, TUI_DOC_SEE_ALSO],
2330
- useFactory: seeAlsoProviderFactory,
2279
+ useFactory: function (_a, seeAlsoGroups) {
2280
+ var nativeElement = _a.nativeElement;
2281
+ var currentHeader = nativeElement.getAttribute("header");
2282
+ var groups = seeAlsoGroups.filter(function (group) { return group.includes(currentHeader); }) || [];
2283
+ var seeAlsoSet = new Set(groups
2284
+ .join()
2285
+ .split(",")
2286
+ .filter(function (component) { return component && component !== currentHeader; }));
2287
+ return Array.from(seeAlsoSet);
2288
+ },
2331
2289
  },
2332
2290
  ];
2333
- // eslint-disable-next-line @typescript-eslint/naming-convention
2334
- function seeAlsoProviderFactory(_a, seeAlsoGroups) {
2335
- var nativeElement = _a.nativeElement;
2336
- var currentHeader = nativeElement.getAttribute("header");
2337
- var groups = seeAlsoGroups.filter(function (group) { return group.includes(currentHeader); }) || [];
2338
- var seeAlsoSet = new Set(groups
2339
- .join()
2340
- .split(",")
2341
- .filter(function (component) { return component && component !== currentHeader; }));
2342
- return Array.from(seeAlsoSet);
2343
- }
2344
2291
 
2345
2292
  var TuiDocPageTabConnectorDirective = /** @class */ (function () {
2346
2293
  function TuiDocPageTabConnectorDirective(template) {
@@ -2351,7 +2298,7 @@
2351
2298
  TuiDocPageTabConnectorDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocPageTabConnectorDirective, deps: [{ token: i0.TemplateRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
2352
2299
  TuiDocPageTabConnectorDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocPageTabConnectorDirective, selector: "[pageTab]", inputs: { pageTab: "pageTab" }, ngImport: i0__namespace });
2353
2300
  __decorate([
2354
- i3.tuiDefaultProp()
2301
+ i6.tuiDefaultProp()
2355
2302
  ], TuiDocPageTabConnectorDirective.prototype, "pageTab", void 0);
2356
2303
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocPageTabConnectorDirective, decorators: [{
2357
2304
  type: i0.Directive,
@@ -2398,9 +2345,9 @@
2398
2345
  return TuiDocSourceCodeComponent;
2399
2346
  }());
2400
2347
  TuiDocSourceCodeComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocSourceCodeComponent, deps: [{ token: TUI_DOC_SOURCE_CODE }, { token: TUI_DOC_SOURCE_CODE_TEXT }], target: i0__namespace.ɵɵFactoryTarget.Component });
2401
- TuiDocSourceCodeComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocSourceCodeComponent, selector: "tui-doc-source-code", inputs: { header: "header", package: "package", type: "type", path: "path" }, ngImport: i0__namespace, template: "<a\n *polymorpheusOutlet=\"sourceCode as link; context: pathOptions\"\n tuiIconButton\n type=\"button\"\n icon=\"tuiIconCodeLarge\"\n appearance=\"icon\"\n target=\"_blank\"\n size=\"s\"\n [title]=\"text\"\n [href]=\"link\"\n></a>\n", components: [{ type: i1__namespace.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i6__namespace.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
2348
+ TuiDocSourceCodeComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocSourceCodeComponent, selector: "tui-doc-source-code", inputs: { header: "header", package: "package", type: "type", path: "path" }, ngImport: i0__namespace, template: "<a\n *polymorpheusOutlet=\"sourceCode as link; context: pathOptions\"\n tuiIconButton\n type=\"button\"\n icon=\"tuiIconCodeLarge\"\n appearance=\"icon\"\n target=\"_blank\"\n size=\"s\"\n [title]=\"text\"\n [href]=\"link\"\n></a>\n", components: [{ type: i2__namespace$1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i6__namespace$2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
2402
2349
  __decorate([
2403
- i3.tuiPure
2350
+ i6.tuiPure
2404
2351
  ], TuiDocSourceCodeComponent.prototype, "getPathOptions", null);
2405
2352
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocSourceCodeComponent, decorators: [{
2406
2353
  type: i0.Component,
@@ -2427,7 +2374,6 @@
2427
2374
  type: i0.Input
2428
2375
  }], getPathOptions: [] } });
2429
2376
 
2430
- // @dynamic
2431
2377
  var TuiDocSeeAlsoComponent = /** @class */ (function () {
2432
2378
  function TuiDocSeeAlsoComponent(text, pages) {
2433
2379
  this.text = text;
@@ -2449,7 +2395,7 @@
2449
2395
  return TuiDocSeeAlsoComponent;
2450
2396
  }());
2451
2397
  TuiDocSeeAlsoComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocSeeAlsoComponent, deps: [{ token: TUI_DOC_SEE_ALSO_TEXT }, { token: TUI_DOC_PAGES }], target: i0__namespace.ɵɵFactoryTarget.Component });
2452
- TuiDocSeeAlsoComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocSeeAlsoComponent, selector: "tui-doc-see-also", inputs: { seeAlso: "seeAlso" }, ngImport: i0__namespace, template: "<h5 class=\"header\">{{ text }}</h5>\n<ng-container *ngFor=\"let item of seeAlso; last as last\">\n <a\n tuiLink\n [routerLink]=\"getRouterLink(item)\"\n >\n {{ item }}\n </a>\n <ng-container *ngIf=\"!last\">{{ ', ' }}</ng-container>\n</ng-container>\n", styles: [":host{display:block}.header{font-size:.6875rem;line-height:1rem;text-transform:uppercase;letter-spacing:.075em;color:var(--tui-text-02);margin:0 0 .5rem;white-space:nowrap}\n"], components: [{ type: i1__namespace.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }], directives: [{ type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5__namespace.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
2398
+ TuiDocSeeAlsoComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocSeeAlsoComponent, selector: "tui-doc-see-also", inputs: { seeAlso: "seeAlso" }, ngImport: i0__namespace, template: "<h5 class=\"t-header\">{{ text }}</h5>\n<ng-container *ngFor=\"let item of seeAlso; last as last\">\n <a\n tuiLink\n [routerLink]=\"getRouterLink(item)\"\n >\n {{ item }}\n </a>\n <ng-container *ngIf=\"!last\">{{ ', ' }}</ng-container>\n</ng-container>\n", styles: [":host{display:block}.t-header{font-size:.6875rem;line-height:1rem;text-transform:uppercase;letter-spacing:.075em;color:var(--tui-text-02);margin:0 0 .5rem;white-space:nowrap}\n"], components: [{ type: i2__namespace$1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }], directives: [{ type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6__namespace.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
2453
2399
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocSeeAlsoComponent, decorators: [{
2454
2400
  type: i0.Component,
2455
2401
  args: [{
@@ -2470,8 +2416,6 @@
2470
2416
  type: i0.Input
2471
2417
  }] } });
2472
2418
 
2473
- // Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395
2474
- // @dynamic
2475
2419
  var TuiDocPageComponent = /** @class */ (function () {
2476
2420
  function TuiDocPageComponent(deprecated, defaultTabs, seeAlso) {
2477
2421
  this.deprecated = deprecated;
@@ -2481,7 +2425,7 @@
2481
2425
  this.package = "";
2482
2426
  this.type = "";
2483
2427
  this.path = "";
2484
- this.tabConnectors = i3.EMPTY_QUERY;
2428
+ this.tabConnectors = i6.EMPTY_QUERY;
2485
2429
  this.activeItemIndex = NaN;
2486
2430
  }
2487
2431
  Object.defineProperty(TuiDocPageComponent.prototype, "showSeeAlso", {
@@ -2498,7 +2442,7 @@
2498
2442
  return TuiDocPageComponent;
2499
2443
  }());
2500
2444
  TuiDocPageComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocPageComponent, deps: [{ token: "deprecated", attribute: true }, { token: TUI_DOC_DEFAULT_TABS }, { token: PAGE_SEE_ALSO }], target: i0__namespace.ɵɵFactoryTarget.Component });
2501
- TuiDocPageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocPageComponent, selector: "tui-doc-page", inputs: { header: "header", package: "package", type: "type", path: "path" }, providers: PAGE_PROVIDERS, queries: [{ propertyName: "tabConnectors", predicate: TuiDocPageTabConnectorDirective }], ngImport: i0__namespace, template: "<header class=\"t-header\">\n <h1 class=\"t-title\">\n {{ header }}\n <tui-tag\n *ngIf=\"deprecated !== null\"\n value=\"deprecated\"\n status=\"custom\"\n class=\"t-tag t-tag_deprecated\"\n ></tui-tag>\n <tui-tag\n *ngIf=\"package\"\n status=\"custom\"\n class=\"t-tag t-tag_package\"\n [value]=\"package\"\n [autoColor]=\"true\"\n ></tui-tag>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabConnectors; first as first; index as index\">\n <ng-container *ngIf=\"first; else dynamicTab\">\n <a\n *tuiItem\n tuiTab\n routerLink=\"./\"\n routerLinkActive\n [routerLinkActiveOptions]=\"{exact: true}\"\n >\n {{ tab.pageTab || defaultTabs[index] }}\n </a>\n </ng-container>\n <ng-template #dynamicTab>\n <a\n *tuiItem\n tuiTab\n routerLinkActive\n [routerLink]=\"getRouterLink(tab.pageTab || defaultTabs[index])\"\n >\n {{ tab.pageTab || defaultTabs[index] }}\n </a>\n </ng-template>\n </ng-container>\n </tui-tabs-with-more>\n <tui-doc-source-code\n class=\"t-source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [type]=\"type\"\n [path]=\"path\"\n ></tui-doc-source-code>\n</header>\n<div class=\"t-content\">\n <ng-content></ng-content>\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"t-see-also\"\n [seeAlso]=\"seeAlso\"\n ></tui-doc-see-also>\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container\n *ngIf=\"index === activeItemIndex\"\n [ngTemplateOutlet]=\"tab.template\"\n ></ng-container>\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-height:0;flex-basis:0;flex-grow:1}.t-header{display:flex;font:var(--tui-font-heading-3);flex-wrap:wrap;min-height:7.25rem;color:var(--tui-text-01);box-shadow:inset 0 -1px 0 0 var(--tui-base-03);padding:3.75rem 0 0;box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}:host-context(tui-root._mobile) .t-header{font:var(--tui-font-heading-4);min-height:4.5rem;padding:1.25rem 1.25rem 0;margin:0}.t-title{min-width:100%;font-size:inherit;margin:0}.t-tag{vertical-align:middle;text-transform:uppercase;margin-right:.5rem}.t-tag_deprecated{background-color:var(--tui-error-fill)}.t-tag.t-tag_package{color:#000}.t-tabs{flex:1;margin:1.125rem .3125rem 0 0}:host-context(tui-root._mobile) .t-tabs{margin-top:.25rem}.t-content{padding:2rem 0;margin:0 min(10vw,8.75rem)}:host-context(tui-root._mobile) .t-content{padding:2rem 1.25rem;margin:0}.t-see-also{min-width:18.75rem;width:30%;float:right;margin-left:1.5rem}:host-context(tui-root._mobile) .t-see-also{float:none;width:100%;margin:0 0 1.5rem}.t-source-code{align-self:flex-end;line-height:2.75rem}\n"], components: [{ type: i2__namespace$1.TuiTagComponent, selector: "tui-tag, a[tuiTag]", inputs: ["value", "editable", "allowSpaces", "separator", "maxLength", "size", "showLoader", "status", "hoverable", "removable", "disabled", "autoColor", "leftContent"], outputs: ["edited"] }, { type: i2__namespace$1.TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["moreContent", "dropdownContent", "underline", "activeItemIndex", "itemsLimit"], outputs: ["activeItemIndexChange"] }, { type: i2__namespace$1.TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: TuiDocSourceCodeComponent, selector: "tui-doc-source-code", inputs: ["header", "package", "type", "path"] }, { type: TuiDocSeeAlsoComponent, selector: "tui-doc-see-also", inputs: ["seeAlso"] }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3__namespace.TuiItemDirective, selector: "[tuiItem]" }, { type: i5__namespace.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i5__namespace.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], exportAs: ["routerLinkActive"] }, { type: i4__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
2445
+ TuiDocPageComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocPageComponent, selector: "tui-doc-page", inputs: { header: "header", package: "package", type: "type", path: "path" }, providers: PAGE_PROVIDERS, queries: [{ propertyName: "tabConnectors", predicate: TuiDocPageTabConnectorDirective }], ngImport: i0__namespace, template: "<header class=\"t-header\">\n <h1 class=\"t-title\">\n {{ header }}\n <tui-tag\n *ngIf=\"deprecated !== null\"\n value=\"deprecated\"\n status=\"custom\"\n class=\"t-tag t-tag_deprecated\"\n ></tui-tag>\n <tui-tag\n *ngIf=\"package\"\n status=\"custom\"\n class=\"t-tag t-tag_package\"\n [value]=\"package\"\n [autoColor]=\"true\"\n ></tui-tag>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabConnectors; first as first; index as index\">\n <ng-container *ngIf=\"first; else dynamicTab\">\n <a\n *tuiItem\n tuiTab\n routerLink=\"./\"\n routerLinkActive\n [routerLinkActiveOptions]=\"{exact: true}\"\n >\n {{ tab.pageTab || defaultTabs[index] }}\n </a>\n </ng-container>\n <ng-template #dynamicTab>\n <a\n *tuiItem\n tuiTab\n routerLinkActive\n [routerLink]=\"getRouterLink(tab.pageTab || defaultTabs[index])\"\n >\n {{ tab.pageTab || defaultTabs[index] }}\n </a>\n </ng-template>\n </ng-container>\n </tui-tabs-with-more>\n <tui-doc-source-code\n class=\"t-source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [type]=\"type\"\n [path]=\"path\"\n ></tui-doc-source-code>\n</header>\n<div class=\"t-content\">\n <ng-content></ng-content>\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"t-see-also\"\n [seeAlso]=\"seeAlso\"\n ></tui-doc-see-also>\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container\n *ngIf=\"index === activeItemIndex\"\n [ngTemplateOutlet]=\"tab.template\"\n ></ng-container>\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-height:0;flex-basis:0;flex-grow:1}.t-header{display:flex;font:var(--tui-font-heading-3);flex-wrap:wrap;min-height:7.25rem;color:var(--tui-text-01);box-shadow:inset 0 -1px 0 0 var(--tui-base-03);padding:3.75rem 0 0;box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}:host-context(tui-root._mobile) .t-header{font:var(--tui-font-heading-4);min-height:4.5rem;padding:1.25rem 1.25rem 0;margin:0}.t-title{min-width:100%;font-size:inherit;margin:0}.t-tag{vertical-align:middle;text-transform:uppercase;margin-right:.5rem}.t-tag_deprecated{background-color:var(--tui-error-fill)}.t-tag.t-tag_package{color:#000}.t-tabs{flex:1;margin:1.125rem .3125rem 0 0}:host-context(tui-root._mobile) .t-tabs{margin-top:.25rem}.t-content{padding:2rem 0;margin:0 min(10vw,8.75rem)}:host-context(tui-root._mobile) .t-content{padding:2rem 1.25rem;margin:0}.t-see-also{min-width:18.75rem;width:30%;float:right;margin-left:1.5rem}:host-context(tui-root._mobile) .t-see-also{float:none;width:100%;margin:0 0 1.5rem}.t-source-code{align-self:flex-end;line-height:2.75rem}\n"], components: [{ type: i1__namespace.TuiTagComponent, selector: "tui-tag, a[tuiTag]", inputs: ["value", "editable", "separator", "maxLength", "size", "showLoader", "status", "hoverable", "removable", "disabled", "autoColor", "leftContent"], outputs: ["edited"] }, { type: i1__namespace.TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["moreContent", "dropdownContent", "underline", "activeItemIndex", "itemsLimit"], outputs: ["activeItemIndexChange"] }, { type: i1__namespace.TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: TuiDocSourceCodeComponent, selector: "tui-doc-source-code", inputs: ["header", "package", "type", "path"] }, { type: TuiDocSeeAlsoComponent, selector: "tui-doc-see-also", inputs: ["seeAlso"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6__namespace$1.TuiItemDirective, selector: "[tuiItem]" }, { type: i6__namespace.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i6__namespace.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], exportAs: ["routerLinkActive"] }, { type: i5__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
2502
2446
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocPageComponent, decorators: [{
2503
2447
  type: i0.Component,
2504
2448
  args: [{
@@ -2538,12 +2482,12 @@
2538
2482
  return TuiDocSeeAlsoModule;
2539
2483
  }());
2540
2484
  TuiDocSeeAlsoModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocSeeAlsoModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
2541
- TuiDocSeeAlsoModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocSeeAlsoModule, declarations: [TuiDocSeeAlsoComponent], imports: [i4.CommonModule, i5$1.RouterModule, i1.TuiLinkModule], exports: [TuiDocSeeAlsoComponent] });
2542
- TuiDocSeeAlsoModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocSeeAlsoModule, imports: [[i4.CommonModule, i5$1.RouterModule, i1.TuiLinkModule]] });
2485
+ TuiDocSeeAlsoModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocSeeAlsoModule, declarations: [TuiDocSeeAlsoComponent], imports: [i5.CommonModule, i6$1.RouterModule, i2$1.TuiLinkModule], exports: [TuiDocSeeAlsoComponent] });
2486
+ TuiDocSeeAlsoModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocSeeAlsoModule, imports: [[i5.CommonModule, i6$1.RouterModule, i2$1.TuiLinkModule]] });
2543
2487
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocSeeAlsoModule, decorators: [{
2544
2488
  type: i0.NgModule,
2545
2489
  args: [{
2546
- imports: [i4.CommonModule, i5$1.RouterModule, i1.TuiLinkModule],
2490
+ imports: [i5.CommonModule, i6$1.RouterModule, i2$1.TuiLinkModule],
2547
2491
  declarations: [TuiDocSeeAlsoComponent],
2548
2492
  exports: [TuiDocSeeAlsoComponent],
2549
2493
  }]
@@ -2555,13 +2499,13 @@
2555
2499
  return TuiDocSourceCodeModule;
2556
2500
  }());
2557
2501
  TuiDocSourceCodeModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocSourceCodeModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
2558
- TuiDocSourceCodeModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocSourceCodeModule, declarations: [TuiDocSourceCodeComponent], imports: [i4.CommonModule, i6.PolymorpheusModule, i1.TuiButtonModule], exports: [TuiDocSourceCodeComponent] });
2559
- TuiDocSourceCodeModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocSourceCodeModule, imports: [[i4.CommonModule, i6.PolymorpheusModule, i1.TuiButtonModule]] });
2502
+ TuiDocSourceCodeModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocSourceCodeModule, declarations: [TuiDocSourceCodeComponent], imports: [i5.CommonModule, i6$2.PolymorpheusModule, i2$1.TuiButtonModule], exports: [TuiDocSourceCodeComponent] });
2503
+ TuiDocSourceCodeModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocSourceCodeModule, imports: [[i5.CommonModule, i6$2.PolymorpheusModule, i2$1.TuiButtonModule]] });
2560
2504
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocSourceCodeModule, decorators: [{
2561
2505
  type: i0.NgModule,
2562
2506
  args: [{
2563
2507
  declarations: [TuiDocSourceCodeComponent],
2564
- imports: [i4.CommonModule, i6.PolymorpheusModule, i1.TuiButtonModule],
2508
+ imports: [i5.CommonModule, i6$2.PolymorpheusModule, i2$1.TuiButtonModule],
2565
2509
  exports: [TuiDocSourceCodeComponent],
2566
2510
  }]
2567
2511
  }] });
@@ -2572,29 +2516,29 @@
2572
2516
  return TuiDocPageModule;
2573
2517
  }());
2574
2518
  TuiDocPageModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocPageModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
2575
- TuiDocPageModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocPageModule, declarations: [TuiDocPageComponent, TuiDocPageTabConnectorDirective], imports: [i4.CommonModule,
2576
- i5$1.RouterModule,
2519
+ TuiDocPageModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocPageModule, declarations: [TuiDocPageComponent, TuiDocPageTabConnectorDirective], imports: [i5.CommonModule,
2520
+ i6$1.RouterModule,
2577
2521
  TuiDocSeeAlsoModule,
2578
- i2$1.TuiTabsModule,
2579
- i2$1.TuiTagModule,
2522
+ i1.TuiTabsModule,
2523
+ i1.TuiTagModule,
2580
2524
  TuiDocSourceCodeModule], exports: [TuiDocPageComponent, TuiDocPageTabConnectorDirective] });
2581
2525
  TuiDocPageModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocPageModule, imports: [[
2582
- i4.CommonModule,
2583
- i5$1.RouterModule,
2526
+ i5.CommonModule,
2527
+ i6$1.RouterModule,
2584
2528
  TuiDocSeeAlsoModule,
2585
- i2$1.TuiTabsModule,
2586
- i2$1.TuiTagModule,
2529
+ i1.TuiTabsModule,
2530
+ i1.TuiTagModule,
2587
2531
  TuiDocSourceCodeModule,
2588
2532
  ]] });
2589
2533
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiDocPageModule, decorators: [{
2590
2534
  type: i0.NgModule,
2591
2535
  args: [{
2592
2536
  imports: [
2593
- i4.CommonModule,
2594
- i5$1.RouterModule,
2537
+ i5.CommonModule,
2538
+ i6$1.RouterModule,
2595
2539
  TuiDocSeeAlsoModule,
2596
- i2$1.TuiTabsModule,
2597
- i2$1.TuiTagModule,
2540
+ i1.TuiTabsModule,
2541
+ i1.TuiTagModule,
2598
2542
  TuiDocSourceCodeModule,
2599
2543
  ],
2600
2544
  declarations: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],
@@ -2697,8 +2641,6 @@
2697
2641
  * Generated bundle index. Do not edit.
2698
2642
  */
2699
2643
 
2700
- exports.ScrollIntoViewDirective = ScrollIntoViewDirective;
2701
- exports.ScrollIntoViewModule = ScrollIntoViewModule;
2702
2644
  exports.TUI_DOC_CODE_ACTIONS = TUI_DOC_CODE_ACTIONS;
2703
2645
  exports.TUI_DOC_CODE_EDITOR = TUI_DOC_CODE_EDITOR;
2704
2646
  exports.TUI_DOC_DEFAULT_TABS = TUI_DOC_DEFAULT_TABS;
@@ -2740,12 +2682,10 @@
2740
2682
  exports.TuiDocPageComponent = TuiDocPageComponent;
2741
2683
  exports.TuiDocPageModule = TuiDocPageModule;
2742
2684
  exports.TuiDocPageTabConnectorDirective = TuiDocPageTabConnectorDirective;
2685
+ exports.TuiLanguageSwitcherComponent = TuiLanguageSwitcherComponent;
2686
+ exports.TuiLanguageSwitcherModule = TuiLanguageSwitcherModule;
2743
2687
  exports.TuiScrollIntoViewLinkDirective = TuiScrollIntoViewLinkDirective;
2744
2688
  exports.TuiScrollIntoViewLinkModule = TuiScrollIntoViewLinkModule;
2745
- exports.coerceValue = coerceValue;
2746
- exports.rawLoad = rawLoad;
2747
- exports.rawLoadRecord = rawLoadRecord;
2748
- exports.tryParseMarkdownCodeBlock = tryParseMarkdownCodeBlock;
2749
2689
  exports.tuiCoerceValue = tuiCoerceValue;
2750
2690
  exports.tuiGenerateRoutes = tuiGenerateRoutes;
2751
2691
  exports.tuiRawLoad = tuiRawLoad;