@taiga-ui/addon-doc 3.14.0 → 3.15.0-dev.main-978eec3

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 (28) hide show
  1. package/bundles/taiga-ui-addon-doc.umd.js +143 -128
  2. package/bundles/taiga-ui-addon-doc.umd.js.map +1 -1
  3. package/components/documentation/documentation.component.d.ts +5 -3
  4. package/components/documentation/documentation.module.d.ts +2 -1
  5. package/esm2015/components/code/code.component.js +7 -7
  6. package/esm2015/components/copy/copy.component.js +4 -4
  7. package/esm2015/components/demo/demo.component.js +11 -11
  8. package/esm2015/components/documentation/documentation-property-connector.directive.js +11 -11
  9. package/esm2015/components/documentation/documentation.component.js +33 -27
  10. package/esm2015/components/documentation/documentation.module.js +6 -2
  11. package/esm2015/components/example/example.component.js +11 -11
  12. package/esm2015/components/language-switcher/language-switcher.component.js +18 -18
  13. package/esm2015/components/main/main.component.js +10 -10
  14. package/esm2015/components/navigation/navigation.component.js +19 -19
  15. package/esm2015/components/page/page-tab.directive.js +2 -2
  16. package/esm2015/components/page/page.component.js +12 -12
  17. package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +2 -2
  18. package/esm2015/internal/header/header.component.js +5 -5
  19. package/esm2015/internal/input-opacity/input-opacity.directive.js +3 -3
  20. package/esm2015/internal/see-also/see-also.component.js +6 -6
  21. package/esm2015/internal/source-code/source-code.component.js +7 -7
  22. package/esm2015/public-api.js +2 -1
  23. package/esm2015/tokens/excluded-properties.js +6 -0
  24. package/fesm2015/taiga-ui-addon-doc.js +143 -130
  25. package/fesm2015/taiga-ui-addon-doc.js.map +1 -1
  26. package/package.json +6 -6
  27. package/public-api.d.ts +1 -0
  28. package/tokens/excluded-properties.d.ts +3 -0
@@ -10,7 +10,7 @@ import { CommonModule, Location as Location$1, DOCUMENT } from '@angular/common'
10
10
  import * as i2 from 'ngx-highlightjs';
11
11
  import { HighlightModule } from 'ngx-highlightjs';
12
12
  import * as i6$1 from '@taiga-ui/cdk';
13
- import { TuiDestroyService, tuiPure, tuiClamp, tuiPx, TUI_IS_MOBILE, TuiResizeableDirective, TuiResizerModule, tuiRgbToHex, TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_CYPRESS, tuiIsString, tuiIsNumber, EMPTY_QUERY, tuiItemsQueryListObservable, tuiWatch, tuiHexToRgb, TuiMapperPipeModule, tuiIsPresent, tuiGetElementObscures, tuiControlValue, tuiUniqBy, TuiSwipeService, TuiActiveZoneModule, TuiLetModule, TuiAutoFocusModule, tuiDefaultProp } from '@taiga-ui/cdk';
13
+ import { TuiDestroyService, tuiPure, tuiClamp, tuiPx, TUI_IS_MOBILE, TuiResizeableDirective, TuiResizerModule, tuiRgbToHex, TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_CYPRESS, tuiIsString, tuiIsNumber, EMPTY_QUERY, tuiItemsQueryListObservable, tuiWatch, tuiHexToRgb, TuiFilterPipeModule, TuiMapperPipeModule, tuiIsPresent, tuiGetElementObscures, tuiControlValue, tuiUniqBy, TuiSwipeService, TuiActiveZoneModule, TuiLetModule, TuiAutoFocusModule, tuiDefaultProp } from '@taiga-ui/cdk';
14
14
  import * as i1 from '@taiga-ui/kit';
15
15
  import { TUI_COPY_TEXTS, TuiSelectModule, TuiRadioBlockModule, TuiCheckboxLabeledModule, TuiDataListWrapperModule, TuiBadgeModule, TuiToggleModule, TuiInputCountModule, TuiTabsModule, TuiInputModule, TuiAccordionModule, TuiTagModule } from '@taiga-ui/kit';
16
16
  import * as i2$1 from '@taiga-ui/core';
