@taiga-ui/addon-doc 3.16.0 → 3.17.0-dev.main-ab1c8d2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { Attribute, ChangeDetectionStrategy, Component, ContentChildren, Inject, Input, } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, ContentChildren, Inject, Input, } from '@angular/core';
2
2
  import { EMPTY_QUERY } from '@taiga-ui/cdk';
3
3
  import { TUI_DOC_DEFAULT_TABS } from '../../tokens/default-tabs';
4
4
  import { PAGE_PROVIDERS, PAGE_SEE_ALSO } from './page.providers';
@@ -11,14 +11,14 @@ import * as i4 from "@angular/common";
11
11
  import * as i5 from "@taiga-ui/cdk";
12
12
  import * as i6 from "@angular/router";
13
13
  export class TuiDocPageComponent {
14
- constructor(deprecated, defaultTabs, seeAlso) {
15
- this.deprecated = deprecated;
14
+ constructor(defaultTabs, seeAlso) {
16
15
  this.defaultTabs = defaultTabs;
17
16
  this.seeAlso = seeAlso;
18
17
  this.header = '';
19
18
  this.package = '';
20
19
  this.type = '';
21
20
  this.path = '';
21
+ this.deprecated = false;
22
22
  this.tabConnectors = EMPTY_QUERY;
23
23
  this.activeItemIndex = NaN;
24
24
  }
@@ -29,8 +29,8 @@ export class TuiDocPageComponent {
29
29
  return `./${tab.replace(/ /g, '_')}`;
30
30
  }
31
31
  }
32
- 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 });
33
- 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: i2.TuiDocSourceCodeComponent, selector: "tui-doc-source-code", inputs: ["header", "package", "type", "path"] }, { type: i3.TuiDocSeeAlsoComponent, selector: "tui-doc-see-also", inputs: ["seeAlso"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.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: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
32
+ TuiDocPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocPageComponent, deps: [{ token: TUI_DOC_DEFAULT_TABS }, { token: PAGE_SEE_ALSO }], target: i0.ɵɵFactoryTarget.Component });
33
+ 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", deprecated: "deprecated" }, 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 || deprecated === ''\"\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: i2.TuiDocSourceCodeComponent, selector: "tui-doc-source-code", inputs: ["header", "package", "type", "path"] }, { type: i3.TuiDocSeeAlsoComponent, selector: "tui-doc-see-also", inputs: ["seeAlso"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.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: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
34
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocPageComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{
@@ -41,9 +41,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
41
41
  providers: PAGE_PROVIDERS,
42
42
  }]
