@taiga-ui/addon-doc 3.25.0-dev.main-165117e → 3.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,9 @@
1
1
  import { InjectionToken, ValueProvider } from '@angular/core';
2
2
  import { TuiBooleanHandler } from '@taiga-ui/cdk';
3
+ import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
3
4
  export interface TuiDocExampleOptions {
4
5
  codeEditorVisibilityHandler: TuiBooleanHandler<Record<string, string>>;
6
+ tabTitles: Map<unknown, PolymorpheusContent>;
5
7
  }
6
8
  export declare const TUI_DOC_EXAMPLE_DEFAULT_OPTIONS: TuiDocExampleOptions;
7
9
  /**
@@ -36,6 +36,7 @@ export declare class TuiDocExampleComponent {
36
36
  readonly loading$: Subject<boolean>;
37
37
  constructor(clipboard: Clipboard, alerts: TuiAlertService, location: Location, copyTexts$: Observable<[string, string]>, texts: [string, string, string], codeEditor: TuiCodeEditor | null, processContent: TuiHandler<Record<string, string>, Record<string, string>>, isCypress: boolean, codeActions: Array<PolymorpheusContent<TuiContextWithImplicit<string>>>, router: Router, route: ActivatedRoute, ngLocation: NgLocation, options: TuiDocExampleOptions);
38
38
  readonly visible: (files: Record<string, string>) => boolean;
39
+ getTabTitle(fileName: string): PolymorpheusContent;
39
40
  copyExampleLink(): void;
40
41
  edit(files: Record<string, string>): void;
41
42
  private setFragmentWithoutRedirect;
@@ -3,6 +3,7 @@ import { TUI_EXAMPLE_PRIMARY_FILE_NAME } from '@taiga-ui/addon-doc/interfaces';
3
3
  export const TUI_DOC_EXAMPLE_DEFAULT_OPTIONS = {
4
4
  codeEditorVisibilityHandler: files => Boolean(files[TUI_EXAMPLE_PRIMARY_FILE_NAME.TS] &&
5
5
  files[TUI_EXAMPLE_PRIMARY_FILE_NAME.HTML]),
6
+ tabTitles: new Map(),
6
7
  };
7
8
  /**
8
9
  * Default parameters for DocExample component
@@ -16,4 +17,4 @@ export function tuiDocExampleOptionsProvider(options) {
16
17
  useValue: Object.assign(Object.assign({}, TUI_DOC_EXAMPLE_DEFAULT_OPTIONS), options),
17
18
  };
18
19
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZXhhbXBsZS9leGFtcGxlLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFPN0UsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQXlCO0lBQ2pFLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQ2pDLE9BQU8sQ0FDSCxLQUFLLENBQUMsNkJBQTZCLENBQUMsRUFBRSxDQUFDO1FBQ25DLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsQ0FDaEQ7Q0FDUixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FDckQsMkJBQTJCLEVBQzNCO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLCtCQUErQjtDQUNqRCxDQUNKLENBQUM7QUFFRixNQUFNLFVBQVUsNEJBQTRCLENBQ3hDLE9BQXNDO0lBRXRDLE9BQU87UUFDSCxPQUFPLEVBQUUsdUJBQXVCO1FBQ2hDLFFBQVEsa0NBQU0sK0JBQStCLEdBQUssT0FBTyxDQUFDO0tBQzdELENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9FWEFNUExFX1BSSU1BUllfRklMRV9OQU1FfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUdWlCb29sZWFuSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpRG9jRXhhbXBsZU9wdGlvbnMge1xuICAgIGNvZGVFZGl0b3JWaXNpYmlsaXR5SGFuZGxlcjogVHVpQm9vbGVhbkhhbmRsZXI8UmVjb3JkPHN0cmluZywgc3RyaW5nPj47XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfRE9DX0VYQU1QTEVfREVGQVVMVF9PUFRJT05TOiBUdWlEb2NFeGFtcGxlT3B0aW9ucyA9IHtcbiAgICBjb2RlRWRpdG9yVmlzaWJpbGl0eUhhbmRsZXI6IGZpbGVzID0+XG4gICAgICAgIEJvb2xlYW4oXG4gICAgICAgICAgICBmaWxlc1tUVUlfRVhBTVBMRV9QUklNQVJZX0ZJTEVfTkFNRS5UU10gJiZcbiAgICAgICAgICAgICAgICBmaWxlc1tUVUlfRVhBTVBMRV9QUklNQVJZX0ZJTEVfTkFNRS5IVE1MXSxcbiAgICAgICAgKSxcbn07XG5cbi8qKlxuICogRGVmYXVsdCBwYXJhbWV0ZXJzIGZvciBEb2NFeGFtcGxlIGNvbXBvbmVudFxuICovXG5leHBvcnQgY29uc3QgVFVJX0RPQ19FWEFNUExFX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48VHVpRG9jRXhhbXBsZU9wdGlvbnM+KFxuICAgIGBbVFVJX0RPQ19FWEFNUExFX09QVElPTlNdYCxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9ET0NfRVhBTVBMRV9ERUZBVUxUX09QVElPTlMsXG4gICAgfSxcbik7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlEb2NFeGFtcGxlT3B0aW9uc1Byb3ZpZGVyKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpRG9jRXhhbXBsZU9wdGlvbnM+LFxuKTogVmFsdWVQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX0RPQ19FWEFNUExFX09QVElPTlMsXG4gICAgICAgIHVzZVZhbHVlOiB7Li4uVFVJX0RPQ19FWEFNUExFX0RFRkFVTFRfT1BUSU9OUywgLi4ub3B0aW9uc30sXG4gICAgfTtcbn1cbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZXhhbXBsZS9leGFtcGxlLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFDLDZCQUE2QixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFTN0UsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQXlCO0lBQ2pFLDJCQUEyQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQ2pDLE9BQU8sQ0FDSCxLQUFLLENBQUMsNkJBQTZCLENBQUMsRUFBRSxDQUFDO1FBQ25DLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsQ0FDaEQ7SUFDTCxTQUFTLEVBQUUsSUFBSSxHQUFHLEVBQUU7Q0FDdkIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxjQUFjLENBQ3JELDJCQUEyQixFQUMzQjtJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQywrQkFBK0I7Q0FDakQsQ0FDSixDQUFDO0FBRUYsTUFBTSxVQUFVLDRCQUE0QixDQUN4QyxPQUFzQztJQUV0QyxPQUFPO1FBQ0gsT0FBTyxFQUFFLHVCQUF1QjtRQUNoQyxRQUFRLGtDQUFNLCtCQUErQixHQUFLLE9BQU8sQ0FBQztLQUM3RCxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW4sIFZhbHVlUHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfRVhBTVBMRV9QUklNQVJZX0ZJTEVfTkFNRX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy9pbnRlcmZhY2VzJztcbmltcG9ydCB7VHVpQm9vbGVhbkhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGlua29mZi9uZy1wb2x5bW9ycGhldXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aURvY0V4YW1wbGVPcHRpb25zIHtcbiAgICBjb2RlRWRpdG9yVmlzaWJpbGl0eUhhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+O1xuICAgIHRhYlRpdGxlczogTWFwPHVua25vd24sIFBvbHltb3JwaGV1c0NvbnRlbnQ+O1xufVxuXG5leHBvcnQgY29uc3QgVFVJX0RPQ19FWEFNUExFX0RFRkFVTFRfT1BUSU9OUzogVHVpRG9jRXhhbXBsZU9wdGlvbnMgPSB7XG4gICAgY29kZUVkaXRvclZpc2liaWxpdHlIYW5kbGVyOiBmaWxlcyA9PlxuICAgICAgICBCb29sZWFuKFxuICAgICAgICAgICAgZmlsZXNbVFVJX0VYQU1QTEVfUFJJTUFSWV9GSUxFX05BTUUuVFNdICYmXG4gICAgICAgICAgICAgICAgZmlsZXNbVFVJX0VYQU1QTEVfUFJJTUFSWV9GSUxFX05BTUUuSFRNTF0sXG4gICAgICAgICksXG4gICAgdGFiVGl0bGVzOiBuZXcgTWFwKCksXG59O1xuXG4vKipcbiAqIERlZmF1bHQgcGFyYW1ldGVycyBmb3IgRG9jRXhhbXBsZSBjb21wb25lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9ET0NfRVhBTVBMRV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFR1aURvY0V4YW1wbGVPcHRpb25zPihcbiAgICBgW1RVSV9ET0NfRVhBTVBMRV9PUFRJT05TXWAsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBUVUlfRE9DX0VYQU1QTEVfREVGQVVMVF9PUFRJT05TLFxuICAgIH0sXG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpRG9jRXhhbXBsZU9wdGlvbnNQcm92aWRlcihcbiAgICBvcHRpb25zOiBQYXJ0aWFsPFR1aURvY0V4YW1wbGVPcHRpb25zPixcbik6IFZhbHVlUHJvdmlkZXIge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGU6IFRVSV9ET0NfRVhBTVBMRV9PUFRJT05TLFxuICAgICAgICB1c2VWYWx1ZTogey4uLlRVSV9ET0NfRVhBTVBMRV9ERUZBVUxUX09QVElPTlMsIC4uLm9wdGlvbnN9LFxuICAgIH07XG59XG4iXX0=
@@ -41,8 +41,6 @@ export class TuiDocExampleComponent {
41
41
  this.options = options;
42
42
  this.rawLoader$$ = new BehaviorSubject({});
43
43
  this.id = null;
44
- this.heading = '';
45
- this.description = '';
46
44
  this.componentName = this.location.pathname.slice(1);
47
45
  this.defaultTabIndex = 0;
48
46
  this.defaultTab = this.texts[this.defaultTabIndex];
@@ -55,6 +53,9 @@ export class TuiDocExampleComponent {
55
53
  set content(content) {
56
54
  this.rawLoader$$.next(content);
57
55
  }
56
+ getTabTitle(fileName) {
57
+ return this.options.tabTitles.get(fileName) || fileName;
58
+ }
58
59
  copyExampleLink() {
59
60
  const hashPosition = this.location.href.indexOf('#');
60
61
  const currentUrl = hashPosition > -1
@@ -83,7 +84,7 @@ export class TuiDocExampleComponent {
83
84
  }
84
85
  }
85
86
  TuiDocExampleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", 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: NgLocation }, { token: TUI_DOC_EXAMPLE_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
86
- TuiDocExampleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", 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 <tui-loader\n *ngIf=\"files | tuiMapper : visible\"\n size=\"xs\"\n [overlay]=\"true\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n <ng-container *ngIf=\"codeEditor?.content as content; else defaultEditContent\">\n <ng-container *polymorpheusOutlet=\"content as editContent\">\n {{ editContent }}\n </ng-container>\n </ng-container>\n\n <ng-template #defaultEditContent>\n <button\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n type=\"button\"\n >\n Edit on {{ codeEditor!.name }}\n </button>\n </ng-template>\n </tui-loader>\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 #0000001a}:host-context(tui-root._mobile) .t-example{margin-top:.75rem}.t-tabs-wrapper{display:flex;padding:0 2rem;box-shadow:inset 0 -1px var(--tui-base-03);justify-content:space-between;align-items:center}:host-context(tui-root._mobile) .t-tabs-wrapper{padding:0 1rem}.t-tabs{flex-grow:1}.t-demo{padding:2rem;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.t-demo::-webkit-scrollbar,.t-demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}.t-demo::-webkit-scrollbar{background-color:transparent}.t-demo::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.t-demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.t-demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host-context(tui-root._mobile) .t-demo{padding:1rem}.t-code-actions{position:absolute;top:4.375rem;right:1rem;display:flex;justify-content:flex-end;align-items:center}.t-code-actions>*{margin-left:.5rem}.t-link-icon{margin-left:.3rem;vertical-align:baseline}.t-content{will-change:opacity;height:0;visibility:hidden;opacity:0}.t-content_animated{transition:opacity .3s ease-in-out}.t-content_visible{height:auto;visibility:visible;opacity:1}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i2.TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["moreContent", "dropdownContent", "underline", "activeItemIndex", "itemsLimit"], outputs: ["activeItemIndexChange"] }, { type: i2.TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: i3.TuiDocCopyComponent, selector: "tui-doc-copy" }, { type: i4.TuiDocCodeComponent, selector: "tui-doc-code", inputs: ["filename", "code"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.TuiItemDirective, selector: "[tuiItem]" }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }], pipes: { "tuiDocExampleCapitalize": i9.TuiDocExampleCapitalizePipe, "async": i5.AsyncPipe, "tuiDocExampleGetTabs": i10.TuiDocExampleGetTabsPipe, "tuiMapper": i7.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
87
+ TuiDocExampleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", 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 <ng-container *polymorpheusOutlet=\"getTabTitle(tab) as text\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <tui-loader\n *ngIf=\"files | tuiMapper : visible\"\n size=\"xs\"\n [overlay]=\"true\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n <ng-container *ngIf=\"codeEditor?.content as content; else defaultEditContent\">\n <ng-container *polymorpheusOutlet=\"content as editContent\">\n {{ editContent }}\n </ng-container>\n </ng-container>\n\n <ng-template #defaultEditContent>\n <button\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n type=\"button\"\n >\n Edit on {{ codeEditor!.name }}\n </button>\n </ng-template>\n </tui-loader>\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 #0000001a}:host-context(tui-root._mobile) .t-example{margin-top:.75rem}.t-tabs-wrapper{display:flex;padding:0 2rem;box-shadow:inset 0 -1px var(--tui-base-03);justify-content:space-between;align-items:center}:host-context(tui-root._mobile) .t-tabs-wrapper{padding:0 1rem}.t-tabs{flex-grow:1}.t-demo{padding:2rem;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){.t-demo::-webkit-scrollbar,.t-demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:2.667rem solid transparent}.t-demo::-webkit-scrollbar{background-color:transparent}.t-demo::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.t-demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.t-demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host-context(tui-root._mobile) .t-demo{padding:1rem}.t-code-actions{position:absolute;top:4.375rem;right:1rem;display:flex;justify-content:flex-end;align-items:center}.t-code-actions>*{margin-left:.5rem}.t-link-icon{margin-left:.3rem;vertical-align:baseline}.t-content{will-change:opacity;height:0;visibility:hidden;opacity:0}.t-content_animated{transition:opacity .3s ease-in-out}.t-content_visible{height:auto;visibility:visible;opacity:1}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i2.TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["moreContent", "dropdownContent", "underline", "activeItemIndex", "itemsLimit"], outputs: ["activeItemIndexChange"] }, { type: i2.TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: i3.TuiDocCopyComponent, selector: "tui-doc-copy" }, { type: i4.TuiDocCodeComponent, selector: "tui-doc-code", inputs: ["filename", "code"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.TuiItemDirective, selector: "[tuiItem]" }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }], pipes: { "tuiDocExampleCapitalize": i9.TuiDocExampleCapitalizePipe, "async": i5.AsyncPipe, "tuiDocExampleGetTabs": i10.TuiDocExampleGetTabsPipe, "tuiMapper": i7.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
87
88
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocExampleComponent, decorators: [{
88
89
  type: Component,
89
90
  args: [{
@@ -144,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
144
145
  }], componentName: [{
145
146
  type: Input
146
147
  }] } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZXhhbXBsZS9leGFtcGxlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLElBQUksVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUMsY0FBYyxFQUFFLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QyxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixpQ0FBaUMsRUFDakMscUJBQXFCLEdBQ3hCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGNBQWMsRUFBcUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGVBQWUsRUFBa0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBQyxlQUFlLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFDLHVC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QUVuQixpQ0FBaUMsYUFLakMsY0FBYyxhQUNkLG9CQUFvQixhQUVwQixNQUFNLGFBQ04sY0FBYyxhQUNkLFVBQVUsYUFDVix1QkFBdUI7d0dBeEQxQixzQkFBc0IsaUxDNUJuQyxxb0hBc0hBOzRGRDFGYSxzQkFBc0I7a0JBTmxDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsV0FBVyxFQUFFLHlCQUF5QjtvQkFDdEMsU0FBUyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ25DLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDs7MEJBcUNRLE1BQU07MkJBQUMsU0FBUzs7MEJBQ2hCLE1BQU07MkJBQUMsZUFBZTs4QkFFc0IsUUFBUTswQkFBcEQsTUFBTTsyQkFBQyxRQUFROzswQkFDZixNQUFNOzJCQUFDLGNBQWM7OzBCQUNyQixNQUFNOzJCQUFDLHFCQUFxQjs7MEJBQzVCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsbUJBQW1COzswQkFFMUIsTUFBTTsyQkFBQyxpQ0FBaUM7OzBCQUt4QyxNQUFNOzJCQUFDLGNBQWM7OEJBRUEsS0FBSzswQkFEMUIsTUFBTTsyQkFBQyxvQkFBb0I7OzBCQUUzQixNQUFNOzJCQUFDLE1BQU07OzBCQUNiLE1BQU07MkJBQUMsY0FBYzs7MEJBQ3JCLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsdUJBQXVCOzRDQXBEbkMsRUFBRTtzQkFERCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBSUYsT0FBTztzQkFEVixLQUFLO2dCQU1OLGFBQWE7c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xpcGJvYXJkfSBmcm9tICdAYW5ndWxhci9jZGsvY2xpcGJvYXJkJztcbmltcG9ydCB7TG9jYXRpb24gYXMgTmdMb2NhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtMT0NBVElPTn0gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1R1aUNvZGVFZGl0b3IsIFR1aURvY0V4YW1wbGV9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICAgIFRVSV9ET0NfQ09ERV9BQ1RJT05TLFxuICAgIFRVSV9ET0NfQ09ERV9FRElUT1IsXG4gICAgVFVJX0RPQ19FWEFNUExFX0NPTlRFTlRfUFJPQ0VTU09SLFxuICAgIFRVSV9ET0NfRVhBTVBMRV9URVhUUyxcbn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy90b2tlbnMnO1xuaW1wb3J0IHt0dWlSYXdMb2FkUmVjb3JkfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3V0aWxzJztcbmltcG9ydCB7VFVJX0lTX0NZUFJFU1MsIFR1aUNvbnRleHRXaXRoSW1wbGljaXQsIFR1aUhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtUdWlBbGVydFNlcnZpY2UsIFR1aU5vdGlmaWNhdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUVUlfQ09QWV9URVhUU30gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgc3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7VFVJX0RPQ19FWEFNUExFX09QVElPTlMsIFR1aURvY0V4YW1wbGVPcHRpb25zfSBmcm9tICcuL2V4YW1wbGUtb3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWRvYy1leGFtcGxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZXhhbXBsZS50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9leGFtcGxlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jRXhhbXBsZUNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSByYXdMb2FkZXIkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VHVpRG9jRXhhbXBsZT4oe30pO1xuXG4gICAgQElucHV0KClcbiAgICBpZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIGhlYWRpbmc6IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgZGVzY3JpcHRpb246IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IGNvbnRlbnQoY29udGVudDogVHVpRG9jRXhhbXBsZSkge1xuICAgICAgICB0aGlzLnJhd0xvYWRlciQkLm5leHQoY29udGVudCk7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBjb21wb25lbnROYW1lOiBzdHJpbmcgPSB0aGlzLmxvY2F0aW9uLnBhdGhuYW1lLnNsaWNlKDEpO1xuXG4gICAgcmVhZG9ubHkgZGVmYXVsdFRhYkluZGV4ID0gMDtcblxuICAgIHJlYWRvbmx5IGRlZmF1bHRUYWIgPSB0aGlzLnRleHRzW3RoaXMuZGVmYXVsdFRhYkluZGV4XTtcblxuICAgIGFjdGl2ZUl0ZW1JbmRleCA9IHRoaXMuZGVmYXVsdFRhYkluZGV4O1xuXG4gICAgcmVhZG9ubHkgY29weSQgPSB0aGlzLmNvcHlUZXh0cyQucGlwZShtYXAoKFtjb3B5XSkgPT4gY29weSkpO1xuXG4gICAgcmVhZG9ubHkgcHJvY2Vzc29yJDogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiA9IHRoaXMucmF3TG9hZGVyJCQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKHR1aVJhd0xvYWRSZWNvcmQpLFxuICAgICAgICBtYXAodmFsdWUgPT4gdGhpcy5wcm9jZXNzQ29udGVudCh2YWx1ZSkpLFxuICAgICk7XG5cbiAgICByZWFkb25seSBsb2FkaW5nJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChDbGlwYm9hcmQpIHByaXZhdGUgcmVhZG9ubHkgY2xpcGJvYXJkOiBDbGlwYm9hcmQsXG4gICAgICAgIEBJbmplY3QoVHVpQWxlcnRTZXJ2aWNlKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0czogVHVpQWxlcnRTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KExPQ0FUSU9OKSBwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uOiBMb2NhdGlvbixcbiAgICAgICAgQEluamVjdChUVUlfQ09QWV9URVhUUykgcHJpdmF0ZSByZWFkb25seSBjb3B5VGV4dHMkOiBPYnNlcnZhYmxlPFtzdHJpbmcsIHN0cmluZ10+LFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfRVhBTVBMRV9URVhUUykgcmVhZG9ubHkgdGV4dHM6IFtzdHJpbmcsIHN0cmluZywgc3RyaW5nXSxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0NPREVfRURJVE9SKVxuICAgICAgICByZWFkb25seSBjb2RlRWRpdG9yOiBUdWlDb2RlRWRpdG9yIHwgbnVsbCxcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0VYQU1QTEVfQ09OVEVOVF9QUk9DRVNTT1IpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc0NvbnRlbnQ6IFR1aUhhbmRsZXI8XG4gICAgICAgICAgICBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICAgICAgICAgICAgUmVjb3JkPHN0cmluZywgc3RyaW5nPlxuICAgICAgICA+LFxuICAgICAgICBASW5qZWN0KFRVSV9JU19DWVBSRVNTKSByZWFkb25seSBpc0N5cHJlc3M6IGJvb2xlYW4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19DT0RFX0FDVElPTlMpXG4gICAgICAgIHJlYWRvbmx5IGNvZGVBY3Rpb25zOiBBcnJheTxQb2x5bW9ycGhldXNDb250ZW50PFR1aUNvbnRleHRXaXRoSW1wbGljaXQ8c3RyaW5nPj4+LFxuICAgICAgICBASW5qZWN0KFJvdXRlcikgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgQEluamVjdChBY3RpdmF0ZWRSb3V0ZSkgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIEBJbmplY3QoTmdMb2NhdGlvbikgcHJpdmF0ZSByZWFkb25seSBuZ0xvY2F0aW9uOiBOZ0xvY2F0aW9uLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfRVhBTVBMRV9PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IFR1aURvY0V4YW1wbGVPcHRpb25zLFxuICAgICkge31cblxuICAgIHJlYWRvbmx5IHZpc2libGUgPSAoZmlsZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiBib29sZWFuID0+XG4gICAgICAgIEJvb2xlYW4odGhpcy5jb2RlRWRpdG9yICYmIHRoaXMub3B0aW9ucy5jb2RlRWRpdG9yVmlzaWJpbGl0eUhhbmRsZXIoZmlsZXMpKTtcblxuICAgIGNvcHlFeGFtcGxlTGluaygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaGFzaFBvc2l0aW9uID0gdGhpcy5sb2NhdGlvbi5ocmVmLmluZGV4T2YoJyMnKTtcbiAgICAgICAgY29uc3QgY3VycmVudFVybCA9XG4gICAgICAgICAgICBoYXNoUG9zaXRpb24gPiAtMVxuICAgICAgICAgICAgICAgID8gdGhpcy5sb2NhdGlvbi5ocmVmLnNsaWNlKDAsIE1hdGgubWF4KDAsIGhhc2hQb3NpdGlvbikpXG4gICAgICAgICAgICAgICAgOiB0aGlzLmxvY2F0aW9uLmhyZWY7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke2N1cnJlbnRVcmx9IyR7dGhpcy5pZH1gO1xuXG4gICAgICAgIHRoaXMuc2V0RnJhZ21lbnRXaXRob3V0UmVkaXJlY3QodGhpcy5pZCk7XG4gICAgICAgIHRoaXMuY2xpcGJvYXJkLmNvcHkodXJsKTtcbiAgICAgICAgdGhpcy5hbGVydHNcbiAgICAgICAgICAgIC5vcGVuKHRoaXMudGV4dHNbMV0sIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50ZXh0c1syXSxcbiAgICAgICAgICAgICAgICBzdGF0dXM6IFR1aU5vdGlmaWNhdGlvbi5TdWNjZXNzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBlZGl0KGZpbGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9hZGluZyQubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5jb2RlRWRpdG9yXG4gICAgICAgICAgICA/LmVkaXQodGhpcy5jb21wb25lbnROYW1lLCB0aGlzLmlkIHx8ICcnLCBmaWxlcylcbiAgICAgICAgICAgIC8vIFRPRE86IHJlcGxhY2UgbGluZXMgYmVsb3cgd2l0aCBgZmluYWxseWAgd2hlbiB3ZSBidW1wIEZpcmVmb3ggdG8gNTgrXG4gICAgICAgICAgICAvLyBUT0RPOiBBZGQgYGVzMjAxOC5wcm9taXNlYCB0byBgdHNjb25maWcuanNvbmAgPT4gYGNvbXBpbGVyT3B0aW9ucy5saWJgLlxuICAgICAgICAgICAgLnRoZW4oKCkgPT4gdGhpcy5sb2FkaW5nJC5uZXh0KGZhbHNlKSlcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEZyYWdtZW50V2l0aG91dFJlZGlyZWN0KGlkOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMucm91dGVyXG4gICAgICAgICAgICAuY3JlYXRlVXJsVHJlZShbXSwge3JlbGF0aXZlVG86IHRoaXMucm91dGUsIGZyYWdtZW50OiBpZCB8fCAnJ30pXG4gICAgICAgICAgICAudG9TdHJpbmcoKTtcblxuICAgICAgICB0aGlzLm5nTG9jYXRpb24uZ28odXJsKTtcbiAgICB9XG59XG4iLCI8aDNcbiAgICAqbmdJZj1cImhlYWRpbmdcIlxuICAgIGNsYXNzPVwidC10aXRsZVwiXG4+XG4gICAgPHNwYW5cbiAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cImhlYWRpbmcgfCB0dWlEb2NFeGFtcGxlQ2FwaXRhbGl6ZSBhcyB0ZXh0XCJcbiAgICAgICAgW3RleHRDb250ZW50XT1cInRleHRcIlxuICAgID48L3NwYW4+XG4gICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cImlkXCJcbiAgICAgICAgdHVpSWNvbkJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgaWNvbj1cInR1aUljb25MaW5rTGFyZ2VcIlxuICAgICAgICBhcHBlYXJhbmNlPVwiaWNvblwiXG4gICAgICAgIGNsYXNzPVwidC1saW5rLWljb25cIlxuICAgICAgICBbdGl0bGVdPVwiY29weSQgfCBhc3luY1wiXG4gICAgICAgIChjbGljayk9XCJjb3B5RXhhbXBsZUxpbmsoKVwiXG4gICAgPjwvYnV0dG9uPlxuPC9oMz5cbjxoNFxuICAgICpuZ0lmPVwiZGVzY3JpcHRpb25cIlxuICAgIGNsYXNzPVwidC1kZXNjcmlwdGlvblwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiZGVzY3JpcHRpb24gfCB0dWlEb2NFeGFtcGxlQ2FwaXRhbGl6ZSBhcyB0ZXh0XCI+XG4gICAgICAgIHt7IHRleHQgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvaDQ+XG5cbjxkaXZcbiAgICAqbmdJZj1cInByb2Nlc3NvciQgfCBhc3luYyBhcyBmaWxlc1wiXG4gICAgY2xhc3M9XCJ0LWV4YW1wbGVcIlxuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWxlcyB8IHR1aURvY0V4YW1wbGVHZXRUYWJzIDogZGVmYXVsdFRhYiBhcyB0YWJzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0LXRhYnMtd3JhcHBlclwiPlxuICAgICAgICAgICAgPHR1aS10YWJzLXdpdGgtbW9yZVxuICAgICAgICAgICAgICAgIGNsYXNzPVwidC10YWJzXCJcbiAgICAgICAgICAgICAgICBbKGFjdGl2ZUl0ZW1JbmRleCldPVwiYWN0aXZlSXRlbUluZGV4XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAqdHVpSXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpVGFiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRhYiB9fVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdHVpLXRhYnMtd2l0aC1tb3JlPlxuXG4gICAgICAgICAgICA8dHVpLWxvYWRlclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiZmlsZXMgfCB0dWlNYXBwZXIgOiB2aXNpYmxlXCJcbiAgICAgICAgICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICAgICAgICAgIFtvdmVybGF5XT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtzaG93TG9hZGVyXT1cIiEhKGxvYWRpbmckIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZWRpdChmaWxlcylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb2RlRWRpdG9yPy5jb250ZW50IGFzIGNvbnRlbnQ7IGVsc2UgZGVmYXVsdEVkaXRDb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRlbnQgYXMgZWRpdENvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGVkaXRDb250ZW50IH19XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0RWRpdENvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImZsYXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEVkaXQgb24ge3sgY29kZUVkaXRvciEubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC90dWktbG9hZGVyPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnM7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgICAgIGNsYXNzPVwidC1jb250ZW50XCJcbiAgICAgICAgICAgIFtjbGFzcy50LWNvbnRlbnRfYW5pbWF0ZWRdPVwiIWlzQ3lwcmVzc1wiXG4gICAgICAgICAgICBbY2xhc3MudC1jb250ZW50X3Zpc2libGVdPVwiYWN0aXZlSXRlbUluZGV4ID09PSBpbmRleFwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImluZGV4ID09PSBkZWZhdWx0VGFiSW5kZXg7IGVsc2UgYW5vdGhlclRhYlwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicHJldmlld1wiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Fub3RoZXJUYWI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjb2RlU2VjdGlvblwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7JGltcGxpY2l0OiBmaWxlc1t0YWJzW2FjdGl2ZUl0ZW1JbmRleF1dIHx8ICcnfVwiXG4gICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNwcmV2aWV3PlxuICAgIDxkaXZcbiAgICAgICAgYXV0b21hdGlvbi1pZD1cInR1aS1kb2MtZXhhbXBsZVwiXG4gICAgICAgIGNsYXNzPVwidC1kZW1vXCJcbiAgICA+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZVxuICAgICNjb2RlU2VjdGlvblxuICAgIGxldC1jb2RlXG4+XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJ0LWNvZGUtYWN0aW9uc1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgY29kZUFjdGlvbnNcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImFjdGlvbiBhcyB0ZXh0OyBjb250ZXh0OiB7JGltcGxpY2l0OiBjb2RlfVwiPlxuICAgICAgICAgICAgICAgIHt7IHRleHQgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPHR1aS1kb2MtY29weSBbY2RrQ29weVRvQ2xpcGJvYXJkXT1cImNvZGVcIj48L3R1aS1kb2MtY29weT5cbiAgICA8L3NlY3Rpb24+XG4gICAgPHR1aS1kb2MtY29kZSBbY29kZV09XCJjb2RlXCI+PC90dWktZG9jLWNvZGU+XG48L25nLXRlbXBsYXRlPlxuIl19
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9leGFtcGxlL2V4YW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvZXhhbXBsZS9leGFtcGxlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxRQUFRLElBQUksVUFBVSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUMsY0FBYyxFQUFFLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QyxPQUFPLEVBQ0gsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQixpQ0FBaUMsRUFDakMscUJBQXFCLEdBQ3hCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGNBQWMsRUFBcUMsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFDLGVBQWUsRUFBa0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTdDLE9BQU8sRUFBQyxlQUFlLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFDLHVC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LGVBQWUsYUFFZixRQUFRLGFBQ1IsY0FBYyxhQUNkLHFCQUFxQixhQUVyQixtQkFBbUIsNkJBRW5CLGlDQUFpQyxhQUtqQyxjQUFjLGFBQ2Qsb0JBQW9CLGFBRXBCLE1BQU0sYUFDTixjQUFjLGFBQ2QsVUFBVSxhQUNWLHVCQUF1Qjt3R0F4RDFCLHNCQUFzQixpTEM1Qm5DLDR3SEF3SEE7NEZENUZhLHNCQUFzQjtrQkFObEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixXQUFXLEVBQUUseUJBQXlCO29CQUN0QyxTQUFTLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDbkMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEOzswQkFxQ1EsTUFBTTsyQkFBQyxTQUFTOzswQkFDaEIsTUFBTTsyQkFBQyxlQUFlOzhCQUVzQixRQUFROzBCQUFwRCxNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLE1BQU07MkJBQUMsY0FBYzs7MEJBQ3JCLE1BQU07MkJBQUMscUJBQXFCOzswQkFDNUIsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUUxQixNQUFNOzJCQUFDLGlDQUFpQzs7MEJBS3hDLE1BQU07MkJBQUMsY0FBYzs4QkFFQSxLQUFLOzBCQUQxQixNQUFNOzJCQUFDLG9CQUFvQjs7MEJBRTNCLE1BQU07MkJBQUMsTUFBTTs7MEJBQ2IsTUFBTTsyQkFBQyxjQUFjOzswQkFDckIsTUFBTTsyQkFBQyxVQUFVOzswQkFDakIsTUFBTTsyQkFBQyx1QkFBdUI7NENBcERuQyxFQUFFO3NCQURELEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLFdBQVc7c0JBRFYsS0FBSztnQkFJRixPQUFPO3NCQURWLEtBQUs7Z0JBTU4sYUFBYTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGlwYm9hcmR9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuaW1wb3J0IHtMb2NhdGlvbiBhcyBOZ0xvY2F0aW9ufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge0xPQ0FUSU9OfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7VHVpQ29kZUVkaXRvciwgVHVpRG9jRXhhbXBsZX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gICAgVFVJX0RPQ19DT0RFX0FDVElPTlMsXG4gICAgVFVJX0RPQ19DT0RFX0VESVRPUixcbiAgICBUVUlfRE9DX0VYQU1QTEVfQ09OVEVOVF9QUk9DRVNTT1IsXG4gICAgVFVJX0RPQ19FWEFNUExFX1RFWFRTLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQge3R1aVJhd0xvYWRSZWNvcmR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdXRpbHMnO1xuaW1wb3J0IHtUVUlfSVNfQ1lQUkVTUywgVHVpQ29udGV4dFdpdGhJbXBsaWNpdCwgVHVpSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1R1aUFsZXJ0U2VydmljZSwgVHVpTm90aWZpY2F0aW9ufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1RVSV9DT1BZX1RFWFRTfSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtUVUlfRE9DX0VYQU1QTEVfT1BUSU9OUywgVHVpRG9jRXhhbXBsZU9wdGlvbnN9IGZyb20gJy4vZXhhbXBsZS1vcHRpb25zJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLWV4YW1wbGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9leGFtcGxlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2V4YW1wbGUuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NFeGFtcGxlQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJhd0xvYWRlciQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUdWlEb2NFeGFtcGxlPih7fSk7XG5cbiAgICBASW5wdXQoKVxuICAgIGlkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIEBJbnB1dCgpXG4gICAgaGVhZGluZzogUG9seW1vcnBoZXVzQ29udGVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgZGVzY3JpcHRpb246IFBvbHltb3JwaGV1c0NvbnRlbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBjb250ZW50KGNvbnRlbnQ6IFR1aURvY0V4YW1wbGUpIHtcbiAgICAgICAgdGhpcy5yYXdMb2FkZXIkJC5uZXh0KGNvbnRlbnQpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgY29tcG9uZW50TmFtZTogc3RyaW5nID0gdGhpcy5sb2NhdGlvbi5wYXRobmFtZS5zbGljZSgxKTtcblxuICAgIHJlYWRvbmx5IGRlZmF1bHRUYWJJbmRleCA9IDA7XG5cbiAgICByZWFkb25seSBkZWZhdWx0VGFiID0gdGhpcy50ZXh0c1t0aGlzLmRlZmF1bHRUYWJJbmRleF07XG5cbiAgICBhY3RpdmVJdGVtSW5kZXggPSB0aGlzLmRlZmF1bHRUYWJJbmRleDtcblxuICAgIHJlYWRvbmx5IGNvcHkkID0gdGhpcy5jb3B5VGV4dHMkLnBpcGUobWFwKChbY29weV0pID0+IGNvcHkpKTtcblxuICAgIHJlYWRvbmx5IHByb2Nlc3NvciQ6IE9ic2VydmFibGU8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4gPSB0aGlzLnJhd0xvYWRlciQkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCh0dWlSYXdMb2FkUmVjb3JkKSxcbiAgICAgICAgbWFwKHZhbHVlID0+IHRoaXMucHJvY2Vzc0NvbnRlbnQodmFsdWUpKSxcbiAgICApO1xuXG4gICAgcmVhZG9ubHkgbG9hZGluZyQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoQ2xpcGJvYXJkKSBwcml2YXRlIHJlYWRvbmx5IGNsaXBib2FyZDogQ2xpcGJvYXJkLFxuICAgICAgICBASW5qZWN0KFR1aUFsZXJ0U2VydmljZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhbGVydHM6IFR1aUFsZXJ0U2VydmljZSxcbiAgICAgICAgQEluamVjdChMT0NBVElPTikgcHJpdmF0ZSByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgICAgIEBJbmplY3QoVFVJX0NPUFlfVEVYVFMpIHByaXZhdGUgcmVhZG9ubHkgY29weVRleHRzJDogT2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmddPixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0VYQU1QTEVfVEVYVFMpIHJlYWRvbmx5IHRleHRzOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10sXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19DT0RFX0VESVRPUilcbiAgICAgICAgcmVhZG9ubHkgY29kZUVkaXRvcjogVHVpQ29kZUVkaXRvciB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19FWEFNUExFX0NPTlRFTlRfUFJPQ0VTU09SKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHByb2Nlc3NDb250ZW50OiBUdWlIYW5kbGVyPFxuICAgICAgICAgICAgUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgICAgICAgICAgIFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgICAgICAgPixcbiAgICAgICAgQEluamVjdChUVUlfSVNfQ1lQUkVTUykgcmVhZG9ubHkgaXNDeXByZXNzOiBib29sZWFuLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfQ09ERV9BQ1RJT05TKVxuICAgICAgICByZWFkb25seSBjb2RlQWN0aW9uczogQXJyYXk8UG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0V2l0aEltcGxpY2l0PHN0cmluZz4+PixcbiAgICAgICAgQEluamVjdChSb3V0ZXIpIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIEBJbmplY3QoQWN0aXZhdGVkUm91dGUpIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBASW5qZWN0KE5nTG9jYXRpb24pIHByaXZhdGUgcmVhZG9ubHkgbmdMb2NhdGlvbjogTmdMb2NhdGlvbixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0VYQU1QTEVfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBUdWlEb2NFeGFtcGxlT3B0aW9ucyxcbiAgICApIHt9XG5cbiAgICByZWFkb25seSB2aXNpYmxlID0gKGZpbGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+KTogYm9vbGVhbiA9PlxuICAgICAgICBCb29sZWFuKHRoaXMuY29kZUVkaXRvciAmJiB0aGlzLm9wdGlvbnMuY29kZUVkaXRvclZpc2liaWxpdHlIYW5kbGVyKGZpbGVzKSk7XG5cbiAgICBnZXRUYWJUaXRsZShmaWxlTmFtZTogc3RyaW5nKTogUG9seW1vcnBoZXVzQ29udGVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMudGFiVGl0bGVzLmdldChmaWxlTmFtZSkgfHwgZmlsZU5hbWU7XG4gICAgfVxuXG4gICAgY29weUV4YW1wbGVMaW5rKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBoYXNoUG9zaXRpb24gPSB0aGlzLmxvY2F0aW9uLmhyZWYuaW5kZXhPZignIycpO1xuICAgICAgICBjb25zdCBjdXJyZW50VXJsID1cbiAgICAgICAgICAgIGhhc2hQb3NpdGlvbiA+IC0xXG4gICAgICAgICAgICAgICAgPyB0aGlzLmxvY2F0aW9uLmhyZWYuc2xpY2UoMCwgTWF0aC5tYXgoMCwgaGFzaFBvc2l0aW9uKSlcbiAgICAgICAgICAgICAgICA6IHRoaXMubG9jYXRpb24uaHJlZjtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7Y3VycmVudFVybH0jJHt0aGlzLmlkfWA7XG5cbiAgICAgICAgdGhpcy5zZXRGcmFnbWVudFdpdGhvdXRSZWRpcmVjdCh0aGlzLmlkKTtcbiAgICAgICAgdGhpcy5jbGlwYm9hcmQuY29weSh1cmwpO1xuICAgICAgICB0aGlzLmFsZXJ0c1xuICAgICAgICAgICAgLm9wZW4odGhpcy50ZXh0c1sxXSwge1xuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRleHRzWzJdLFxuICAgICAgICAgICAgICAgIHN0YXR1czogVHVpTm90aWZpY2F0aW9uLlN1Y2Nlc3MsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGVkaXQoZmlsZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmNvZGVFZGl0b3JcbiAgICAgICAgICAgID8uZWRpdCh0aGlzLmNvbXBvbmVudE5hbWUsIHRoaXMuaWQgfHwgJycsIGZpbGVzKVxuICAgICAgICAgICAgLy8gVE9ETzogcmVwbGFjZSBsaW5lcyBiZWxvdyB3aXRoIGBmaW5hbGx5YCB3aGVuIHdlIGJ1bXAgRmlyZWZveCB0byA1OCtcbiAgICAgICAgICAgIC8vIFRPRE86IEFkZCBgZXMyMDE4LnByb21pc2VgIHRvIGB0c2NvbmZpZy5qc29uYCA9PiBgY29tcGlsZXJPcHRpb25zLmxpYmAuXG4gICAgICAgICAgICAudGhlbigoKSA9PiB0aGlzLmxvYWRpbmckLm5leHQoZmFsc2UpKVxuICAgICAgICAgICAgLmNhdGNoKCgpID0+IHRoaXMubG9hZGluZyQubmV4dChmYWxzZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RnJhZ21lbnRXaXRob3V0UmVkaXJlY3QoaWQ6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5yb3V0ZXJcbiAgICAgICAgICAgIC5jcmVhdGVVcmxUcmVlKFtdLCB7cmVsYXRpdmVUbzogdGhpcy5yb3V0ZSwgZnJhZ21lbnQ6IGlkIHx8ICcnfSlcbiAgICAgICAgICAgIC50b1N0cmluZygpO1xuXG4gICAgICAgIHRoaXMubmdMb2NhdGlvbi5nbyh1cmwpO1xuICAgIH1cbn1cbiIsIjxoM1xuICAgICpuZ0lmPVwiaGVhZGluZ1wiXG4gICAgY2xhc3M9XCJ0LXRpdGxlXCJcbj5cbiAgICA8c3BhblxuICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaGVhZGluZyB8IHR1aURvY0V4YW1wbGVDYXBpdGFsaXplIGFzIHRleHRcIlxuICAgICAgICBbdGV4dENvbnRlbnRdPVwidGV4dFwiXG4gICAgPjwvc3Bhbj5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0lmPVwiaWRcIlxuICAgICAgICB0dWlJY29uQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBzaXplPVwieHNcIlxuICAgICAgICBpY29uPVwidHVpSWNvbkxpbmtMYXJnZVwiXG4gICAgICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICAgICAgY2xhc3M9XCJ0LWxpbmstaWNvblwiXG4gICAgICAgIFt0aXRsZV09XCJjb3B5JCB8IGFzeW5jXCJcbiAgICAgICAgKGNsaWNrKT1cImNvcHlFeGFtcGxlTGluaygpXCJcbiAgICA+PC9idXR0b24+XG48L2gzPlxuPGg0XG4gICAgKm5nSWY9XCJkZXNjcmlwdGlvblwiXG4gICAgY2xhc3M9XCJ0LWRlc2NyaXB0aW9uXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJkZXNjcmlwdGlvbiB8IHR1aURvY0V4YW1wbGVDYXBpdGFsaXplIGFzIHRleHRcIj5cbiAgICAgICAge3sgdGV4dCB9fVxuICAgIDwvbmctY29udGFpbmVyPlxuPC9oND5cblxuPGRpdlxuICAgICpuZ0lmPVwicHJvY2Vzc29yJCB8IGFzeW5jIGFzIGZpbGVzXCJcbiAgICBjbGFzcz1cInQtZXhhbXBsZVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbGVzIHwgdHVpRG9jRXhhbXBsZUdldFRhYnMgOiBkZWZhdWx0VGFiIGFzIHRhYnNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInQtdGFicy13cmFwcGVyXCI+XG4gICAgICAgICAgICA8dHVpLXRhYnMtd2l0aC1tb3JlXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXRhYnNcIlxuICAgICAgICAgICAgICAgIFsoYWN0aXZlSXRlbUluZGV4KV09XCJhY3RpdmVJdGVtSW5kZXhcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICp0dWlJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlUYWJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiZ2V0VGFiVGl0bGUodGFiKSBhcyB0ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC90dWktdGFicy13aXRoLW1vcmU+XG5cbiAgICAgICAgICAgIDx0dWktbG9hZGVyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJmaWxlcyB8IHR1aU1hcHBlciA6IHZpc2libGVcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJ4c1wiXG4gICAgICAgICAgICAgICAgW292ZXJsYXldPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwiISEobG9hZGluZyQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJlZGl0KGZpbGVzKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvZGVFZGl0b3I/LmNvbnRlbnQgYXMgY29udGVudDsgZWxzZSBkZWZhdWx0RWRpdENvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiY29udGVudCBhcyBlZGl0Q29udGVudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZWRpdENvbnRlbnQgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRFZGl0Q29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZmxhdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgRWRpdCBvbiB7eyBjb2RlRWRpdG9yIS5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3R1aS1sb2FkZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiczsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgICAgICAgICAgW2NsYXNzLnQtY29udGVudF9hbmltYXRlZF09XCIhaXNDeXByZXNzXCJcbiAgICAgICAgICAgIFtjbGFzcy50LWNvbnRlbnRfdmlzaWJsZV09XCJhY3RpdmVJdGVtSW5kZXggPT09IGluZGV4XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ0lmPVwiaW5kZXggPT09IGRlZmF1bHRUYWJJbmRleDsgZWxzZSBhbm90aGVyVGFiXCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcmV2aWV3XCJcbiAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjYW5vdGhlclRhYj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvZGVTZWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInskaW1wbGljaXQ6IGZpbGVzW3RhYnNbYWN0aXZlSXRlbUluZGV4XV0gfHwgJyd9XCJcbiAgICAgICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI3ByZXZpZXc+XG4gICAgPGRpdlxuICAgICAgICBhdXRvbWF0aW9uLWlkPVwidHVpLWRvYy1leGFtcGxlXCJcbiAgICAgICAgY2xhc3M9XCJ0LWRlbW9cIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICAgI2NvZGVTZWN0aW9uXG4gICAgbGV0LWNvZGVcbj5cbiAgICA8c2VjdGlvbiBjbGFzcz1cInQtY29kZS1hY3Rpb25zXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBjb2RlQWN0aW9uc1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiYWN0aW9uIGFzIHRleHQ7IGNvbnRleHQ6IHskaW1wbGljaXQ6IGNvZGV9XCI+XG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8dHVpLWRvYy1jb3B5IFtjZGtDb3B5VG9DbGlwYm9hcmRdPVwiY29kZVwiPjwvdHVpLWRvYy1jb3B5PlxuICAgIDwvc2VjdGlvbj5cbiAgICA8dHVpLWRvYy1jb2RlIFtjb2RlXT1cImNvZGVcIj48L3R1aS1kb2MtY29kZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -865,6 +865,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
865
865
  const TUI_DOC_EXAMPLE_DEFAULT_OPTIONS = {
866
866
  codeEditorVisibilityHandler: files => Boolean(files[TUI_EXAMPLE_PRIMARY_FILE_NAME.TS] &&
867
867
  files[TUI_EXAMPLE_PRIMARY_FILE_NAME.HTML]),
868
+ tabTitles: new Map(),
868
869
  };
869
870
  /**
870
871
  * Default parameters for DocExample component
@@ -920,8 +921,6 @@ class TuiDocExampleComponent {
920
921
  this.options = options;
921
922
  this.rawLoader$$ = new BehaviorSubject({});
922
923
  this.id = null;
923
- this.heading = '';
924
- this.description = '';
925
924
  this.componentName = this.location.pathname.slice(1);
926
925
  this.defaultTabIndex = 0;
927
926
  this.defaultTab = this.texts[this.defaultTabIndex];
@@ -934,6 +933,9 @@ class TuiDocExampleComponent {
934
933
  set content(content) {
935
934
  this.rawLoader$$.next(content);
936
935
  }
936
+ getTabTitle(fileName) {
937
+ return this.options.tabTitles.get(fileName) || fileName;
938
+ }
937
939
  copyExampleLink() {
938
940
  const hashPosition = this.location.href.indexOf('#');
939
941
  const currentUrl = hashPosition > -1
@@ -962,7 +964,7 @@ class TuiDocExampleComponent {
962
964
  }
963
965
  }
964
966
  TuiDocExampleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", 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 }, { token: TUI_DOC_EXAMPLE_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
965
- TuiDocExampleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", 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 <tui-loader\n *ngIf=\"files | tuiMapper : visible\"\n size=\"xs\"\n [overlay]=\"true\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n <ng-container *ngIf=\"codeEditor?.content as content; else defaultEditContent\">\n <ng-container *polymorpheusOutlet=\"content as editContent\">\n {{ editContent }}\n </ng-container>\n </ng-container>\n\n <ng-template #defaultEditContent>\n <button\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n type=\"button\"\n >\n Edit on {{ codeEditor!.name }}\n </button>\n </ng-template>\n </tui-loader>\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 #0000001a}: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: i2$1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: TuiDocCopyComponent, selector: "tui-doc-copy" }, { type: TuiDocCodeComponent, selector: "tui-doc-code", inputs: ["filename", "code"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6$1.TuiItemDirective, selector: "[tuiItem]" }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }], pipes: { "tuiDocExampleCapitalize": TuiDocExampleCapitalizePipe, "async": i4.AsyncPipe, "tuiDocExampleGetTabs": TuiDocExampleGetTabsPipe, "tuiMapper": i6$1.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
967
+ TuiDocExampleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", 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 <ng-container *polymorpheusOutlet=\"getTabTitle(tab) as text\">\n {{ text }}\n </ng-container>\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <tui-loader\n *ngIf=\"files | tuiMapper : visible\"\n size=\"xs\"\n [overlay]=\"true\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n <ng-container *ngIf=\"codeEditor?.content as content; else defaultEditContent\">\n <ng-container *polymorpheusOutlet=\"content as editContent\">\n {{ editContent }}\n </ng-container>\n </ng-container>\n\n <ng-template #defaultEditContent>\n <button\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n type=\"button\"\n >\n Edit on {{ codeEditor!.name }}\n </button>\n </ng-template>\n </tui-loader>\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 #0000001a}: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: i2$1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: TuiDocCopyComponent, selector: "tui-doc-copy" }, { type: TuiDocCodeComponent, selector: "tui-doc-code", inputs: ["filename", "code"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$2.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6$1.TuiItemDirective, selector: "[tuiItem]" }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i8.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }], pipes: { "tuiDocExampleCapitalize": TuiDocExampleCapitalizePipe, "async": i4.AsyncPipe, "tuiDocExampleGetTabs": TuiDocExampleGetTabsPipe, "tuiMapper": i6$1.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
966
968
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocExampleComponent, decorators: [{
967
969
  type: Component,
968
970
  args: [{