@@ -48,8 +48,8 @@ function tuiTryParseMarkdownCodeBlock(text = ``) {
48
48
 
49
49
  class TuiDocCodeComponent {
50
50
  constructor() {
51
- this.rawLoader$$ = new BehaviorSubject(``);
52
- this.filename = ``;
51
+ this.rawLoader$$ = new BehaviorSubject('');
52
+ this.filename = '';
53
53
  this.processor$ = this.rawLoader$$.pipe(switchMap(tuiRawLoad), map(tuiTryParseMarkdownCodeBlock));
54
54
  }
55
55
  set code(code) {
@@ -64,9 +64,9 @@ TuiDocCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
64
64
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocCodeComponent, decorators: [{
65
65
  type: Component,
66
66
  args: [{
67
- selector: `tui-doc-code`,
68
- templateUrl: `./code.template.html`,
69
- styleUrls: [`./code.style.less`],
67
+ selector: 'tui-doc-code',
68
+ templateUrl: './code.template.html',
69
+ styleUrls: ['./code.style.less'],
70
70
  }]
71
71
  }], propDecorators: { filename: [{
72
72
  type: Input
@@ -74,7 +74,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
74
74
  type: Input
75
75
  }], hasFilename: [{
76
76
  type: HostBinding,
77
- args: [`class._has-filename`]
77
+ args: ['class._has-filename']
78
78
  }] } });
79
79
 
80
80
  class TuiDocCodeModule {
@@ -112,9 +112,9 @@ __decorate([
112
112
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocCopyComponent, decorators: [{
113
113
  type: Component,
114
114
  args: [{
115
- selector: `tui-doc-copy`,
116
- templateUrl: `./copy.template.html`,
117
- styleUrls: [`./copy.style.less`],
115
+ selector: 'tui-doc-copy',
116
+ templateUrl: './copy.template.html',
117
+ styleUrls: ['./copy.style.less'],
118
118
  changeDetection: ChangeDetectionStrategy.OnPush,
119
119
  providers: [TuiDestroyService],
120
120
  }]
@@ -200,14 +200,14 @@ class TuiDocDemoComponent {
200
200
  this.texts = texts;
201
201
  this.control = null;
202
202
  this.template = null;
203
- this.updateOnVariants = [`change`, `blur`, `submit`];
203
+ this.updateOnVariants = ['change', 'blur', 'submit'];
204
204
  this.updateOn = this.updateOnVariants[0];
205
205
  this.expanded = false;
206
206
  this.opaque = true;
207
207
  this.mode = this.getUrlTree().queryParams.tuiMode || null;
208
208
  this.sandboxWidth = parseInt(this.getUrlTree().queryParams.sandboxWidth, 10);
209
209
  this.change$ = new Subject();
210
- this.items = [`onLight`, `onDark`];
210
+ this.items = ['onLight', 'onDark'];
211
211
  }
212
212
  onResize() {
213
213
  this.updateWidth();
@@ -241,7 +241,7 @@ class TuiDocDemoComponent {
241
241
  const clamped = Math.round(tuiClamp(safe, MIN_WIDTH, total)) - this.delta;
242
242
  const validated = safe < total ? clamped : NaN;
243
243
  this.resizer.nativeElement.textContent = String(clamped);
244
- this.resizeable.nativeElement.style.width = validated ? tuiPx(safe) : ``;
244
+ this.resizeable.nativeElement.style.width = validated ? tuiPx(safe) : '';
245
245
  this.sandboxWidth = validated;
246
246
  }
247
247
  get delta() {
@@ -284,9 +284,9 @@ __decorate([
284
284
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocDemoComponent, decorators: [{
285
285
  type: Component,
286
286
  args: [{
287
- selector: `tui-doc-demo`,
288
- templateUrl: `./demo.template.html`,
289
- styleUrls: [`./demo.style.less`],
287
+ selector: 'tui-doc-demo',
288
+ templateUrl: './demo.template.html',
289
+ styleUrls: ['./demo.style.less'],
290
290
  changeDetection: ChangeDetectionStrategy.OnPush,
291
291
  providers: [
292
292
  TuiDestroyService,
@@ -316,10 +316,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
316
316
  args: [TuiResizeableDirective, { static: true }]
317
317
  }], content: [{
318
318
  type: ViewChild,
319
- args: [`content`, { static: true }]
319
+ args: ['content', { static: true }]
320
320
  }], resizer: [{
321
321
  type: ViewChild,
322
- args: [`resizer`, { static: true }]
322
+ args: ['resizer', { static: true }]
323
323
  }], control: [{
324
324
  type: Input
325
325
  }], template: [{
@@ -327,10 +327,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
327
327
  args: [TemplateRef]
328
328
  }], onResize: [{
329
329
  type: HostListener,
330
- args: [`window:resize`]
330
+ args: ['window:resize']
331
331
  }], onMouseUp: [{
332
332
  type: HostListener,
333
- args: [`document:mouseup.silent`]
333
+ args: ['document:mouseup.silent']
334
334
  }], updateUrl: [] } });
335
335
 
336
336
  class TuiDocDemoModule {
@@ -405,6 +405,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
405
405
  }]
406
406
  }] });
407
407
 
408
+ const TUI_DOC_EXCLUDED_PROPERTIES = new InjectionToken(`[TUI_DOC_EXCLUDED_PROPERTIES]: Token to exclude inherited documentation properties`, { factory: () => new Set([]) });
409
+ function tuiDocExcludeProperties(properties) {
410
+ return { provide: TUI_DOC_EXCLUDED_PROPERTIES, useValue: new Set(properties) };
411
+ }
412
+
408
413
  function tuiCoerceValue(value) {
409
414
  const prepared = String(value).trim();
410
415
  if (isEmptyParamValue(prepared)) {
@@ -444,7 +449,7 @@ function isPossibleObject(value) {
444
449
  return value.startsWith(`{`) && value.endsWith(`}`);
445
450
  }
446
451
 
447
- const SERIALIZED_SUFFIX = `$`;
452
+ const SERIALIZED_SUFFIX = '$';
448
453
  // @bad TODO: refactor output and value sync
449
454
  class TuiDocDocumentationPropertyConnectorDirective {
450
455
  constructor(template, locationRef, activatedRoute, urlSerializer) {
@@ -452,9 +457,9 @@ class TuiDocDocumentationPropertyConnectorDirective {
452
457
  this.locationRef = locationRef;
453
458
  this.activatedRoute = activatedRoute;
454
459
  this.urlSerializer = urlSerializer;
455
- this.documentationPropertyName = ``;
460
+ this.documentationPropertyName = '';
456
461
  this.documentationPropertyMode = null;
457
- this.documentationPropertyType = ``;
462
+ this.documentationPropertyType = '';
458
463
  this.documentationPropertyDeprecated = false;
459
464
  this.documentationPropertyValues = null;
460
465
  this.documentationPropertyValueChange = new EventEmitter();
@@ -466,11 +471,11 @@ class TuiDocDocumentationPropertyConnectorDirective {
466
471
  }
467
472
  get attrName() {
468
473
  switch (this.documentationPropertyMode) {
469
- case `input`:
474
+ case 'input':
470
475
  return `[${this.documentationPropertyName}]`;
471
- case `output`:
476
+ case 'output':
472
477
  return `(${this.documentationPropertyName})`;
473
- case `input-output`:
478
+ case 'input-output':
474
479
  return `[(${this.documentationPropertyName})]`;
475
480
  default:
476
481
  return this.documentationPropertyName;
@@ -480,7 +485,7 @@ class TuiDocDocumentationPropertyConnectorDirective {
480
485
  return !!this.documentationPropertyValues;
481
486
  }
482
487
  get shouldShowValues() {
483
- return this.documentationPropertyMode !== `output`;
488
+ return this.documentationPropertyMode !== 'output';
484
489
  }
485
490
  ngOnChanges() {
486
491
  this.changed$.next();
@@ -512,7 +517,7 @@ class TuiDocDocumentationPropertyConnectorDirective {
512
517
  const computedValue = isValueAvailableByKey && this.documentationPropertyValues
513
518
  ? this.documentationPropertyValues.indexOf(value)
514
519
  : value;
515
- const suffix = isValueAvailableByKey ? SERIALIZED_SUFFIX : ``;
520
+ const suffix = isValueAvailableByKey ? SERIALIZED_SUFFIX : '';
516
521
  const propName = this.documentationPropertyName + suffix;
517
522
  tree.queryParams = Object.assign(Object.assign({}, tree.queryParams), { [propName]: computedValue });
518
523
  this.locationRef.go(String(tree));
@@ -523,8 +528,8 @@ TuiDocDocumentationPropertyConnectorDirective.ɵdir = i0.ɵɵngDeclareDirective(
523
528
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocDocumentationPropertyConnectorDirective, decorators: [{
524
529
  type: Directive,
525
530
  args: [{
526
- selector: `ng-template[documentationPropertyName]`,
527
- exportAs: `documentationProperty`,
531
+ selector: 'ng-template[documentationPropertyName]',
532
+ exportAs: 'documentationProperty',
528
533
  }]
529
534
  }], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
530
535
  type: Inject,
@@ -618,7 +623,7 @@ class TuiInputOpacityDirective {
618
623
  set tuiInputOpacity(opacity) {
619
624
  const { nativeFocusableElement } = this.tuiFocusableComponent;
620
625
  if (nativeFocusableElement) {
621
- this.renderer.setStyle(nativeFocusableElement, `opacity`, opacity / 100);
626
+ this.renderer.setStyle(nativeFocusableElement, 'opacity', opacity / 100);
622
627
  }
623
628
  }
624
629
  }
@@ -627,7 +632,7 @@ TuiInputOpacityDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0
627
632
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputOpacityDirective, decorators: [{
628
633
  type: Directive,
629
634
  args: [{
630
- selector: `[tuiInputOpacity]`,
635
+ selector: '[tuiInputOpacity]',
631
636
  }]
632
637
  }], ctorParameters: function () { return [{ type: i0.Renderer2, decorators: [{
633
638
  type: Inject,
@@ -795,17 +800,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
795
800
  // @bad TODO subscribe propertiesConnectors changes
796
801
  // @bad TODO refactor to make more flexible
797
802
  class TuiDocDocumentationComponent {
798
- constructor(changeDetectorRef, texts, destroy$, getColor, getOpacity) {
803
+ constructor(changeDetectorRef, texts, excludedProperties, destroy$, getColor, getOpacity) {
799
804
  this.changeDetectorRef = changeDetectorRef;
800
805
  this.texts = texts;
806
+ this.excludedProperties = excludedProperties;
801
807
  this.destroy$ = destroy$;
802
808
  this.getColor = getColor;
803
809
  this.getOpacity = getOpacity;
804
- this.heading = ``;
810
+ this.heading = '';
805
811
  this.showValues = true;
806
812
  this.isAPI = false;
807
813
  this.propertiesConnectors = EMPTY_QUERY;
808
814
  this.activeItemIndex = 0;
815
+ this.matcher = (item, exclusions) => !exclusions.has(item.documentationPropertyName);
809
816
  }
810
817
  ngAfterContentInit() {
811
818
  tuiItemsQueryListObservable(this.propertiesConnectors)
@@ -816,38 +823,38 @@ class TuiDocDocumentationComponent {
816
823
  return this.isAPI ? this.texts[0] : this.texts[1];
817
824
  }
818
825
  onColorChange(connector, color) {
819
- const opacity = this.getOpacity.transform(connector.documentationPropertyValue || ``);
826
+ const opacity = this.getOpacity.transform(connector.documentationPropertyValue || '');
820
827
  if (opacity === 100) {
821
828
  connector.onValueChange(color);
822
829
  return;
823
830
  }
824
- const rgb = tuiHexToRgb(color).join(`, `);
831
+ const rgb = tuiHexToRgb(color).join(', ');
825
832
  const result = `rgba(${rgb}, ${opacity / 100})`;
826
833
  connector.onValueChange(result);
827
834
  }
828
835
  onOpacityChange(connector, opacity) {
829
- const hex = this.getColor.transform(connector.documentationPropertyValue || ``);
836
+ const hex = this.getColor.transform(connector.documentationPropertyValue || '');
830
837
  const rgb = tuiHexToRgb(hex);
831
838
  const result = `rgba(${rgb}, ${opacity / 100})`;
832
839
  connector.onValueChange(result);
833
840
  }
834
841
  }
835
- TuiDocDocumentationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocDocumentationComponent, deps: [{ token: ChangeDetectorRef }, { token: TUI_DOC_DOCUMENTATION_TEXTS }, { token: TuiDestroyService, self: true }, { token: TuiGetColorPipe }, { token: TuiGetOpacityPipe }], target: i0.ɵɵFactoryTarget.Component });
836
- TuiDocDocumentationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocDocumentationComponent, selector: "tui-doc-documentation", inputs: { heading: "heading", showValues: "showValues", isAPI: "isAPI" }, providers: [TuiGetColorPipe, TuiGetOpacityPipe, TuiDestroyService], queries: [{ propertyName: "propertiesConnectors", predicate: TuiDocDocumentationPropertyConnectorDirective }], ngImport: i0, 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-th_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 {{ propertyConnector.attrName | tuiStripOptionalPipe }}\n <tui-badge\n *ngIf=\"propertyConnector.attrName | tuiIsOptionalPipe\"\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=\"propertyConnector.documentationPropertyType | tuiShowContentTooltip\"\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 t-cell_value\"\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]=\"propertyConnector.documentationPropertyType | tuiShowCleanerPipe\"\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>{{ data | tuiInspectAny }}</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 tuiTextfieldSize=\"m\"\n [attr.id]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiInputOpacity]=\"propertyConnector.documentationPropertyValue | tuiGetOpacity\"\n [value]=\"propertyConnector.documentationPropertyValue | tuiGetColorPipe\"\n (valueChange)=\"onColorChange(propertyConnector, $event)\"\n >\n <input\n tuiTextfield\n type=\"text\"\n />\n </tui-primitive-textfield>\n <tui-input-count\n tuiTextfieldSize=\"m\"\n [max]=\"100\"\n [ngModel]=\"propertyConnector.documentationPropertyValue | tuiGetOpacity\"\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=\"\n propertyConnector.documentationPropertyValue | tuiIsPrimitivePolymorpheusContentPipe\n \"\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}.t-cell_prop{width:40%}.t-cell_value{text-align:right}: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-th_value{max-width:20rem;text-align:right}:host-context(tui-root._mobile) .t-th_value{width:9.375rem}.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.TuiBadgeComponent, selector: "tui-badge", inputs: ["value", "size", "status", "hoverable"] }, { type: i2$1.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId"] }, { type: i2$1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { type: i1.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { type: i1.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items"] }, { type: i1.TuiToggleComponent, selector: "tui-toggle", inputs: ["singleColor", "showIcons", "showLoader", "size"] }, { type: i2$1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i2$1.TuiTextfieldComponent, selector: "input[tuiTextfield], textarea[tuiTextfield]" }, { type: i1.TuiInputCountComponent, selector: "tui-input-count", inputs: ["step", "min", "max", "hideButtons", "prefix", "postfix"] }, { type: i2$1.TuiNotificationComponent, selector: "tui-notification", inputs: ["hasIcon", "status"], outputs: ["close"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2$1.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i1.TuiSelectDirective, selector: "tui-select" }, { type: i2$1.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { type: i2$1.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight]", inputs: ["tuiDropdownAlign", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight"] }, { type: i2$1.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { type: i2$1.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { type: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2$1.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2$1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i2$1.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: TuiInputOpacityDirective, selector: "[tuiInputOpacity]", inputs: ["tuiInputOpacity"] }, { type: i1.TuiInputCountDirective, selector: "tui-input-count" }], pipes: { "tuiStripOptionalPipe": TuiStripOptionalPipe, "tuiIsOptionalPipe": TuiIsOptionalPipe, "tuiShowContentTooltip": TuiShowContentTooltip, "tuiShowCleanerPipe": TuiShowCleanerPipe, "tuiInspectAny": TuiInspectPipe, "tuiGetOpacity": TuiGetOpacityPipe, "tuiGetColorPipe": TuiGetColorPipe, "tuiIsPrimitivePolymorpheusContentPipe": TuiIsPrimitivePolymorpheusContentPipe, "async": i5.AsyncPipe }, animations: [
837
- trigger(`emitEvent`, [
838
- transition(`:increment`, [style({ opacity: 1 }), animate(`500ms ease-in`)]),
842
+ TuiDocDocumentationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocDocumentationComponent, deps: [{ token: ChangeDetectorRef }, { token: TUI_DOC_DOCUMENTATION_TEXTS }, { token: TUI_DOC_EXCLUDED_PROPERTIES }, { token: TuiDestroyService, self: true }, { token: TuiGetColorPipe }, { token: TuiGetOpacityPipe }], target: i0.ɵɵFactoryTarget.Component });
843
+ TuiDocDocumentationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocDocumentationComponent, selector: "tui-doc-documentation", inputs: { heading: "heading", showValues: "showValues", isAPI: "isAPI" }, providers: [TuiGetColorPipe, TuiGetOpacityPipe, TuiDestroyService], queries: [{ propertyName: "propertiesConnectors", predicate: TuiDocDocumentationPropertyConnectorDirective }], ngImport: i0, 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-th_value\"\n >\n {{ texts[3] }}\n </th>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of $any(propertiesConnectors) | tuiFilter : matcher : excludedProperties\"\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 {{ propertyConnector.attrName | tuiStripOptionalPipe }}\n <tui-badge\n *ngIf=\"propertyConnector.attrName | tuiIsOptionalPipe\"\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=\"propertyConnector.documentationPropertyType | tuiShowContentTooltip\"\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 t-cell_value\"\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]=\"propertyConnector.documentationPropertyType | tuiShowCleanerPipe\"\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>{{ data | tuiInspectAny }}</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 tuiTextfieldSize=\"m\"\n [attr.id]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiInputOpacity]=\"propertyConnector.documentationPropertyValue | tuiGetOpacity\"\n [value]=\"propertyConnector.documentationPropertyValue | tuiGetColorPipe\"\n (valueChange)=\"onColorChange(propertyConnector, $event)\"\n >\n <input\n tuiTextfield\n type=\"text\"\n />\n </tui-primitive-textfield>\n <tui-input-count\n tuiTextfieldSize=\"m\"\n [max]=\"100\"\n [ngModel]=\"propertyConnector.documentationPropertyValue | tuiGetOpacity\"\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=\"\n propertyConnector.documentationPropertyValue | tuiIsPrimitivePolymorpheusContentPipe\n \"\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}.t-cell_prop{width:40%}.t-cell_value{text-align:right}: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-th_value{max-width:20rem;text-align:right}:host-context(tui-root._mobile) .t-th_value{width:9.375rem}.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.TuiBadgeComponent, selector: "tui-badge", inputs: ["value", "size", "status", "hoverable"] }, { type: i2$1.TuiTooltipComponent, selector: "tui-tooltip", inputs: ["content", "direction", "appearance", "showDelay", "hideDelay", "describeId"] }, { type: i2$1.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { type: i1.TuiSelectComponent, selector: "tui-select", inputs: ["stringify", "identityMatcher", "valueContent"] }, { type: i1.TuiDataListWrapperComponent, selector: "tui-data-list-wrapper:not([labels])", inputs: ["items"] }, { type: i1.TuiToggleComponent, selector: "tui-toggle", inputs: ["singleColor", "showIcons", "showLoader", "size"] }, { type: i2$1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i2$1.TuiTextfieldComponent, selector: "input[tuiTextfield], textarea[tuiTextfield]" }, { type: i1.TuiInputCountComponent, selector: "tui-input-count", inputs: ["step", "min", "max", "hideButtons", "prefix", "postfix"] }, { type: i2$1.TuiNotificationComponent, selector: "tui-notification", inputs: ["hasIcon", "status"], outputs: ["close"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2$1.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i1.TuiSelectDirective, selector: "tui-select" }, { type: i2$1.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { type: i2$1.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: ["tuiDropdownAlign", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownOffset"] }, { type: i2$1.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { type: i2$1.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { type: i5$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2$1.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2$1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i2$1.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: TuiInputOpacityDirective, selector: "[tuiInputOpacity]", inputs: ["tuiInputOpacity"] }, { type: i1.TuiInputCountDirective, selector: "tui-input-count" }], pipes: { "tuiFilter": i6$1.TuiFilterPipe, "tuiStripOptionalPipe": TuiStripOptionalPipe, "tuiIsOptionalPipe": TuiIsOptionalPipe, "tuiShowContentTooltip": TuiShowContentTooltip, "tuiShowCleanerPipe": TuiShowCleanerPipe, "tuiInspectAny": TuiInspectPipe, "tuiGetOpacity": TuiGetOpacityPipe, "tuiGetColorPipe": TuiGetColorPipe, "tuiIsPrimitivePolymorpheusContentPipe": TuiIsPrimitivePolymorpheusContentPipe, "async": i5.AsyncPipe }, animations: [
844
+ trigger('emitEvent', [
845
+ transition(':increment', [style({ opacity: 1 }), animate('500ms ease-in')]),
839
846
  ]),
840
847
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush });
841
848
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocDocumentationComponent, decorators: [{
842
849
  type: Component,
843
850
  args: [{
844
- selector: `tui-doc-documentation`,
845
- templateUrl: `./documentation.template.html`,
846
- styleUrls: [`./documentation.style.less`],
851
+ selector: 'tui-doc-documentation',
852
+ templateUrl: './documentation.template.html',
853
+ styleUrls: ['./documentation.style.less'],
847
854
  changeDetection: ChangeDetectionStrategy.OnPush,
848
855
  animations: [
849
- trigger(`emitEvent`, [
850
- transition(`:increment`, [style({ opacity: 1 }), animate(`500ms ease-in`)]),
856
+ trigger('emitEvent', [
857
+ transition(':increment', [style({ opacity: 1 }), animate('500ms ease-in')]),
851
858
  ]),
852
859
  ],
853
860
  providers: [TuiGetColorPipe, TuiGetOpacityPipe, TuiDestroyService],
@@ -858,6 +865,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
858
865
  }] }, { type: undefined, decorators: [{
859
866
  type: Inject,
860
867
  args: [TUI_DOC_DOCUMENTATION_TEXTS]
868
+ }] }, { type: Set, decorators: [{
869
+ type: Inject,
870
+ args: [TUI_DOC_EXCLUDED_PROPERTIES]
861
871
  }] }, { type: i6$1.TuiDestroyService, decorators: [{
862
872
  type: Self
863
873
  }, {
@@ -922,7 +932,8 @@ TuiDocDocumentationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0
922
932
  TuiDropdownModule,
923
933
  TuiDataListModule,
924
934
  TuiDataListWrapperModule,
925
- TuiNotificationModule], exports: [TuiDocDocumentationComponent,
935
+ TuiNotificationModule,
936
+ TuiFilterPipeModule], exports: [TuiDocDocumentationComponent,
926
937
  TuiDocDocumentationPropertyConnectorDirective] });
927
938
  TuiDocDocumentationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocDocumentationModule, imports: [[
928
939
  CommonModule,
@@ -943,6 +954,7 @@ TuiDocDocumentationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0
943
954
  TuiDataListModule,
944
955
  TuiDataListWrapperModule,
945
956
  TuiNotificationModule,
957
+ TuiFilterPipeModule,
946
958
  ]] });
947
959
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocDocumentationModule, decorators: [{
948
960
  type: NgModule,
@@ -966,6 +978,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
966
978
  TuiDataListModule,
967
979
  TuiDataListWrapperModule,
968
980
  TuiNotificationModule,
981
+ TuiFilterPipeModule,
969
982
  ],
970
983
  declarations: [
971
984
  TuiInspectPipe,
@@ -1052,8 +1065,8 @@ class TuiDocExampleComponent {
1052
1065
  this.route = route;
1053
1066
  this.ngLocation = ngLocation;
1054
1067
  this.rawLoader$$ = new BehaviorSubject({});
1055
- this.heading = ``;
1056
- this.description = ``;
1068
+ this.heading = '';
1069
+ this.description = '';
1057
1070
  this.componentName = this.location.pathname.slice(1);
1058
1071
  this.defaultTabIndex = 0;
1059
1072
  this.defaultTab = this.texts[this.defaultTabIndex];
@@ -1069,7 +1082,7 @@ class TuiDocExampleComponent {
1069
1082
  this.rawLoader$$.next(content);
1070
1083
  }
1071
1084
  copyExampleLink() {
1072
- const hashPosition = this.location.href.indexOf(`#`);
1085
+ const hashPosition = this.location.href.indexOf('#');
1073
1086
  const currentUrl = hashPosition > -1
1074
1087
  ? this.location.href.slice(0, Math.max(0, hashPosition))
1075
1088
  : this.location.href;
@@ -1086,28 +1099,28 @@ class TuiDocExampleComponent {
1086
1099
  edit(files) {
1087
1100
  var _a;
1088
1101
  this.loading$.next(true);
1089
- (_a = this.codeEditor) === null || _a === void 0 ? void 0 : _a.edit(this.componentName, this.id || ``, files).finally(() => this.loading$.next(false));
1102
+ (_a = this.codeEditor) === null || _a === void 0 ? void 0 : _a.edit(this.componentName, this.id || '', files).finally(() => this.loading$.next(false));
1090
1103
  }
1091
1104
  setFragmentWithoutRedirect(id) {
1092
1105
  const url = this.router
1093
- .createUrlTree([], { relativeTo: this.route, fragment: id || `` })
1106
+ .createUrlTree([], { relativeTo: this.route, fragment: id || '' })
1094
1107
  .toString();
1095
1108
  this.ngLocation.go(url);
1096
1109
  }
1097
1110
  }
1098
- TuiDocExampleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocExampleComponent, deps: [{ token: `id`, attribute: true }, { token: Clipboard }, { token: TuiAlertService }, { token: LOCATION }, { token: TUI_COPY_TEXTS }, { token: TUI_DOC_EXAMPLE_TEXTS }, { token: TUI_DOC_CODE_EDITOR, optional: true }, { token: TUI_DOC_EXAMPLE_CONTENT_PROCESSOR }, { token: TUI_IS_CYPRESS }, { token: TUI_DOC_CODE_ACTIONS }, { token: Router }, { token: ActivatedRoute }, { token: Location$1 }], target: i0.ɵɵFactoryTarget.Component });
1111
+ TuiDocExampleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocExampleComponent, deps: [{ token: 'id', attribute: true }, { token: Clipboard }, { token: TuiAlertService }, { token: LOCATION }, { token: TUI_COPY_TEXTS }, { token: TUI_DOC_EXAMPLE_TEXTS }, { token: TUI_DOC_CODE_EDITOR, optional: true }, { token: TUI_DOC_EXAMPLE_CONTENT_PROCESSOR }, { token: TUI_IS_CYPRESS }, { token: TUI_DOC_CODE_ACTIONS }, { token: Router }, { token: ActivatedRoute }, { token: Location$1 }], target: i0.ɵɵFactoryTarget.Component });
1099
1112
  TuiDocExampleComponent.ɵcmp = i0.ɵɵ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, 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=\"files | tuiMapper : visible\"\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$1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1.TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["moreContent", "dropdownContent", "underline", "activeItemIndex", "itemsLimit"], outputs: ["activeItemIndexChange"] }, { type: i1.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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6$1.TuiItemDirective, selector: "[tuiItem]" }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }], pipes: { "tuiDocExampleCapitalize": TuiDocExampleCapitalizePipe, "async": i5.AsyncPipe, "tuiDocExampleGetTabs": TuiDocExampleGetTabsPipe, "tuiMapper": i6$1.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1100
1113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocExampleComponent, decorators: [{
1101
1114
  type: Component,
1102
1115
  args: [{
1103
- selector: `tui-doc-example`,
1104
- templateUrl: `./example.template.html`,
1105
- styleUrls: [`./example.style.less`],
1116
+ selector: 'tui-doc-example',
1117
+ templateUrl: './example.template.html',
1118
+ styleUrls: ['./example.style.less'],
1106
1119
  changeDetection: ChangeDetectionStrategy.OnPush,
1107
1120
  }]
1108
1121
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1109
1122
  type: Attribute,
1110
- args: [`id`]
1123
+ args: ['id']
1111
1124
  }] }, { type: i8.Clipboard, decorators: [{
1112
1125
  type: Inject,
1113
1126
  args: [Clipboard]
@@ -1211,22 +1224,22 @@ class TuiLanguageSwitcherComponent {
1211
1224
  constructor(switcher, iconsPath) {
1212
1225
  this.switcher = switcher;
1213
1226
  this.iconsPath = iconsPath;
1214
- this.path = this.iconsPath(`tuiIcon`).replace(`tuiIcon.svg#tuiIcon`, ``);
1227
+ this.path = this.iconsPath('tuiIcon').replace('tuiIcon.svg#tuiIcon', '');
1215
1228
  this.language = new FormControl(tuiCapitalizeFirstLetter(this.switcher.language));
1216
1229
  this.flags = new Map([
1217
- [`chinese`, TuiCountryIsoCode.CN],
1218
- [`dutch`, TuiCountryIsoCode.NL],
1219
- [`english`, TuiCountryIsoCode.GB],
1220
- [`french`, TuiCountryIsoCode.FR],
1221
- [`german`, TuiCountryIsoCode.DE],
1222
- [`italian`, TuiCountryIsoCode.IT],
1223
- [`polish`, TuiCountryIsoCode.PL],
1224
- [`portuguese`, TuiCountryIsoCode.PT],
1225
- [`russian`, TuiCountryIsoCode.RU],
1226
- [`spanish`, TuiCountryIsoCode.ES],
1227
- [`turkish`, TuiCountryIsoCode.TR],
1228
- [`ukrainian`, TuiCountryIsoCode.UA],
1229
- [`vietnamese`, TuiCountryIsoCode.VN],
1230
+ ['chinese', TuiCountryIsoCode.CN],
1231
+ ['dutch', TuiCountryIsoCode.NL],
1232
+ ['english', TuiCountryIsoCode.GB],
1233
+ ['french', TuiCountryIsoCode.FR],
1234
+ ['german', TuiCountryIsoCode.DE],
1235
+ ['italian', TuiCountryIsoCode.IT],
1236
+ ['polish', TuiCountryIsoCode.PL],
1237
+ ['portuguese', TuiCountryIsoCode.PT],
1238
+ ['russian', TuiCountryIsoCode.RU],
1239
+ ['spanish', TuiCountryIsoCode.ES],
1240
+ ['turkish', TuiCountryIsoCode.TR],
1241
+ ['ukrainian', TuiCountryIsoCode.UA],
1242
+ ['vietnamese', TuiCountryIsoCode.VN],
1230
1243
  ]);
1231
1244
  this.names = Array.from(this.flags.keys());
1232
1245
  }
@@ -1239,9 +1252,9 @@ TuiLanguageSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
1239
1252
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiLanguageSwitcherComponent, decorators: [{
1240
1253
  type: Component,
1241
1254
  args: [{
1242
- selector: `tui-language-switcher`,
1243
- templateUrl: `./language-switcher.component.html`,
1244
- styleUrls: [`./language-switcher.component.less`],
1255
+ selector: 'tui-language-switcher',
1256
+ templateUrl: './language-switcher.component.html',
1257
+ styleUrls: ['./language-switcher.component.less'],
1245
1258
  changeDetection: ChangeDetectionStrategy.OnPush,
1246
1259
  }]
1247
1260
  }], ctorParameters: function () { return [{ type: i5$2.TuiLanguageSwitcher, decorators: [{
@@ -1380,7 +1393,7 @@ TuiScrollIntoViewLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
1380
1393
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiScrollIntoViewLinkDirective, decorators: [{
1381
1394
  type: Directive,
1382
1395
  args: [{
1383
- selector: `[tuiScrollIntoViewLink]`,
1396
+ selector: '[tuiScrollIntoViewLink]',
1384
1397
  providers: [TuiDestroyService],
1385
1398
  }]
1386
1399
  }], ctorParameters: function () { return [{ type: i6$1.TuiDestroyService, decorators: [{
@@ -1414,17 +1427,17 @@ class TuiDocNavigationComponent {
1414
1427
  this.menuOpen = false;
1415
1428
  this.openPagesArr = [];
1416
1429
  this.openPagesGroupsArr = [];
1417
- this.active = ``;
1418
- this.search = new FormControl(``);
1430
+ this.active = '';
1431
+ this.search = new FormControl('');
1419
1432
  this.filtered$ = tuiControlValue(this.search).pipe(filter(search => search.length > 2), map(search => this.filterItems(this.flattenSubPages(this.items), search)));
1420
- this.mode$ = this.mode.change$.pipe(startWith(null), map(() => this.mode.mode || `onLight`));
1433
+ this.mode$ = this.mode.change$.pipe(startWith(null), map(() => this.mode.mode || 'onLight'));
1421
1434
  // Angular can't navigate no anchor links
1422
1435
  // https://stackoverflow.com/questions/36101756/angular2-routing-with-hashtag-to-page-anchor
1423
1436
  title$.subscribe(title => {
1424
1437
  changeDetectorRef.markForCheck();
1425
1438
  titleService.setTitle(title);
1426
1439
  this.openActivePageGroup();
1427
- this.handleAnchorLink(this.activatedRoute.snapshot.fragment || ``);
1440
+ this.handleAnchorLink(this.activatedRoute.snapshot.fragment || '');
1428
1441
  });
1429
1442
  }
1430
1443
  get canOpen() {
@@ -1446,11 +1459,11 @@ class TuiDocNavigationComponent {
1446
1459
  onClick(input) {
1447
1460
  input.open = false;
1448
1461
  this.menuOpen = false;
1449
- this.search.setValue(``);
1462
+ this.search.setValue('');
1450
1463
  this.openActivePageGroup();
1451
1464
  }
1452
1465
  filterItems(items, search) {
1453
- return items.map(section => tuiUniqBy(section.filter(({ title, keywords = `` }) => {
1466
+ return items.map(section => tuiUniqBy(section.filter(({ title, keywords = '' }) => {
1454
1467
  title = title.toLowerCase();
1455
1468
  search = search.toLowerCase();
1456
1469
  keywords = keywords.toLowerCase();
@@ -1458,13 +1471,13 @@ class TuiDocNavigationComponent {
1458
1471
  keywords.includes(search) ||
1459
1472
  title.includes(tuiTransliterateKeyboardLayout(search)) ||
1460
1473
  keywords.includes(tuiTransliterateKeyboardLayout(search)) ||
1461
- search.replace(/-/gi, ``).includes(title));
1462
- }), `title`));
1474
+ search.replace(/-/gi, '').includes(title));
1475
+ }), 'title'));
1463
1476
  }
1464
1477
  flattenSubPages(items) {
1465
1478
  return items.reduce((array, item) => [
1466
1479
  ...array,
1467
- item.reduce((pages, page) => `subPages` in page
1480
+ item.reduce((pages, page) => 'subPages' in page
1468
1481
  ? [...pages, ...page.subPages]
1469
1482
  : [...pages, page], []),
1470
1483
  ], []);
@@ -1480,11 +1493,11 @@ class TuiDocNavigationComponent {
1480
1493
  openActivePageGroup() {
1481
1494
  this.items.forEach((pages, pagesIndex) => {
1482
1495
  pages.forEach((page, pageIndex) => {
1483
- if (`route` in page && this.isActiveRoute(page.route)) {
1496
+ if ('route' in page && this.isActiveRoute(page.route)) {
1484
1497
  this.openPagesArr[pagesIndex] = true;
1485
1498
  this.active = page.route;
1486
1499
  }
1487
- if (`subPages` in page) {
1500
+ if ('subPages' in page) {
1488
1501
  page.subPages.forEach(subPage => {
1489
1502
  if (this.isActiveRoute(subPage.route)) {
1490
1503
  this.openPagesArr[pagesIndex] = true;
@@ -1502,10 +1515,10 @@ class TuiDocNavigationComponent {
1502
1515
  if (!element) {
1503
1516
  return;
1504
1517
  }
1505
- element.classList.add(`tui-doc-animated-example`);
1518
+ element.classList.add('tui-doc-animated-example');
1506
1519
  element.scrollIntoView({
1507
- block: `start`,
1508
- inline: `nearest`,
1520
+ block: 'start',
1521
+ inline: 'nearest',
1509
1522
  behavior: this.scrollBehavior,
1510
1523
  });
1511
1524
  }
@@ -1521,9 +1534,9 @@ __decorate([
1521
1534
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocNavigationComponent, decorators: [{
1522
1535
  type: Component,
1523
1536
  args: [{
1524
- selector: `tui-doc-navigation`,
1525
- templateUrl: `navigation.template.html`,
1526
- styleUrls: [`navigation.style.less`],
1537
+ selector: 'tui-doc-navigation',
1538
+ templateUrl: 'navigation.template.html',
1539
+ styleUrls: ['navigation.style.less'],
1527
1540
  providers: NAVIGATION_PROVIDERS,
1528
1541
  changeDetection: ChangeDetectionStrategy.OnPush,
1529
1542
  }]
@@ -1575,7 +1588,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1575
1588
  args: [TUI_DOC_SCROLL_BEHAVIOR]
1576
1589
  }] }]; }, propDecorators: { menuOpen: [{
1577
1590
  type: HostBinding,
1578
- args: [`class._open`]
1591
+ args: ['class._open']
1579
1592
  }], filterItems: [], flattenSubPages: [] } });
1580
1593
 
1581
1594
  const TUI_DOC_LOGO = new InjectionToken(`[TUI_DOC_LOGO]: Main logo`, {
@@ -1589,7 +1602,7 @@ class TuiDocHeaderComponent {
1589
1602
  this.router = router;
1590
1603
  this.swipes$ = swipes$;
1591
1604
  this.stream$ = new Subject();
1592
- this.open$ = merge(this.router.events.pipe(mapTo(false)), this.stream$, this.swipes$.pipe(filter(swipe => swipe.direction === `left` || swipe.direction === `right`), map(swipe => swipe.direction === `right`))).pipe(startWith(false), distinctUntilChanged());
1605
+ this.open$ = merge(this.router.events.pipe(mapTo(false)), this.stream$, this.swipes$.pipe(filter(swipe => swipe.direction === 'left' || swipe.direction === 'right'), map(swipe => swipe.direction === 'right'))).pipe(startWith(false), distinctUntilChanged());
1593
1606
  }
1594
1607
  onClick() {
1595
1608
  this.stream$.next(true);
@@ -1605,9 +1618,9 @@ TuiDocHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1605
1618
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocHeaderComponent, decorators: [{
1606
1619
  type: Component,
1607
1620
  args: [{
1608
- selector: `header[tuiDocHeader]`,
1609
- templateUrl: `./header.template.html`,
1610
- styleUrls: [`./header.style.less`],
1621
+ selector: 'header[tuiDocHeader]',
1622
+ templateUrl: './header.template.html',
1623
+ styleUrls: ['./header.style.less'],
1611
1624
  changeDetection: ChangeDetectionStrategy.OnPush,
1612
1625
  }]
1613
1626
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -1628,18 +1641,18 @@ class TuiDocMainComponent {
1628
1641
  constructor(storage, windowRef) {
1629
1642
  this.storage = storage;
1630
1643
  this.windowRef = windowRef;
1631
- this.night = this.storage.getItem(`night`) === `true` ||
1632
- (this.storage.getItem(`night`) === null &&
1633
- this.windowRef.matchMedia(`(prefers-color-scheme: dark)`).matches);
1644
+ this.night = this.storage.getItem('night') === 'true' ||
1645
+ (this.storage.getItem('night') === null &&
1646
+ this.windowRef.matchMedia('(prefers-color-scheme: dark)').matches);
1634
1647
  this.change$ = new Subject();
1635
1648
  }
1636
1649
  get mode() {
1637
- return this.night ? `onDark` : null;
1650
+ return this.night ? 'onDark' : null;
1638
1651
  }
1639
1652
  onMode(night) {
1640
1653
  this.night = night;
1641
1654
  this.change$.next();
1642
- this.storage.setItem(`night`, String(night));
1655
+ this.storage.setItem('night', String(night));
1643
1656
  }
1644
1657
  }
1645
1658
  TuiDocMainComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocMainComponent, deps: [{ token: LOCAL_STORAGE }, { token: WINDOW }], target: i0.ɵɵFactoryTarget.Component });
@@ -1653,9 +1666,9 @@ TuiDocMainComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
1653
1666
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocMainComponent, decorators: [{
1654
1667
  type: Component,
1655
1668
  args: [{
1656
- selector: `tui-doc-main`,
1657
- templateUrl: `./main.template.html`,
1658
- styleUrls: [`./main.style.less`],
1669
+ selector: 'tui-doc-main',
1670
+ templateUrl: './main.template.html',
1671
+ styleUrls: ['./main.style.less'],
1659
1672
  encapsulation: ViewEncapsulation.None,
1660
1673
  providers: [
1661
1674
  {
@@ -1673,7 +1686,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1673
1686
  args: [WINDOW]
1674
1687
  }] }]; }, propDecorators: { mode: [{
1675
1688
  type: HostBinding,
1676
- args: [`attr.data-mode`]
1689
+ args: ['attr.data-mode']
1677
1690
  }] } });
1678
1691
 
1679
1692
  class TuiScrollIntoViewLinkModule {
@@ -1880,7 +1893,7 @@ __decorate([
1880
1893
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocPageTabConnectorDirective, decorators: [{
1881
1894
  type: Directive,
1882
1895
  args: [{
1883
- selector: `[pageTab]`,
1896
+ selector: '[pageTab]',
1884
1897
  }]
1885
1898
  }], ctorParameters: function () { return [{ type: i0.TemplateRef, decorators: [{
1886
1899
  type: Inject,
@@ -1897,10 +1910,10 @@ class TuiDocSourceCodeComponent {
1897
1910
  constructor(sourceCode, text) {
1898
1911
  this.sourceCode = sourceCode;
1899
1912
  this.text = text;
1900
- this.header = ``;
1901
- this.package = ``;
1902
- this.type = ``;
1903
- this.path = ``;
1913
+ this.header = '';
1914
+ this.package = '';
1915
+ this.type = '';
1916
+ this.path = '';
1904
1917
  }
1905
1918
  get pathOptions() {
1906
1919
  return this.getPathOptions(this.header, this.package, this.type, this.path);
@@ -1922,8 +1935,8 @@ __decorate([
1922
1935
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocSourceCodeComponent, decorators: [{
1923
1936
  type: Component,
1924
1937
  args: [{
1925
- selector: `tui-doc-source-code`,
1926
- templateUrl: `./source-code.template.html`,
1938
+ selector: 'tui-doc-source-code',
1939
+ templateUrl: './source-code.template.html',
1927
1940
  changeDetection: ChangeDetectionStrategy.OnPush,
1928
1941
  }]
1929
1942
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -1951,14 +1964,14 @@ class TuiDocSeeAlsoComponent {
1951
1964
  getRouterLink(pageTitle) {
1952
1965
  for (let i = 0; i < this.pages.length; i++) {
1953
1966
  const page = this.pages
1954
- .map(page => (`subPages` in page ? page.subPages : [page]))
1967
+ .map(page => ('subPages' in page ? page.subPages : [page]))
1955
1968
  .reduce((pages, subPages) => [...pages, ...subPages], [])
1956
1969
  .find((page) => page.title === pageTitle);
1957
1970
  if (page === null || page === void 0 ? void 0 : page.route) {
1958
1971
  return page.route;
1959
1972
  }
1960
1973
  }
1961
- return ``;
1974
+ return '';
1962
1975
  }
1963
1976
  }
1964
1977
  TuiDocSeeAlsoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocSeeAlsoComponent, deps: [{ token: TUI_DOC_SEE_ALSO_TEXT }, { token: TUI_DOC_PAGES }], target: i0.ɵɵFactoryTarget.Component });
@@ -1966,9 +1979,9 @@ TuiDocSeeAlsoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
1966
1979
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocSeeAlsoComponent, decorators: [{
1967
1980
  type: Component,
1968
1981
  args: [{
1969
- selector: `tui-doc-see-also`,
1970
- templateUrl: `./see-also.template.html`,
1971
- styleUrls: [`./see-also.style.less`],
1982
+ selector: 'tui-doc-see-also',
1983
+ templateUrl: './see-also.template.html',
1984
+ styleUrls: ['./see-also.style.less'],
1972
1985
  changeDetection: ChangeDetectionStrategy.OnPush,
1973
1986
  }]
1974
1987
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -1986,34 +1999,34 @@ class TuiDocPageComponent {
1986
1999
  this.deprecated = deprecated;
1987
2000
  this.defaultTabs = defaultTabs;
1988
2001
  this.seeAlso = seeAlso;
1989
- this.header = ``;
1990
- this.package = ``;
1991
- this.type = ``;
1992
- this.path = ``;
2002
+ this.header = '';
2003
+ this.package = '';
2004
+ this.type = '';
2005
+ this.path = '';
1993
2006
  this.tabConnectors = EMPTY_QUERY;
1994
2007
  this.activeItemIndex = NaN;
1995
2008
  }
1996
2009
  get showSeeAlso() {
1997
2010
  return !!this.seeAlso.length && this.activeItemIndex === 0;
1998
2011
  }
1999
- getRouterLink(tab = ``) {
2000
- return `./${tab.replace(/ /g, `_`)}`;
2012
+ getRouterLink(tab = '') {
2013
+ return `./${tab.replace(/ /g, '_')}`;
2001
2014
  }
2002
2015
  }
2003
- TuiDocPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocPageComponent, deps: [{ token: `deprecated`, attribute: true }, { token: TUI_DOC_DEFAULT_TABS }, { token: PAGE_SEE_ALSO }], target: i0.ɵɵFactoryTarget.Component });
2016
+ TuiDocPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocPageComponent, deps: [{ token: 'deprecated', attribute: true }, { token: TUI_DOC_DEFAULT_TABS }, { token: PAGE_SEE_ALSO }], target: i0.ɵɵFactoryTarget.Component });
2004
2017
  TuiDocPageComponent.ɵcmp = i0.ɵɵ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, 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.TuiTagComponent, selector: "tui-tag, a[tuiTag]", inputs: ["value", "editable", "separator", "maxLength", "size", "showLoader", "status", "hoverable", "removable", "disabled", "autoColor", "leftContent"], outputs: ["edited"] }, { type: i1.TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["moreContent", "dropdownContent", "underline", "activeItemIndex", "itemsLimit"], outputs: ["activeItemIndexChange"] }, { type: i1.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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6$1.TuiItemDirective, selector: "[tuiItem]" }, { type: i6.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i6.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], exportAs: ["routerLinkActive"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2005
2018
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocPageComponent, decorators: [{
2006
2019
  type: Component,
2007
2020
  args: [{
2008
- selector: `tui-doc-page`,
2009
- templateUrl: `./page.template.html`,
2010
- styleUrls: [`./page.style.less`],
2021
+ selector: 'tui-doc-page',
2022
+ templateUrl: './page.template.html',
2023
+ styleUrls: ['./page.style.less'],
2011
2024
  changeDetection: ChangeDetectionStrategy.OnPush,
2012
2025
  providers: PAGE_PROVIDERS,
2013
2026
  }]
2014
2027
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
2015
2028
  type: Attribute,
2016
- args: [`deprecated`]
2029
+ args: ['deprecated']
2017
2030
  }] }, { type: undefined, decorators: [{
2018
2031
  type: Inject,
2019
2032
  args: [TUI_DOC_DEFAULT_TABS]
@@ -2180,5 +2193,5 @@ function tuiGenerateRoutes(type) {
2180
2193
  * Generated bundle index. Do not edit.
2181
2194
  */
2182
2195
 
2183
- export { TUI_DOC_CODE_ACTIONS, TUI_DOC_CODE_EDITOR, TUI_DOC_DEFAULT_TABS, TUI_DOC_DEMO_TEXTS, TUI_DOC_DOCUMENTATION_TEXTS, TUI_DOC_EXAMPLE_CONTENT_PROCESSOR, TUI_DOC_EXAMPLE_TEXTS, TUI_DOC_LOGO, TUI_DOC_MENU_TEXT, TUI_DOC_PAGES, TUI_DOC_PAGE_LOADED, TUI_DOC_RUSSIAN, TUI_DOC_SCROLL_BEHAVIOR, TUI_DOC_SEARCH_TEXT, TUI_DOC_SEE_ALSO, TUI_DOC_SEE_ALSO_TEXT, TUI_DOC_SOURCE_CODE, TUI_DOC_SOURCE_CODE_TEXT, TUI_DOC_TITLE, TUI_EXAMPLE_PRIMARY_FILE_NAME, TuiAddonDocModule, TuiDocCodeComponent, TuiDocCodeModule, TuiDocCopyComponent, TuiDocCopyModule, TuiDocDemoComponent, TuiDocDemoModule, TuiDocDocumentationComponent, TuiDocDocumentationModule, TuiDocDocumentationPropertyConnectorDirective, TuiDocExampleCapitalizePipe, TuiDocExampleComponent, TuiDocExampleGetTabsPipe, TuiDocExampleModule, TuiDocMainComponent, TuiDocMainModule, TuiDocNavigationComponent, TuiDocNavigationModule, TuiDocPageComponent, TuiDocPageModule, TuiDocPageTabConnectorDirective, TuiInspectPipe, TuiLanguageSwitcherComponent, TuiLanguageSwitcherModule, TuiScrollIntoViewLinkDirective, TuiScrollIntoViewLinkModule, tuiCoerceValue, tuiGenerateRoutes, tuiRawLoad, tuiRawLoadRecord, tuiTryParseMarkdownCodeBlock };
2196
+ export { TUI_DOC_CODE_ACTIONS, TUI_DOC_CODE_EDITOR, TUI_DOC_DEFAULT_TABS, TUI_DOC_DEMO_TEXTS, TUI_DOC_DOCUMENTATION_TEXTS, TUI_DOC_EXAMPLE_CONTENT_PROCESSOR, TUI_DOC_EXAMPLE_TEXTS, TUI_DOC_EXCLUDED_PROPERTIES, TUI_DOC_LOGO, TUI_DOC_MENU_TEXT, TUI_DOC_PAGES, TUI_DOC_PAGE_LOADED, TUI_DOC_RUSSIAN, TUI_DOC_SCROLL_BEHAVIOR, TUI_DOC_SEARCH_TEXT, TUI_DOC_SEE_ALSO, TUI_DOC_SEE_ALSO_TEXT, TUI_DOC_SOURCE_CODE, TUI_DOC_SOURCE_CODE_TEXT, TUI_DOC_TITLE, TUI_EXAMPLE_PRIMARY_FILE_NAME, TuiAddonDocModule, TuiDocCodeComponent, TuiDocCodeModule, TuiDocCopyComponent, TuiDocCopyModule, TuiDocDemoComponent, TuiDocDemoModule, TuiDocDocumentationComponent, TuiDocDocumentationModule, TuiDocDocumentationPropertyConnectorDirective, TuiDocExampleCapitalizePipe, TuiDocExampleComponent, TuiDocExampleGetTabsPipe, TuiDocExampleModule, TuiDocMainComponent, TuiDocMainModule, TuiDocNavigationComponent, TuiDocNavigationModule, TuiDocPageComponent, TuiDocPageModule, TuiDocPageTabConnectorDirective, TuiInspectPipe, TuiLanguageSwitcherComponent, TuiLanguageSwitcherModule, TuiScrollIntoViewLinkDirective, TuiScrollIntoViewLinkModule, tuiCoerceValue, tuiDocExcludeProperties, tuiGenerateRoutes, tuiRawLoad, tuiRawLoadRecord, tuiTryParseMarkdownCodeBlock };
2184
2197
  //# sourceMappingURL=taiga-ui-addon-doc.js.map