43
43
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
44
- type: Attribute,
45
- args: ['deprecated']
46
- }] }, { type: undefined, decorators: [{
47
44
  type: Inject,
48
45
  args: [TUI_DOC_DEFAULT_TABS]
49
46
  }] }, { type: undefined, decorators: [{
@@ -57,8 +54,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
57
54
  type: Input
58
55
  }], path: [{
59
56
  type: Input
57
+ }], deprecated: [{
58
+ type: Input
60
59
  }], tabConnectors: [{
61
60
  type: ContentChildren,
62
61
  args: [TuiDocPageTabConnectorDirective]
63
62
  }] } });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvcGFnZS9wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9wYWdlL3BhZ2UudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFDTixLQUFLLEdBRVIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsY0FBYyxFQUFFLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7OztBQVNyRSxNQUFNLE9BQU8sbUJBQW1CO0lBa0I1QixZQUNzQyxVQUF5QixFQUNwQixXQUE4QixFQUNyQyxPQUEwQjtRQUZ4QixlQUFVLEdBQVYsVUFBVSxDQUFlO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUNyQyxZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQW5COUQsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUdaLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFHYixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBR1YsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUdELGtCQUFhLEdBQStDLFdBQVcsQ0FBQztRQUVqRixvQkFBZSxHQUFHLEdBQUcsQ0FBQztJQU1uQixDQUFDO0lBRUosSUFBSSxXQUFXO1FBQ1gsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFjLEVBQUU7UUFDMUIsT0FBTyxLQUFLLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDekMsQ0FBQzs7aUhBOUJRLG1CQUFtQixrQkFtQmIsWUFBWSw4QkFDZixvQkFBb0IsYUFDcEIsYUFBYTtxR0FyQmhCLG1CQUFtQixxSEFGakIsY0FBYyx3REFlUiwrQkFBK0IsNkJDbkNwRCxtckVBb0VBOzRGRDlDYSxtQkFBbUI7a0JBUC9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFdBQVcsRUFBRSxzQkFBc0I7b0JBQ25DLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNoQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLGNBQWM7aUJBQzVCOzswQkFvQlEsU0FBUzsyQkFBQyxZQUFZOzswQkFDdEIsTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUMzQixNQUFNOzJCQUFDLGFBQWE7NENBbkJ6QixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSUcsYUFBYTtzQkFEckIsZUFBZTt1QkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFTVBUWV9RVUVSWX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbmltcG9ydCB7VFVJX0RPQ19ERUZBVUxUX1RBQlN9IGZyb20gJy4uLy4uL3Rva2Vucy9kZWZhdWx0LXRhYnMnO1xuaW1wb3J0IHtQQUdFX1BST1ZJREVSUywgUEFHRV9TRUVfQUxTT30gZnJvbSAnLi9wYWdlLnByb3ZpZGVycyc7XG5pbXBvcnQge1R1aURvY1BhZ2VUYWJDb25uZWN0b3JEaXJlY3RpdmV9IGZyb20gJy4vcGFnZS10YWIuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLXBhZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wYWdlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BhZ2Uuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogUEFHRV9QUk9WSURFUlMsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY1BhZ2VDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgaGVhZGVyID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHBhY2thZ2UgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgdHlwZSA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBwYXRoID0gJyc7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFR1aURvY1BhZ2VUYWJDb25uZWN0b3JEaXJlY3RpdmUpXG4gICAgcmVhZG9ubHkgdGFiQ29ubmVjdG9yczogUXVlcnlMaXN0PFR1aURvY1BhZ2VUYWJDb25uZWN0b3JEaXJlY3RpdmU+ID0gRU1QVFlfUVVFUlk7XG5cbiAgICBhY3RpdmVJdGVtSW5kZXggPSBOYU47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEF0dHJpYnV0ZSgnZGVwcmVjYXRlZCcpIHJlYWRvbmx5IGRlcHJlY2F0ZWQ6IHN0cmluZyB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19ERUZBVUxUX1RBQlMpIHJlYWRvbmx5IGRlZmF1bHRUYWJzOiByZWFkb25seSBzdHJpbmdbXSxcbiAgICAgICAgQEluamVjdChQQUdFX1NFRV9BTFNPKSByZWFkb25seSBzZWVBbHNvOiByZWFkb25seSBzdHJpbmdbXSxcbiAgICApIHt9XG5cbiAgICBnZXQgc2hvd1NlZUFsc28oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuc2VlQWxzby5sZW5ndGggJiYgdGhpcy5hY3RpdmVJdGVtSW5kZXggPT09IDA7XG4gICAgfVxuXG4gICAgZ2V0Um91dGVyTGluayh0YWI6IHN0cmluZyA9ICcnKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAuLyR7dGFiLnJlcGxhY2UoLyAvZywgJ18nKX1gO1xuICAgIH1cbn1cbiIsIjxoZWFkZXIgY2xhc3M9XCJ0LWhlYWRlclwiPlxuICAgIDxoMSBjbGFzcz1cInQtdGl0bGVcIj5cbiAgICAgICAge3sgaGVhZGVyIH19XG4gICAgICAgIDx0dWktdGFnXG4gICAgICAgICAgICAqbmdJZj1cImRlcHJlY2F0ZWQgIT09IG51bGxcIlxuICAgICAgICAgICAgdmFsdWU9XCJkZXByZWNhdGVkXCJcbiAgICAgICAgICAgIHN0YXR1cz1cImN1c3RvbVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtdGFnIHQtdGFnX2RlcHJlY2F0ZWRcIlxuICAgICAgICA+PC90dWktdGFnPlxuICAgICAgICA8dHVpLXRhZ1xuICAgICAgICAgICAgKm5nSWY9XCJwYWNrYWdlXCJcbiAgICAgICAgICAgIHN0YXR1cz1cImN1c3RvbVwiXG4gICAgICAgICAgICBjbGFzcz1cInQtdGFnIHQtdGFnX3BhY2thZ2VcIlxuICAgICAgICAgICAgW3ZhbHVlXT1cInBhY2thZ2VcIlxuICAgICAgICAgICAgW2F1dG9Db2xvcl09XCJ0cnVlXCJcbiAgICAgICAgPjwvdHVpLXRhZz5cbiAgICA8L2gxPlxuICAgIDx0dWktdGFicy13aXRoLW1vcmVcbiAgICAgICAgKm5nSWY9XCJ0YWJDb25uZWN0b3JzLmxlbmd0aFwiXG4gICAgICAgIGNsYXNzPVwidC10YWJzXCJcbiAgICAgICAgWyhhY3RpdmVJdGVtSW5kZXgpXT1cImFjdGl2ZUl0ZW1JbmRleFwiXG4gICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiQ29ubmVjdG9yczsgZmlyc3QgYXMgZmlyc3Q7IGluZGV4IGFzIGluZGV4XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlyc3Q7IGVsc2UgZHluYW1pY1RhYlwiPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICp0dWlJdGVtXG4gICAgICAgICAgICAgICAgICAgIHR1aVRhYlxuICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rPVwiLi9cIlxuICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7ZXhhY3Q6IHRydWV9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IHRhYi5wYWdlVGFiIHx8IGRlZmF1bHRUYWJzW2luZGV4XSB9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkeW5hbWljVGFiPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICp0dWlJdGVtXG4gICAgICAgICAgICAgICAgICAgIHR1aVRhYlxuICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cImdldFJvdXRlckxpbmsodGFiLnBhZ2VUYWIgfHwgZGVmYXVsdFRhYnNbaW5kZXhdKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyB0YWIucGFnZVRhYiB8fCBkZWZhdWx0VGFic1tpbmRleF0gfX1cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3R1aS10YWJzLXdpdGgtbW9yZT5cbiAgICA8dHVpLWRvYy1zb3VyY2UtY29kZVxuICAgICAgICBjbGFzcz1cInQtc291cmNlLWNvZGVcIlxuICAgICAgICBbaGVhZGVyXT1cImhlYWRlclwiXG4gICAgICAgIFtwYWNrYWdlXT1cInBhY2thZ2VcIlxuICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgW3BhdGhdPVwicGF0aFwiXG4gICAgPjwvdHVpLWRvYy1zb3VyY2UtY29kZT5cbjwvaGVhZGVyPlxuPGRpdiBjbGFzcz1cInQtY29udGVudFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8dHVpLWRvYy1zZWUtYWxzb1xuICAgICAgICAqbmdJZj1cInNob3dTZWVBbHNvXCJcbiAgICAgICAgY2xhc3M9XCJ0LXNlZS1hbHNvXCJcbiAgICAgICAgW3NlZUFsc29dPVwic2VlQWxzb1wiXG4gICAgPjwvdHVpLWRvYy1zZWUtYWxzbz5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiQ29ubmVjdG9yczsgaW5kZXggYXMgaW5kZXhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJpbmRleCA9PT0gYWN0aXZlSXRlbUluZGV4XCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRhYi50ZW1wbGF0ZVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2Mvc3JjL2NvbXBvbmVudHMvcGFnZS9wYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvY29tcG9uZW50cy9wYWdlL3BhZ2UudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsTUFBTSxFQUNOLEtBQUssR0FFUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBQyxjQUFjLEVBQUUsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7O0FBU3JFLE1BQU0sT0FBTyxtQkFBbUI7SUFxQjVCLFlBQzJDLFdBQThCLEVBQ3JDLE9BQTBCO1FBRG5CLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUNyQyxZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQXJCOUQsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUdaLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFHYixTQUFJLEdBQUcsRUFBRSxDQUFDO1FBR1YsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUdWLGVBQVUsR0FBaUIsS0FBSyxDQUFDO1FBR3hCLGtCQUFhLEdBQStDLFdBQVcsQ0FBQztRQUVqRixvQkFBZSxHQUFHLEdBQUcsQ0FBQztJQUtuQixDQUFDO0lBRUosSUFBSSxXQUFXO1FBQ1gsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGVBQWUsS0FBSyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFjLEVBQUU7UUFDMUIsT0FBTyxLQUFLLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDekMsQ0FBQzs7aUhBaENRLG1CQUFtQixrQkFzQmhCLG9CQUFvQixhQUNwQixhQUFhO3FHQXZCaEIsbUJBQW1CLCtJQUZqQixjQUFjLHdEQWtCUiwrQkFBK0IsNkJDckNwRCxpc0VBb0VBOzRGRC9DYSxtQkFBbUI7a0JBUC9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFdBQVcsRUFBRSxzQkFBc0I7b0JBQ25DLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO29CQUNoQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLGNBQWM7aUJBQzVCOzswQkF1QlEsTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUMzQixNQUFNOzJCQUFDLGFBQWE7NENBckJ6QixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlHLGFBQWE7c0JBRHJCLGVBQWU7dUJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBRdWVyeUxpc3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFTVBUWV9RVUVSWX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbmltcG9ydCB7VFVJX0RPQ19ERUZBVUxUX1RBQlN9IGZyb20gJy4uLy4uL3Rva2Vucy9kZWZhdWx0LXRhYnMnO1xuaW1wb3J0IHtQQUdFX1BST1ZJREVSUywgUEFHRV9TRUVfQUxTT30gZnJvbSAnLi9wYWdlLnByb3ZpZGVycyc7XG5pbXBvcnQge1R1aURvY1BhZ2VUYWJDb25uZWN0b3JEaXJlY3RpdmV9IGZyb20gJy4vcGFnZS10YWIuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLXBhZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wYWdlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BhZ2Uuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogUEFHRV9QUk9WSURFUlMsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY1BhZ2VDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgaGVhZGVyID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHBhY2thZ2UgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgdHlwZSA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBwYXRoID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIGRlcHJlY2F0ZWQ6IGJvb2xlYW4gfCAnJyA9IGZhbHNlO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUdWlEb2NQYWdlVGFiQ29ubmVjdG9yRGlyZWN0aXZlKVxuICAgIHJlYWRvbmx5IHRhYkNvbm5lY3RvcnM6IFF1ZXJ5TGlzdDxUdWlEb2NQYWdlVGFiQ29ubmVjdG9yRGlyZWN0aXZlPiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gTmFOO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19ERUZBVUxUX1RBQlMpIHJlYWRvbmx5IGRlZmF1bHRUYWJzOiByZWFkb25seSBzdHJpbmdbXSxcbiAgICAgICAgQEluamVjdChQQUdFX1NFRV9BTFNPKSByZWFkb25seSBzZWVBbHNvOiByZWFkb25seSBzdHJpbmdbXSxcbiAgICApIHt9XG5cbiAgICBnZXQgc2hvd1NlZUFsc28oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuc2VlQWxzby5sZW5ndGggJiYgdGhpcy5hY3RpdmVJdGVtSW5kZXggPT09IDA7XG4gICAgfVxuXG4gICAgZ2V0Um91dGVyTGluayh0YWI6IHN0cmluZyA9ICcnKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAuLyR7dGFiLnJlcGxhY2UoLyAvZywgJ18nKX1gO1xuICAgIH1cbn1cbiIsIjxoZWFkZXIgY2xhc3M9XCJ0LWhlYWRlclwiPlxuICAgIDxoMSBjbGFzcz1cInQtdGl0bGVcIj5cbiAgICAgICAge3sgaGVhZGVyIH19XG4gICAgICAgIDx0dWktdGFnXG4gICAgICAgICAgICAqbmdJZj1cIiEhZGVwcmVjYXRlZCB8fCBkZXByZWNhdGVkID09PSAnJ1wiXG4gICAgICAgICAgICB2YWx1ZT1cImRlcHJlY2F0ZWRcIlxuICAgICAgICAgICAgc3RhdHVzPVwiY3VzdG9tXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC10YWcgdC10YWdfZGVwcmVjYXRlZFwiXG4gICAgICAgID48L3R1aS10YWc+XG4gICAgICAgIDx0dWktdGFnXG4gICAgICAgICAgICAqbmdJZj1cInBhY2thZ2VcIlxuICAgICAgICAgICAgc3RhdHVzPVwiY3VzdG9tXCJcbiAgICAgICAgICAgIGNsYXNzPVwidC10YWcgdC10YWdfcGFja2FnZVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwicGFja2FnZVwiXG4gICAgICAgICAgICBbYXV0b0NvbG9yXT1cInRydWVcIlxuICAgICAgICA+PC90dWktdGFnPlxuICAgIDwvaDE+XG4gICAgPHR1aS10YWJzLXdpdGgtbW9yZVxuICAgICAgICAqbmdJZj1cInRhYkNvbm5lY3RvcnMubGVuZ3RoXCJcbiAgICAgICAgY2xhc3M9XCJ0LXRhYnNcIlxuICAgICAgICBbKGFjdGl2ZUl0ZW1JbmRleCldPVwiYWN0aXZlSXRlbUluZGV4XCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJDb25uZWN0b3JzOyBmaXJzdCBhcyBmaXJzdDsgaW5kZXggYXMgaW5kZXhcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaXJzdDsgZWxzZSBkeW5hbWljVGFiXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKnR1aUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgdHVpVGFiXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms9XCIuL1wiXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntleGFjdDogdHJ1ZX1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgdGFiLnBhZ2VUYWIgfHwgZGVmYXVsdFRhYnNbaW5kZXhdIH19XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2R5bmFtaWNUYWI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKnR1aUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgdHVpVGFiXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiZ2V0Um91dGVyTGluayh0YWIucGFnZVRhYiB8fCBkZWZhdWx0VGFic1tpbmRleF0pXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IHRhYi5wYWdlVGFiIHx8IGRlZmF1bHRUYWJzW2luZGV4XSB9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdHVpLXRhYnMtd2l0aC1tb3JlPlxuICAgIDx0dWktZG9jLXNvdXJjZS1jb2RlXG4gICAgICAgIGNsYXNzPVwidC1zb3VyY2UtY29kZVwiXG4gICAgICAgIFtoZWFkZXJdPVwiaGVhZGVyXCJcbiAgICAgICAgW3BhY2thZ2VdPVwicGFja2FnZVwiXG4gICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICBbcGF0aF09XCJwYXRoXCJcbiAgICA+PC90dWktZG9jLXNvdXJjZS1jb2RlPlxuPC9oZWFkZXI+XG48ZGl2IGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDx0dWktZG9jLXNlZS1hbHNvXG4gICAgICAgICpuZ0lmPVwic2hvd1NlZUFsc29cIlxuICAgICAgICBjbGFzcz1cInQtc2VlLWFsc29cIlxuICAgICAgICBbc2VlQWxzb109XCJzZWVBbHNvXCJcbiAgICA+PC90dWktZG9jLXNlZS1hbHNvPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJDb25uZWN0b3JzOyBpbmRleCBhcyBpbmRleFwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cImluZGV4ID09PSBhY3RpdmVJdGVtSW5kZXhcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFiLnRlbXBsYXRlXCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
