@taiga-ui/addon-doc 3.36.1 → 3.36.2

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 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-doc-components.js","sources":["../../../projects/addon-doc/components/code/code.component.ts","../../../projects/addon-doc/components/code/code.template.html","../../../projects/addon-doc/components/code/code.module.ts","../../../projects/addon-doc/components/copy/copy.component.ts","../../../projects/addon-doc/components/copy/copy.template.html","../../../projects/addon-doc/components/copy/copy.module.ts","../../../projects/addon-doc/components/demo/demo.component.ts","../../../projects/addon-doc/components/demo/demo.template.html","../../../projects/addon-doc/components/demo/demo.module.ts","../../../projects/addon-doc/components/documentation/documentation-property-connector.directive.ts","../../../projects/addon-doc/components/documentation/pipes/color.pipe.ts","../../../projects/addon-doc/components/documentation/pipes/opacity.pipe.ts","../../../projects/addon-doc/components/internal/input-opacity/input-opacity.directive.ts","../../../projects/addon-doc/components/documentation/pipes/strip-optional.pipe.ts","../../../projects/addon-doc/components/documentation/pipes/optional.pipe.ts","../../../projects/addon-doc/components/documentation/pipes/content-tooltip.pipe.ts","../../../projects/addon-doc/components/documentation/pipes/cleaner.pipe.ts","../../../projects/addon-doc/components/documentation/pipes/inspect.pipe.ts","../../../projects/addon-doc/components/documentation/pipes/primitive-polymorpheus-content.pipe.ts","../../../projects/addon-doc/components/documentation/documentation.component.ts","../../../projects/addon-doc/components/documentation/documentation.template.html","../../../projects/addon-doc/components/internal/input-opacity/input-opacity.module.ts","../../../projects/addon-doc/components/documentation/documentation.module.ts","../../../projects/addon-doc/components/example/example-options.ts","../../../projects/addon-doc/components/example/example-capitalize.pipe.ts","../../../projects/addon-doc/components/example/example-get-tabs.pipe.ts","../../../projects/addon-doc/components/example/example.component.ts","../../../projects/addon-doc/components/example/example.template.html","../../../projects/addon-doc/components/example/example.module.ts","../../../projects/addon-doc/components/navigation/navigation.providers.ts","../../../projects/addon-doc/components/navigation/navigation.component.ts","../../../projects/addon-doc/components/navigation/navigation.template.html","../../../projects/addon-doc/components/internal/header/header.component.ts","../../../projects/addon-doc/components/internal/header/header.template.html","../../../projects/addon-doc/components/navigation/navigation.module.ts","../../../projects/addon-doc/components/internal/header/header.module.ts","../../../projects/addon-doc/components/internal/see-also/see-also.component.ts","../../../projects/addon-doc/components/internal/see-also/see-also.template.html","../../../projects/addon-doc/components/internal/see-also/see-also.module.ts","../../../projects/addon-doc/components/internal/source-code/source-code.component.ts","../../../projects/addon-doc/components/internal/source-code/source-code.template.html","../../../projects/addon-doc/components/internal/source-code/source-code.module.ts","../../../projects/addon-doc/components/language-switcher/language-switcher.component.ts","../../../projects/addon-doc/components/language-switcher/language-switcher.component.html","../../../projects/addon-doc/components/language-switcher/language-switcher.module.ts","../../../projects/addon-doc/components/main/main.component.ts","../../../projects/addon-doc/components/main/main.template.html","../../../projects/addon-doc/components/main/main.module.ts","../../../projects/addon-doc/components/page/page.providers.ts","../../../projects/addon-doc/components/page/page-tab.directive.ts","../../../projects/addon-doc/components/page/page.component.ts","../../../projects/addon-doc/components/page/page.template.html","../../../projects/addon-doc/components/page/page.module.ts","../../../projects/addon-doc/components/taiga-ui-addon-doc-components.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {RawLoaderContent} from '@taiga-ui/addon-doc/interfaces';\nimport {TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR} from '@taiga-ui/addon-doc/tokens';\nimport {tuiRawLoad} from '@taiga-ui/addon-doc/utils';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {BehaviorSubject} from 'rxjs';\nimport {map, switchMap} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-doc-code',\n templateUrl: './code.template.html',\n styleUrls: ['./code.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocCodeComponent {\n private readonly rawLoader$$ = new BehaviorSubject<RawLoaderContent>('');\n\n @Input()\n filename = '';\n\n readonly processor$ = this.rawLoader$$.pipe(\n switchMap(tuiRawLoad),\n map((value: string): string[] => this.markdownCodeProcessor(value)),\n );\n\n constructor(\n @Inject(TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR)\n readonly markdownCodeProcessor: TuiHandler<string, string[]>,\n ) {}\n\n @Input()\n set code(code: RawLoaderContent) {\n this.rawLoader$$.next(code);\n }\n\n @HostBinding('class._has-filename')\n get hasFilename(): boolean {\n return !!this.filename;\n }\n}\n","<!-- 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","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {HighlightModule} from 'ngx-highlightjs';\n\nimport {TuiDocCodeComponent} from './code.component';\n\n@NgModule({\n imports: [CommonModule, HighlightModule],\n declarations: [TuiDocCodeComponent],\n exports: [TuiDocCodeComponent],\n})\nexport class TuiDocCodeModule {}\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {ALWAYS_FALSE_HANDLER, TuiDestroyService, tuiPure} from '@taiga-ui/cdk';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit';\nimport {Observable, Subject, timer} from 'rxjs';\nimport {map, startWith, switchMap} from 'rxjs/operators';\n\nconst COPIED_TIMEOUT = 1500;\n\n@Component({\n selector: 'tui-doc-copy',\n templateUrl: './copy.template.html',\n styleUrls: ['./copy.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiDocCopyComponent {\n private readonly copy$ = new Subject<void>();\n\n constructor(@Inject(TUI_COPY_TEXTS) readonly texts$: Observable<[string, string]>) {}\n\n @tuiPure\n get copied$(): Observable<boolean> {\n return this.copy$.pipe(\n switchMap(() =>\n timer(COPIED_TIMEOUT).pipe(map(ALWAYS_FALSE_HANDLER), startWith(true)),\n ),\n );\n }\n\n onClick(): void {\n this.copy$.next();\n }\n}\n","<button\n *ngIf=\"texts$ | async as texts\"\n tuiButton\n type=\"button\"\n appearance=\"\"\n size=\"s\"\n class=\"t-copy\"\n [title]=\"texts[0]\"\n (click)=\"onClick()\"\n>\n <span\n class=\"t-content\"\n [class.t-content_moved]=\"copied$ | async\"\n >\n <span\n class=\"t-initial\"\n [attr.data-text]=\"texts[0]\"\n >\n <ng-content></ng-content>\n </span>\n {{ texts[1] }}\n </span>\n</button>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\n\nimport {TuiDocCopyComponent} from './copy.component';\n\n@NgModule({\n imports: [CommonModule, TuiButtonModule],\n declarations: [TuiDocCopyComponent],\n exports: [TuiDocCopyComponent],\n})\nexport class TuiDocCopyModule {}\n","import {Location} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {AbstractControl, FormGroup} from '@angular/forms';\nimport {Params, UrlSerializer, UrlTree} from '@angular/router';\nimport {TuiDemoParams} from '@taiga-ui/addon-doc/interfaces';\nimport {TUI_DOC_DEMO_TEXTS, TUI_DOC_URL_STATE_HANDLER} from '@taiga-ui/addon-doc/tokens';\nimport {tuiCoerceValueIsTrue} from '@taiga-ui/addon-doc/utils';\nimport {\n TUI_IS_MOBILE,\n tuiClamp,\n tuiCleanObject,\n TuiDestroyService,\n tuiPure,\n tuiPx,\n TuiResizeableDirective,\n TuiStringHandler,\n tuiToInteger,\n} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\n\nconst MIN_WIDTH = 160;\n\n@Component({\n selector: 'tui-doc-demo',\n templateUrl: './demo.template.html',\n styleUrls: ['./demo.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n {\n provide: TuiModeDirective,\n useExisting: forwardRef(() => TuiDocDemoComponent),\n },\n ],\n})\nexport class TuiDocDemoComponent implements OnInit {\n @ViewChild(TuiResizeableDirective, {static: true})\n private readonly resizeable?: ElementRef<HTMLElement>;\n\n @ViewChild('content', {static: true})\n private readonly content?: ElementRef<HTMLElement>;\n\n @ViewChild('resizer', {static: true})\n private readonly resizer?: ElementRef<HTMLElement>;\n\n @Input()\n control: AbstractControl | null = null;\n\n @Input()\n @HostBinding('class._sticky')\n sticky = true;\n\n @ContentChild(TemplateRef)\n readonly template: TemplateRef<Record<string, unknown>> | null = null;\n\n testForm?: FormGroup;\n\n readonly updateOnVariants = ['change', 'blur', 'submit'] as const;\n\n updateOn: 'blur' | 'change' | 'submit' =\n this.params.updateOn || this.updateOnVariants[0];\n\n opaque = tuiCoerceValueIsTrue(this.params.sandboxOpaque ?? true);\n expanded = tuiCoerceValueIsTrue(this.params.sandboxExpanded ?? false);\n mode: TuiBrightness | null = this.params.tuiMode || null;\n sandboxWidth = tuiToInteger(this.params.sandboxWidth);\n\n readonly change$ = new Subject<void>();\n readonly items: readonly TuiBrightness[] = ['onLight', 'onDark'];\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(Location) private readonly locationRef: Location,\n @Inject(UrlSerializer) private readonly urlSerializer: UrlSerializer,\n @Inject(TUI_DOC_DEMO_TEXTS) readonly texts: [string, string, string],\n @Inject(TUI_DOC_URL_STATE_HANDLER)\n private readonly urlStateHandler: TuiStringHandler<UrlTree>,\n ) {}\n\n @HostListener('window:resize')\n onResize(): void {\n this.updateWidth();\n this.onMouseUp();\n }\n\n @HostListener('document:mouseup.silent')\n onMouseUp(): void {\n this.updateUrl({sandboxWidth: this.sandboxWidth});\n }\n\n ngOnInit(): void {\n this.createForm();\n this.updateWidth(this.sandboxWidth + this.delta);\n }\n\n onModeChange(mode: TuiBrightness | null): void {\n this.mode = mode;\n this.updateUrl({sandboxWidth: this.sandboxWidth});\n this.change$.next();\n }\n\n toggleDetails(): void {\n this.expanded = !this.expanded;\n this.updateUrl({sandboxExpanded: this.expanded});\n }\n\n changeOpaque(opaque: boolean): void {\n this.opaque = opaque;\n this.updateUrl({sandboxOpaque: this.opaque});\n }\n\n updateOnChange(updateOn: 'blur' | 'change' | 'submit'): void {\n this.updateOn = updateOn;\n this.updateUrl({updateOn});\n this.createForm();\n }\n\n updateWidth(width: number = NaN): void {\n if (!this.resizer || !this.resizeable || !this.content) {\n return;\n }\n\n const safe = width || this.resizeable.nativeElement.clientWidth;\n const total = this.el.nativeElement.clientWidth;\n const clamped = Math.round(tuiClamp(safe, MIN_WIDTH, total)) - this.delta;\n const validated = safe < total ? clamped : NaN;\n\n this.resizer.nativeElement.textContent = String(clamped || '-');\n this.resizeable.nativeElement.style.width = validated ? tuiPx(safe) : '';\n this.sandboxWidth = validated;\n }\n\n private get delta(): number {\n return this.resizeable && this.content\n ? this.resizeable.nativeElement.clientWidth -\n this.content.nativeElement.clientWidth\n : 0;\n }\n\n @tuiPure\n private updateUrl(params: TuiDemoParams): void {\n const tree = this.getUrlTree();\n const {queryParams} = tree;\n\n delete queryParams.sandboxWidth;\n delete queryParams.tuiMode;\n\n tree.queryParams = {\n ...queryParams,\n ...tuiCleanObject({tuiMode: this.mode, ...params}),\n };\n\n this.locationRef.go(this.urlStateHandler(tree));\n }\n\n private createForm(): void {\n const {control, updateOn} = this;\n\n if (control) {\n this.testForm = new FormGroup({testValue: control}, {updateOn});\n }\n }\n\n private getUrlTree(): UrlTree {\n return this.urlSerializer.parse(this.locationRef.path());\n }\n\n private get params(): Params | TuiDemoParams {\n return this.getUrlTree().queryParams;\n }\n}\n","<div\n class=\"t-bg-toggle\"\n [tuiMode]=\"null\"\n>\n <ng-template #tooltip>\n {{ texts[0] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n routerLink=\"/directives/mode\"\n >\n <code>tuiMode</code>\n </a>\n </ng-template>\n <ng-container *ngIf=\"isMobile; else desktop\">\n <tui-select\n tuiTextfieldSize=\"s\"\n class=\"t-mode\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiHintContent]=\"tooltip\"\n [ngModel]=\"mode\"\n (ngModelChange)=\"onModeChange($event)\"\n >\n tuiMode\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"items\"\n ></tui-data-list-wrapper>\n </tui-select>\n </ng-container>\n <ng-template #desktop>\n tuiMode:\n <tui-tooltip\n describeId=\"form\"\n [content]=\"tooltip\"\n ></tui-tooltip>\n <div\n tuiGroup\n class=\"t-group\"\n [collapsed]=\"true\"\n >\n <tui-radio-block\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [item]=\"null\"\n [hideRadio]=\"true\"\n [ngModel]=\"mode\"\n (ngModelChange)=\"onModeChange($event)\"\n >\n null\n </tui-radio-block>\n <tui-radio-block\n item=\"onDark\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [ngModel]=\"mode\"\n (ngModelChange)=\"onModeChange($event)\"\n >\n onDark\n </tui-radio-block>\n <tui-radio-block\n item=\"onLight\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [ngModel]=\"mode\"\n (ngModelChange)=\"onModeChange($event)\"\n >\n onLight\n </tui-radio-block>\n </div>\n </ng-template>\n <tui-checkbox-labeled\n size=\"m\"\n class=\"t-checkbox\"\n [ngModel]=\"opaque\"\n (ngModelChange)=\"changeOpaque($event)\"\n >\n {{ texts[1] }}\n </tui-checkbox-labeled>\n</div>\n<div\n tuiResizeable\n class=\"t-wrapper\"\n [class.t-wrapper_dark]=\"mode === 'onDark'\"\n [class.t-wrapper_gray]=\"mode === 'onLight'\"\n [class.t-wrapper_transparent]=\"!opaque\"\n>\n <div\n id=\"demo-content\"\n class=\"t-content\"\n >\n <div #content>\n <form\n *ngIf=\"testForm\"\n class=\"t-form\"\n [formGroup]=\"testForm\"\n >\n <div class=\"t-input-wrapper\">\n <ng-container [ngTemplateOutlet]=\"template\"></ng-container>\n </div>\n <button\n tuiButton\n type=\"button\"\n size=\"s\"\n automation-id=\"tui-demo-button__toggle-details\"\n class=\"t-button\"\n [iconRight]=\"icon\"\n (click)=\"toggleDetails()\"\n >\n {{ texts[2] }}\n </button>\n <ng-template #icon>\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"expanded\"\n ></tui-svg>\n </ng-template>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"expanded\"\n >\n <ng-template tuiExpandContent>\n <pre class=\"t-value\">Form data: {{ testForm.value | json }}</pre>\n <div\n tuiGroup\n class=\"t-form-controls\"\n >\n <tui-select\n tuiTextfieldSize=\"s\"\n automation-id=\"tui-demo-select__expand-update-on\"\n class=\"t-select\"\n [ngModel]=\"updateOn\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"updateOnChange($event)\"\n >\n updateOn\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"updateOnVariants\"\n ></tui-data-list-wrapper>\n </tui-select>\n <button\n tuiButton\n type=\"reset\"\n size=\"s\"\n automation-id=\"tui-demo-button__reset-state\"\n class=\"tui-group__auto-width-item\"\n >\n Reset\n </button>\n <button\n tuiButton\n type=\"submit\"\n size=\"s\"\n automation-id=\"tui-demo-button__submit-state\"\n class=\"tui-group__auto-width-item\"\n >\n Submit\n </button>\n </div>\n </ng-template>\n </tui-expand>\n </form>\n <ng-content></ng-content>\n </div>\n </div>\n <div\n #resizer\n class=\"t-resizer\"\n [tuiResizer]=\"[1, 0]\"\n (tuiSizeChange)=\"updateWidth($event[0])\"\n ></div>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiResizerModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiHintModule,\n TuiLinkModule,\n TuiModeModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n TuiTooltipModule,\n} from '@taiga-ui/core';\nimport {\n TuiCheckboxLabeledModule,\n TuiDataListWrapperModule,\n TuiRadioBlockModule,\n TuiSelectModule,\n} from '@taiga-ui/kit';\n\nimport {TuiDocDemoComponent} from './demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n RouterModule,\n TuiLinkModule,\n TuiButtonModule,\n TuiSelectModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiTooltipModule,\n TuiModeModule,\n TuiRadioBlockModule,\n TuiCheckboxLabeledModule,\n TuiSvgModule,\n TuiDataListWrapperModule,\n TuiDataListModule,\n TuiTextfieldControllerModule,\n TuiHintModule,\n TuiResizerModule,\n ],\n declarations: [TuiDocDemoComponent],\n exports: [TuiDocDemoComponent],\n})\nexport class TuiDocDemoModule {}\n","import {Location} from '@angular/common';\nimport {\n Directive,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport {ActivatedRoute, Params, UrlSerializer, UrlTree} from '@angular/router';\nimport {TUI_DOC_URL_STATE_HANDLER} from '@taiga-ui/addon-doc/tokens';\nimport {tuiCoerceValue} from '@taiga-ui/addon-doc/utils';\nimport {tuiIsNumber, TuiStringHandler} from '@taiga-ui/cdk';\nimport {BehaviorSubject, Subject} from 'rxjs';\n\nconst SERIALIZED_SUFFIX = '$';\n\nexport type DocumentationPropertyType = 'input-output' | 'input' | 'output' | null;\n\n// @bad TODO: refactor output and value sync\n@Directive({\n selector: 'ng-template[documentationPropertyName]',\n exportAs: 'documentationProperty',\n})\nexport class TuiDocDocumentationPropertyConnectorDirective<T>\n implements OnInit, OnChanges\n{\n @Input()\n documentationPropertyName = '';\n\n @Input()\n documentationPropertyMode: DocumentationPropertyType = null;\n\n @Input()\n documentationPropertyType = '';\n\n @Input()\n documentationPropertyValue!: T;\n\n @Input()\n documentationPropertyDeprecated = false;\n\n @Input()\n documentationPropertyValues: readonly T[] | null = null;\n\n @Output()\n readonly documentationPropertyValueChange = new EventEmitter<T>();\n\n readonly changed$ = new Subject<void>();\n\n readonly emits$ = new BehaviorSubject(1);\n\n constructor(\n @Inject(TemplateRef) readonly template: TemplateRef<Record<string, unknown>>,\n @Inject(Location) private readonly locationRef: Location,\n @Inject(ActivatedRoute) private readonly activatedRoute: ActivatedRoute,\n @Inject(UrlSerializer) private readonly urlSerializer: UrlSerializer,\n @Inject(TUI_DOC_URL_STATE_HANDLER)\n private readonly urlStateHandler: TuiStringHandler<UrlTree>,\n ) {}\n\n ngOnInit(): void {\n this.parseParams(this.activatedRoute.snapshot.queryParams);\n }\n\n get attrName(): string {\n switch (this.documentationPropertyMode) {\n case 'input':\n return `[${this.documentationPropertyName}]`;\n case 'output':\n return `(${this.documentationPropertyName})`;\n case 'input-output':\n return `[(${this.documentationPropertyName})]`;\n default:\n return this.documentationPropertyName;\n }\n }\n\n get hasItems(): boolean {\n return !!this.documentationPropertyValues;\n }\n\n get shouldShowValues(): boolean {\n return this.documentationPropertyMode !== 'output';\n }\n\n ngOnChanges(): void {\n this.changed$.next();\n }\n\n onValueChange(value: T): void {\n this.documentationPropertyValue = value;\n this.documentationPropertyValueChange.emit(value);\n this.setQueryParam(value);\n }\n\n emitEvent(event: unknown): void {\n // For more convenient debugging\n console.info(this.attrName, event);\n\n this.emits$.next(this.emits$.value + 1);\n }\n\n private parseParams(params: Params): void {\n const propertyValue: string | undefined = params[this.documentationPropertyName];\n const propertyValueWithSuffix: number | string | undefined =\n params[`${this.documentationPropertyName}${SERIALIZED_SUFFIX}`];\n\n if (!propertyValue && !propertyValueWithSuffix) {\n return;\n }\n\n let value =\n !!propertyValueWithSuffix && this.documentationPropertyValues\n ? this.documentationPropertyValues[propertyValueWithSuffix as number]\n : tuiCoerceValue(propertyValue);\n\n if (this.documentationPropertyType === 'string' && tuiIsNumber(value)) {\n value = value.toString();\n }\n\n this.onValueChange(value as T);\n }\n\n private setQueryParam(value: T | boolean | number | string | null): void {\n const tree = this.urlSerializer.parse(this.locationRef.path());\n\n const isValueAvailableByKey = value instanceof Object;\n const computedValue =\n isValueAvailableByKey && this.documentationPropertyValues\n ? this.documentationPropertyValues.indexOf(value as T)\n : value;\n\n const suffix = isValueAvailableByKey ? SERIALIZED_SUFFIX : '';\n const propName = this.documentationPropertyName + suffix;\n\n tree.queryParams = {\n ...tree.queryParams,\n [propName]: computedValue,\n };\n\n this.locationRef.go(this.urlStateHandler(tree));\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {tuiRgbToHex} from '@taiga-ui/cdk';\n\n@Pipe({name: `tuiGetColorPipe`})\nexport class TuiGetColorPipe implements PipeTransform {\n transform(color: string): string {\n if (color.length === 4) {\n return color\n .split(``)\n .reduce<string[]>((result, current) => [...result, current, current], [])\n .join(``)\n .replace(`#`, ``);\n }\n\n if (color.startsWith(`#`)) {\n return color;\n }\n\n if (color === `transparent`) {\n return `#000000`;\n }\n\n const parsed = color\n .replace(`rgb(`, ``)\n .replace(`rgba(`, ``)\n .replace(`)`, ``)\n .replace(` `, ``)\n .split(`,`)\n .map(v => Number.parseInt(v, 10)) as [number, number, number];\n\n return tuiRgbToHex(...parsed);\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: `tuiGetOpacity`})\nexport class TuiGetOpacityPipe implements PipeTransform {\n transform(color: string): number {\n if (color.startsWith(`#`) || color.startsWith(`rgb(`)) {\n return 100;\n }\n\n if (color === `transparent`) {\n return 0;\n }\n\n const lastComma = color.lastIndexOf(`,`);\n const parsed = color\n .slice(lastComma)\n .replace(`)`, ``)\n .replace(` `, ``)\n .replace(`,`, ``);\n\n return Math.round(Number.parseFloat(parsed) * 100);\n }\n}\n","import {Directive, Inject, Input, Renderer2} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR, TuiFocusableElementAccessor} from '@taiga-ui/cdk';\n\n@Directive({\n selector: '[tuiInputOpacity]',\n})\nexport class TuiInputOpacityDirective {\n @Input()\n set tuiInputOpacity(opacity: number) {\n const {nativeFocusableElement} = this.focusable;\n\n if (nativeFocusableElement) {\n this.renderer.setStyle(nativeFocusableElement, 'opacity', opacity / 100);\n }\n }\n\n constructor(\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n private readonly focusable: TuiFocusableElementAccessor,\n ) {}\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: `tuiStripOptionalPipe`})\nexport class TuiStripOptionalPipe implements PipeTransform {\n transform(name: string): string {\n return name.replace(`?`, ``);\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: `tuiIsOptionalPipe`})\nexport class TuiIsOptionalPipe implements PipeTransform {\n transform(name: string): boolean {\n return name.includes(`?`);\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: `tuiShowContentTooltip`})\nexport class TuiShowContentTooltip implements PipeTransform {\n transform(type: string): boolean {\n return type.includes(`PolymorpheusContent`);\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: `tuiShowCleanerPipe`})\nexport class TuiShowCleanerPipe implements PipeTransform {\n transform(type: string): boolean {\n return type.includes(`null`);\n }\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {tuiInspectAny} from '@taiga-ui/addon-doc/utils';\nimport {TUI_IS_CYPRESS} from '@taiga-ui/cdk';\n\n@Pipe({name: `tuiInspectAny`})\nexport class TuiInspectPipe implements PipeTransform {\n constructor(@Inject(TUI_IS_CYPRESS) private readonly isCypress: boolean) {}\n\n transform(value: unknown, depth: number = 2): string {\n if (this.isCypress && typeof value === `function`) {\n /**\n * @description:\n * When developing in production mode the webpack bundler minify\n * functions in different ways, then due to which the string content\n * of the function may differ from build to build, which can be to\n * various problems when screenshot testing on e2e.\n */\n return `λ(x) => y`;\n }\n\n return tuiInspectAny(value, depth);\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {tuiIsNumber, tuiIsString} from '@taiga-ui/cdk';\n\n@Pipe({name: `tuiIsPrimitivePolymorpheusContentPipe`})\nexport class TuiIsPrimitivePolymorpheusContentPipe implements PipeTransform {\n transform(value: unknown): boolean {\n return tuiIsString(value) || tuiIsNumber(value);\n }\n}\n","import {animate, style, transition, trigger} from '@angular/animations';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n Self,\n} from '@angular/core';\nimport {\n TUI_DOC_DOCUMENTATION_TEXTS,\n TUI_DOC_EXCLUDED_PROPERTIES,\n} from '@taiga-ui/addon-doc/tokens';\nimport {\n EMPTY_QUERY,\n TuiDestroyService,\n tuiHexToRgb,\n TuiMatcher,\n tuiQueryListChanges,\n tuiWatch,\n} from '@taiga-ui/cdk';\nimport {merge} from 'rxjs';\nimport {switchMap, takeUntil} from 'rxjs/operators';\n\nimport {TuiDocDocumentationPropertyConnectorDirective} from './documentation-property-connector.directive';\nimport {TuiGetColorPipe} from './pipes/color.pipe';\nimport {TuiGetOpacityPipe} from './pipes/opacity.pipe';\n\n// @bad TODO subscribe propertiesConnectors changes\n// @bad TODO refactor to make more flexible\n@Component({\n selector: 'tui-doc-documentation',\n templateUrl: './documentation.template.html',\n styleUrls: ['./documentation.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('emitEvent', [\n transition(':increment', [style({opacity: 1}), animate('500ms ease-in')]),\n ]),\n ],\n providers: [TuiGetColorPipe, TuiGetOpacityPipe, TuiDestroyService],\n})\nexport class TuiDocDocumentationComponent implements AfterContentInit {\n @Input()\n heading = '';\n\n @Input()\n showValues = true;\n\n @Input()\n isAPI = false;\n\n @ContentChildren(TuiDocDocumentationPropertyConnectorDirective)\n propertiesConnectors: QueryList<TuiDocDocumentationPropertyConnectorDirective<any>> =\n EMPTY_QUERY;\n\n activeItemIndex = 0;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly cdr: ChangeDetectorRef,\n @Inject(TUI_DOC_DOCUMENTATION_TEXTS)\n readonly texts: [string, string, string, string, string],\n @Inject(TUI_DOC_EXCLUDED_PROPERTIES)\n readonly excludedProperties: Set<string>,\n @Self()\n @Inject(TuiDestroyService)\n private readonly destroy$: TuiDestroyService,\n @Inject(TuiGetColorPipe)\n private readonly getColor: TuiGetColorPipe,\n @Inject(TuiGetOpacityPipe)\n private readonly getOpacity: TuiGetOpacityPipe,\n ) {}\n\n ngAfterContentInit(): void {\n tuiQueryListChanges(this.propertiesConnectors)\n .pipe(\n switchMap(items => merge(...items.map(({changed$}) => changed$))),\n tuiWatch(this.cdr),\n takeUntil(this.destroy$),\n )\n .subscribe();\n }\n\n get type(): string {\n return this.isAPI ? this.texts[0] : this.texts[1];\n }\n\n matcher: TuiMatcher<TuiDocDocumentationPropertyConnectorDirective<any>> = (\n item: TuiDocDocumentationPropertyConnectorDirective<any>,\n exclusions: Set<string>,\n ) => !exclusions.has(item.documentationPropertyName);\n\n onColorChange(\n connector: TuiDocDocumentationPropertyConnectorDirective<string>,\n color: string,\n ): void {\n const opacity = this.getOpacity.transform(\n connector.documentationPropertyValue || '',\n );\n\n if (opacity === 100) {\n connector.onValueChange(color);\n\n return;\n }\n\n const rgb = tuiHexToRgb(color).join(', ');\n const result = `rgba(${rgb}, ${opacity / 100})`;\n\n connector.onValueChange(result);\n }\n\n onOpacityChange(\n connector: TuiDocDocumentationPropertyConnectorDirective<string>,\n opacity: number | null,\n ): void {\n const hex = this.getColor.transform(connector.documentationPropertyValue || '');\n const rgb = tuiHexToRgb(hex);\n const result = `rgba(${rgb}, ${(opacity || 0) / 100})`;\n\n connector.onValueChange(result);\n }\n}\n","<h1\n *ngIf=\"heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h1>\n<ng-content></ng-content>\n<ng-container *ngIf=\"$any(propertiesConnectors) | tuiFilter : matcher : excludedProperties as properties\">\n <table\n *ngIf=\"properties.length\"\n class=\"t-table\"\n >\n <tr class=\"t-row t-row_header\">\n <th class=\"t-th t-cell t-cell_prop\">{{ texts[2] }}</th>\n <th class=\"t-th\">{{ type }}</th>\n <th\n *ngIf=\"showValues && !isAPI\"\n class=\"t-th t-cell t-th_value\"\n >\n {{ texts[3] }}\n </th>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of properties\"\n class=\"t-row\"\n [class.t-deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n >\n <td class=\"t-cell\">\n <div\n automation-id=\"tui-documentation__property-name\"\n class=\"t-property\"\n >\n {{ propertyConnector.attrName | tuiStripOptionalPipe }}\n <tui-badge\n *ngIf=\"propertyConnector.attrName | tuiIsOptionalPipe\"\n size=\"s\"\n value=\"Optional\"\n ></tui-badge>\n </div>\n <span\n *ngIf=\"propertyConnector.documentationPropertyDeprecated\"\n class=\"t-deprecated-label\"\n >\n deprecated\n </span>\n <ng-container [ngTemplateOutlet]=\"propertyConnector.template\"></ng-container>\n </td>\n <td class=\"t-cell\">\n <span class=\"type\">\n {{ propertyConnector.documentationPropertyType }}\n <tui-tooltip\n *ngIf=\"propertyConnector.documentationPropertyType | tuiShowContentTooltip\"\n [describeId]=\"propertyConnector.attrName\"\n [content]=\"content\"\n >\n <ng-template #content>\n {{ texts[4] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n target=\"_blank\"\n rel=\"noreferrer\"\n href=\"https://github.com/tinkoff/ng-polymorpheus\"\n >\n <code>ng-polymorpheus</code>\n </a>\n </ng-template>\n </tui-tooltip>\n </span>\n </td>\n <td\n *ngIf=\"showValues\"\n class=\"t-cell t-cell_value\"\n >\n <ng-container *ngIf=\"propertyConnector.shouldShowValues; else elseEmitter\">\n <tui-select\n *ngIf=\"propertyConnector.hasItems; else noItems\"\n tuiTextfieldSize=\"m\"\n tuiDropdownLimitWidth=\"min\"\n [tuiTextfieldCleaner]=\"propertyConnector.documentationPropertyType | tuiShowCleanerPipe\"\n [tuiTextfieldLabelOutside]=\"true\"\n [nativeId]=\"propertyConnector.attrName\"\n [valueContent]=\"selectContent\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n >\n <code class=\"t-exception\">null</code>\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"propertyConnector.documentationPropertyValues\"\n [itemContent]=\"selectContent\"\n ></tui-data-list-wrapper>\n </tui-select>\n <ng-template\n #selectContent\n let-data\n >\n <code>{{ data | tuiInspectAny }}</code>\n </ng-template>\n\n <ng-template #noItems>\n <ng-container [ngSwitch]=\"propertyConnector.documentationPropertyType\">\n <tui-toggle\n *ngSwitchCase=\"'boolean'\"\n size=\"l\"\n [nativeId]=\"propertyConnector.attrName\"\n [showIcons]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-toggle>\n\n <tui-primitive-textfield\n *ngSwitchCase=\"'string'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue || ''\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-primitive-textfield>\n\n <div\n *ngSwitchCase=\"'color'\"\n tuiGroup\n >\n <tui-primitive-textfield\n tuiTextfieldSize=\"m\"\n [attr.id]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiInputOpacity]=\"propertyConnector.documentationPropertyValue | tuiGetOpacity\"\n [value]=\"propertyConnector.documentationPropertyValue | tuiGetColorPipe\"\n (valueChange)=\"onColorChange(propertyConnector, $event)\"\n >\n <input\n tuiTextfield\n type=\"text\"\n />\n </tui-primitive-textfield>\n <tui-input-number\n tuiTextfieldSize=\"m\"\n [step]=\"1\"\n [min]=\"0\"\n [max]=\"100\"\n [ngModel]=\"propertyConnector.documentationPropertyValue | tuiGetOpacity\"\n (ngModelChange)=\"onOpacityChange(propertyConnector, $event)\"\n >\n Opacity\n </tui-input-number>\n </div>\n\n <tui-input-number\n *ngSwitchCase=\"'number'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [step]=\"1\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event || 0)\"\n ></tui-input-number>\n\n <ng-container *ngSwitchCase=\"'PolymorpheusContent'\">\n <tui-primitive-textfield\n *ngIf=\"\n propertyConnector.documentationPropertyValue\n | tuiIsPrimitivePolymorpheusContentPipe\n \"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue.toString()\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n >\n Default content\n </tui-primitive-textfield>\n </ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-template #elseEmitter>\n <tui-notification\n class=\"t-output\"\n [@emitEvent]=\"propertyConnector.emits$ | async\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n </table>\n</ng-container>\n","import {NgModule} from '@angular/core';\n\nimport {TuiInputOpacityDirective} from './input-opacity.directive';\n\n@NgModule({\n declarations: [TuiInputOpacityDirective],\n exports: [TuiInputOpacityDirective],\n})\nexport class TuiInputOpacityModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiFilterPipeModule} from '@taiga-ui/cdk';\nimport {\n TuiDataListModule,\n TuiDropdownModule,\n TuiGroupModule,\n TuiLinkModule,\n TuiModeModule,\n TuiNotificationModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiTooltipModule,\n} from '@taiga-ui/core';\nimport {\n TuiBadgeModule,\n TuiDataListWrapperModule,\n TuiInputNumberModule,\n TuiSelectModule,\n TuiToggleModule,\n} from '@taiga-ui/kit';\n\nimport {TuiInputOpacityModule} from '../internal/input-opacity/input-opacity.module';\nimport {TuiDocDocumentationComponent} from './documentation.component';\nimport {TuiDocDocumentationPropertyConnectorDirective} from './documentation-property-connector.directive';\nimport {TuiShowCleanerPipe} from './pipes/cleaner.pipe';\nimport {TuiGetColorPipe} from './pipes/color.pipe';\nimport {TuiShowContentTooltip} from './pipes/content-tooltip.pipe';\nimport {TuiInspectPipe} from './pipes/inspect.pipe';\nimport {TuiGetOpacityPipe} from './pipes/opacity.pipe';\nimport {TuiIsOptionalPipe} from './pipes/optional.pipe';\nimport {TuiIsPrimitivePolymorpheusContentPipe} from './pipes/primitive-polymorpheus-content.pipe';\nimport {TuiStripOptionalPipe} from './pipes/strip-optional.pipe';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n TuiBadgeModule,\n TuiSelectModule,\n TuiToggleModule,\n TuiTooltipModule,\n TuiLinkModule,\n TuiInputNumberModule,\n TuiModeModule,\n TuiGroupModule,\n TuiInputOpacityModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiDropdownModule,\n TuiDataListModule,\n TuiDataListWrapperModule,\n TuiNotificationModule,\n TuiFilterPipeModule,\n ],\n declarations: [\n TuiInspectPipe,\n TuiGetColorPipe,\n TuiGetOpacityPipe,\n TuiIsOptionalPipe,\n TuiShowCleanerPipe,\n TuiStripOptionalPipe,\n TuiShowContentTooltip,\n TuiDocDocumentationComponent,\n TuiIsPrimitivePolymorpheusContentPipe,\n TuiDocDocumentationPropertyConnectorDirective,\n ],\n exports: [\n TuiDocDocumentationComponent,\n TuiDocDocumentationPropertyConnectorDirective,\n ],\n})\nexport class TuiDocDocumentationModule {}\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TUI_EXAMPLE_PRIMARY_FILE_NAME} from '@taiga-ui/addon-doc/interfaces';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiDocExampleOptions {\n codeEditorVisibilityHandler: TuiBooleanHandler<Record<string, string>>;\n tabTitles: Map<unknown, PolymorpheusContent>;\n}\n\nexport const TUI_DOC_EXAMPLE_DEFAULT_OPTIONS: TuiDocExampleOptions = {\n codeEditorVisibilityHandler: files =>\n Boolean(\n files[TUI_EXAMPLE_PRIMARY_FILE_NAME.TS] &&\n files[TUI_EXAMPLE_PRIMARY_FILE_NAME.HTML],\n ),\n tabTitles: new Map(),\n};\n\n/**\n * Default parameters for DocExample component\n */\nexport const TUI_DOC_EXAMPLE_OPTIONS = new InjectionToken<TuiDocExampleOptions>(\n `[TUI_DOC_EXAMPLE_OPTIONS]`,\n {\n factory: () => TUI_DOC_EXAMPLE_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiDocExampleOptionsProvider(\n options: Partial<TuiDocExampleOptions>,\n): ValueProvider {\n return {\n provide: TUI_DOC_EXAMPLE_OPTIONS,\n useValue: {...TUI_DOC_EXAMPLE_DEFAULT_OPTIONS, ...options},\n };\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {tuiIsString} from '@taiga-ui/cdk';\nimport {tuiCapitalizeFirstLetter} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Pipe({name: `tuiDocExampleCapitalize`})\nexport class TuiDocExampleCapitalizePipe implements PipeTransform {\n transform(content: PolymorpheusContent): PolymorpheusContent {\n return tuiIsString(content) ? tuiCapitalizeFirstLetter(content) : content;\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: `tuiDocExampleGetTabs`})\nexport class TuiDocExampleGetTabsPipe implements PipeTransform {\n transform(content: Record<string, string>, defaultTab: string): string[] {\n return [defaultTab, ...Object.keys(content)];\n }\n}\n","import {Clipboard} from '@angular/cdk/clipboard';\nimport {Location as NgLocation} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, Inject, Input, Optional} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {LOCATION} from '@ng-web-apis/common';\nimport {TuiCodeEditor, TuiDocExample} from '@taiga-ui/addon-doc/interfaces';\nimport {\n TUI_DOC_CODE_ACTIONS,\n TUI_DOC_CODE_EDITOR,\n TUI_DOC_EXAMPLE_CONTENT_PROCESSOR,\n TUI_DOC_EXAMPLE_TEXTS,\n} from '@taiga-ui/addon-doc/tokens';\nimport {tuiRawLoadRecord} from '@taiga-ui/addon-doc/utils';\nimport {TUI_IS_CYPRESS, TuiContextWithImplicit, TuiHandler} from '@taiga-ui/cdk';\nimport {TuiAlertService, TuiNotification} from '@taiga-ui/core';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable, Subject} from 'rxjs';\nimport {map, switchMap} from 'rxjs/operators';\n\nimport {TUI_DOC_EXAMPLE_OPTIONS, TuiDocExampleOptions} from './example-options';\n\n@Component({\n selector: 'tui-doc-example',\n templateUrl: './example.template.html',\n styleUrls: ['./example.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocExampleComponent {\n private readonly rawLoader$$ = new BehaviorSubject<TuiDocExample>({});\n\n @Input()\n id: string | null = null;\n\n @Input()\n heading: PolymorpheusContent;\n\n @Input()\n description: PolymorpheusContent;\n\n @Input()\n set content(content: TuiDocExample) {\n this.rawLoader$$.next(content);\n }\n\n @Input()\n componentName: string = this.location.pathname.slice(1);\n\n readonly defaultTabIndex = 0;\n\n readonly defaultTab = this.texts[this.defaultTabIndex];\n\n activeItemIndex = this.defaultTabIndex;\n\n readonly copy$ = this.copyTexts$.pipe(map(([copy]) => copy));\n\n readonly processor$: Observable<Record<string, string>> = this.rawLoader$$.pipe(\n switchMap(tuiRawLoadRecord),\n map(value => this.processContent(value)),\n );\n\n readonly loading$ = new Subject<boolean>();\n\n constructor(\n @Inject(Clipboard) private readonly clipboard: Clipboard,\n @Inject(TuiAlertService)\n private readonly alerts: TuiAlertService,\n @Inject(LOCATION) private readonly location: Location,\n @Inject(TUI_COPY_TEXTS) private readonly copyTexts$: Observable<[string, string]>,\n @Inject(TUI_DOC_EXAMPLE_TEXTS) readonly texts: [string, string, string],\n @Optional()\n @Inject(TUI_DOC_CODE_EDITOR)\n readonly codeEditor: TuiCodeEditor | null,\n @Inject(TUI_DOC_EXAMPLE_CONTENT_PROCESSOR)\n private readonly processContent: TuiHandler<\n Record<string, string>,\n Record<string, string>\n >,\n @Inject(TUI_IS_CYPRESS) readonly isCypress: boolean,\n @Inject(TUI_DOC_CODE_ACTIONS)\n readonly codeActions: Array<PolymorpheusContent<TuiContextWithImplicit<string>>>,\n @Inject(Router) private readonly router: Router,\n @Inject(ActivatedRoute) private readonly route: ActivatedRoute,\n @Inject(NgLocation) private readonly ngLocation: NgLocation,\n @Inject(TUI_DOC_EXAMPLE_OPTIONS) private readonly options: TuiDocExampleOptions,\n ) {}\n\n readonly visible = (files: Record<string, string>): boolean =>\n Boolean(this.codeEditor && this.options.codeEditorVisibilityHandler(files));\n\n getTabTitle(fileName: string): PolymorpheusContent {\n return this.options.tabTitles.get(fileName) || fileName;\n }\n\n copyExampleLink(): void {\n const hashPosition = this.location.href.indexOf('#');\n const currentUrl =\n hashPosition > -1\n ? this.location.href.slice(0, Math.max(0, hashPosition))\n : this.location.href;\n const url = `${currentUrl}#${this.id}`;\n\n this.setFragmentWithoutRedirect(this.id);\n this.clipboard.copy(url);\n this.alerts\n .open(this.texts[1], {\n label: this.texts[2],\n status: TuiNotification.Success,\n })\n .subscribe();\n }\n\n edit(files: Record<string, string>): void {\n this.loading$.next(true);\n this.codeEditor\n ?.edit(this.componentName, this.id || '', files)\n // TODO: replace lines below with `finally` when we bump Firefox to 58+\n // TODO: Add `es2018.promise` to `tsconfig.json` => `compilerOptions.lib`.\n .then(() => this.loading$.next(false))\n .catch(() => this.loading$.next(false));\n }\n\n private setFragmentWithoutRedirect(id: string | null): void {\n const url = this.router\n .createUrlTree([], {relativeTo: this.route, fragment: id || ''})\n .toString();\n\n this.ngLocation.go(url);\n }\n}\n","<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=\"tuiIconLink\"\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","import {ClipboardModule} from '@angular/cdk/clipboard';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiLoaderModule} from '@taiga-ui/core';\nimport {TuiTabsModule} from '@taiga-ui/kit';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocCodeModule} from '../code/code.module';\nimport {TuiDocCopyModule} from '../copy/copy.module';\nimport {TuiDocExampleComponent} from './example.component';\nimport {TuiDocExampleCapitalizePipe} from './example-capitalize.pipe';\nimport {TuiDocExampleGetTabsPipe} from './example-get-tabs.pipe';\n\n@NgModule({\n imports: [\n CommonModule,\n ClipboardModule,\n TuiTabsModule,\n TuiButtonModule,\n TuiDocCopyModule,\n TuiDocCodeModule,\n PolymorpheusModule,\n TuiMapperPipeModule,\n TuiLoaderModule,\n ],\n declarations: [\n TuiDocExampleComponent,\n TuiDocExampleGetTabsPipe,\n TuiDocExampleCapitalizePipe,\n ],\n exports: [\n TuiDocExampleComponent,\n TuiDocExampleGetTabsPipe,\n TuiDocExampleCapitalizePipe,\n ],\n})\nexport class TuiDocExampleModule {}\n","import {InjectionToken, Provider} from '@angular/core';\nimport {ActivatedRoute, NavigationEnd, Router} from '@angular/router';\nimport {TUI_DOC_PAGES, TUI_DOC_TITLE} from '@taiga-ui/addon-doc/tokens';\nimport {TuiDocPages} from '@taiga-ui/addon-doc/types';\nimport {TuiDestroyService, tuiIsPresent} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {filter, map, mergeMap, takeUntil} from 'rxjs/operators';\n\n/**\n * Page title\n */\nexport const NAVIGATION_TITLE = new InjectionToken<Observable<string>>(\n `[NAVIGATION_TITLE]`,\n);\n\n/**\n * Navigation sections labels for search\n */\nexport const NAVIGATION_LABELS = new InjectionToken<readonly string[]>(\n `[NAVIGATION_LABELS]`,\n);\n\n/**\n * Navigation pages\n */\nexport const NAVIGATION_ITEMS: InjectionToken<readonly TuiDocPages[]> =\n new InjectionToken<readonly TuiDocPages[]>(`[NAVIGATION_ITEMS]`);\n\nexport const NAVIGATION_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: NAVIGATION_TITLE,\n deps: [Router, ActivatedRoute, TUI_DOC_TITLE, TuiDestroyService],\n useFactory: (\n router: Router,\n activatedRoute: ActivatedRoute,\n titlePrefix: string,\n destroy$: Observable<void>,\n ): Observable<string> => {\n return router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(() => activatedRoute.firstChild),\n filter(tuiIsPresent),\n mergeMap(({data}) => data),\n map(({title}) => `${titlePrefix}${title}`),\n takeUntil(destroy$),\n );\n },\n },\n {\n provide: NAVIGATION_LABELS,\n deps: [TUI_DOC_PAGES],\n useFactory: labelsProviderFactory,\n },\n {\n provide: NAVIGATION_ITEMS,\n deps: [TUI_DOC_PAGES],\n useFactory: (pages: TuiDocPages): readonly TuiDocPages[] => {\n const labels = labelsProviderFactory(pages);\n\n return [\n ...labels.map(label => pages.filter(({section}) => section === label)),\n pages.filter(page => !page.section),\n ];\n },\n },\n];\n\nfunction labelsProviderFactory(pages: TuiDocPages): readonly string[] {\n return pages\n .map(({section}) => section)\n .filter(tuiIsPresent)\n .filter((item, index, array) => array.indexOf(item) === index);\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Optional,\n Self,\n} from '@angular/core';\nimport {FormControl} from '@angular/forms';\nimport {Title} from '@angular/platform-browser';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {TuiDocPage} from '@taiga-ui/addon-doc/interfaces';\nimport {\n TUI_DOC_PAGE_LOADED,\n TUI_DOC_SCROLL_BEHAVIOR,\n TUI_DOC_SEARCH_TEXT,\n} from '@taiga-ui/addon-doc/tokens';\nimport {TuiDocPages} from '@taiga-ui/addon-doc/types';\nimport {tuiTransliterateKeyboardLayout} from '@taiga-ui/addon-doc/utils';\nimport {TuiSidebarDirective} from '@taiga-ui/addon-mobile';\nimport {tuiControlValue, TuiDestroyService, tuiPure, tuiUniqBy} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {TuiInputComponent} from '@taiga-ui/kit';\nimport {Observable} from 'rxjs';\nimport {filter, map, startWith, take, takeUntil} from 'rxjs/operators';\n\nimport {\n NAVIGATION_ITEMS,\n NAVIGATION_LABELS,\n NAVIGATION_PROVIDERS,\n NAVIGATION_TITLE,\n} from './navigation.providers';\n\n@Component({\n selector: 'tui-doc-navigation',\n templateUrl: './navigation.template.html',\n styleUrls: ['./navigation.style.less'],\n providers: NAVIGATION_PROVIDERS,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocNavigationComponent {\n @HostBinding('class._open')\n menuOpen = false;\n\n openPagesArr: boolean[] = [];\n openPagesGroupsArr: boolean[] = [];\n active = '';\n\n readonly search = new FormControl('');\n\n readonly filtered$ = tuiControlValue<string>(this.search).pipe(\n filter(search => search.length > 2),\n map(search => this.filterItems(this.flattenSubPages(this.items), search)),\n );\n\n readonly mode$: Observable<TuiBrightness> = this.mode.change$.pipe(\n startWith(null),\n map(() => this.mode.mode || 'onLight'),\n );\n\n constructor(\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(Title) titleService: Title,\n @Inject(NAVIGATION_TITLE) title$: Observable<string>,\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(TuiModeDirective)\n private readonly mode: TuiModeDirective,\n @Optional()\n @Inject(TuiSidebarDirective)\n readonly sidebar: unknown,\n @Inject(NAVIGATION_LABELS) readonly labels: string[],\n @Inject(NAVIGATION_ITEMS)\n readonly items: readonly TuiDocPages[],\n @Inject(TUI_DOC_SEARCH_TEXT) readonly searchText: string,\n @Inject(Router) private readonly router: Router,\n @Inject(ActivatedRoute) private readonly activatedRoute: ActivatedRoute,\n @Self() @Inject(TuiDestroyService) private readonly destroy$: Observable<void>,\n @Inject(TUI_DOC_PAGE_LOADED)\n private readonly readyToScroll$: Observable<boolean>,\n @Inject(TUI_DOC_SCROLL_BEHAVIOR) private readonly scrollBehavior: ScrollBehavior,\n ) {\n // Angular can't navigate no anchor links\n // https://stackoverflow.com/questions/36101756/angular2-routing-with-hashtag-to-page-anchor\n title$.subscribe(title => {\n cdr.markForCheck();\n titleService.setTitle(title);\n this.openActivePageGroup();\n this.handleAnchorLink(this.activatedRoute.snapshot.fragment || '');\n });\n }\n\n get canOpen(): boolean {\n return (this.search.value?.length ?? 0) > 2;\n }\n\n get itemsWithoutSections(): TuiDocPages {\n return this.items[this.items.length - 1];\n }\n\n $pages(pages: any): readonly TuiDocPage[] {\n return pages as TuiDocPage[];\n }\n\n isActive(route: string): boolean {\n return route === this.active;\n }\n\n onGroupClick(index: number): void {\n this.openPagesGroupsArr[index] = !this.openPagesGroupsArr[index];\n }\n\n closeMenu(): void {\n this.menuOpen = false;\n }\n\n onClick(input: TuiInputComponent): void {\n input.open = false;\n this.menuOpen = false;\n this.search.setValue('');\n this.openActivePageGroup();\n }\n\n @tuiPure\n private filterItems(\n items: ReadonlyArray<readonly TuiDocPage[]>,\n search: string,\n ): ReadonlyArray<readonly TuiDocPage[]> {\n return items.map(section =>\n tuiUniqBy(\n section.filter(({title, keywords = ''}) => {\n title = title.toLowerCase();\n search = search.toLowerCase();\n keywords = keywords.toLowerCase();\n\n return (\n title.includes(search) ||\n keywords.includes(search) ||\n title.includes(tuiTransliterateKeyboardLayout(search)) ||\n keywords.includes(tuiTransliterateKeyboardLayout(search)) ||\n search.replace(/-/gi, '').includes(title)\n );\n }),\n 'title',\n ),\n );\n }\n\n @tuiPure\n private flattenSubPages(\n items: readonly TuiDocPages[],\n ): ReadonlyArray<readonly TuiDocPage[]> {\n return items.reduce<ReadonlyArray<readonly TuiDocPage[]>>(\n (array, item) => [\n ...array,\n item.reduce<readonly TuiDocPage[]>(\n (pages, page) =>\n 'subPages' in page\n ? [...pages, ...page.subPages]\n : [...pages, page],\n [],\n ),\n ],\n [],\n );\n }\n\n private isActiveRoute(route: string): boolean {\n return this.router.isActive(route, {\n paths: 'subset',\n queryParams: 'subset',\n fragment: 'ignored',\n matrixParams: 'ignored',\n });\n }\n\n private handleAnchorLink(hash: string): void {\n this.readyToScroll$\n .pipe(filter(Boolean), take(1), takeUntil(this.destroy$))\n .subscribe(() => this.navigateToAnchorLink(hash));\n }\n\n private openActivePageGroup(): void {\n this.items.forEach((pages, pagesIndex) => {\n pages.forEach((page, pageIndex) => {\n if ('route' in page && this.isActiveRoute(page.route)) {\n this.openPagesArr[pagesIndex] = true;\n this.active = page.route;\n }\n\n if ('subPages' in page) {\n page.subPages.forEach(subPage => {\n if (this.isActiveRoute(subPage.route)) {\n this.openPagesArr[pagesIndex] = true;\n this.openPagesGroupsArr[pagesIndex * 100 + pageIndex] = true;\n this.active = subPage.route;\n }\n });\n }\n });\n });\n }\n\n private navigateToAnchorLink(fragment: string): void {\n const nodes = fragment ? this.doc.querySelectorAll(`#${fragment}`) : [];\n const element = nodes.length && nodes[nodes.length - 1];\n\n if (!element) {\n return;\n }\n\n element.classList.add('tui-doc-animated-example');\n element.scrollIntoView({\n block: 'start',\n inline: 'nearest',\n behavior: this.scrollBehavior,\n });\n }\n}\n","<tui-input\n #input\n tuiTextfieldSize=\"m\"\n tuiTextfieldIconLeft=\"tuiIconSearch\"\n class=\"t-input\"\n [formControl]=\"search\"\n [tuiAutoFocus]=\"!!sidebar\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiTextfieldLabelOutside]=\"true\"\n>\n {{ searchText }}\n <ng-container *ngIf=\"canOpen\">\n <tui-data-list *tuiDataList>\n <tui-opt-group\n *ngFor=\"let group of filtered$ | async; let index = index\"\n [label]=\"labels[index] || ''\"\n >\n <a\n *ngFor=\"let item of group\"\n tuiOption\n [routerLink]=\"item.route\"\n [fragment]=\"item.fragment\"\n (click)=\"onClick(input)\"\n >\n {{ item.title }}\n </a>\n </tui-opt-group>\n </tui-data-list>\n </ng-container>\n</tui-input>\n\n<nav class=\"t-navigation\">\n <tui-scrollbar\n class=\"t-scrollbar\"\n [tuiMode]=\"mode$ | async\"\n >\n <tui-accordion\n [closeOthers]=\"false\"\n [rounded]=\"false\"\n >\n <tui-accordion-item\n *ngFor=\"let label of labels; index as index\"\n size=\"s\"\n [borders]=\"null\"\n [(open)]=\"!!openPagesArr[index]\"\n >\n <span class=\"t-label\">\n <strong>{{ label }}</strong>\n </span>\n <ng-template tuiAccordionItemContent>\n <div class=\"t-section\">\n <ng-container\n *ngFor=\"let item of items[index]; index as subIndex\"\n [ngTemplateOutlet]=\"pages\"\n [ngTemplateOutletContext]=\"{item: item, index: index * 100 + subIndex}\"\n ></ng-container>\n </div>\n </ng-template>\n </tui-accordion-item>\n </tui-accordion>\n <div class=\"t-items-container\">\n <ng-container\n *ngFor=\"let item of itemsWithoutSections; let index = index\"\n [ngTemplateOutlet]=\"pages\"\n [ngTemplateOutletContext]=\"{item: item, index: items.length - 1 + index}\"\n ></ng-container>\n </div>\n\n <ng-template\n #pages\n let-item=\"item\"\n let-index=\"index\"\n >\n <a\n *ngIf=\"!item.subPages; else subPagesTemplate\"\n tuiLink\n routerLinkActive=\"t-sublink_active\"\n class=\"t-sublink\"\n [routerLink]=\"item.route\"\n [tuiScrollIntoViewLink]=\"isActive(item.route)\"\n (click)=\"closeMenu()\"\n >\n {{ item.title }}\n </a>\n <ng-template #subPagesTemplate>\n <div\n routerLinkActive\n class=\"t-subsection\"\n [routerLinkActiveOptions]=\"{exact: false}\"\n >\n <button\n *ngIf=\"item.subPages\"\n tuiLink\n type=\"button\"\n class=\"t-sublink t-sublink_subsection\"\n (click)=\"onGroupClick(index)\"\n >\n <tui-svg\n src=\"tuiIconChevronRight\"\n class=\"t-chevron\"\n [class.t-chevron_active]=\"!!openPagesGroupsArr[index]\"\n ></tui-svg>\n {{ item.title }}\n </button>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"!!openPagesGroupsArr[index]\"\n >\n <div class=\"t-section t-section_bordered\">\n <a\n *ngFor=\"let subPage of $pages(item.subPages)\"\n tuiLink\n routerLinkActive=\"t-sublink_active\"\n class=\"t-sublink t-sublink_small\"\n [routerLink]=\"subPage.route\"\n [fragment]=\"subPage.fragment\"\n [tuiScrollIntoViewLink]=\"isActive(subPage.route)\"\n (click)=\"closeMenu()\"\n >\n {{ subPage.title }}\n </a>\n </div>\n </tui-expand>\n </div>\n </ng-template>\n </ng-template>\n </tui-scrollbar>\n</nav>\n\n<ng-content></ng-content>\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {TUI_DOC_LOGO, TUI_DOC_MENU_TEXT} from '@taiga-ui/addon-doc/tokens';\nimport {ALWAYS_FALSE_HANDLER, TuiSwipeService} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {merge, Subject} from 'rxjs';\nimport {distinctUntilChanged, filter, map, startWith} from 'rxjs/operators';\n\n@Component({\n selector: 'header[tuiDocHeader]',\n templateUrl: './header.template.html',\n styleUrls: ['./header.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocHeaderComponent {\n private readonly stream$ = new Subject<boolean>();\n\n readonly open$ = merge(\n this.router.events.pipe(map(ALWAYS_FALSE_HANDLER)),\n this.stream$,\n this.swipes$.pipe(\n filter(swipe => swipe.direction === 'left' || swipe.direction === 'right'),\n map(swipe => swipe.direction === 'right'),\n ),\n ).pipe(startWith(false), distinctUntilChanged());\n\n constructor(\n @Inject(TUI_DOC_LOGO) readonly logo: PolymorpheusContent,\n @Inject(TUI_DOC_MENU_TEXT) readonly menu: string,\n @Inject(Router) private readonly router: Router,\n @Inject(TuiSwipeService) private readonly swipes$: TuiSwipeService,\n ) {}\n\n onClick(): void {\n this.stream$.next(true);\n }\n\n onActiveZone(active: boolean): void {\n if (!active) {\n this.stream$.next(false);\n }\n }\n}\n","<button\n tuiIconButton\n icon=\"tuiIconMenuLarge\"\n appearance=\"icon\"\n type=\"button\"\n class=\"t-menu\"\n [title]=\"menu\"\n (click)=\"onClick()\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-doc-navigation\n *tuiSidebar=\"!!(open$ | async)\"\n class=\"t-navigation\"\n ></tui-doc-navigation>\n</button>\n<div class=\"t-logo\">\n <img\n *polymorpheusOutlet=\"logo as src\"\n alt=\"Logo\"\n class=\"t-img\"\n [src]=\"src\"\n />\n</div>\n<ng-content></ng-content>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiScrollIntoViewLinkModule} from '@taiga-ui/addon-doc/directives';\nimport {TuiActiveZoneModule, TuiAutoFocusModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiDropdownModule,\n TuiExpandModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiModeModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiAccordionModule, TuiInputModule} from '@taiga-ui/kit';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocNavigationComponent} from './navigation.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n RouterModule,\n PolymorpheusModule,\n TuiScrollIntoViewLinkModule,\n TuiButtonModule,\n TuiInputModule,\n TuiTextfieldControllerModule,\n TuiActiveZoneModule,\n TuiLetModule,\n TuiModeModule,\n TuiLinkModule,\n TuiExpandModule,\n TuiHostedDropdownModule,\n TuiDropdownModule,\n TuiAccordionModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiDataListModule,\n TuiAutoFocusModule,\n ],\n declarations: [TuiDocNavigationComponent],\n exports: [TuiDocNavigationComponent],\n})\nexport class TuiDocNavigationModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSidebarModule} from '@taiga-ui/addon-mobile';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocNavigationModule} from '../../navigation/navigation.module';\nimport {TuiDocHeaderComponent} from './header.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiButtonModule,\n TuiSidebarModule,\n TuiActiveZoneModule,\n TuiDocNavigationModule,\n ],\n declarations: [TuiDocHeaderComponent],\n exports: [TuiDocHeaderComponent],\n})\nexport class TuiDocHeaderModule {}\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport type {TuiDocPage} from '@taiga-ui/addon-doc/interfaces';\nimport {TUI_DOC_MAP_PAGES, TUI_DOC_SEE_ALSO_TEXT} from '@taiga-ui/addon-doc/tokens';\n\n@Component({\n selector: 'tui-doc-see-also',\n templateUrl: './see-also.template.html',\n styleUrls: ['./see-also.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocSeeAlsoComponent {\n @Input()\n seeAlso: readonly string[] = [];\n\n constructor(\n @Inject(TUI_DOC_SEE_ALSO_TEXT) readonly text: string,\n @Inject(TUI_DOC_MAP_PAGES) private readonly pages: Map<string, TuiDocPage>,\n ) {}\n\n getRouterLink(pageTitle: string): string {\n return this.pages.get(pageTitle)?.route ?? '';\n }\n}\n","<h5 class=\"t-header\">{{ text }}</h5>\n<ng-container *ngFor=\"let item of seeAlso; last as last\">\n <a\n tuiLink\n [routerLink]=\"getRouterLink(item)\"\n [innerText]=\"item\"\n ></a>\n <ng-container *ngIf=\"!last\">{{ ', ' }}</ng-container>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiLinkModule} from '@taiga-ui/core';\n\nimport {TuiDocSeeAlsoComponent} from './see-also.component';\n\n@NgModule({\n imports: [CommonModule, RouterModule, TuiLinkModule],\n declarations: [TuiDocSeeAlsoComponent],\n exports: [TuiDocSeeAlsoComponent],\n})\nexport class TuiDocSeeAlsoModule {}\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {TuiDocSourceCodePathOptions} from '@taiga-ui/addon-doc/interfaces';\nimport {TUI_DOC_SOURCE_CODE, TUI_DOC_SOURCE_CODE_TEXT} from '@taiga-ui/addon-doc/tokens';\nimport {tuiPure} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Component({\n selector: 'tui-doc-source-code',\n templateUrl: './source-code.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocSourceCodeComponent {\n @Input()\n header = '';\n\n @Input()\n package = '';\n\n @Input()\n type = '';\n\n @Input()\n path = '';\n\n constructor(\n @Inject(TUI_DOC_SOURCE_CODE)\n readonly sourceCode: PolymorpheusContent<TuiDocSourceCodePathOptions>,\n @Inject(TUI_DOC_SOURCE_CODE_TEXT) readonly text: string,\n ) {}\n\n get pathOptions(): TuiDocSourceCodePathOptions {\n return this.getPathOptions(this.header, this.package, this.type, this.path);\n }\n\n @tuiPure\n private getPathOptions(\n header: string,\n packageName: string,\n type: string,\n path: string,\n ): TuiDocSourceCodePathOptions {\n return {\n header,\n package: packageName,\n type,\n path,\n };\n }\n}\n","<a\n *polymorpheusOutlet=\"sourceCode as link; context: pathOptions\"\n tuiIconButton\n type=\"button\"\n icon=\"tuiIconCode\"\n appearance=\"icon\"\n target=\"_blank\"\n size=\"s\"\n [title]=\"text\"\n [href]=\"link\"\n></a>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocSourceCodeComponent} from './source-code.component';\n\n@NgModule({\n declarations: [TuiDocSourceCodeComponent],\n imports: [CommonModule, PolymorpheusModule, TuiButtonModule],\n exports: [TuiDocSourceCodeComponent],\n})\nexport class TuiDocSourceCodeModule {}\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {FormControl} from '@angular/forms';\nimport {tuiCapitalizeFirstLetter, TuiFlagPipe} from '@taiga-ui/core';\nimport {TuiCountryIsoCode, TuiLanguageName, TuiLanguageSwitcher} from '@taiga-ui/i18n';\n\n@Component({\n selector: 'tui-language-switcher',\n templateUrl: './language-switcher.component.html',\n styleUrls: ['./language-switcher.component.less'],\n providers: [\n // TODO: for backward compatibility only. Drop in v4.0\n TuiFlagPipe,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiLanguageSwitcherComponent {\n readonly language = new FormControl(tuiCapitalizeFirstLetter(this.switcher.language));\n\n readonly flags = new Map<TuiLanguageName, TuiCountryIsoCode>([\n ['chinese', TuiCountryIsoCode.CN],\n ['dutch', TuiCountryIsoCode.NL],\n ['english', TuiCountryIsoCode.GB],\n ['french', TuiCountryIsoCode.FR],\n ['german', TuiCountryIsoCode.DE],\n ['italian', TuiCountryIsoCode.IT],\n ['polish', TuiCountryIsoCode.PL],\n ['portuguese', TuiCountryIsoCode.PT],\n ['russian', TuiCountryIsoCode.RU],\n ['spanish', TuiCountryIsoCode.ES],\n ['turkish', TuiCountryIsoCode.TR],\n ['ukrainian', TuiCountryIsoCode.UA],\n ['vietnamese', TuiCountryIsoCode.VN],\n ]);\n\n readonly names: TuiLanguageName[] = Array.from(this.flags.keys());\n\n constructor(\n @Inject(TuiLanguageSwitcher) readonly switcher: TuiLanguageSwitcher,\n @Inject(TuiFlagPipe) private readonly flagPipe: TuiFlagPipe,\n ) {}\n\n /**\n * @deprecated use `<img [src]=\"countryIsoCode | tuiFlagPipe\" />`\n * TODO drop in v4.0\n */\n getFlagPath(code?: TuiCountryIsoCode): string | null {\n return this.flagPipe.transform(code);\n }\n}\n","<tui-select [formControl]=\"language\">\n <ng-content></ng-content>\n <tui-data-list *tuiDataList>\n <button\n *ngFor=\"let name of names\"\n tuiOption\n [value]=\"name | titlecase\"\n (click)=\"switcher.setLanguage(name)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"flags.get(name) | tuiFlag\"\n />\n {{ name | titlecase }}\n </button>\n </tui-data-list>\n</tui-select>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {TuiDataListModule, TuiFlagPipeModule} from '@taiga-ui/core';\nimport {TuiSelectModule} from '@taiga-ui/kit';\n\nimport {TuiLanguageSwitcherComponent} from './language-switcher.component';\n\n@NgModule({\n exports: [TuiLanguageSwitcherComponent],\n declarations: [TuiLanguageSwitcherComponent],\n imports: [\n CommonModule,\n TuiFlagPipeModule,\n TuiSelectModule,\n TuiDataListModule,\n ReactiveFormsModule,\n ],\n})\nexport class TuiLanguageSwitcherModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n HostBinding,\n Inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TuiThemeNightService, TuiThemeService} from '@taiga-ui/addon-doc/services';\nimport {TuiSwipeService} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {distinctUntilChanged, map, share, startWith} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-doc-main',\n templateUrl: './main.template.html',\n styleUrls: ['./main.style.less'],\n encapsulation: ViewEncapsulation.None,\n // @note: This one was default on purpose so we can test demo in default mode.\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [\n {\n provide: TuiModeDirective,\n useExisting: forwardRef(() => TuiDocMainComponent),\n },\n TuiSwipeService,\n ],\n})\nexport class TuiDocMainComponent {\n readonly change$ = this.night;\n\n readonly night$ = this.change$.pipe(\n startWith(null),\n map(() => this.night.value),\n distinctUntilChanged(),\n share(),\n );\n\n constructor(\n @Inject(TuiThemeService) readonly theme: TuiThemeService,\n @Inject(TuiThemeNightService) readonly night: TuiThemeNightService,\n ) {}\n\n @HostBinding('attr.data-mode')\n get mode(): TuiBrightness | null {\n return this.night.value ? 'onDark' : null;\n }\n}\n","<tui-theme-night *ngIf=\"theme.isDefaultTheme && night.useDefaultNightTheme && (night$ | async)\"></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 <ng-content select=\"tuiDocHeader\"></ng-content>\n <button\n tuiIconButton\n tuiMode=\"onLight\"\n appearance=\"secondary\"\n size=\"s\"\n shape=\"rounded\"\n type=\"button\"\n class=\"tui-doc-night-mode-switch\"\n [icon]=\"night.value ? 'tuiIconSun' : 'tuiIconMoon'\"\n (click)=\"night.toggle()\"\n ></button>\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","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {\n TuiAlertModule,\n TuiButtonModule,\n TuiDialogModule,\n TuiModeModule,\n TuiRootModule,\n TuiThemeNightModule,\n} from '@taiga-ui/core';\n\nimport {TuiDocHeaderModule} from '../internal/header/header.module';\nimport {TuiDocNavigationModule} from '../navigation/navigation.module';\nimport {TuiDocMainComponent} from './main.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n TuiThemeNightModule,\n TuiDocHeaderModule,\n TuiRootModule,\n TuiDialogModule,\n TuiAlertModule,\n TuiButtonModule,\n TuiModeModule,\n TuiDocNavigationModule,\n ],\n declarations: [TuiDocMainComponent],\n exports: [TuiDocMainComponent],\n})\nexport class TuiDocMainModule {}\n","import {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {TUI_DOC_SEE_ALSO} from '@taiga-ui/addon-doc/tokens';\n\n/**\n * Array if related page titles\n */\nexport const PAGE_SEE_ALSO = new InjectionToken<readonly string[]>(`[PAGE_SEE_ALSO]`);\n\nexport const PAGE_PROVIDERS: Provider[] = [\n {\n provide: PAGE_SEE_ALSO,\n deps: [ElementRef, TUI_DOC_SEE_ALSO],\n useFactory: (\n {nativeElement}: ElementRef,\n seeAlsoGroups: ReadonlyArray<readonly string[]>,\n ): readonly string[] => {\n const currentHeader = nativeElement.getAttribute(`header`);\n const groups =\n seeAlsoGroups.filter(group => group.includes(currentHeader)) || [];\n\n const seeAlsoSet = new Set(\n groups\n .join()\n .split(`,`)\n .filter(component => component && component !== currentHeader),\n );\n\n return Array.from(seeAlsoSet);\n },\n },\n];\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[pageTab]',\n})\nexport class TuiDocPageTabConnectorDirective {\n @Input()\n pageTab?: string | '';\n\n constructor(\n @Inject(TemplateRef) readonly template: TemplateRef<Record<string, unknown>>,\n ) {}\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {TUI_DOC_DEFAULT_TABS} from '@taiga-ui/addon-doc/tokens';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\n\nimport {PAGE_PROVIDERS, PAGE_SEE_ALSO} from './page.providers';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\n\n@Component({\n selector: 'tui-doc-page',\n templateUrl: './page.template.html',\n styleUrls: ['./page.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: PAGE_PROVIDERS,\n})\nexport class TuiDocPageComponent {\n @Input()\n header = '';\n\n @Input()\n package = '';\n\n @Input()\n type = '';\n\n @Input()\n path = '';\n\n @Input()\n deprecated: boolean | '' = false;\n\n @ContentChildren(TuiDocPageTabConnectorDirective)\n readonly tabConnectors: QueryList<TuiDocPageTabConnectorDirective> = EMPTY_QUERY;\n\n activeItemIndex = 0;\n\n readonly from = / /g;\n readonly to = '_';\n\n constructor(\n @Inject(TUI_DOC_DEFAULT_TABS) readonly defaultTabs: readonly string[],\n @Inject(PAGE_SEE_ALSO) readonly seeAlso: readonly string[],\n ) {}\n\n get showSeeAlso(): boolean {\n return !!this.seeAlso.length && this.activeItemIndex === 0;\n }\n}\n","<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=\"tab.pageTab || defaultTabs[index] as tabName\">\n <a\n *tuiItem\n tuiTab\n routerLinkActive\n [routerLinkActiveOptions]=\"{exact: first}\"\n [routerLink]=\"first ? './' : (tabName | tuiReplace : from : to)\"\n >\n {{ tabName }}\n </a>\n </ng-container>\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","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiReplacePipeModule} from '@taiga-ui/cdk';\nimport {TuiTabsModule, TuiTagModule} from '@taiga-ui/kit';\n\nimport {TuiDocSeeAlsoModule} from '../internal/see-also/see-also.module';\nimport {TuiDocSourceCodeModule} from '../internal/source-code/source-code.module';\nimport {TuiDocPageComponent} from './page.component';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n TuiDocSeeAlsoModule,\n TuiTabsModule,\n TuiTagModule,\n TuiDocSourceCodeModule,\n TuiReplacePipeModule,\n ],\n declarations: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n exports: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n})\nexport class TuiDocPageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","Location","i3","i6","i4","i5.TuiInputOpacityDirective","i7.TuiStripOptionalPipe","i8.TuiIsOptionalPipe","i9.TuiShowContentTooltip","i10.TuiShowCleanerPipe","i11.TuiInspectPipe","i12.TuiGetOpacityPipe","i13.TuiGetColorPipe","i14.TuiIsPrimitivePolymorpheusContentPipe","NgLocation","i3.TuiDocCopyComponent","i4.TuiDocCodeComponent","i5","i7","i9.TuiDocExampleCapitalizePipe","i10.TuiDocExampleGetTabsPipe","i2.TuiDocNavigationComponent","i3.TuiDocHeaderComponent","i2.TuiDocSourceCodeComponent","i3.TuiDocSeeAlsoComponent"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-doc-components.js","sources":["../../../projects/addon-doc/components/code/code.component.ts","../../../projects/addon-doc/components/code/code.template.html","../../../projects/addon-doc/components/code/code.module.ts","../../../projects/addon-doc/components/copy/copy.component.ts","../../../projects/addon-doc/components/copy/copy.template.html","../../../projects/addon-doc/components/copy/copy.module.ts","../../../projects/addon-doc/components/demo/demo.component.ts","../../../projects/addon-doc/components/demo/demo.template.html","../../../projects/addon-doc/components/demo/demo.module.ts","../../../projects/addon-doc/components/documentation/documentation-property-connector.directive.ts","../../../projects/addon-doc/components/documentation/pipes/color.pipe.ts","../../../projects/addon-doc/components/documentation/pipes/opacity.pipe.ts","../../../projects/addon-doc/components/internal/input-opacity/input-opacity.directive.ts","../../../projects/addon-doc/components/documentation/pipes/strip-optional.pipe.ts","../../../projects/addon-doc/components/documentation/pipes/optional.pipe.ts","../../../projects/addon-doc/components/documentation/pipes/content-tooltip.pipe.ts","../../../projects/addon-doc/components/documentation/pipes/cleaner.pipe.ts","../../../projects/addon-doc/components/documentation/pipes/inspect.pipe.ts","../../../projects/addon-doc/components/documentation/pipes/primitive-polymorpheus-content.pipe.ts","../../../projects/addon-doc/components/documentation/documentation.component.ts","../../../projects/addon-doc/components/documentation/documentation.template.html","../../../projects/addon-doc/components/internal/input-opacity/input-opacity.module.ts","../../../projects/addon-doc/components/documentation/documentation.module.ts","../../../projects/addon-doc/components/example/example.options.ts","../../../projects/addon-doc/components/example/example-capitalize.pipe.ts","../../../projects/addon-doc/components/example/example-get-tabs.pipe.ts","../../../projects/addon-doc/components/example/example.component.ts","../../../projects/addon-doc/components/example/example.template.html","../../../projects/addon-doc/components/example/example.module.ts","../../../projects/addon-doc/components/navigation/navigation.providers.ts","../../../projects/addon-doc/components/navigation/navigation.component.ts","../../../projects/addon-doc/components/navigation/navigation.template.html","../../../projects/addon-doc/components/internal/header/header.component.ts","../../../projects/addon-doc/components/internal/header/header.template.html","../../../projects/addon-doc/components/navigation/navigation.module.ts","../../../projects/addon-doc/components/internal/header/header.module.ts","../../../projects/addon-doc/components/internal/see-also/see-also.component.ts","../../../projects/addon-doc/components/internal/see-also/see-also.template.html","../../../projects/addon-doc/components/internal/see-also/see-also.module.ts","../../../projects/addon-doc/components/internal/source-code/source-code.component.ts","../../../projects/addon-doc/components/internal/source-code/source-code.template.html","../../../projects/addon-doc/components/internal/source-code/source-code.module.ts","../../../projects/addon-doc/components/language-switcher/language-switcher.component.ts","../../../projects/addon-doc/components/language-switcher/language-switcher.component.html","../../../projects/addon-doc/components/language-switcher/language-switcher.module.ts","../../../projects/addon-doc/components/main/main.component.ts","../../../projects/addon-doc/components/main/main.template.html","../../../projects/addon-doc/components/main/main.module.ts","../../../projects/addon-doc/components/page/page.providers.ts","../../../projects/addon-doc/components/page/page-tab.directive.ts","../../../projects/addon-doc/components/page/page.component.ts","../../../projects/addon-doc/components/page/page.template.html","../../../projects/addon-doc/components/page/page.module.ts","../../../projects/addon-doc/components/taiga-ui-addon-doc-components.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {RawLoaderContent} from '@taiga-ui/addon-doc/interfaces';\nimport {TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR} from '@taiga-ui/addon-doc/tokens';\nimport {tuiRawLoad} from '@taiga-ui/addon-doc/utils';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {BehaviorSubject} from 'rxjs';\nimport {map, switchMap} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-doc-code',\n templateUrl: './code.template.html',\n styleUrls: ['./code.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocCodeComponent {\n private readonly rawLoader$$ = new BehaviorSubject<RawLoaderContent>('');\n\n @Input()\n filename = '';\n\n readonly processor$ = this.rawLoader$$.pipe(\n switchMap(tuiRawLoad),\n map((value: string): string[] => this.markdownCodeProcessor(value)),\n );\n\n constructor(\n @Inject(TUI_DOC_EXAMPLE_MARKDOWN_CODE_PROCESSOR)\n readonly markdownCodeProcessor: TuiHandler<string, string[]>,\n ) {}\n\n @Input()\n set code(code: RawLoaderContent) {\n this.rawLoader$$.next(code);\n }\n\n @HostBinding('class._has-filename')\n get hasFilename(): boolean {\n return !!this.filename;\n }\n}\n","<!-- 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","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {HighlightModule} from 'ngx-highlightjs';\n\nimport {TuiDocCodeComponent} from './code.component';\n\n@NgModule({\n imports: [CommonModule, HighlightModule],\n declarations: [TuiDocCodeComponent],\n exports: [TuiDocCodeComponent],\n})\nexport class TuiDocCodeModule {}\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {ALWAYS_FALSE_HANDLER, TuiDestroyService, tuiPure} from '@taiga-ui/cdk';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit';\nimport {Observable, Subject, timer} from 'rxjs';\nimport {map, startWith, switchMap} from 'rxjs/operators';\n\nconst COPIED_TIMEOUT = 1500;\n\n@Component({\n selector: 'tui-doc-copy',\n templateUrl: './copy.template.html',\n styleUrls: ['./copy.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiDocCopyComponent {\n private readonly copy$ = new Subject<void>();\n\n constructor(@Inject(TUI_COPY_TEXTS) readonly texts$: Observable<[string, string]>) {}\n\n @tuiPure\n get copied$(): Observable<boolean> {\n return this.copy$.pipe(\n switchMap(() =>\n timer(COPIED_TIMEOUT).pipe(map(ALWAYS_FALSE_HANDLER), startWith(true)),\n ),\n );\n }\n\n onClick(): void {\n this.copy$.next();\n }\n}\n","<button\n *ngIf=\"texts$ | async as texts\"\n tuiButton\n type=\"button\"\n appearance=\"\"\n size=\"s\"\n class=\"t-copy\"\n [title]=\"texts[0]\"\n (click)=\"onClick()\"\n>\n <span\n class=\"t-content\"\n [class.t-content_moved]=\"copied$ | async\"\n >\n <span\n class=\"t-initial\"\n [attr.data-text]=\"texts[0]\"\n >\n <ng-content></ng-content>\n </span>\n {{ texts[1] }}\n </span>\n</button>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\n\nimport {TuiDocCopyComponent} from './copy.component';\n\n@NgModule({\n imports: [CommonModule, TuiButtonModule],\n declarations: [TuiDocCopyComponent],\n exports: [TuiDocCopyComponent],\n})\nexport class TuiDocCopyModule {}\n","import {Location} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {AbstractControl, FormGroup} from '@angular/forms';\nimport {Params, UrlSerializer, UrlTree} from '@angular/router';\nimport {TuiDemoParams} from '@taiga-ui/addon-doc/interfaces';\nimport {TUI_DOC_DEMO_TEXTS, TUI_DOC_URL_STATE_HANDLER} from '@taiga-ui/addon-doc/tokens';\nimport {tuiCoerceValueIsTrue} from '@taiga-ui/addon-doc/utils';\nimport {\n TUI_IS_MOBILE,\n tuiClamp,\n tuiCleanObject,\n TuiDestroyService,\n tuiPure,\n tuiPx,\n TuiResizeableDirective,\n TuiStringHandler,\n tuiToInteger,\n} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\n\nconst MIN_WIDTH = 160;\n\n@Component({\n selector: 'tui-doc-demo',\n templateUrl: './demo.template.html',\n styleUrls: ['./demo.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n {\n provide: TuiModeDirective,\n useExisting: forwardRef(() => TuiDocDemoComponent),\n },\n ],\n})\nexport class TuiDocDemoComponent implements OnInit {\n @ViewChild(TuiResizeableDirective, {static: true})\n private readonly resizeable?: ElementRef<HTMLElement>;\n\n @ViewChild('content', {static: true})\n private readonly content?: ElementRef<HTMLElement>;\n\n @ViewChild('resizer', {static: true})\n private readonly resizer?: ElementRef<HTMLElement>;\n\n @Input()\n control: AbstractControl | null = null;\n\n @Input()\n @HostBinding('class._sticky')\n sticky = true;\n\n @ContentChild(TemplateRef)\n readonly template: TemplateRef<Record<string, unknown>> | null = null;\n\n testForm?: FormGroup;\n\n readonly updateOnVariants = ['change', 'blur', 'submit'] as const;\n\n updateOn: 'blur' | 'change' | 'submit' =\n this.params.updateOn || this.updateOnVariants[0];\n\n opaque = tuiCoerceValueIsTrue(this.params.sandboxOpaque ?? true);\n expanded = tuiCoerceValueIsTrue(this.params.sandboxExpanded ?? false);\n mode: TuiBrightness | null = this.params.tuiMode || null;\n sandboxWidth = tuiToInteger(this.params.sandboxWidth);\n\n readonly change$ = new Subject<void>();\n readonly items: readonly TuiBrightness[] = ['onLight', 'onDark'];\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(Location) private readonly locationRef: Location,\n @Inject(UrlSerializer) private readonly urlSerializer: UrlSerializer,\n @Inject(TUI_DOC_DEMO_TEXTS) readonly texts: [string, string, string],\n @Inject(TUI_DOC_URL_STATE_HANDLER)\n private readonly urlStateHandler: TuiStringHandler<UrlTree>,\n ) {}\n\n @HostListener('window:resize')\n onResize(): void {\n this.updateWidth();\n this.onMouseUp();\n }\n\n @HostListener('document:mouseup.silent')\n onMouseUp(): void {\n this.updateUrl({sandboxWidth: this.sandboxWidth});\n }\n\n ngOnInit(): void {\n this.createForm();\n this.updateWidth(this.sandboxWidth + this.delta);\n }\n\n onModeChange(mode: TuiBrightness | null): void {\n this.mode = mode;\n this.updateUrl({sandboxWidth: this.sandboxWidth});\n this.change$.next();\n }\n\n toggleDetails(): void {\n this.expanded = !this.expanded;\n this.updateUrl({sandboxExpanded: this.expanded});\n }\n\n changeOpaque(opaque: boolean): void {\n this.opaque = opaque;\n this.updateUrl({sandboxOpaque: this.opaque});\n }\n\n updateOnChange(updateOn: 'blur' | 'change' | 'submit'): void {\n this.updateOn = updateOn;\n this.updateUrl({updateOn});\n this.createForm();\n }\n\n updateWidth(width: number = NaN): void {\n if (!this.resizer || !this.resizeable || !this.content) {\n return;\n }\n\n const safe = width || this.resizeable.nativeElement.clientWidth;\n const total = this.el.nativeElement.clientWidth;\n const clamped = Math.round(tuiClamp(safe, MIN_WIDTH, total)) - this.delta;\n const validated = safe < total ? clamped : NaN;\n\n this.resizer.nativeElement.textContent = String(clamped || '-');\n this.resizeable.nativeElement.style.width = validated ? tuiPx(safe) : '';\n this.sandboxWidth = validated;\n }\n\n private get delta(): number {\n return this.resizeable && this.content\n ? this.resizeable.nativeElement.clientWidth -\n this.content.nativeElement.clientWidth\n : 0;\n }\n\n @tuiPure\n private updateUrl(params: TuiDemoParams): void {\n const tree = this.getUrlTree();\n const {queryParams} = tree;\n\n delete queryParams.sandboxWidth;\n delete queryParams.tuiMode;\n\n tree.queryParams = {\n ...queryParams,\n ...tuiCleanObject({tuiMode: this.mode, ...params}),\n };\n\n this.locationRef.go(this.urlStateHandler(tree));\n }\n\n private createForm(): void {\n const {control, updateOn} = this;\n\n if (control) {\n this.testForm = new FormGroup({testValue: control}, {updateOn});\n }\n }\n\n private getUrlTree(): UrlTree {\n return this.urlSerializer.parse(this.locationRef.path());\n }\n\n private get params(): Params | TuiDemoParams {\n return this.getUrlTree().queryParams;\n }\n}\n","<div\n class=\"t-bg-toggle\"\n [tuiMode]=\"null\"\n>\n <ng-template #tooltip>\n {{ texts[0] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n routerLink=\"/directives/mode\"\n >\n <code>tuiMode</code>\n </a>\n </ng-template>\n <ng-container *ngIf=\"isMobile; else desktop\">\n <tui-select\n tuiTextfieldSize=\"s\"\n class=\"t-mode\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiHintContent]=\"tooltip\"\n [ngModel]=\"mode\"\n (ngModelChange)=\"onModeChange($event)\"\n >\n tuiMode\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"items\"\n ></tui-data-list-wrapper>\n </tui-select>\n </ng-container>\n <ng-template #desktop>\n tuiMode:\n <tui-tooltip\n describeId=\"form\"\n [content]=\"tooltip\"\n ></tui-tooltip>\n <div\n tuiGroup\n class=\"t-group\"\n [collapsed]=\"true\"\n >\n <tui-radio-block\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [item]=\"null\"\n [hideRadio]=\"true\"\n [ngModel]=\"mode\"\n (ngModelChange)=\"onModeChange($event)\"\n >\n null\n </tui-radio-block>\n <tui-radio-block\n item=\"onDark\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [ngModel]=\"mode\"\n (ngModelChange)=\"onModeChange($event)\"\n >\n onDark\n </tui-radio-block>\n <tui-radio-block\n item=\"onLight\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [ngModel]=\"mode\"\n (ngModelChange)=\"onModeChange($event)\"\n >\n onLight\n </tui-radio-block>\n </div>\n </ng-template>\n <tui-checkbox-labeled\n size=\"m\"\n class=\"t-checkbox\"\n [ngModel]=\"opaque\"\n (ngModelChange)=\"changeOpaque($event)\"\n >\n {{ texts[1] }}\n </tui-checkbox-labeled>\n</div>\n<div\n tuiResizeable\n class=\"t-wrapper\"\n [class.t-wrapper_dark]=\"mode === 'onDark'\"\n [class.t-wrapper_gray]=\"mode === 'onLight'\"\n [class.t-wrapper_transparent]=\"!opaque\"\n>\n <div\n id=\"demo-content\"\n class=\"t-content\"\n >\n <div #content>\n <form\n *ngIf=\"testForm\"\n class=\"t-form\"\n [formGroup]=\"testForm\"\n >\n <div class=\"t-input-wrapper\">\n <ng-container [ngTemplateOutlet]=\"template\"></ng-container>\n </div>\n <button\n tuiButton\n type=\"button\"\n size=\"s\"\n automation-id=\"tui-demo-button__toggle-details\"\n class=\"t-button\"\n [iconRight]=\"icon\"\n (click)=\"toggleDetails()\"\n >\n {{ texts[2] }}\n </button>\n <ng-template #icon>\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"expanded\"\n ></tui-svg>\n </ng-template>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"expanded\"\n >\n <ng-template tuiExpandContent>\n <pre class=\"t-value\">Form data: {{ testForm.value | json }}</pre>\n <div\n tuiGroup\n class=\"t-form-controls\"\n >\n <tui-select\n tuiTextfieldSize=\"s\"\n automation-id=\"tui-demo-select__expand-update-on\"\n class=\"t-select\"\n [ngModel]=\"updateOn\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"updateOnChange($event)\"\n >\n updateOn\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"updateOnVariants\"\n ></tui-data-list-wrapper>\n </tui-select>\n <button\n tuiButton\n type=\"reset\"\n size=\"s\"\n automation-id=\"tui-demo-button__reset-state\"\n class=\"tui-group__auto-width-item\"\n >\n Reset\n </button>\n <button\n tuiButton\n type=\"submit\"\n size=\"s\"\n automation-id=\"tui-demo-button__submit-state\"\n class=\"tui-group__auto-width-item\"\n >\n Submit\n </button>\n </div>\n </ng-template>\n </tui-expand>\n </form>\n <ng-content></ng-content>\n </div>\n </div>\n <div\n #resizer\n class=\"t-resizer\"\n [tuiResizer]=\"[1, 0]\"\n (tuiSizeChange)=\"updateWidth($event[0])\"\n ></div>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiResizerModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiHintModule,\n TuiLinkModule,\n TuiModeModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n TuiTooltipModule,\n} from '@taiga-ui/core';\nimport {\n TuiCheckboxLabeledModule,\n TuiDataListWrapperModule,\n TuiRadioBlockModule,\n TuiSelectModule,\n} from '@taiga-ui/kit';\n\nimport {TuiDocDemoComponent} from './demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n RouterModule,\n TuiLinkModule,\n TuiButtonModule,\n TuiSelectModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiTooltipModule,\n TuiModeModule,\n TuiRadioBlockModule,\n TuiCheckboxLabeledModule,\n TuiSvgModule,\n TuiDataListWrapperModule,\n TuiDataListModule,\n TuiTextfieldControllerModule,\n TuiHintModule,\n TuiResizerModule,\n ],\n declarations: [TuiDocDemoComponent],\n exports: [TuiDocDemoComponent],\n})\nexport class TuiDocDemoModule {}\n","import {Location} from '@angular/common';\nimport {\n Directive,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport {ActivatedRoute, Params, UrlSerializer, UrlTree} from '@angular/router';\nimport {TUI_DOC_URL_STATE_HANDLER} from '@taiga-ui/addon-doc/tokens';\nimport {tuiCoerceValue} from '@taiga-ui/addon-doc/utils';\nimport {tuiIsNumber, TuiStringHandler} from '@taiga-ui/cdk';\nimport {BehaviorSubject, Subject} from 'rxjs';\n\nconst SERIALIZED_SUFFIX = '$';\n\nexport type DocumentationPropertyType = 'input-output' | 'input' | 'output' | null;\n\n// @bad TODO: refactor output and value sync\n@Directive({\n selector: 'ng-template[documentationPropertyName]',\n exportAs: 'documentationProperty',\n})\nexport class TuiDocDocumentationPropertyConnectorDirective<T>\n implements OnInit, OnChanges\n{\n @Input()\n documentationPropertyName = '';\n\n @Input()\n documentationPropertyMode: DocumentationPropertyType = null;\n\n @Input()\n documentationPropertyType = '';\n\n @Input()\n documentationPropertyValue!: T;\n\n @Input()\n documentationPropertyDeprecated = false;\n\n @Input()\n documentationPropertyValues: readonly T[] | null = null;\n\n @Output()\n readonly documentationPropertyValueChange = new EventEmitter<T>();\n\n readonly changed$ = new Subject<void>();\n\n readonly emits$ = new BehaviorSubject(1);\n\n constructor(\n @Inject(TemplateRef) readonly template: TemplateRef<Record<string, unknown>>,\n @Inject(Location) private readonly locationRef: Location,\n @Inject(ActivatedRoute) private readonly activatedRoute: ActivatedRoute,\n @Inject(UrlSerializer) private readonly urlSerializer: UrlSerializer,\n @Inject(TUI_DOC_URL_STATE_HANDLER)\n private readonly urlStateHandler: TuiStringHandler<UrlTree>,\n ) {}\n\n ngOnInit(): void {\n this.parseParams(this.activatedRoute.snapshot.queryParams);\n }\n\n get attrName(): string {\n switch (this.documentationPropertyMode) {\n case 'input':\n return `[${this.documentationPropertyName}]`;\n case 'output':\n return `(${this.documentationPropertyName})`;\n case 'input-output':\n return `[(${this.documentationPropertyName})]`;\n default:\n return this.documentationPropertyName;\n }\n }\n\n get hasItems(): boolean {\n return !!this.documentationPropertyValues;\n }\n\n get shouldShowValues(): boolean {\n return this.documentationPropertyMode !== 'output';\n }\n\n ngOnChanges(): void {\n this.changed$.next();\n }\n\n onValueChange(value: T): void {\n this.documentationPropertyValue = value;\n this.documentationPropertyValueChange.emit(value);\n this.setQueryParam(value);\n }\n\n emitEvent(event: unknown): void {\n // For more convenient debugging\n console.info(this.attrName, event);\n\n this.emits$.next(this.emits$.value + 1);\n }\n\n private parseParams(params: Params): void {\n const propertyValue: string | undefined = params[this.documentationPropertyName];\n const propertyValueWithSuffix: number | string | undefined =\n params[`${this.documentationPropertyName}${SERIALIZED_SUFFIX}`];\n\n if (!propertyValue && !propertyValueWithSuffix) {\n return;\n }\n\n let value =\n !!propertyValueWithSuffix && this.documentationPropertyValues\n ? this.documentationPropertyValues[propertyValueWithSuffix as number]\n : tuiCoerceValue(propertyValue);\n\n if (this.documentationPropertyType === 'string' && tuiIsNumber(value)) {\n value = value.toString();\n }\n\n this.onValueChange(value as T);\n }\n\n private setQueryParam(value: T | boolean | number | string | null): void {\n const tree = this.urlSerializer.parse(this.locationRef.path());\n\n const isValueAvailableByKey = value instanceof Object;\n const computedValue =\n isValueAvailableByKey && this.documentationPropertyValues\n ? this.documentationPropertyValues.indexOf(value as T)\n : value;\n\n const suffix = isValueAvailableByKey ? SERIALIZED_SUFFIX : '';\n const propName = this.documentationPropertyName + suffix;\n\n tree.queryParams = {\n ...tree.queryParams,\n [propName]: computedValue,\n };\n\n this.locationRef.go(this.urlStateHandler(tree));\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {tuiRgbToHex} from '@taiga-ui/cdk';\n\n@Pipe({name: `tuiGetColorPipe`})\nexport class TuiGetColorPipe implements PipeTransform {\n transform(color: string): string {\n if (color.length === 4) {\n return color\n .split(``)\n .reduce<string[]>((result, current) => [...result, current, current], [])\n .join(``)\n .replace(`#`, ``);\n }\n\n if (color.startsWith(`#`)) {\n return color;\n }\n\n if (color === `transparent`) {\n return `#000000`;\n }\n\n const parsed = color\n .replace(`rgb(`, ``)\n .replace(`rgba(`, ``)\n .replace(`)`, ``)\n .replace(` `, ``)\n .split(`,`)\n .map(v => Number.parseInt(v, 10)) as [number, number, number];\n\n return tuiRgbToHex(...parsed);\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: `tuiGetOpacity`})\nexport class TuiGetOpacityPipe implements PipeTransform {\n transform(color: string): number {\n if (color.startsWith(`#`) || color.startsWith(`rgb(`)) {\n return 100;\n }\n\n if (color === `transparent`) {\n return 0;\n }\n\n const lastComma = color.lastIndexOf(`,`);\n const parsed = color\n .slice(lastComma)\n .replace(`)`, ``)\n .replace(` `, ``)\n .replace(`,`, ``);\n\n return Math.round(Number.parseFloat(parsed) * 100);\n }\n}\n","import {Directive, Inject, Input, Renderer2} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR, TuiFocusableElementAccessor} from '@taiga-ui/cdk';\n\n@Directive({\n selector: '[tuiInputOpacity]',\n})\nexport class TuiInputOpacityDirective {\n @Input()\n set tuiInputOpacity(opacity: number) {\n const {nativeFocusableElement} = this.focusable;\n\n if (nativeFocusableElement) {\n this.renderer.setStyle(nativeFocusableElement, 'opacity', opacity / 100);\n }\n }\n\n constructor(\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n private readonly focusable: TuiFocusableElementAccessor,\n ) {}\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: `tuiStripOptionalPipe`})\nexport class TuiStripOptionalPipe implements PipeTransform {\n transform(name: string): string {\n return name.replace(`?`, ``);\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: `tuiIsOptionalPipe`})\nexport class TuiIsOptionalPipe implements PipeTransform {\n transform(name: string): boolean {\n return name.includes(`?`);\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: `tuiShowContentTooltip`})\nexport class TuiShowContentTooltip implements PipeTransform {\n transform(type: string): boolean {\n return type.includes(`PolymorpheusContent`);\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: `tuiShowCleanerPipe`})\nexport class TuiShowCleanerPipe implements PipeTransform {\n transform(type: string): boolean {\n return type.includes(`null`);\n }\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {tuiInspectAny} from '@taiga-ui/addon-doc/utils';\nimport {TUI_IS_CYPRESS} from '@taiga-ui/cdk';\n\n@Pipe({name: `tuiInspectAny`})\nexport class TuiInspectPipe implements PipeTransform {\n constructor(@Inject(TUI_IS_CYPRESS) private readonly isCypress: boolean) {}\n\n transform(value: unknown, depth: number = 2): string {\n if (this.isCypress && typeof value === `function`) {\n /**\n * @description:\n * When developing in production mode the webpack bundler minify\n * functions in different ways, then due to which the string content\n * of the function may differ from build to build, which can be to\n * various problems when screenshot testing on e2e.\n */\n return `λ(x) => y`;\n }\n\n return tuiInspectAny(value, depth);\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {tuiIsNumber, tuiIsString} from '@taiga-ui/cdk';\n\n@Pipe({name: `tuiIsPrimitivePolymorpheusContentPipe`})\nexport class TuiIsPrimitivePolymorpheusContentPipe implements PipeTransform {\n transform(value: unknown): boolean {\n return tuiIsString(value) || tuiIsNumber(value);\n }\n}\n","import {animate, style, transition, trigger} from '@angular/animations';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n Self,\n} from '@angular/core';\nimport {\n TUI_DOC_DOCUMENTATION_TEXTS,\n TUI_DOC_EXCLUDED_PROPERTIES,\n} from '@taiga-ui/addon-doc/tokens';\nimport {\n EMPTY_QUERY,\n TuiDestroyService,\n tuiHexToRgb,\n TuiMatcher,\n tuiQueryListChanges,\n tuiWatch,\n} from '@taiga-ui/cdk';\nimport {merge} from 'rxjs';\nimport {switchMap, takeUntil} from 'rxjs/operators';\n\nimport {TuiDocDocumentationPropertyConnectorDirective} from './documentation-property-connector.directive';\nimport {TuiGetColorPipe} from './pipes/color.pipe';\nimport {TuiGetOpacityPipe} from './pipes/opacity.pipe';\n\n// @bad TODO subscribe propertiesConnectors changes\n// @bad TODO refactor to make more flexible\n@Component({\n selector: 'tui-doc-documentation',\n templateUrl: './documentation.template.html',\n styleUrls: ['./documentation.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('emitEvent', [\n transition(':increment', [style({opacity: 1}), animate('500ms ease-in')]),\n ]),\n ],\n providers: [TuiGetColorPipe, TuiGetOpacityPipe, TuiDestroyService],\n})\nexport class TuiDocDocumentationComponent implements AfterContentInit {\n @Input()\n heading = '';\n\n @Input()\n showValues = true;\n\n @Input()\n isAPI = false;\n\n @ContentChildren(TuiDocDocumentationPropertyConnectorDirective)\n propertiesConnectors: QueryList<TuiDocDocumentationPropertyConnectorDirective<any>> =\n EMPTY_QUERY;\n\n activeItemIndex = 0;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly cdr: ChangeDetectorRef,\n @Inject(TUI_DOC_DOCUMENTATION_TEXTS)\n readonly texts: [string, string, string, string, string],\n @Inject(TUI_DOC_EXCLUDED_PROPERTIES)\n readonly excludedProperties: Set<string>,\n @Self()\n @Inject(TuiDestroyService)\n private readonly destroy$: TuiDestroyService,\n @Inject(TuiGetColorPipe)\n private readonly getColor: TuiGetColorPipe,\n @Inject(TuiGetOpacityPipe)\n private readonly getOpacity: TuiGetOpacityPipe,\n ) {}\n\n ngAfterContentInit(): void {\n tuiQueryListChanges(this.propertiesConnectors)\n .pipe(\n switchMap(items => merge(...items.map(({changed$}) => changed$))),\n tuiWatch(this.cdr),\n takeUntil(this.destroy$),\n )\n .subscribe();\n }\n\n get type(): string {\n return this.isAPI ? this.texts[0] : this.texts[1];\n }\n\n matcher: TuiMatcher<TuiDocDocumentationPropertyConnectorDirective<any>> = (\n item: TuiDocDocumentationPropertyConnectorDirective<any>,\n exclusions: Set<string>,\n ) => !exclusions.has(item.documentationPropertyName);\n\n onColorChange(\n connector: TuiDocDocumentationPropertyConnectorDirective<string>,\n color: string,\n ): void {\n const opacity = this.getOpacity.transform(\n connector.documentationPropertyValue || '',\n );\n\n if (opacity === 100) {\n connector.onValueChange(color);\n\n return;\n }\n\n const rgb = tuiHexToRgb(color).join(', ');\n const result = `rgba(${rgb}, ${opacity / 100})`;\n\n connector.onValueChange(result);\n }\n\n onOpacityChange(\n connector: TuiDocDocumentationPropertyConnectorDirective<string>,\n opacity: number | null,\n ): void {\n const hex = this.getColor.transform(connector.documentationPropertyValue || '');\n const rgb = tuiHexToRgb(hex);\n const result = `rgba(${rgb}, ${(opacity || 0) / 100})`;\n\n connector.onValueChange(result);\n }\n}\n","<h1\n *ngIf=\"heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h1>\n<ng-content></ng-content>\n<ng-container *ngIf=\"$any(propertiesConnectors) | tuiFilter : matcher : excludedProperties as properties\">\n <table\n *ngIf=\"properties.length\"\n class=\"t-table\"\n >\n <tr class=\"t-row t-row_header\">\n <th class=\"t-th t-cell t-cell_prop\">{{ texts[2] }}</th>\n <th class=\"t-th\">{{ type }}</th>\n <th\n *ngIf=\"showValues && !isAPI\"\n class=\"t-th t-cell t-th_value\"\n >\n {{ texts[3] }}\n </th>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of properties\"\n class=\"t-row\"\n [class.t-deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n >\n <td class=\"t-cell\">\n <div\n automation-id=\"tui-documentation__property-name\"\n class=\"t-property\"\n >\n {{ propertyConnector.attrName | tuiStripOptionalPipe }}\n <tui-badge\n *ngIf=\"propertyConnector.attrName | tuiIsOptionalPipe\"\n size=\"s\"\n value=\"Optional\"\n ></tui-badge>\n </div>\n <span\n *ngIf=\"propertyConnector.documentationPropertyDeprecated\"\n class=\"t-deprecated-label\"\n >\n deprecated\n </span>\n <ng-container [ngTemplateOutlet]=\"propertyConnector.template\"></ng-container>\n </td>\n <td class=\"t-cell\">\n <span class=\"type\">\n {{ propertyConnector.documentationPropertyType }}\n <tui-tooltip\n *ngIf=\"propertyConnector.documentationPropertyType | tuiShowContentTooltip\"\n [describeId]=\"propertyConnector.attrName\"\n [content]=\"content\"\n >\n <ng-template #content>\n {{ texts[4] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n target=\"_blank\"\n rel=\"noreferrer\"\n href=\"https://github.com/tinkoff/ng-polymorpheus\"\n >\n <code>ng-polymorpheus</code>\n </a>\n </ng-template>\n </tui-tooltip>\n </span>\n </td>\n <td\n *ngIf=\"showValues\"\n class=\"t-cell t-cell_value\"\n >\n <ng-container *ngIf=\"propertyConnector.shouldShowValues; else elseEmitter\">\n <tui-select\n *ngIf=\"propertyConnector.hasItems; else noItems\"\n tuiTextfieldSize=\"m\"\n tuiDropdownLimitWidth=\"min\"\n [tuiTextfieldCleaner]=\"propertyConnector.documentationPropertyType | tuiShowCleanerPipe\"\n [tuiTextfieldLabelOutside]=\"true\"\n [nativeId]=\"propertyConnector.attrName\"\n [valueContent]=\"selectContent\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n >\n <code class=\"t-exception\">null</code>\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"propertyConnector.documentationPropertyValues\"\n [itemContent]=\"selectContent\"\n ></tui-data-list-wrapper>\n </tui-select>\n <ng-template\n #selectContent\n let-data\n >\n <code>{{ data | tuiInspectAny }}</code>\n </ng-template>\n\n <ng-template #noItems>\n <ng-container [ngSwitch]=\"propertyConnector.documentationPropertyType\">\n <tui-toggle\n *ngSwitchCase=\"'boolean'\"\n size=\"l\"\n [nativeId]=\"propertyConnector.attrName\"\n [showIcons]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-toggle>\n\n <tui-primitive-textfield\n *ngSwitchCase=\"'string'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue || ''\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-primitive-textfield>\n\n <div\n *ngSwitchCase=\"'color'\"\n tuiGroup\n >\n <tui-primitive-textfield\n tuiTextfieldSize=\"m\"\n [attr.id]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiInputOpacity]=\"propertyConnector.documentationPropertyValue | tuiGetOpacity\"\n [value]=\"propertyConnector.documentationPropertyValue | tuiGetColorPipe\"\n (valueChange)=\"onColorChange(propertyConnector, $event)\"\n >\n <input\n tuiTextfield\n type=\"text\"\n />\n </tui-primitive-textfield>\n <tui-input-number\n tuiTextfieldSize=\"m\"\n [step]=\"1\"\n [min]=\"0\"\n [max]=\"100\"\n [ngModel]=\"propertyConnector.documentationPropertyValue | tuiGetOpacity\"\n (ngModelChange)=\"onOpacityChange(propertyConnector, $event)\"\n >\n Opacity\n </tui-input-number>\n </div>\n\n <tui-input-number\n *ngSwitchCase=\"'number'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [step]=\"1\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event || 0)\"\n ></tui-input-number>\n\n <ng-container *ngSwitchCase=\"'PolymorpheusContent'\">\n <tui-primitive-textfield\n *ngIf=\"\n propertyConnector.documentationPropertyValue\n | tuiIsPrimitivePolymorpheusContentPipe\n \"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue.toString()\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n >\n Default content\n </tui-primitive-textfield>\n </ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-template #elseEmitter>\n <tui-notification\n class=\"t-output\"\n [@emitEvent]=\"propertyConnector.emits$ | async\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n </table>\n</ng-container>\n","import {NgModule} from '@angular/core';\n\nimport {TuiInputOpacityDirective} from './input-opacity.directive';\n\n@NgModule({\n declarations: [TuiInputOpacityDirective],\n exports: [TuiInputOpacityDirective],\n})\nexport class TuiInputOpacityModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiFilterPipeModule} from '@taiga-ui/cdk';\nimport {\n TuiDataListModule,\n TuiDropdownModule,\n TuiGroupModule,\n TuiLinkModule,\n TuiModeModule,\n TuiNotificationModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiTooltipModule,\n} from '@taiga-ui/core';\nimport {\n TuiBadgeModule,\n TuiDataListWrapperModule,\n TuiInputNumberModule,\n TuiSelectModule,\n TuiToggleModule,\n} from '@taiga-ui/kit';\n\nimport {TuiInputOpacityModule} from '../internal/input-opacity/input-opacity.module';\nimport {TuiDocDocumentationComponent} from './documentation.component';\nimport {TuiDocDocumentationPropertyConnectorDirective} from './documentation-property-connector.directive';\nimport {TuiShowCleanerPipe} from './pipes/cleaner.pipe';\nimport {TuiGetColorPipe} from './pipes/color.pipe';\nimport {TuiShowContentTooltip} from './pipes/content-tooltip.pipe';\nimport {TuiInspectPipe} from './pipes/inspect.pipe';\nimport {TuiGetOpacityPipe} from './pipes/opacity.pipe';\nimport {TuiIsOptionalPipe} from './pipes/optional.pipe';\nimport {TuiIsPrimitivePolymorpheusContentPipe} from './pipes/primitive-polymorpheus-content.pipe';\nimport {TuiStripOptionalPipe} from './pipes/strip-optional.pipe';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n TuiBadgeModule,\n TuiSelectModule,\n TuiToggleModule,\n TuiTooltipModule,\n TuiLinkModule,\n TuiInputNumberModule,\n TuiModeModule,\n TuiGroupModule,\n TuiInputOpacityModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiDropdownModule,\n TuiDataListModule,\n TuiDataListWrapperModule,\n TuiNotificationModule,\n TuiFilterPipeModule,\n ],\n declarations: [\n TuiInspectPipe,\n TuiGetColorPipe,\n TuiGetOpacityPipe,\n TuiIsOptionalPipe,\n TuiShowCleanerPipe,\n TuiStripOptionalPipe,\n TuiShowContentTooltip,\n TuiDocDocumentationComponent,\n TuiIsPrimitivePolymorpheusContentPipe,\n TuiDocDocumentationPropertyConnectorDirective,\n ],\n exports: [\n TuiDocDocumentationComponent,\n TuiDocDocumentationPropertyConnectorDirective,\n ],\n})\nexport class TuiDocDocumentationModule {}\n","import {Provider} from '@angular/core';\nimport {TUI_EXAMPLE_PRIMARY_FILE_NAME} from '@taiga-ui/addon-doc/interfaces';\nimport {TuiBooleanHandler, tuiCreateOptions, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiDocExampleOptions {\n codeEditorVisibilityHandler: TuiBooleanHandler<Record<string, string>>;\n tabTitles: Map<unknown, PolymorpheusContent>;\n}\n\nexport const TUI_DOC_EXAMPLE_DEFAULT_OPTIONS: TuiDocExampleOptions = {\n codeEditorVisibilityHandler: files =>\n Boolean(\n files[TUI_EXAMPLE_PRIMARY_FILE_NAME.TS] &&\n files[TUI_EXAMPLE_PRIMARY_FILE_NAME.HTML],\n ),\n tabTitles: new Map(),\n};\n\n/**\n * Default parameters for DocExample component\n */\nexport const TUI_DOC_EXAMPLE_OPTIONS = tuiCreateOptions(TUI_DOC_EXAMPLE_DEFAULT_OPTIONS);\n\nexport function tuiDocExampleOptionsProvider(\n options: Partial<TuiDocExampleOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_DOC_EXAMPLE_OPTIONS,\n options,\n TUI_DOC_EXAMPLE_DEFAULT_OPTIONS,\n );\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {tuiIsString} from '@taiga-ui/cdk';\nimport {tuiCapitalizeFirstLetter} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Pipe({name: `tuiDocExampleCapitalize`})\nexport class TuiDocExampleCapitalizePipe implements PipeTransform {\n transform(content: PolymorpheusContent): PolymorpheusContent {\n return tuiIsString(content) ? tuiCapitalizeFirstLetter(content) : content;\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: `tuiDocExampleGetTabs`})\nexport class TuiDocExampleGetTabsPipe implements PipeTransform {\n transform(content: Record<string, string>, defaultTab: string): string[] {\n return [defaultTab, ...Object.keys(content)];\n }\n}\n","import {Clipboard} from '@angular/cdk/clipboard';\nimport {Location as NgLocation} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, Inject, Input, Optional} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {LOCATION} from '@ng-web-apis/common';\nimport {TuiCodeEditor, TuiDocExample} from '@taiga-ui/addon-doc/interfaces';\nimport {\n TUI_DOC_CODE_ACTIONS,\n TUI_DOC_CODE_EDITOR,\n TUI_DOC_EXAMPLE_CONTENT_PROCESSOR,\n TUI_DOC_EXAMPLE_TEXTS,\n} from '@taiga-ui/addon-doc/tokens';\nimport {tuiRawLoadRecord} from '@taiga-ui/addon-doc/utils';\nimport {TUI_IS_CYPRESS, TuiContextWithImplicit, TuiHandler} from '@taiga-ui/cdk';\nimport {TuiAlertService, TuiNotification} from '@taiga-ui/core';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable, Subject} from 'rxjs';\nimport {map, switchMap} from 'rxjs/operators';\n\nimport {TUI_DOC_EXAMPLE_OPTIONS, TuiDocExampleOptions} from './example.options';\n\n@Component({\n selector: 'tui-doc-example',\n templateUrl: './example.template.html',\n styleUrls: ['./example.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocExampleComponent {\n private readonly rawLoader$$ = new BehaviorSubject<TuiDocExample>({});\n\n @Input()\n id: string | null = null;\n\n @Input()\n heading: PolymorpheusContent;\n\n @Input()\n description: PolymorpheusContent;\n\n @Input()\n set content(content: TuiDocExample) {\n this.rawLoader$$.next(content);\n }\n\n @Input()\n componentName: string = this.location.pathname.slice(1);\n\n readonly defaultTabIndex = 0;\n\n readonly defaultTab = this.texts[this.defaultTabIndex];\n\n activeItemIndex = this.defaultTabIndex;\n\n readonly copy$ = this.copyTexts$.pipe(map(([copy]) => copy));\n\n readonly processor$: Observable<Record<string, string>> = this.rawLoader$$.pipe(\n switchMap(tuiRawLoadRecord),\n map(value => this.processContent(value)),\n );\n\n readonly loading$ = new Subject<boolean>();\n\n constructor(\n @Inject(Clipboard) private readonly clipboard: Clipboard,\n @Inject(TuiAlertService)\n private readonly alerts: TuiAlertService,\n @Inject(LOCATION) private readonly location: Location,\n @Inject(TUI_COPY_TEXTS) private readonly copyTexts$: Observable<[string, string]>,\n @Inject(TUI_DOC_EXAMPLE_TEXTS) readonly texts: [string, string, string],\n @Optional()\n @Inject(TUI_DOC_CODE_EDITOR)\n readonly codeEditor: TuiCodeEditor | null,\n @Inject(TUI_DOC_EXAMPLE_CONTENT_PROCESSOR)\n private readonly processContent: TuiHandler<\n Record<string, string>,\n Record<string, string>\n >,\n @Inject(TUI_IS_CYPRESS) readonly isCypress: boolean,\n @Inject(TUI_DOC_CODE_ACTIONS)\n readonly codeActions: Array<PolymorpheusContent<TuiContextWithImplicit<string>>>,\n @Inject(Router) private readonly router: Router,\n @Inject(ActivatedRoute) private readonly route: ActivatedRoute,\n @Inject(NgLocation) private readonly ngLocation: NgLocation,\n @Inject(TUI_DOC_EXAMPLE_OPTIONS) private readonly options: TuiDocExampleOptions,\n ) {}\n\n readonly visible = (files: Record<string, string>): boolean =>\n Boolean(this.codeEditor && this.options.codeEditorVisibilityHandler(files));\n\n getTabTitle(fileName: string): PolymorpheusContent {\n return this.options.tabTitles.get(fileName) || fileName;\n }\n\n copyExampleLink(): void {\n const hashPosition = this.location.href.indexOf('#');\n const currentUrl =\n hashPosition > -1\n ? this.location.href.slice(0, Math.max(0, hashPosition))\n : this.location.href;\n const url = `${currentUrl}#${this.id}`;\n\n this.setFragmentWithoutRedirect(this.id);\n this.clipboard.copy(url);\n this.alerts\n .open(this.texts[1], {\n label: this.texts[2],\n status: TuiNotification.Success,\n })\n .subscribe();\n }\n\n edit(files: Record<string, string>): void {\n this.loading$.next(true);\n this.codeEditor\n ?.edit(this.componentName, this.id || '', files)\n // TODO: replace lines below with `finally` when we bump Firefox to 58+\n // TODO: Add `es2018.promise` to `tsconfig.json` => `compilerOptions.lib`.\n .then(() => this.loading$.next(false))\n .catch(() => this.loading$.next(false));\n }\n\n private setFragmentWithoutRedirect(id: string | null): void {\n const url = this.router\n .createUrlTree([], {relativeTo: this.route, fragment: id || ''})\n .toString();\n\n this.ngLocation.go(url);\n }\n}\n","<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=\"tuiIconLink\"\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","import {ClipboardModule} from '@angular/cdk/clipboard';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiLoaderModule} from '@taiga-ui/core';\nimport {TuiTabsModule} from '@taiga-ui/kit';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocCodeModule} from '../code/code.module';\nimport {TuiDocCopyModule} from '../copy/copy.module';\nimport {TuiDocExampleComponent} from './example.component';\nimport {TuiDocExampleCapitalizePipe} from './example-capitalize.pipe';\nimport {TuiDocExampleGetTabsPipe} from './example-get-tabs.pipe';\n\n@NgModule({\n imports: [\n CommonModule,\n ClipboardModule,\n TuiTabsModule,\n TuiButtonModule,\n TuiDocCopyModule,\n TuiDocCodeModule,\n PolymorpheusModule,\n TuiMapperPipeModule,\n TuiLoaderModule,\n ],\n declarations: [\n TuiDocExampleComponent,\n TuiDocExampleGetTabsPipe,\n TuiDocExampleCapitalizePipe,\n ],\n exports: [\n TuiDocExampleComponent,\n TuiDocExampleGetTabsPipe,\n TuiDocExampleCapitalizePipe,\n ],\n})\nexport class TuiDocExampleModule {}\n","import {InjectionToken, Provider} from '@angular/core';\nimport {ActivatedRoute, NavigationEnd, Router} from '@angular/router';\nimport {TUI_DOC_PAGES, TUI_DOC_TITLE} from '@taiga-ui/addon-doc/tokens';\nimport {TuiDocPages} from '@taiga-ui/addon-doc/types';\nimport {TuiDestroyService, tuiIsPresent} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {filter, map, mergeMap, takeUntil} from 'rxjs/operators';\n\n/**\n * Page title\n */\nexport const NAVIGATION_TITLE = new InjectionToken<Observable<string>>(\n `[NAVIGATION_TITLE]`,\n);\n\n/**\n * Navigation sections labels for search\n */\nexport const NAVIGATION_LABELS = new InjectionToken<readonly string[]>(\n `[NAVIGATION_LABELS]`,\n);\n\n/**\n * Navigation pages\n */\nexport const NAVIGATION_ITEMS: InjectionToken<readonly TuiDocPages[]> =\n new InjectionToken<readonly TuiDocPages[]>(`[NAVIGATION_ITEMS]`);\n\nexport const NAVIGATION_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: NAVIGATION_TITLE,\n deps: [Router, ActivatedRoute, TUI_DOC_TITLE, TuiDestroyService],\n useFactory: (\n router: Router,\n activatedRoute: ActivatedRoute,\n titlePrefix: string,\n destroy$: Observable<void>,\n ): Observable<string> => {\n return router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(() => activatedRoute.firstChild),\n filter(tuiIsPresent),\n mergeMap(({data}) => data),\n map(({title}) => `${titlePrefix}${title}`),\n takeUntil(destroy$),\n );\n },\n },\n {\n provide: NAVIGATION_LABELS,\n deps: [TUI_DOC_PAGES],\n useFactory: labelsProviderFactory,\n },\n {\n provide: NAVIGATION_ITEMS,\n deps: [TUI_DOC_PAGES],\n useFactory: (pages: TuiDocPages): readonly TuiDocPages[] => {\n const labels = labelsProviderFactory(pages);\n\n return [\n ...labels.map(label => pages.filter(({section}) => section === label)),\n pages.filter(page => !page.section),\n ];\n },\n },\n];\n\nfunction labelsProviderFactory(pages: TuiDocPages): readonly string[] {\n return pages\n .map(({section}) => section)\n .filter(tuiIsPresent)\n .filter((item, index, array) => array.indexOf(item) === index);\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Optional,\n Self,\n} from '@angular/core';\nimport {FormControl} from '@angular/forms';\nimport {Title} from '@angular/platform-browser';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {TuiDocPage} from '@taiga-ui/addon-doc/interfaces';\nimport {\n TUI_DOC_PAGE_LOADED,\n TUI_DOC_SCROLL_BEHAVIOR,\n TUI_DOC_SEARCH_TEXT,\n} from '@taiga-ui/addon-doc/tokens';\nimport {TuiDocPages} from '@taiga-ui/addon-doc/types';\nimport {tuiTransliterateKeyboardLayout} from '@taiga-ui/addon-doc/utils';\nimport {TuiSidebarDirective} from '@taiga-ui/addon-mobile';\nimport {tuiControlValue, TuiDestroyService, tuiPure, tuiUniqBy} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {TuiInputComponent} from '@taiga-ui/kit';\nimport {Observable} from 'rxjs';\nimport {filter, map, startWith, take, takeUntil} from 'rxjs/operators';\n\nimport {\n NAVIGATION_ITEMS,\n NAVIGATION_LABELS,\n NAVIGATION_PROVIDERS,\n NAVIGATION_TITLE,\n} from './navigation.providers';\n\n@Component({\n selector: 'tui-doc-navigation',\n templateUrl: './navigation.template.html',\n styleUrls: ['./navigation.style.less'],\n providers: NAVIGATION_PROVIDERS,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocNavigationComponent {\n @HostBinding('class._open')\n menuOpen = false;\n\n openPagesArr: boolean[] = [];\n openPagesGroupsArr: boolean[] = [];\n active = '';\n\n readonly search = new FormControl('');\n\n readonly filtered$ = tuiControlValue<string>(this.search).pipe(\n filter(search => search.length > 2),\n map(search => this.filterItems(this.flattenSubPages(this.items), search)),\n );\n\n readonly mode$: Observable<TuiBrightness> = this.mode.change$.pipe(\n startWith(null),\n map(() => this.mode.mode || 'onLight'),\n );\n\n constructor(\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(Title) titleService: Title,\n @Inject(NAVIGATION_TITLE) title$: Observable<string>,\n @Inject(DOCUMENT) private readonly doc: Document,\n @Inject(TuiModeDirective)\n private readonly mode: TuiModeDirective,\n @Optional()\n @Inject(TuiSidebarDirective)\n readonly sidebar: unknown,\n @Inject(NAVIGATION_LABELS) readonly labels: string[],\n @Inject(NAVIGATION_ITEMS)\n readonly items: readonly TuiDocPages[],\n @Inject(TUI_DOC_SEARCH_TEXT) readonly searchText: string,\n @Inject(Router) private readonly router: Router,\n @Inject(ActivatedRoute) private readonly activatedRoute: ActivatedRoute,\n @Self() @Inject(TuiDestroyService) private readonly destroy$: Observable<void>,\n @Inject(TUI_DOC_PAGE_LOADED)\n private readonly readyToScroll$: Observable<boolean>,\n @Inject(TUI_DOC_SCROLL_BEHAVIOR) private readonly scrollBehavior: ScrollBehavior,\n ) {\n // Angular can't navigate no anchor links\n // https://stackoverflow.com/questions/36101756/angular2-routing-with-hashtag-to-page-anchor\n title$.subscribe(title => {\n cdr.markForCheck();\n titleService.setTitle(title);\n this.openActivePageGroup();\n this.handleAnchorLink(this.activatedRoute.snapshot.fragment || '');\n });\n }\n\n get canOpen(): boolean {\n return (this.search.value?.length ?? 0) > 2;\n }\n\n get itemsWithoutSections(): TuiDocPages {\n return this.items[this.items.length - 1];\n }\n\n $pages(pages: any): readonly TuiDocPage[] {\n return pages as TuiDocPage[];\n }\n\n isActive(route: string): boolean {\n return route === this.active;\n }\n\n onGroupClick(index: number): void {\n this.openPagesGroupsArr[index] = !this.openPagesGroupsArr[index];\n }\n\n closeMenu(): void {\n this.menuOpen = false;\n }\n\n onClick(input: TuiInputComponent): void {\n input.open = false;\n this.menuOpen = false;\n this.search.setValue('');\n this.openActivePageGroup();\n }\n\n @tuiPure\n private filterItems(\n items: ReadonlyArray<readonly TuiDocPage[]>,\n search: string,\n ): ReadonlyArray<readonly TuiDocPage[]> {\n return items.map(section =>\n tuiUniqBy(\n section.filter(({title, keywords = ''}) => {\n title = title.toLowerCase();\n search = search.toLowerCase();\n keywords = keywords.toLowerCase();\n\n return (\n title.includes(search) ||\n keywords.includes(search) ||\n title.includes(tuiTransliterateKeyboardLayout(search)) ||\n keywords.includes(tuiTransliterateKeyboardLayout(search)) ||\n search.replace(/-/gi, '').includes(title)\n );\n }),\n 'title',\n ),\n );\n }\n\n @tuiPure\n private flattenSubPages(\n items: readonly TuiDocPages[],\n ): ReadonlyArray<readonly TuiDocPage[]> {\n return items.reduce<ReadonlyArray<readonly TuiDocPage[]>>(\n (array, item) => [\n ...array,\n item.reduce<readonly TuiDocPage[]>(\n (pages, page) =>\n 'subPages' in page\n ? [...pages, ...page.subPages]\n : [...pages, page],\n [],\n ),\n ],\n [],\n );\n }\n\n private isActiveRoute(route: string): boolean {\n return this.router.isActive(route, {\n paths: 'subset',\n queryParams: 'subset',\n fragment: 'ignored',\n matrixParams: 'ignored',\n });\n }\n\n private handleAnchorLink(hash: string): void {\n this.readyToScroll$\n .pipe(filter(Boolean), take(1), takeUntil(this.destroy$))\n .subscribe(() => this.navigateToAnchorLink(hash));\n }\n\n private openActivePageGroup(): void {\n this.items.forEach((pages, pagesIndex) => {\n pages.forEach((page, pageIndex) => {\n if ('route' in page && this.isActiveRoute(page.route)) {\n this.openPagesArr[pagesIndex] = true;\n this.active = page.route;\n }\n\n if ('subPages' in page) {\n page.subPages.forEach(subPage => {\n if (this.isActiveRoute(subPage.route)) {\n this.openPagesArr[pagesIndex] = true;\n this.openPagesGroupsArr[pagesIndex * 100 + pageIndex] = true;\n this.active = subPage.route;\n }\n });\n }\n });\n });\n }\n\n private navigateToAnchorLink(fragment: string): void {\n const nodes = fragment ? this.doc.querySelectorAll(`#${fragment}`) : [];\n const element = nodes.length && nodes[nodes.length - 1];\n\n if (!element) {\n return;\n }\n\n element.classList.add('tui-doc-animated-example');\n element.scrollIntoView({\n block: 'start',\n inline: 'nearest',\n behavior: this.scrollBehavior,\n });\n }\n}\n","<tui-input\n #input\n tuiTextfieldSize=\"m\"\n tuiTextfieldIconLeft=\"tuiIconSearch\"\n class=\"t-input\"\n [formControl]=\"search\"\n [tuiAutoFocus]=\"!!sidebar\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiTextfieldLabelOutside]=\"true\"\n>\n {{ searchText }}\n <ng-container *ngIf=\"canOpen\">\n <tui-data-list *tuiDataList>\n <tui-opt-group\n *ngFor=\"let group of filtered$ | async; let index = index\"\n [label]=\"labels[index] || ''\"\n >\n <a\n *ngFor=\"let item of group\"\n tuiOption\n [routerLink]=\"item.route\"\n [fragment]=\"item.fragment\"\n (click)=\"onClick(input)\"\n >\n {{ item.title }}\n </a>\n </tui-opt-group>\n </tui-data-list>\n </ng-container>\n</tui-input>\n\n<nav class=\"t-navigation\">\n <tui-scrollbar\n class=\"t-scrollbar\"\n [tuiMode]=\"mode$ | async\"\n >\n <tui-accordion\n [closeOthers]=\"false\"\n [rounded]=\"false\"\n >\n <tui-accordion-item\n *ngFor=\"let label of labels; index as index\"\n size=\"s\"\n [borders]=\"null\"\n [(open)]=\"!!openPagesArr[index]\"\n >\n <span class=\"t-label\">\n <strong>{{ label }}</strong>\n </span>\n <ng-template tuiAccordionItemContent>\n <div class=\"t-section\">\n <ng-container\n *ngFor=\"let item of items[index]; index as subIndex\"\n [ngTemplateOutlet]=\"pages\"\n [ngTemplateOutletContext]=\"{item: item, index: index * 100 + subIndex}\"\n ></ng-container>\n </div>\n </ng-template>\n </tui-accordion-item>\n </tui-accordion>\n <div class=\"t-items-container\">\n <ng-container\n *ngFor=\"let item of itemsWithoutSections; let index = index\"\n [ngTemplateOutlet]=\"pages\"\n [ngTemplateOutletContext]=\"{item: item, index: items.length - 1 + index}\"\n ></ng-container>\n </div>\n\n <ng-template\n #pages\n let-item=\"item\"\n let-index=\"index\"\n >\n <a\n *ngIf=\"!item.subPages; else subPagesTemplate\"\n tuiLink\n routerLinkActive=\"t-sublink_active\"\n class=\"t-sublink\"\n [routerLink]=\"item.route\"\n [tuiScrollIntoViewLink]=\"isActive(item.route)\"\n (click)=\"closeMenu()\"\n >\n {{ item.title }}\n </a>\n <ng-template #subPagesTemplate>\n <div\n routerLinkActive\n class=\"t-subsection\"\n [routerLinkActiveOptions]=\"{exact: false}\"\n >\n <button\n *ngIf=\"item.subPages\"\n tuiLink\n type=\"button\"\n class=\"t-sublink t-sublink_subsection\"\n (click)=\"onGroupClick(index)\"\n >\n <tui-svg\n src=\"tuiIconChevronRight\"\n class=\"t-chevron\"\n [class.t-chevron_active]=\"!!openPagesGroupsArr[index]\"\n ></tui-svg>\n {{ item.title }}\n </button>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"!!openPagesGroupsArr[index]\"\n >\n <div class=\"t-section t-section_bordered\">\n <a\n *ngFor=\"let subPage of $pages(item.subPages)\"\n tuiLink\n routerLinkActive=\"t-sublink_active\"\n class=\"t-sublink t-sublink_small\"\n [routerLink]=\"subPage.route\"\n [fragment]=\"subPage.fragment\"\n [tuiScrollIntoViewLink]=\"isActive(subPage.route)\"\n (click)=\"closeMenu()\"\n >\n {{ subPage.title }}\n </a>\n </div>\n </tui-expand>\n </div>\n </ng-template>\n </ng-template>\n </tui-scrollbar>\n</nav>\n\n<ng-content></ng-content>\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {TUI_DOC_LOGO, TUI_DOC_MENU_TEXT} from '@taiga-ui/addon-doc/tokens';\nimport {ALWAYS_FALSE_HANDLER, TuiSwipeService} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {merge, Subject} from 'rxjs';\nimport {distinctUntilChanged, filter, map, startWith} from 'rxjs/operators';\n\n@Component({\n selector: 'header[tuiDocHeader]',\n templateUrl: './header.template.html',\n styleUrls: ['./header.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocHeaderComponent {\n private readonly stream$ = new Subject<boolean>();\n\n readonly open$ = merge(\n this.router.events.pipe(map(ALWAYS_FALSE_HANDLER)),\n this.stream$,\n this.swipes$.pipe(\n filter(swipe => swipe.direction === 'left' || swipe.direction === 'right'),\n map(swipe => swipe.direction === 'right'),\n ),\n ).pipe(startWith(false), distinctUntilChanged());\n\n constructor(\n @Inject(TUI_DOC_LOGO) readonly logo: PolymorpheusContent,\n @Inject(TUI_DOC_MENU_TEXT) readonly menu: string,\n @Inject(Router) private readonly router: Router,\n @Inject(TuiSwipeService) private readonly swipes$: TuiSwipeService,\n ) {}\n\n onClick(): void {\n this.stream$.next(true);\n }\n\n onActiveZone(active: boolean): void {\n if (!active) {\n this.stream$.next(false);\n }\n }\n}\n","<button\n tuiIconButton\n icon=\"tuiIconMenuLarge\"\n appearance=\"icon\"\n type=\"button\"\n class=\"t-menu\"\n [title]=\"menu\"\n (click)=\"onClick()\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-doc-navigation\n *tuiSidebar=\"!!(open$ | async)\"\n class=\"t-navigation\"\n ></tui-doc-navigation>\n</button>\n<div class=\"t-logo\">\n <img\n *polymorpheusOutlet=\"logo as src\"\n alt=\"Logo\"\n class=\"t-img\"\n [src]=\"src\"\n />\n</div>\n<ng-content></ng-content>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiScrollIntoViewLinkModule} from '@taiga-ui/addon-doc/directives';\nimport {TuiActiveZoneModule, TuiAutoFocusModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiDropdownModule,\n TuiExpandModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiModeModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiAccordionModule, TuiInputModule} from '@taiga-ui/kit';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocNavigationComponent} from './navigation.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n RouterModule,\n PolymorpheusModule,\n TuiScrollIntoViewLinkModule,\n TuiButtonModule,\n TuiInputModule,\n TuiTextfieldControllerModule,\n TuiActiveZoneModule,\n TuiLetModule,\n TuiModeModule,\n TuiLinkModule,\n TuiExpandModule,\n TuiHostedDropdownModule,\n TuiDropdownModule,\n TuiAccordionModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiDataListModule,\n TuiAutoFocusModule,\n ],\n declarations: [TuiDocNavigationComponent],\n exports: [TuiDocNavigationComponent],\n})\nexport class TuiDocNavigationModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSidebarModule} from '@taiga-ui/addon-mobile';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocNavigationModule} from '../../navigation/navigation.module';\nimport {TuiDocHeaderComponent} from './header.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiButtonModule,\n TuiSidebarModule,\n TuiActiveZoneModule,\n TuiDocNavigationModule,\n ],\n declarations: [TuiDocHeaderComponent],\n exports: [TuiDocHeaderComponent],\n})\nexport class TuiDocHeaderModule {}\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport type {TuiDocPage} from '@taiga-ui/addon-doc/interfaces';\nimport {TUI_DOC_MAP_PAGES, TUI_DOC_SEE_ALSO_TEXT} from '@taiga-ui/addon-doc/tokens';\n\n@Component({\n selector: 'tui-doc-see-also',\n templateUrl: './see-also.template.html',\n styleUrls: ['./see-also.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocSeeAlsoComponent {\n @Input()\n seeAlso: readonly string[] = [];\n\n constructor(\n @Inject(TUI_DOC_SEE_ALSO_TEXT) readonly text: string,\n @Inject(TUI_DOC_MAP_PAGES) private readonly pages: Map<string, TuiDocPage>,\n ) {}\n\n getRouterLink(pageTitle: string): string {\n return this.pages.get(pageTitle)?.route ?? '';\n }\n}\n","<h5 class=\"t-header\">{{ text }}</h5>\n<ng-container *ngFor=\"let item of seeAlso; last as last\">\n <a\n tuiLink\n [routerLink]=\"getRouterLink(item)\"\n [innerText]=\"item\"\n ></a>\n <ng-container *ngIf=\"!last\">{{ ', ' }}</ng-container>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiLinkModule} from '@taiga-ui/core';\n\nimport {TuiDocSeeAlsoComponent} from './see-also.component';\n\n@NgModule({\n imports: [CommonModule, RouterModule, TuiLinkModule],\n declarations: [TuiDocSeeAlsoComponent],\n exports: [TuiDocSeeAlsoComponent],\n})\nexport class TuiDocSeeAlsoModule {}\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {TuiDocSourceCodePathOptions} from '@taiga-ui/addon-doc/interfaces';\nimport {TUI_DOC_SOURCE_CODE, TUI_DOC_SOURCE_CODE_TEXT} from '@taiga-ui/addon-doc/tokens';\nimport {tuiPure} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Component({\n selector: 'tui-doc-source-code',\n templateUrl: './source-code.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocSourceCodeComponent {\n @Input()\n header = '';\n\n @Input()\n package = '';\n\n @Input()\n type = '';\n\n @Input()\n path = '';\n\n constructor(\n @Inject(TUI_DOC_SOURCE_CODE)\n readonly sourceCode: PolymorpheusContent<TuiDocSourceCodePathOptions>,\n @Inject(TUI_DOC_SOURCE_CODE_TEXT) readonly text: string,\n ) {}\n\n get pathOptions(): TuiDocSourceCodePathOptions {\n return this.getPathOptions(this.header, this.package, this.type, this.path);\n }\n\n @tuiPure\n private getPathOptions(\n header: string,\n packageName: string,\n type: string,\n path: string,\n ): TuiDocSourceCodePathOptions {\n return {\n header,\n package: packageName,\n type,\n path,\n };\n }\n}\n","<a\n *polymorpheusOutlet=\"sourceCode as link; context: pathOptions\"\n tuiIconButton\n type=\"button\"\n icon=\"tuiIconCode\"\n appearance=\"icon\"\n target=\"_blank\"\n size=\"s\"\n [title]=\"text\"\n [href]=\"link\"\n></a>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocSourceCodeComponent} from './source-code.component';\n\n@NgModule({\n declarations: [TuiDocSourceCodeComponent],\n imports: [CommonModule, PolymorpheusModule, TuiButtonModule],\n exports: [TuiDocSourceCodeComponent],\n})\nexport class TuiDocSourceCodeModule {}\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {FormControl} from '@angular/forms';\nimport {tuiCapitalizeFirstLetter, TuiFlagPipe} from '@taiga-ui/core';\nimport {TuiCountryIsoCode, TuiLanguageName, TuiLanguageSwitcher} from '@taiga-ui/i18n';\n\n@Component({\n selector: 'tui-language-switcher',\n templateUrl: './language-switcher.component.html',\n styleUrls: ['./language-switcher.component.less'],\n providers: [\n // TODO: for backward compatibility only. Drop in v4.0\n TuiFlagPipe,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiLanguageSwitcherComponent {\n readonly language = new FormControl(tuiCapitalizeFirstLetter(this.switcher.language));\n\n readonly flags = new Map<TuiLanguageName, TuiCountryIsoCode>([\n ['chinese', TuiCountryIsoCode.CN],\n ['dutch', TuiCountryIsoCode.NL],\n ['english', TuiCountryIsoCode.GB],\n ['french', TuiCountryIsoCode.FR],\n ['german', TuiCountryIsoCode.DE],\n ['italian', TuiCountryIsoCode.IT],\n ['polish', TuiCountryIsoCode.PL],\n ['portuguese', TuiCountryIsoCode.PT],\n ['russian', TuiCountryIsoCode.RU],\n ['spanish', TuiCountryIsoCode.ES],\n ['turkish', TuiCountryIsoCode.TR],\n ['ukrainian', TuiCountryIsoCode.UA],\n ['vietnamese', TuiCountryIsoCode.VN],\n ]);\n\n readonly names: TuiLanguageName[] = Array.from(this.flags.keys());\n\n constructor(\n @Inject(TuiLanguageSwitcher) readonly switcher: TuiLanguageSwitcher,\n @Inject(TuiFlagPipe) private readonly flagPipe: TuiFlagPipe,\n ) {}\n\n /**\n * @deprecated use `<img [src]=\"countryIsoCode | tuiFlagPipe\" />`\n * TODO drop in v4.0\n */\n getFlagPath(code?: TuiCountryIsoCode): string | null {\n return this.flagPipe.transform(code);\n }\n}\n","<tui-select [formControl]=\"language\">\n <ng-content></ng-content>\n <tui-data-list *tuiDataList>\n <button\n *ngFor=\"let name of names\"\n tuiOption\n [value]=\"name | titlecase\"\n (click)=\"switcher.setLanguage(name)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"flags.get(name) | tuiFlag\"\n />\n {{ name | titlecase }}\n </button>\n </tui-data-list>\n</tui-select>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {TuiDataListModule, TuiFlagPipeModule} from '@taiga-ui/core';\nimport {TuiSelectModule} from '@taiga-ui/kit';\n\nimport {TuiLanguageSwitcherComponent} from './language-switcher.component';\n\n@NgModule({\n exports: [TuiLanguageSwitcherComponent],\n declarations: [TuiLanguageSwitcherComponent],\n imports: [\n CommonModule,\n TuiFlagPipeModule,\n TuiSelectModule,\n TuiDataListModule,\n ReactiveFormsModule,\n ],\n})\nexport class TuiLanguageSwitcherModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n HostBinding,\n Inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TuiThemeNightService, TuiThemeService} from '@taiga-ui/addon-doc/services';\nimport {TuiSwipeService} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {distinctUntilChanged, map, share, startWith} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-doc-main',\n templateUrl: './main.template.html',\n styleUrls: ['./main.style.less'],\n encapsulation: ViewEncapsulation.None,\n // @note: This one was default on purpose so we can test demo in default mode.\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [\n {\n provide: TuiModeDirective,\n useExisting: forwardRef(() => TuiDocMainComponent),\n },\n TuiSwipeService,\n ],\n})\nexport class TuiDocMainComponent {\n readonly change$ = this.night;\n\n readonly night$ = this.change$.pipe(\n startWith(null),\n map(() => this.night.value),\n distinctUntilChanged(),\n share(),\n );\n\n constructor(\n @Inject(TuiThemeService) readonly theme: TuiThemeService,\n @Inject(TuiThemeNightService) readonly night: TuiThemeNightService,\n ) {}\n\n @HostBinding('attr.data-mode')\n get mode(): TuiBrightness | null {\n return this.night.value ? 'onDark' : null;\n }\n}\n","<tui-theme-night *ngIf=\"theme.isDefaultTheme && night.useDefaultNightTheme && (night$ | async)\"></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 <ng-content select=\"tuiDocHeader\"></ng-content>\n <button\n tuiIconButton\n tuiMode=\"onLight\"\n appearance=\"secondary\"\n size=\"s\"\n shape=\"rounded\"\n type=\"button\"\n class=\"tui-doc-night-mode-switch\"\n [icon]=\"night.value ? 'tuiIconSun' : 'tuiIconMoon'\"\n (click)=\"night.toggle()\"\n ></button>\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","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {\n TuiAlertModule,\n TuiButtonModule,\n TuiDialogModule,\n TuiModeModule,\n TuiRootModule,\n TuiThemeNightModule,\n} from '@taiga-ui/core';\n\nimport {TuiDocHeaderModule} from '../internal/header/header.module';\nimport {TuiDocNavigationModule} from '../navigation/navigation.module';\nimport {TuiDocMainComponent} from './main.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n TuiThemeNightModule,\n TuiDocHeaderModule,\n TuiRootModule,\n TuiDialogModule,\n TuiAlertModule,\n TuiButtonModule,\n TuiModeModule,\n TuiDocNavigationModule,\n ],\n declarations: [TuiDocMainComponent],\n exports: [TuiDocMainComponent],\n})\nexport class TuiDocMainModule {}\n","import {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {TUI_DOC_SEE_ALSO} from '@taiga-ui/addon-doc/tokens';\n\n/**\n * Array if related page titles\n */\nexport const PAGE_SEE_ALSO = new InjectionToken<readonly string[]>(`[PAGE_SEE_ALSO]`);\n\nexport const PAGE_PROVIDERS: Provider[] = [\n {\n provide: PAGE_SEE_ALSO,\n deps: [ElementRef, TUI_DOC_SEE_ALSO],\n useFactory: (\n {nativeElement}: ElementRef,\n seeAlsoGroups: ReadonlyArray<readonly string[]>,\n ): readonly string[] => {\n const currentHeader = nativeElement.getAttribute(`header`);\n const groups =\n seeAlsoGroups.filter(group => group.includes(currentHeader)) || [];\n\n const seeAlsoSet = new Set(\n groups\n .join()\n .split(`,`)\n .filter(component => component && component !== currentHeader),\n );\n\n return Array.from(seeAlsoSet);\n },\n },\n];\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: '[pageTab]',\n})\nexport class TuiDocPageTabConnectorDirective {\n @Input()\n pageTab?: string | '';\n\n constructor(\n @Inject(TemplateRef) readonly template: TemplateRef<Record<string, unknown>>,\n ) {}\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {TUI_DOC_DEFAULT_TABS} from '@taiga-ui/addon-doc/tokens';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\n\nimport {PAGE_PROVIDERS, PAGE_SEE_ALSO} from './page.providers';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\n\n@Component({\n selector: 'tui-doc-page',\n templateUrl: './page.template.html',\n styleUrls: ['./page.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: PAGE_PROVIDERS,\n})\nexport class TuiDocPageComponent {\n @Input()\n header = '';\n\n @Input()\n package = '';\n\n @Input()\n type = '';\n\n @Input()\n path = '';\n\n @Input()\n deprecated: boolean | '' = false;\n\n @ContentChildren(TuiDocPageTabConnectorDirective)\n readonly tabConnectors: QueryList<TuiDocPageTabConnectorDirective> = EMPTY_QUERY;\n\n activeItemIndex = 0;\n\n readonly from = / /g;\n readonly to = '_';\n\n constructor(\n @Inject(TUI_DOC_DEFAULT_TABS) readonly defaultTabs: readonly string[],\n @Inject(PAGE_SEE_ALSO) readonly seeAlso: readonly string[],\n ) {}\n\n get showSeeAlso(): boolean {\n return !!this.seeAlso.length && this.activeItemIndex === 0;\n }\n}\n","<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=\"tab.pageTab || defaultTabs[index] as tabName\">\n <a\n *tuiItem\n tuiTab\n routerLinkActive\n [routerLinkActiveOptions]=\"{exact: first}\"\n [routerLink]=\"first ? './' : (tabName | tuiReplace : from : to)\"\n >\n {{ tabName }}\n </a>\n </ng-container>\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","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiReplacePipeModule} from '@taiga-ui/cdk';\nimport {TuiTabsModule, TuiTagModule} from '@taiga-ui/kit';\n\nimport {TuiDocSeeAlsoModule} from '../internal/see-also/see-also.module';\nimport {TuiDocSourceCodeModule} from '../internal/source-code/source-code.module';\nimport {TuiDocPageComponent} from './page.component';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n TuiDocSeeAlsoModule,\n TuiTabsModule,\n TuiTagModule,\n TuiDocSourceCodeModule,\n TuiReplacePipeModule,\n ],\n declarations: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n exports: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n})\nexport class TuiDocPageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","Location","i3","i6","i4","i5.TuiInputOpacityDirective","i7.TuiStripOptionalPipe","i8.TuiIsOptionalPipe","i9.TuiShowContentTooltip","i10.TuiShowCleanerPipe","i11.TuiInspectPipe","i12.TuiGetOpacityPipe","i13.TuiGetColorPipe","i14.TuiIsPrimitivePolymorpheusContentPipe","NgLocation","i3.TuiDocCopyComponent","i4.TuiDocCodeComponent","i5","i7","i9.TuiDocExampleCapitalizePipe","i10.TuiDocExampleGetTabsPipe","i2.TuiDocNavigationComponent","i3.TuiDocHeaderComponent","i2.TuiDocSourceCodeComponent","i3.TuiDocSeeAlsoComponent"],"mappings":"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"}