@@ -1,4 +1,6 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  import { identity } from 'rxjs';
3
+ import { tuiTryParseMarkdownCodeBlock } from '../components/code/parse-code-block';
3
4
  export const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new InjectionToken(`[TUI_DOC_EXAMPLE_CONTENT_PROCESSOR]: Processes content in example`, { factory: () => identity });
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS1jb250ZW50LXByb2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvdG9rZW5zL2V4YW1wbGUtY29udGVudC1wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTlCLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUUxQyxJQUFJLGNBQWMsQ0FDbEIsbUVBQW1FLEVBQ25FLEVBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBQyxDQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtpZGVudGl0eX0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBUVUlfRE9DX0VYQU1QTEVfQ09OVEVOVF9QUk9DRVNTT1I6IEluamVjdGlvblRva2VuPFxuICAgIFR1aUhhbmRsZXI8UmVjb3JkPHN0cmluZywgc3RyaW5nPiwgUmVjb3JkPHN0cmluZywgc3RyaW5nPj5cbj4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oXG4gICAgYFtUVUlfRE9DX0VYQU1QTEVfQ09OVEVOVF9QUk9DRVNTT1JdOiBQcm9jZXNzZXMgY29udGVudCBpbiBleGFtcGxlYCxcbiAgICB7ZmFjdG9yeTogKCkgPT4gaWRlbnRpdHl9LFxuKTtcbiJdfQ==
5
+ export const TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR = new InjectionToken(`[TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR]: Processes markdown in code block`, { factory: () => tuiTryParseMarkdownCodeBlock });
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS1jb250ZW50LXByb2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy9zcmMvdG9rZW5zL2V4YW1wbGUtY29udGVudC1wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTlCLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBRWpGLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUUxQyxJQUFJLGNBQWMsQ0FDbEIsbUVBQW1FLEVBQ25FLEVBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBQyxDQUM1QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBRWhELElBQUksY0FBYyxDQUNsQiw2RUFBNkUsRUFDN0UsRUFBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsNEJBQTRCLEVBQUMsQ0FDaEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUdWlIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7aWRlbnRpdHl9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge3R1aVRyeVBhcnNlTWFya2Rvd25Db2RlQmxvY2t9IGZyb20gJy4uL2NvbXBvbmVudHMvY29kZS9wYXJzZS1jb2RlLWJsb2NrJztcblxuZXhwb3J0IGNvbnN0IFRVSV9ET0NfRVhBTVBMRV9DT05URU5UX1BST0NFU1NPUjogSW5qZWN0aW9uVG9rZW48XG4gICAgVHVpSGFuZGxlcjxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PlxuPiA9IG5ldyBJbmplY3Rpb25Ub2tlbihcbiAgICBgW1RVSV9ET0NfRVhBTVBMRV9DT05URU5UX1BST0NFU1NPUl06IFByb2Nlc3NlcyBjb250ZW50IGluIGV4YW1wbGVgLFxuICAgIHtmYWN0b3J5OiAoKSA9PiBpZGVudGl0eX0sXG4pO1xuXG5leHBvcnQgY29uc3QgVFVJX0RPQ19FWEFNUExFX01BUktET1dOX0NPREVfUFJPQ0VTU09SOiBJbmplY3Rpb25Ub2tlbjxcbiAgICBUdWlIYW5kbGVyPHN0cmluZywgc3RyaW5nW10+XG4+ID0gbmV3IEluamVjdGlvblRva2VuKFxuICAgIGBbVFVJX0RPQ19FWEFNUExFX01BUktET1dOX0NPREVfUFJPQ0VTU09SXTogUHJvY2Vzc2VzIG1hcmtkb3duIGluIGNvZGUgYmxvY2tgLFxuICAgIHtmYWN0b3J5OiAoKSA9PiB0dWlUcnlQYXJzZU1hcmtkb3duQ29kZUJsb2NrfSxcbik7XG4iXX0=
@@ -26,9 +26,7 @@ function isBooleanParamValue(value) {
26
26
  return value === `true` || value === `false`;
27
27
  }
28
28
  function isNumberParamValue(value) {
29
- // TODO: investigate to disallow potentially catastrophic exponential-time regular expressions.
30
- // eslint-disable-next-line unicorn/no-unsafe-regex
31
- return /^-?[\d.]+(?:e-?\d+)?$/.test(value);
29
+ return !!value.trim() && !Number.isNaN(Number(value)) && !value.startsWith(`+`);
32
30
  }
33
31
  function isPossibleArray(value) {
34
32
  return value.startsWith(`[`) && value.endsWith(`]`);
@@ -36,4 +34,4 @@ function isPossibleArray(value) {
36
34
  function isPossibleObject(value) {
37
35
  return value.startsWith(`{`) && value.endsWith(`}`);
38
36
  }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lcmNlLXZhbHVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL3NyYy91dGlscy9jb2VyY2UtdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLGNBQWMsQ0FDMUIsS0FBUztJQUVULE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUV0QyxJQUFJLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzdCLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFFRCxJQUFJLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQy9CLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLE1BQU0sQ0FBQztLQUN0QztJQUVELElBQUksa0JBQWtCLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDOUIsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDM0I7SUFFRCxNQUFNLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUVsRCxJQUFJO1FBQ0EsT0FBTyxlQUFlLENBQUMsWUFBWSxDQUFDLElBQUksZ0JBQWdCLENBQUMsWUFBWSxDQUFDO1lBQ2xFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztZQUMxQixDQUFDLENBQUMsWUFBWSxDQUFDO0tBQ3RCO0lBQUMsV0FBTTtRQUNKLE9BQU8sWUFBWSxDQUFDO0tBQ3ZCO0FBQ0wsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsS0FBYTtJQUNwQyxPQUFPLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLEtBQWE7SUFDdEMsT0FBTyxLQUFLLEtBQUssTUFBTSxJQUFJLEtBQUssS0FBSyxPQUFPLENBQUM7QUFDakQsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsS0FBYTtJQUNyQywrRkFBK0Y7SUFDL0YsbURBQW1EO0lBQ25ELE9BQU8sdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQy9DLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxLQUFhO0lBQ2xDLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEtBQWE7SUFDbkMsT0FBTyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDeEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiB0dWlDb2VyY2VWYWx1ZTxUPihcbiAgICB2YWx1ZT86IFQsXG4pOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgVCB8IGJvb2xlYW4gfCBudW1iZXIgfCBzdHJpbmcgfCBudWxsIHtcbiAgICBjb25zdCBwcmVwYXJlZCA9IFN0cmluZyh2YWx1ZSkudHJpbSgpO1xuXG4gICAgaWYgKGlzRW1wdHlQYXJhbVZhbHVlKHByZXBhcmVkKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoaXNCb29sZWFuUGFyYW1WYWx1ZShwcmVwYXJlZCkpIHtcbiAgICAgICAgcmV0dXJuIFN0cmluZyhwcmVwYXJlZCkgPT09IGB0cnVlYDtcbiAgICB9XG5cbiAgICBpZiAoaXNOdW1iZXJQYXJhbVZhbHVlKHByZXBhcmVkKSkge1xuICAgICAgICByZXR1cm4gTnVtYmVyKHByZXBhcmVkKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZWNvZGVkVmFsdWUgPSBkZWNvZGVVUklDb21wb25lbnQocHJlcGFyZWQpO1xuXG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGlzUG9zc2libGVBcnJheShkZWNvZGVkVmFsdWUpIHx8IGlzUG9zc2libGVPYmplY3QoZGVjb2RlZFZhbHVlKVxuICAgICAgICAgICAgPyBKU09OLnBhcnNlKGRlY29kZWRWYWx1ZSlcbiAgICAgICAgICAgIDogZGVjb2RlZFZhbHVlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgICByZXR1cm4gZGVjb2RlZFZhbHVlO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gaXNFbXB0eVBhcmFtVmFsdWUodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBbYHVuZGVmaW5lZGAsIGBudWxsYCwgYE5hTmAsIGBJbmZpbml0eWBdLmluY2x1ZGVzKHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gaXNCb29sZWFuUGFyYW1WYWx1ZSh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlID09PSBgdHJ1ZWAgfHwgdmFsdWUgPT09IGBmYWxzZWA7XG59XG5cbmZ1bmN0aW9uIGlzTnVtYmVyUGFyYW1WYWx1ZSh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgLy8gVE9ETzogaW52ZXN0aWdhdGUgdG8gZGlzYWxsb3cgcG90ZW50aWFsbHkgY2F0YXN0cm9waGljIGV4cG9uZW50aWFsLXRpbWUgcmVndWxhciBleHByZXNzaW9ucy5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uby11bnNhZmUtcmVnZXhcbiAgICByZXR1cm4gL14tP1tcXGQuXSsoPzplLT9cXGQrKT8kLy50ZXN0KHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gaXNQb3NzaWJsZUFycmF5KHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsdWUuc3RhcnRzV2l0aChgW2ApICYmIHZhbHVlLmVuZHNXaXRoKGBdYCk7XG59XG5cbmZ1bmN0aW9uIGlzUG9zc2libGVPYmplY3QodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWx1ZS5zdGFydHNXaXRoKGB7YCkgJiYgdmFsdWUuZW5kc1dpdGgoYH1gKTtcbn1cbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lcmNlLXZhbHVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL3NyYy91dGlscy9jb2VyY2UtdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLGNBQWMsQ0FDMUIsS0FBUztJQUVULE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUV0QyxJQUFJLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzdCLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFFRCxJQUFJLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQy9CLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLE1BQU0sQ0FBQztLQUN0QztJQUVELElBQUksa0JBQWtCLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDOUIsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDM0I7SUFFRCxNQUFNLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUVsRCxJQUFJO1FBQ0EsT0FBTyxlQUFlLENBQUMsWUFBWSxDQUFDLElBQUksZ0JBQWdCLENBQUMsWUFBWSxDQUFDO1lBQ2xFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztZQUMxQixDQUFDLENBQUMsWUFBWSxDQUFDO0tBQ3RCO0lBQUMsV0FBTTtRQUNKLE9BQU8sWUFBWSxDQUFDO0tBQ3ZCO0FBQ0wsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQUMsS0FBYTtJQUNwQyxPQUFPLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFFRCxTQUFTLG1CQUFtQixDQUFDLEtBQWE7SUFDdEMsT0FBTyxLQUFLLEtBQUssTUFBTSxJQUFJLEtBQUssS0FBSyxPQUFPLENBQUM7QUFDakQsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsS0FBYTtJQUNyQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNwRixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsS0FBYTtJQUNsQyxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxLQUFhO0lBQ25DLE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gdHVpQ29lcmNlVmFsdWU8VD4oXG4gICAgdmFsdWU/OiBULFxuKTogUmVjb3JkPHN0cmluZywgYW55PiB8IFQgfCBib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgcHJlcGFyZWQgPSBTdHJpbmcodmFsdWUpLnRyaW0oKTtcblxuICAgIGlmIChpc0VtcHR5UGFyYW1WYWx1ZShwcmVwYXJlZCkpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGlzQm9vbGVhblBhcmFtVmFsdWUocHJlcGFyZWQpKSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcocHJlcGFyZWQpID09PSBgdHJ1ZWA7XG4gICAgfVxuXG4gICAgaWYgKGlzTnVtYmVyUGFyYW1WYWx1ZShwcmVwYXJlZCkpIHtcbiAgICAgICAgcmV0dXJuIE51bWJlcihwcmVwYXJlZCk7XG4gICAgfVxuXG4gICAgY29uc3QgZGVjb2RlZFZhbHVlID0gZGVjb2RlVVJJQ29tcG9uZW50KHByZXBhcmVkKTtcblxuICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBpc1Bvc3NpYmxlQXJyYXkoZGVjb2RlZFZhbHVlKSB8fCBpc1Bvc3NpYmxlT2JqZWN0KGRlY29kZWRWYWx1ZSlcbiAgICAgICAgICAgID8gSlNPTi5wYXJzZShkZWNvZGVkVmFsdWUpXG4gICAgICAgICAgICA6IGRlY29kZWRWYWx1ZTtcbiAgICB9IGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIGRlY29kZWRWYWx1ZTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGlzRW1wdHlQYXJhbVZhbHVlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gW2B1bmRlZmluZWRgLCBgbnVsbGAsIGBOYU5gLCBgSW5maW5pdHlgXS5pbmNsdWRlcyh2YWx1ZSk7XG59XG5cbmZ1bmN0aW9uIGlzQm9vbGVhblBhcmFtVmFsdWUodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gYHRydWVgIHx8IHZhbHVlID09PSBgZmFsc2VgO1xufVxuXG5mdW5jdGlvbiBpc051bWJlclBhcmFtVmFsdWUodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXZhbHVlLnRyaW0oKSAmJiAhTnVtYmVyLmlzTmFOKE51bWJlcih2YWx1ZSkpICYmICF2YWx1ZS5zdGFydHNXaXRoKGArYCk7XG59XG5cbmZ1bmN0aW9uIGlzUG9zc2libGVBcnJheSh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlLnN0YXJ0c1dpdGgoYFtgKSAmJiB2YWx1ZS5lbmRzV2l0aChgXWApO1xufVxuXG5mdW5jdGlvbiBpc1Bvc3NpYmxlT2JqZWN0KHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsdWUuc3RhcnRzV2l0aChge2ApICYmIHZhbHVlLmVuZHNXaXRoKGB9YCk7XG59XG4iXX0=
@@ -1,10 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input, HostBinding, NgModule, ChangeDetectionStrategy, Inject, InjectionToken, ElementRef, forwardRef, TemplateRef, ViewChild, ContentChild, HostListener, EventEmitter, Directive, Output, Pipe, Renderer2, ChangeDetectorRef, Self, ContentChildren, Attribute, Optional, ViewEncapsulation } from '@angular/core';
2
+ import { InjectionToken, Component, ChangeDetectionStrategy, Inject, Input, HostBinding, NgModule, ElementRef, forwardRef, TemplateRef, ViewChild, ContentChild, HostListener, EventEmitter, Directive, Output, Pipe, Renderer2, ChangeDetectorRef, Self, ContentChildren, Optional, ViewEncapsulation } from '@angular/core';
3
3
  import * as i9 from 'rxjs';
4
- import { BehaviorSubject, Subject, timer, merge, identity, defer, of, ReplaySubject } from 'rxjs';
4
+ import { identity, BehaviorSubject, Subject, timer, merge, defer, of, ReplaySubject } from 'rxjs';
5
5
  import { switchMap, map, startWith, takeUntil, filter, mergeMap, debounceTime, take, distinctUntilChanged } from 'rxjs/operators';
6
- import { __awaiter, __decorate } from 'tslib';
7
6
  import MarkdownIt from 'markdown-it';
7
+ import { __awaiter, __decorate } from 'tslib';
8
8
  import * as i5 from '@angular/common';
9
9
  import { CommonModule, Location as Location$1, DOCUMENT } from '@angular/common';
10
10
  import * as i2 from 'ngx-highlightjs';
@@ -32,12 +32,6 @@ import { Title } from '@angular/platform-browser';
32
32
  import * as i4 from '@taiga-ui/addon-mobile';
33
33
  import { TuiSidebarDirective, TuiSidebarModule } from '@taiga-ui/addon-mobile';
34
34
 
35
- function tuiRawLoad(content) {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- return content instanceof Promise ? (yield content).default : content;
38
- });
39
- }
40
-
41
35
  function tuiTryParseMarkdownCodeBlock(text = ``) {
42
36
  const tokens = new MarkdownIt().parse(text, {});
43
37
  const result = tokens
@@ -46,11 +40,21 @@ function tuiTryParseMarkdownCodeBlock(text = ``) {
46
40
  return result.length ? result : [text];
47
41
  }
48
42
 
43
+ const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new InjectionToken(`[TUI_DOC_EXAMPLE_CONTENT_PROCESSOR]: Processes content in example`, { factory: () => identity });
44
+ const TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR = new InjectionToken(`[TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR]: Processes markdown in code block`, { factory: () => tuiTryParseMarkdownCodeBlock });
45
+
46
+ function tuiRawLoad(content) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ return content instanceof Promise ? (yield content).default : content;
49
+ });
50
+ }
51
+
49
52
  class TuiDocCodeComponent {
50
- constructor() {
53
+ constructor(markdownCodeProcessor) {
54
+ this.markdownCodeProcessor = markdownCodeProcessor;
51
55
  this.rawLoader$$ = new BehaviorSubject('');
52
56
  this.filename = '';
53
- this.processor$ = this.rawLoader$$.pipe(switchMap(tuiRawLoad), map(tuiTryParseMarkdownCodeBlock));
57
+ this.processor$ = this.rawLoader$$.pipe(switchMap(tuiRawLoad), map((value) => this.markdownCodeProcessor(value)));
54
58
  }
55
59
  set code(code) {
56
60
  this.rawLoader$$.next(code);
@@ -59,16 +63,20 @@ class TuiDocCodeComponent {
59
63
  return !!this.filename;
60
64
  }
61
65
  }
62
- TuiDocCodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocCodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
- TuiDocCodeComponent.ɵcmp = i0.ɵɵ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, template: "<!-- eslint-disable @html-eslint/element-newline -->\n<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);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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.Highlight, selector: "[highlight]", inputs: ["highlight", "languages", "lineNumbers"], outputs: ["highlighted"] }], pipes: { "async": i5.AsyncPipe } });
66
+ TuiDocCodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocCodeComponent, deps: [{ token: TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR }], target: i0.ɵɵFactoryTarget.Component });
67
+ TuiDocCodeComponent.ɵcmp = i0.ɵɵ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, template: "<!-- eslint-disable @html-eslint/element-newline -->\n<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);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.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.Highlight, selector: "[highlight]", inputs: ["highlight", "languages", "lineNumbers"], outputs: ["highlighted"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
64
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocCodeComponent, decorators: [{
65
69
  type: Component,
66
70
  args: [{
67
71
  selector: 'tui-doc-code',
68
72
  templateUrl: './code.template.html',
69
73
  styleUrls: ['./code.style.less'],
74
+ changeDetection: ChangeDetectionStrategy.OnPush,
70
75
  }]
71
- }], propDecorators: { filename: [{
76
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
77
+ type: Inject,
78
+ args: [TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR]
79
+ }] }]; }, propDecorators: { filename: [{
72
80
  type: Input
73
81
  }], code: [{
74
82
  type: Input
@@ -438,9 +446,7 @@ function isBooleanParamValue(value) {
438
446
  return value === `true` || value === `false`;
439
447
  }
440
448
  function isNumberParamValue(value) {
441
- // TODO: investigate to disallow potentially catastrophic exponential-time regular expressions.
442
- // eslint-disable-next-line unicorn/no-unsafe-regex
443
- return /^-?[\d.]+(?:e-?\d+)?$/.test(value);
449
+ return !!value.trim() && !Number.isNaN(Number(value)) && !value.startsWith(`+`);
444
450
  }
445
451
  function isPossibleArray(value) {
446
452
  return value.startsWith(`[`) && value.endsWith(`]`);
@@ -1014,8 +1020,6 @@ const TUI_DOC_CODE_ACTIONS = new InjectionToken(`[TUI_DOC_CODE_ACTIONS]: Code ac
1014
1020
 
1015
1021
  const TUI_DOC_CODE_EDITOR = new InjectionToken(`[TUI_DOC_CODE_EDITOR]: Contains service for opening online IDE e.g. Stackblitz`);
1016
1022
 
1017
- const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new InjectionToken(`[TUI_DOC_EXAMPLE_CONTENT_PROCESSOR]: Processes content in example`, { factory: () => identity });
1018
-
1019
1023
  function tuiRawLoadRecord(example) {
1020
1024
  return __awaiter(this, void 0, void 0, function* () {
1021
1025
  const processedContent = {};
@@ -1053,8 +1057,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1053
1057
  }] });
1054
1058
 
1055
1059
  class TuiDocExampleComponent {
1056
- constructor(id, clipboard, alertService, location, copyTexts$, texts, codeEditor, processContent, isCypress, codeActions, router, route, ngLocation) {
1057
- this.id = id;
1060
+ constructor(clipboard, alertService, location, copyTexts$, texts, codeEditor, processContent, isCypress, codeActions, router, route, ngLocation) {
1058
1061
  this.clipboard = clipboard;
1059
1062
  this.alertService = alertService;
1060
1063
  this.location = location;
@@ -1068,6 +1071,7 @@ class TuiDocExampleComponent {
1068
1071
  this.route = route;
1069
1072
  this.ngLocation = ngLocation;
1070
1073
  this.rawLoader$$ = new BehaviorSubject({});
1074
+ this.id = null;
1071
1075
  this.heading = '';
1072
1076
  this.description = '';
1073
1077
  this.componentName = this.location.pathname.slice(1);
@@ -1102,7 +1106,7 @@ class TuiDocExampleComponent {
1102
1106
  edit(files) {
1103
1107
  var _a;
1104
1108
  this.loading$.next(true);
1105
- (_a = this.codeEditor) === null || _a === void 0 ? void 0 : _a.edit(this.componentName, this.id || '', files).finally(() => this.loading$.next(false));
1109
+ (_a = this.codeEditor) === null || _a === void 0 ? void 0 : _a.edit(this.componentName, this.id || '', files).then(() => this.loading$.next(false)).catch(() => this.loading$.next(false));
1106
1110
  }
1107
1111
  setFragmentWithoutRedirect(id) {
1108
1112
  const url = this.router
@@ -1111,8 +1115,8 @@ class TuiDocExampleComponent {
1111
1115
  this.ngLocation.go(url);
1112
1116
  }
1113
1117
  }
1114
- 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 });
1115
- 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 type=\"button\"\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 });
1118
+ TuiDocExampleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocExampleComponent, deps: [{ 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 });
1119
+ TuiDocExampleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiDocExampleComponent, selector: "tui-doc-example", inputs: { id: "id", 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 type=\"button\"\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 });
1116
1120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocExampleComponent, decorators: [{
1117
1121
  type: Component,
1118
1122
  args: [{
@@ -1121,10 +1125,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1121
1125
  styleUrls: ['./example.style.less'],
1122
1126
  changeDetection: ChangeDetectionStrategy.OnPush,
1123
1127
  }]
1124
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1125
- type: Attribute,
1126
- args: ['id']
1127
- }] }, { type: i8.Clipboard, decorators: [{
1128
+ }], ctorParameters: function () { return [{ type: i8.Clipboard, decorators: [{
1128
1129
  type: Inject,
1129
1130
  args: [Clipboard]
1130
1131
  }] }, { type: i2$1.TuiAlertService, decorators: [{
@@ -1162,7 +1163,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1162
1163
  }] }, { type: i5.Location, decorators: [{
1163
1164
  type: Inject,
1164
1165
  args: [Location$1]
1165
- }] }]; }, propDecorators: { heading: [{
1166
+ }] }]; }, propDecorators: { id: [{
1167
+ type: Input
1168
+ }], heading: [{
1166
1169
  type: Input
1167
1170
  }], description: [{
1168
1171
  type: Input
@@ -1543,8 +1546,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1543
1546
  type: Component,
1544
1547
  args: [{
1545
1548
  selector: 'tui-doc-navigation',
1546
- templateUrl: 'navigation.template.html',
1547
- styleUrls: ['navigation.style.less'],
1549
+ templateUrl: './navigation.template.html',
1550
+ styleUrls: ['./navigation.style.less'],
1548
1551
  providers: NAVIGATION_PROVIDERS,
1549
1552
  changeDetection: ChangeDetectionStrategy.OnPush,
1550
1553
  }]
@@ -1670,7 +1673,7 @@ TuiDocMainComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
1670
1673
  useExisting: forwardRef(() => TuiDocMainComponent),
1671
1674
  },
1672
1675
  TuiSwipeService,
1673
- ], ngImport: i0, 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}@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: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{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)}.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$1.TuiThemeNightComponent, selector: "tui-theme-night" }, { type: i2$1.TuiRootComponent, selector: "tui-root" }, { type: TuiDocNavigationComponent, selector: "tui-doc-navigation" }, { type: TuiDocHeaderComponent, selector: "header[tuiDocHeader]" }, { type: i1.TuiToggleComponent, selector: "tui-toggle", inputs: ["singleColor", "showIcons", "showLoader", "size"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate"], exportAs: ["outlet"] }, { 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"] }], encapsulation: i0.ViewEncapsulation.None });
1676
+ ], ngImport: i0, 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}@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: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{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)}.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$1.TuiThemeNightComponent, selector: "tui-theme-night" }, { type: i2$1.TuiRootComponent, selector: "tui-root" }, { type: TuiDocNavigationComponent, selector: "tui-doc-navigation" }, { type: TuiDocHeaderComponent, selector: "header[tuiDocHeader]" }, { type: i1.TuiToggleComponent, selector: "tui-toggle", inputs: ["singleColor", "showIcons", "showLoader", "size"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate"], exportAs: ["outlet"] }, { 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"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
1674
1677
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocMainComponent, decorators: [{
1675
1678
  type: Component,
1676
1679
  args: [{
@@ -1678,6 +1681,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
1678
1681
  templateUrl: './main.template.html',
1679
1682
  styleUrls: ['./main.style.less'],
1680
1683
  encapsulation: ViewEncapsulation.None,
1684
+ // @note: This one was default on purpose so we can test demo in default mode.
1685
+ // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection
1686
+ changeDetection: ChangeDetectionStrategy.Default,
1681
1687
  providers: [
1682
1688
  {
1683
1689
  provide: TuiModeDirective,
@@ -2003,14 +2009,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
2003
2009
  }] } });
2004
2010
 
2005
2011
  class TuiDocPageComponent {
2006
- constructor(deprecated, defaultTabs, seeAlso) {
2007
- this.deprecated = deprecated;
2012
+ constructor(defaultTabs, seeAlso) {
2008
2013
  this.defaultTabs = defaultTabs;
2009
2014
  this.seeAlso = seeAlso;
2010
2015
  this.header = '';
2011
2016
  this.package = '';
2012
2017
  this.type = '';
2013
2018
  this.path = '';
2019
+ this.deprecated = false;
2014
2020
  this.tabConnectors = EMPTY_QUERY;
2015
2021
  this.activeItemIndex = NaN;
2016
2022
  }
@@ -2021,8 +2027,8 @@ class TuiDocPageComponent {
2021
2027
  return `./${tab.replace(/ /g, '_')}`;
2022
2028
  }
2023
2029
  }
2024
- 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 });
2025
- 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 });
2030
+ TuiDocPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocPageComponent, deps: [{ token: TUI_DOC_DEFAULT_TABS }, { token: PAGE_SEE_ALSO }], target: i0.ɵɵFactoryTarget.Component });
2031
+ 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", deprecated: "deprecated" }, 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 || deprecated === ''\"\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 });
2026
2032
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiDocPageComponent, decorators: [{
2027
2033
  type: Component,
2028
2034
  args: [{
@@ -2033,9 +2039,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
2033
2039
  providers: PAGE_PROVIDERS,
2034
2040
  }]
2035
2041
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
2036
- type: Attribute,
2037
- args: ['deprecated']
2038
- }] }, { type: undefined, decorators: [{
2039
2042
  type: Inject,
2040
2043
  args: [TUI_DOC_DEFAULT_TABS]
2041
2044
  }] }, { type: undefined, decorators: [{
@@ -2049,6 +2052,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
2049
2052
  type: Input
2050
2053
  }], path: [{
2051
2054
  type: Input
2055
+ }], deprecated: [{
2056
+ type: Input
2052
2057
  }], tabConnectors: [{
2053
2058
  type: ContentChildren,
2054
2059
  args: [TuiDocPageTabConnectorDirective]
@@ -2201,5 +2206,5 @@ function tuiGenerateRoutes(type) {
2201
2206
  * Generated bundle index. Do not edit.
2202
2207
  */
2203
2208
 
2204
- 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 };
2209
+ 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_MARKDOWN_CODE_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 };
2205
2210
  //# sourceMappingURL=taiga-ui-addon-doc.js.map