@taiga-ui/addon-doc 2.14.0 → 2.16.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.js","sources":["ng://@taiga-ui/addon-doc/components/code/code.component.ts","ng://@taiga-ui/addon-doc/components/code/code.module.ts","ng://@taiga-ui/addon-doc/components/copy/copy.component.ts","ng://@taiga-ui/addon-doc/components/copy/copy.module.ts","ng://@taiga-ui/addon-doc/tokens/i18n.ts","ng://@taiga-ui/addon-doc/components/demo/demo.component.ts","ng://@taiga-ui/addon-doc/components/demo/demo.module.ts","ng://@taiga-ui/addon-doc/utils/transliterate-keyboard-layout.ts","ng://@taiga-ui/addon-doc/tokens/pages.ts","ng://@taiga-ui/addon-doc/tokens/title.ts","ng://@taiga-ui/addon-doc/components/navigation/navigation.providers.ts","ng://@taiga-ui/addon-doc/components/navigation/navigation.component.ts","ng://@taiga-ui/addon-doc/directives/scroll-into-view/scroll-into-view.directive.ts","ng://@taiga-ui/addon-doc/directives/scroll-into-view/scroll-into-view.module.ts","ng://@taiga-ui/addon-doc/components/navigation/navigation.module.ts","ng://@taiga-ui/addon-doc/utils/color-conversion.ts","ng://@taiga-ui/addon-doc/utils/inspect.ts","ng://@taiga-ui/addon-doc/components/documentation/documentation-property-connector.directive.ts","ng://@taiga-ui/addon-doc/components/documentation/documentation.component.ts","ng://@taiga-ui/addon-doc/internal/input-opacity/input-opacity.directive.ts","ng://@taiga-ui/addon-doc/internal/input-opacity/input-opacity.module.ts","ng://@taiga-ui/addon-doc/components/documentation/documentation.module.ts","ng://@taiga-ui/addon-doc/tokens/code-editor.ts","ng://@taiga-ui/addon-doc/tokens/example-content-processor.ts","ng://@taiga-ui/addon-doc/components/example/example.component.ts","ng://@taiga-ui/addon-doc/components/example/example.module.ts","ng://@taiga-ui/addon-doc/components/main/main.component.ts","ng://@taiga-ui/addon-doc/tokens/logo.ts","ng://@taiga-ui/addon-doc/internal/header/header.component.ts","ng://@taiga-ui/addon-doc/internal/header/header.module.ts","ng://@taiga-ui/addon-doc/components/main/main.module.ts","ng://@taiga-ui/addon-doc/tokens/default-tabs.ts","ng://@taiga-ui/addon-doc/components/page/page-tab.directive.ts","ng://@taiga-ui/addon-doc/tokens/see-also.ts","ng://@taiga-ui/addon-doc/components/page/page.providers.ts","ng://@taiga-ui/addon-doc/components/page/page.component.ts","ng://@taiga-ui/addon-doc/internal/see-also/see-also.component.ts","ng://@taiga-ui/addon-doc/internal/see-also/see-also.module.ts","ng://@taiga-ui/addon-doc/tokens/source-code.ts","ng://@taiga-ui/addon-doc/internal/source-code/source-code.component.ts","ng://@taiga-ui/addon-doc/internal/source-code/source-code.module.ts","ng://@taiga-ui/addon-doc/components/page/page.module.ts","ng://@taiga-ui/addon-doc/languages/russian.ts","ng://@taiga-ui/addon-doc/utils/generate-routes.ts","ng://@taiga-ui/addon-doc/addon-doc.module.ts","ng://@taiga-ui/addon-doc/public-api.ts","ng://@taiga-ui/addon-doc/taiga-ui-addon-doc.ts"],"sourcesContent":["import {Component, HostBinding, Input} from '@angular/core';\n\n@Component({\n selector: 'tui-doc-code',\n templateUrl: './code.template.html',\n styleUrls: ['./code.style.less'],\n})\nexport class TuiDocCodeComponent {\n @Input()\n filename = '';\n\n @Input()\n code = '';\n\n @HostBinding('class._has-filename')\n get hasFilename(): boolean {\n return !!this.filename;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {HighlightModule} from 'ngx-highlightjs';\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 {TuiDestroyService, tuiPure} from '@taiga-ui/cdk';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit';\nimport {Observable, Subject, timer} from 'rxjs';\nimport {mapTo, startWith, switchMapTo} from 'rxjs/operators';\n\nconst COPIED_TIMEOUT = 1500;\n\n// @dynamic\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();\n\n constructor(\n @Inject(TUI_COPY_TEXTS) readonly texts$: Observable<[string, string]>,\n ) {}\n\n @tuiPure\n get copied$(): Observable<boolean> {\n return this.copy$.pipe(\n switchMapTo(timer(COPIED_TIMEOUT).pipe(mapTo(false), startWith(true))),\n );\n }\n\n onClick() {\n this.copy$.next();\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {TuiDocCopyComponent} from './copy.component';\n\n@NgModule({\n imports: [CommonModule, TuiButtonModule],\n declarations: [TuiDocCopyComponent],\n exports: [TuiDocCopyComponent],\n})\nexport class TuiDocCopyModule {}\n","import {InjectionToken} from '@angular/core';\n\n/**\n * TODO: think about reorganization in @taiga-ui/i18n way\n */\n\n/**\n * Works with a tuple\n * [@string tuiMode tooltip content, @string word 'background', @string 'form value']\n */\nexport const TUI_DOC_DEMO_TEXTS = new InjectionToken<[string, string, string]>(\n 'tui-doc-demo i18n texts',\n {factory: () => ['Read more more about modes: ', 'Background', 'Form value']},\n);\n\n/**\n * Works with a tuple\n * [\n * @string word 'argument',\n * @string word 'type',\n * @string 'name and description',\n * @string word 'value'\n * @string message for tooltip about ng-polymorpheus\n * ]\n */\nexport const TUI_DOC_DOCUMENTATION_TEXTS = new InjectionToken<\n [string, string, string, string, string]\n>('tui-doc-documentation i18n texts', {\n factory: () => [\n 'Argument',\n 'Type',\n 'Name and description',\n 'Value',\n 'Learn about our dynamic templates from ',\n ],\n});\n\n/**\n * Works with a tuple\n * [\n * @string default tab name,\n * @string link to a sample copied message text,\n * @string link to a sample copied message label\n * ]\n */\nexport const TUI_DOC_EXAMPLE_TEXTS = new InjectionToken<[string, string, string]>(\n 'tui-doc-example i18n texts',\n {factory: () => ['Preview', 'Link to a sample was successfully copied', 'Done']},\n);\n\nexport const TUI_DOC_MENU_TEXT = new InjectionToken<string>('menu i18n text', {\n factory: () => 'Menu',\n});\n\nexport const TUI_DOC_SEARCH_TEXT = new InjectionToken<string>('search i18n text', {\n factory: () => 'Search',\n});\n\nexport const TUI_DOC_SEE_ALSO_TEXT = new InjectionToken<string>(\n 'tui-doc-see-also i18n text',\n {factory: () => 'See also'},\n);\n\nexport const TUI_DOC_SOURCE_CODE_TEXT = new InjectionToken<string>(\n 'tui-doc-source-code i18n text',\n {factory: () => 'Source code'},\n);\n","import {isPlatformBrowser, Location} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n forwardRef,\n HostListener,\n Inject,\n Input,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {AbstractControl, FormControl, FormGroup} from '@angular/forms';\nimport {UrlSerializer} from '@angular/router';\nimport {TUI_IS_MOBILE, TuiDestroyService} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\nimport {startWith, takeUntil} from 'rxjs/operators';\nimport {TUI_DOC_DEMO_TEXTS} from '../../tokens/i18n';\n\nconst MIN_COMPONENT_WIDTH = 104;\n\n// @dynamic\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, AfterViewInit {\n @Input()\n control: AbstractControl | null = null;\n\n testForm?: FormGroup;\n updateOnVariants = ['change', 'blur', 'submit'];\n updateOn: 'change' | 'blur' | 'submit' = 'change';\n expanded = false;\n opaque = true;\n modeControl = new FormControl();\n\n mode: TuiBrightness | null = null;\n readonly change$ = new Subject<void>();\n\n @ContentChild(TemplateRef)\n readonly template?: TemplateRef<{}>;\n\n readonly items: readonly TuiBrightness[] = ['onLight', 'onDark'];\n\n private initialX = 0;\n private wrapperWidth = 0;\n\n @ViewChild('content')\n private readonly content?: ElementRef<HTMLElement>;\n\n @ViewChild('wrapper')\n private readonly wrapper?: ElementRef<HTMLElement>;\n\n @ViewChild('resizerText')\n private readonly resizerText?: ElementRef<HTMLElement>;\n\n private readonly isBrowser: boolean;\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(PLATFORM_ID) platformId: Object,\n @Inject(Location) locationRef: Location,\n @Inject(UrlSerializer) urlSerializer: UrlSerializer,\n @Inject(TUI_DOC_DEMO_TEXTS) readonly texts: [string, string, string],\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n\n const parsedMode = locationRef.path().match(/tui-mode=(onDark|onLight)/);\n\n if (parsedMode !== null && parsedMode.length > 0) {\n this.modeControl.setValue(parsedMode[1]);\n }\n\n this.modeControl.valueChanges\n .pipe(startWith(this.modeControl.value), takeUntil(this.destroy$))\n .subscribe(mode => {\n const urlTree = urlSerializer.parse(locationRef.path());\n\n urlTree.queryParams = {\n ...urlTree.queryParams,\n tuiMode: mode,\n };\n\n locationRef.go(String(urlTree));\n\n this.mode = mode;\n this.change$.next();\n });\n }\n\n ngOnInit() {\n this.createForm();\n }\n\n ngAfterViewInit() {\n this.setResizerTextContent();\n }\n\n setResizerTextContent() {\n if (!this.content || !this.resizerText) {\n return;\n }\n\n const paddingLeft = this.isBrowser\n ? getComputedStyle(this.content.nativeElement).paddingLeft\n : '0';\n const {offsetWidth} = this.content.nativeElement;\n\n this.resizerText.nativeElement.textContent = String(\n offsetWidth - parseInt(paddingLeft || '0', 10) * 2,\n );\n }\n\n @HostListener('window:resize')\n onResize() {\n this.setResizerTextContent();\n }\n\n onDragStart(event: MouseEvent) {\n event.preventDefault();\n this.initialX = event.clientX;\n this.wrapperWidth = this.wrapper ? this.wrapper.nativeElement.offsetWidth : 0;\n }\n\n onDragContinues(event: MouseEvent) {\n const deltaX = this.initialX - event.clientX;\n\n this.resizeContent(deltaX);\n this.setResizerTextContent();\n }\n\n onDragEnd() {\n this.wrapperWidth = this.wrapper ? this.wrapper.nativeElement.offsetWidth : 0;\n }\n\n toggleDetails() {\n this.expanded = !this.expanded;\n }\n\n updateOnChange(updateOn: 'change' | 'blur' | 'submit') {\n this.updateOn = updateOn;\n this.createForm();\n }\n\n private createForm() {\n const {control, updateOn} = this;\n\n if (!control) {\n return;\n }\n\n this.testForm = new FormGroup({testValue: control}, {updateOn});\n }\n\n private resizeContent(delta: number) {\n if (!this.wrapper) {\n return;\n }\n\n this.renderer.setStyle(\n this.wrapper.nativeElement,\n 'width',\n `${Math.max(this.wrapperWidth - delta, MIN_COMPONENT_WIDTH)}px`,\n );\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiDragModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiHintControllerModule,\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';\nimport {TuiDocDemoComponent} from './demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n RouterModule,\n TuiLinkModule,\n TuiDragModule,\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 TuiHintControllerModule,\n ],\n declarations: [TuiDocDemoComponent],\n exports: [TuiDocDemoComponent],\n})\nexport class TuiDocDemoModule {}\n","const MAP: Record<string, string> = {\n а: 'f',\n б: ',',\n в: 'd',\n г: 'u',\n д: 'l',\n е: 't',\n ё: '`',\n ж: ';',\n з: 'p',\n и: 'b',\n й: 'q',\n к: 'r',\n л: 'k',\n м: 'v',\n н: 'y',\n о: 'j',\n п: 'g',\n р: 'h',\n с: 'c',\n т: 'n',\n у: 'e',\n ф: 'a',\n х: '[',\n ц: 'w',\n ч: 'x',\n ш: 'i',\n щ: 'o',\n ъ: ']',\n ы: 's',\n ь: 'm',\n ю: '.',\n я: 'z',\n};\n\n/**\n * Translates text mistakenly typed in the Russian layout into English\n * @param string string with Russian layout characters\n * @return string with English layout characters\n */\nexport function transliterateKeyboardLayout(string: string): string {\n let newStr = '';\n\n for (let i = 0; i < string.length; i++) {\n newStr += string.charAt(i) in MAP ? MAP[string.charAt(i)] : string.charAt(i);\n }\n\n return newStr;\n}\n","import {InjectionToken} from '@angular/core';\nimport {TuiDocPages} from '../types/pages';\n\nexport const TUI_DOC_PAGES: InjectionToken<TuiDocPages> = new InjectionToken<TuiDocPages>(\n 'Documentation pages',\n {\n factory: () => [],\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_TITLE = new InjectionToken<string>('Page title', {\n factory: () => '',\n});\n","import {InjectionToken, Provider} from '@angular/core';\nimport {ActivatedRoute, NavigationEnd, Router} from '@angular/router';\nimport {isPresent, TuiDestroyService} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {filter, map, mergeMap, takeUntil} from 'rxjs/operators';\nimport {TUI_DOC_PAGES} from '../../tokens/pages';\nimport {TUI_DOC_TITLE} from '../../tokens/title';\nimport {TuiDocPages} from '../../types/pages';\n\nexport const NAVIGATION_TITLE = new InjectionToken<Observable<string>>('Page title');\nexport const NAVIGATION_LABELS = new InjectionToken<readonly string[]>(\n 'Navigation sections labels for search',\n);\nexport const NAVIGATION_ITEMS: InjectionToken<\n ReadonlyArray<TuiDocPages>\n> = new InjectionToken<ReadonlyArray<TuiDocPages>>('Navigation pages');\n\nexport const NAVIGATION_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: NAVIGATION_TITLE,\n deps: [Router, ActivatedRoute, TUI_DOC_TITLE, TuiDestroyService],\n useFactory: titleProviderFactory,\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: itemsProviderFactory,\n },\n];\n\nexport function titleProviderFactory(\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(isPresent),\n mergeMap(({data}) => data),\n map(({title}) => titlePrefix + title),\n takeUntil(destroy$),\n );\n}\n\nexport function labelsProviderFactory(pages: TuiDocPages): readonly string[] {\n return pages\n .map(({section}) => section)\n .filter((item, index, array) => array.indexOf(item) === index);\n}\n\nexport function itemsProviderFactory(pages: TuiDocPages): ReadonlyArray<TuiDocPages> {\n const labels = labelsProviderFactory(pages);\n\n return labels.map(label => pages.filter(({section}) => section === label));\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, HostBinding, Inject} from '@angular/core';\nimport {Title} from '@angular/platform-browser';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {tuiPure, uniqBy} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs/operators';\nimport {TuiDocPage} from '../../interfaces/page';\nimport {TUI_DOC_SEARCH_TEXT} from '../../tokens/i18n';\nimport {TuiDocPages} from '../../types/pages';\nimport {transliterateKeyboardLayout} from '../../utils/transliterate-keyboard-layout';\nimport {\n NAVIGATION_ITEMS,\n NAVIGATION_LABELS,\n NAVIGATION_PROVIDERS,\n NAVIGATION_TITLE,\n} from './navigation.providers';\n\nconst SCROLL_INTO_VIEW_DELAY = 200;\n\n// @dynamic\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 search = '';\n open = false;\n openPagesArr: boolean[] = [];\n openPagesGroupsArr: boolean[] = [];\n active = '';\n\n @HostBinding('class._open')\n menuOpen = false;\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(Title) titleService: Title,\n @Inject(NAVIGATION_TITLE) title$: Observable<string>,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TuiModeDirective)\n private readonly mode: TuiModeDirective,\n @Inject(NAVIGATION_LABELS) readonly labels: string[],\n @Inject(NAVIGATION_ITEMS)\n readonly items: ReadonlyArray<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 ) {\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 titleService.setTitle(title);\n this.openActivePageGroup();\n this.handleAnchorLink(this.activatedRoute.snapshot.fragment);\n });\n }\n\n get canOpen(): boolean {\n return this.search.length > 2;\n }\n\n get filteredItems(): ReadonlyArray<ReadonlyArray<TuiDocPage>> {\n return this.filterItems(this.flattenSubPages(this.items), this.search);\n }\n\n isActive(route: string): boolean {\n return route === this.active;\n }\n\n onGroupClick(index: number) {\n this.openPagesGroupsArr[index] = !this.openPagesGroupsArr[index];\n }\n\n closeMenu() {\n this.menuOpen = false;\n }\n\n onSearchChange(search: string) {\n this.search = search;\n this.open = this.canOpen;\n }\n\n onClick() {\n this.open = false;\n this.menuOpen = false;\n this.search = '';\n this.openActivePageGroup();\n }\n\n @tuiPure\n private filterItems(\n items: ReadonlyArray<ReadonlyArray<TuiDocPage>>,\n search: string,\n ): ReadonlyArray<ReadonlyArray<TuiDocPage>> {\n return items.map(section =>\n uniqBy(\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(transliterateKeyboardLayout(search)) ||\n keywords.includes(transliterateKeyboardLayout(search)) ||\n search.replace(/-/gi, '').includes(title)\n );\n }),\n 'title',\n ),\n );\n }\n\n @tuiPure\n private flattenSubPages(\n items: ReadonlyArray<TuiDocPages>,\n ): ReadonlyArray<ReadonlyArray<TuiDocPage>> {\n return items.reduce<ReadonlyArray<ReadonlyArray<TuiDocPage>>>(\n (array, item) => [\n ...array,\n item.reduce<ReadonlyArray<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, false);\n }\n\n private handleAnchorLink(hash: string) {\n setTimeout(() => {\n this.navigateToAnchorLink(hash);\n }, SCROLL_INTO_VIEW_DELAY);\n }\n\n private openActivePageGroup() {\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 + pageIndex] = true;\n this.active = subPage.route;\n }\n });\n }\n });\n });\n }\n\n private navigateToAnchorLink(fragment: string) {\n const element = fragment && this.documentRef.querySelector(`#${fragment}`);\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: 'smooth',\n });\n }\n}\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {getElementObscurers, TuiDestroyService} from '@taiga-ui/cdk';\nimport {Subject} from 'rxjs';\nimport {debounceTime, filter, takeUntil} from 'rxjs/operators';\n\n@Directive({\n selector: '[scrollIntoView]',\n providers: [TuiDestroyService],\n})\nexport class ScrollIntoViewDirective {\n @Input()\n set scrollIntoView(shallWe: boolean) {\n this.scroll$.next(shallWe);\n }\n\n private readonly scroll$ = new Subject<boolean>();\n\n constructor(\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n ) {\n this.scroll$\n .pipe(\n debounceTime(750),\n filter(shallWe => shallWe && !!getElementObscurers(nativeElement)),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n nativeElement.scrollIntoView();\n });\n }\n}\n","import {NgModule} from '@angular/core';\nimport {ScrollIntoViewDirective} from './scroll-into-view.directive';\n\n@NgModule({\n declarations: [ScrollIntoViewDirective],\n exports: [ScrollIntoViewDirective],\n})\nexport class ScrollIntoViewModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiActiveZoneModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiDropdownControllerModule,\n TuiExpandModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiModeModule,\n TuiPrimitiveTextfieldModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiAccordionModule} from '@taiga-ui/kit';\nimport {ScrollIntoViewModule} from '../../directives/scroll-into-view/scroll-into-view.module';\nimport {TuiDocNavigationComponent} from './navigation.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n ScrollIntoViewModule,\n TuiButtonModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiActiveZoneModule,\n TuiLetModule,\n TuiModeModule,\n TuiLinkModule,\n TuiExpandModule,\n TuiHostedDropdownModule,\n TuiDropdownControllerModule,\n TuiAccordionModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiDataListModule,\n ],\n declarations: [TuiDocNavigationComponent],\n exports: [TuiDocNavigationComponent],\n})\nexport class TuiDocNavigationModule {}\n","export function rgbToHex(r: number, g: number, b: number): string {\n return (\n '#' +\n [r, g, b]\n .map(x => {\n const hex = x.toString(16);\n\n return hex.length === 1 ? '0' + hex : hex;\n })\n .join('')\n );\n}\n\nexport function hexToRgb(hex: string): [number, number, number] {\n const matches = hex\n .replace('#', '')\n .split('')\n .map((char, _, array) => (array.length === 3 ? char + char : char))\n .join('')\n .match(/.{2}/g);\n\n return matches\n ? (matches.map(x => Number.parseInt(x, 16)) as [number, number, number])\n : [0, 0, 0];\n}\n","function inspectArray(array: ReadonlyArray<any>, depth: number): string {\n if (depth === 0) {\n return '[…]';\n }\n\n let result = '';\n let first = true;\n\n for (let index = 0; index < array.length; index++) {\n if (first) {\n first = false;\n } else {\n result += ', ';\n }\n\n result += index in array ? inspectAny(array[index], depth - 1) : 'empty';\n }\n\n return `[${result}]`;\n}\n\nfunction inspectObject(object: {[key: string]: any}, depth: number): string {\n if (depth === 0) {\n return `{…}`;\n }\n\n let result = '';\n\n let first = true;\n\n for (const key in object) {\n if (!object.hasOwnProperty(key)) {\n continue;\n }\n\n if (first) {\n first = false;\n } else {\n result += ', ';\n }\n\n result += `${key}: ${inspectAny(object[key], depth - 1)}`;\n }\n\n return `{${result}}`;\n}\n\n// @bad TODO add more types\n/**\n * Returns readable JS entity\n * @param data\n * @param depth\n * @return readable JS entity\n */\nexport function inspectAny(data: any, depth: number): string {\n if (data === null) {\n return 'null';\n }\n\n switch (typeof data) {\n case 'string':\n return `'${data}'`;\n case 'undefined':\n case 'number':\n case 'boolean':\n case 'function':\n return String(data);\n }\n\n if (data instanceof RegExp) {\n return data.toString();\n }\n\n if (Array.isArray(data)) {\n return inspectArray(data, depth);\n }\n\n return inspectObject(data, depth);\n}\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} from '@angular/router';\nimport {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})\nexport class TuiDocDocumentationPropertyConnectorDirective<T>\n implements OnInit, OnChanges {\n @Input()\n documentationPropertyName = '';\n\n @Input()\n documentationPropertyMode: DocumentationPropertyType = null;\n\n @Input()\n documentationPropertyType = '';\n\n @Input()\n documentationPropertyValue: T | null = null;\n\n @Input()\n documentationPropertyDeprecated = false;\n\n @Input()\n documentationPropertyValues: ReadonlyArray<T> | null = null;\n\n @Output()\n readonly documentationPropertyValueChange = new EventEmitter<T>();\n\n readonly changed$ = new Subject<void>();\n\n constructor(\n @Inject(TemplateRef) readonly template: TemplateRef<{}>,\n @Inject(Location) private readonly locationRef: Location,\n @Inject(ActivatedRoute) private readonly activatedRoute: ActivatedRoute,\n @Inject(UrlSerializer) private readonly urlSerializer: UrlSerializer,\n ) {}\n\n ngOnInit() {\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() {\n this.changed$.next();\n }\n\n onValueChange(value: T) {\n this.documentationPropertyValue = value;\n this.documentationPropertyValueChange.emit(value);\n this.setQueryParam(value);\n }\n\n private parseParams(params: Params) {\n if (\n !params[this.documentationPropertyName] &&\n !params[this.documentationPropertyName + SERIALIZED_SUFFIX]\n ) {\n return;\n }\n\n const isValueAvailableByKey = !!params[\n this.documentationPropertyName + SERIALIZED_SUFFIX\n ];\n\n if (isValueAvailableByKey && this.documentationPropertyValues) {\n this.onValueChange(\n this.documentationPropertyValues[\n params[this.documentationPropertyName + SERIALIZED_SUFFIX]\n ],\n );\n\n return;\n }\n\n this.onValueChange(\n !isNaN(Number(params[this.documentationPropertyName]))\n ? Number(params[this.documentationPropertyName])\n : params[this.documentationPropertyName],\n );\n }\n\n private setQueryParam(value: T) {\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)\n : value;\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(String(tree));\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY, itemsQueryListObservable, watch} from '@taiga-ui/cdk';\nimport {merge} from 'rxjs';\nimport {switchMap} from 'rxjs/operators';\nimport {TUI_DOC_DOCUMENTATION_TEXTS} from '../../tokens/i18n';\nimport {hexToRgb, rgbToHex} from '../../utils/color-conversion';\nimport {inspectAny} from '../../utils/inspect';\nimport {TuiDocDocumentationPropertyConnectorDirective} from './documentation-property-connector.directive';\n\n// @bad TODO subscribe propertiesConnectors changes\n// @bad TODO refactor to make more flexible\n// @dynamic\n@Component({\n selector: 'tui-doc-documentation',\n templateUrl: './documentation.template.html',\n styleUrls: ['./documentation.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\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<\n TuiDocDocumentationPropertyConnectorDirective<any>\n > = EMPTY_QUERY;\n\n activeItemIndex = 0;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_DOC_DOCUMENTATION_TEXTS)\n readonly texts: [string, string, string, string, string],\n ) {}\n\n ngAfterContentInit() {\n itemsQueryListObservable(this.propertiesConnectors)\n .pipe(\n switchMap(items => merge(...items.map(({changed$}) => changed$))),\n watch(this.changeDetectorRef),\n )\n .subscribe();\n }\n\n get type(): string {\n return this.isAPI ? this.texts[0] : this.texts[1];\n }\n\n getColor(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 rgbToHex(...parsed);\n }\n\n getOpacity(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 .substr(lastComma)\n .replace(')', '')\n .replace(' ', '')\n .replace(',', '');\n\n return Math.round(Number.parseFloat(parsed) * 100);\n }\n\n onColorChange(\n connector: TuiDocDocumentationPropertyConnectorDirective<string>,\n color: string,\n ) {\n const opacity = this.getOpacity(connector.documentationPropertyValue || '');\n\n if (opacity === 100) {\n connector.onValueChange(color);\n\n return;\n }\n\n const rgb = hexToRgb(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,\n ) {\n const hex = this.getColor(connector.documentationPropertyValue || '');\n const rgb = hexToRgb(hex);\n const result = `rgba(${rgb}, ${opacity / 100})`;\n\n connector.onValueChange(result);\n }\n\n stripOptional(name: string): string {\n return name.replace('?', '');\n }\n\n isOptional(name: string): boolean {\n return name.includes('?');\n }\n\n showCleaner(type: string): boolean {\n return type.includes('null');\n }\n\n showContentTooltip(type: string): boolean {\n return type.includes('PolymorpheusContent');\n }\n\n inspectAny(data: any): string {\n return inspectAny(data, 2);\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.tuiFocusableComponent;\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 tuiFocusableComponent: TuiFocusableElementAccessor,\n ) {}\n}\n","import {NgModule} from '@angular/core';\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 {\n TuiDataListModule,\n TuiDropdownControllerModule,\n TuiGroupModule,\n TuiHintControllerModule,\n TuiLinkModule,\n TuiModeModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiTooltipModule,\n} from '@taiga-ui/core';\nimport {\n TuiBadgeModule,\n TuiDataListWrapperModule,\n TuiInputCountModule,\n TuiSelectModule,\n TuiToggleModule,\n} from '@taiga-ui/kit';\nimport {TuiInputOpacityModule} from '../../internal/input-opacity/input-opacity.module';\nimport {TuiDocDocumentationPropertyConnectorDirective} from './documentation-property-connector.directive';\nimport {TuiDocDocumentationComponent} from './documentation.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n TuiBadgeModule,\n TuiSelectModule,\n TuiToggleModule,\n TuiTooltipModule,\n TuiLinkModule,\n TuiInputCountModule,\n TuiModeModule,\n TuiGroupModule,\n TuiInputOpacityModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiHintControllerModule,\n TuiDropdownControllerModule,\n TuiDataListModule,\n TuiDataListWrapperModule,\n ],\n declarations: [\n TuiDocDocumentationComponent,\n TuiDocDocumentationPropertyConnectorDirective,\n ],\n exports: [\n TuiDocDocumentationComponent,\n TuiDocDocumentationPropertyConnectorDirective,\n ],\n})\nexport class TuiDocDocumentationModule {}\n","import {InjectionToken} from '@angular/core';\nimport {CodeEditor} from '../interfaces/code-editor';\n\nexport const TUI_DOC_CODE_EDITOR = new InjectionToken<CodeEditor>(\n 'Contains service for opening online IDE e.g. Stackblitz',\n);\n","import {InjectionToken} from '@angular/core';\nimport {identity, TuiHandler} from '@taiga-ui/cdk';\n\nexport const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new InjectionToken<\n TuiHandler<Record<string, string>, Record<string, string>>\n>('Processes content in example', {\n factory: () => identity,\n});\n","import {Clipboard} from '@angular/cdk/clipboard';\nimport {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n Optional,\n} from '@angular/core';\nimport {LOCATION} from '@ng-web-apis/common';\nimport {TuiHandler, tuiPure} from '@taiga-ui/cdk';\nimport {TuiNotification, TuiNotificationsService} from '@taiga-ui/core';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {CodeEditor} from '../../interfaces/code-editor';\nimport {TUI_DOC_CODE_EDITOR} from '../../tokens/code-editor';\nimport {TUI_DOC_EXAMPLE_CONTENT_PROCESSOR} from '../../tokens/example-content-processor';\nimport {TUI_DOC_EXAMPLE_TEXTS} from '../../tokens/i18n';\n\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\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 @Input()\n heading: string | null = null;\n\n @Input()\n description: string | null = null;\n\n @Input()\n set content(content: Record<string, string>) {\n this.processedContent = this.processContent(content);\n }\n\n @Input()\n componentName: string = this.location.pathname.slice(1);\n\n activeItemIndex = 0;\n\n processedContent: Record<string, string> = {};\n\n readonly defaultTab = this.texts[0];\n\n readonly copy$ = this.copyTexts$.pipe(map(([copy]) => copy));\n\n constructor(\n @Attribute('id')\n readonly id: string | null,\n @Inject(Clipboard) private readonly clipboard: Clipboard,\n @Inject(TuiNotificationsService)\n private readonly notifications: TuiNotificationsService,\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: CodeEditor | null,\n @Inject(TUI_DOC_EXAMPLE_CONTENT_PROCESSOR)\n private readonly processContent: TuiHandler<\n Record<string, string>,\n Record<string, string>\n >,\n ) {}\n\n get activeItem(): string {\n return this.tabs[this.activeItemIndex];\n }\n\n get tabs(): readonly string[] {\n return this.getTabs(this.processedContent);\n }\n\n get code(): string {\n const code = this.processedContent[this.activeItem];\n\n return code ? code.trim() : '';\n }\n\n get isDefaultItem(): boolean {\n return this.activeItem === this.defaultTab;\n }\n\n copyExampleLink() {\n const hashPosition = this.location.href.indexOf('#');\n const currentUrl =\n hashPosition > -1\n ? this.location.href.substr(0, hashPosition)\n : this.location.href;\n const url = `${currentUrl}#${this.id}`;\n\n this.clipboard.copy(url);\n this.notifications\n .show(this.texts[1], {\n label: this.texts[2],\n status: TuiNotification.Success,\n })\n .subscribe();\n }\n\n @tuiPure\n private getTabs(content: Record<string, string>): readonly string[] {\n return [this.defaultTab, ...Object.keys(content)];\n }\n}\n","import {ClipboardModule} from '@angular/cdk/clipboard';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {TuiTabsModule} from '@taiga-ui/kit';\nimport {TuiDocCodeModule} from '../code/code.module';\nimport {TuiDocCopyModule} from '../copy/copy.module';\nimport {TuiDocExampleComponent} from './example.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ClipboardModule,\n TuiTabsModule,\n TuiButtonModule,\n TuiDocCopyModule,\n TuiDocCodeModule,\n ],\n declarations: [TuiDocExampleComponent],\n exports: [TuiDocExampleComponent],\n})\nexport class TuiDocExampleModule {}\n","import {Component, forwardRef, Inject, ViewEncapsulation} from '@angular/core';\nimport {LOCAL_STORAGE, WINDOW} from '@ng-web-apis/common';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\n\n// @dynamic\n@Component({\n selector: 'tui-doc-main',\n templateUrl: './main.template.html',\n styleUrls: ['./main.style.less'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: TuiModeDirective,\n useExisting: forwardRef(() => TuiDocMainComponent),\n },\n ],\n})\nexport class TuiDocMainComponent {\n night =\n this.storage.getItem('night') === 'true' ||\n (this.storage.getItem('night') === null &&\n this.windowRef.matchMedia('(prefers-color-scheme: dark)').matches);\n\n readonly change$ = new Subject<void>();\n\n constructor(\n @Inject(LOCAL_STORAGE) private readonly storage: Storage,\n @Inject(WINDOW) private readonly windowRef: Window,\n ) {}\n\n get mode(): TuiBrightness | null {\n return this.night ? 'onDark' : null;\n }\n\n onMode(night: boolean) {\n this.night = night;\n this.change$.next();\n this.storage.setItem('night', String(night));\n }\n}\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_DOC_LOGO = new InjectionToken<PolymorpheusContent>('Main logo', {\n factory: () => '',\n});\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {merge, Subject} from 'rxjs';\nimport {distinctUntilChanged, mapTo, startWith} from 'rxjs/operators';\nimport {TUI_DOC_MENU_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_LOGO} from '../../tokens/logo';\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(this.router.events.pipe(mapTo(false)), this.stream$).pipe(\n startWith(false),\n distinctUntilChanged(),\n );\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 ) {}\n\n onClick() {\n this.stream$.next(true);\n }\n\n onActiveZone(active: boolean) {\n if (!active) {\n this.stream$.next(false);\n }\n }\n}\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';\nimport {TuiDocNavigationModule} from '../../components/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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {\n TuiDialogModule,\n TuiNotificationsModule,\n TuiRootModule,\n TuiThemeNightModule,\n} from '@taiga-ui/core';\nimport {TuiToggleModule} from '@taiga-ui/kit';\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 FormsModule,\n TuiToggleModule,\n TuiThemeNightModule,\n TuiDocHeaderModule,\n TuiRootModule,\n TuiDialogModule,\n TuiNotificationsModule,\n TuiDocNavigationModule,\n ],\n declarations: [TuiDocMainComponent],\n exports: [TuiDocMainComponent],\n})\nexport class TuiDocMainModule {}\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_DEFAULT_TABS = new InjectionToken<readonly string[]>(\n 'Array of default tab names',\n {\n factory: () => [],\n },\n);\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: '[pageTab]',\n})\nexport class TuiDocPageTabConnectorDirective {\n @Input()\n @tuiDefaultProp()\n pageTab?: string;\n\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<{}>) {}\n}\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_SEE_ALSO = new InjectionToken<ReadonlyArray<readonly string[]>>(\n 'Array of arrays of related pages',\n {\n factory: () => [],\n },\n);\n","import {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {TUI_DOC_SEE_ALSO} from '../../tokens/see-also';\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: seeAlsoProviderFactory,\n },\n];\n\nexport function seeAlsoProviderFactory(\n {nativeElement}: ElementRef,\n seeAlsoGroups: ReadonlyArray<readonly string[]>,\n): readonly string[] {\n const groups =\n seeAlsoGroups.filter(group => group.indexOf(nativeElement.header) !== -1) || [];\n\n const seeAlsoSet = new Set(\n groups\n .join()\n .split(',')\n .filter(component => component && component !== nativeElement.header),\n );\n\n return Array.from(seeAlsoSet);\n}\n","import {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {TUI_DOC_DEFAULT_TABS} from '../../tokens/default-tabs';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\nimport {PAGE_PROVIDERS, PAGE_SEE_ALSO} from './page.providers';\n\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\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 activeItemIndex = NaN;\n\n @ContentChildren(TuiDocPageTabConnectorDirective)\n readonly tabConnectors: QueryList<TuiDocPageTabConnectorDirective> = EMPTY_QUERY;\n\n constructor(\n @Attribute('deprecated') readonly deprecated: string | null,\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 getRouterLink(tab: string = ''): string {\n return `./${tab.replace(/ /g, '_')}`;\n }\n}\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {TuiDocPage, TuiDocPageGroup} from '../../interfaces/page';\nimport {TUI_DOC_SEE_ALSO_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_PAGES} from '../../tokens/pages';\n\n// @dynamic\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_PAGES)\n private readonly pages: ReadonlyArray<TuiDocPageGroup | TuiDocPage>,\n ) {}\n\n getRouterLink(pageTitle: string): string {\n for (let i = 0; i < this.pages.length; i++) {\n const page = this.pages\n .map(page => ('subPages' in page ? page.subPages : [page]))\n .reduce((pages, subPages) => [...pages, ...subPages], [])\n .find((page: TuiDocPage) => page.title === pageTitle);\n\n if (page && page.route) {\n return page.route;\n }\n }\n\n return '';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiLinkModule} from '@taiga-ui/core';\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 {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {TuiDocSourceCodePathOptions} from '../interfaces/source-code-path-options';\n\nexport const TUI_DOC_SOURCE_CODE: InjectionToken<\n PolymorpheusContent<TuiDocSourceCodePathOptions>\n> = new InjectionToken<PolymorpheusContent<TuiDocSourceCodePathOptions>>(\n 'Source code link',\n {\n factory: () => '',\n },\n);\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {tuiPure} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {TuiDocSourceCodePathOptions} from '../../interfaces/source-code-path-options';\nimport {TUI_DOC_SOURCE_CODE_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_SOURCE_CODE} from '../../tokens/source-code';\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","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiTabsModule, TuiTagModule} from '@taiga-ui/kit';\nimport {TuiDocSeeAlsoModule} from '../../internal/see-also/see-also.module';\nimport {TuiDocSourceCodeModule} from '../../internal/source-code/source-code.module';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\nimport {TuiDocPageComponent} from './page.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n TuiDocSeeAlsoModule,\n TuiTabsModule,\n TuiTagModule,\n TuiDocSourceCodeModule,\n ],\n declarations: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n exports: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n})\nexport class TuiDocPageModule {}\n","import {Provider} from '@angular/core';\nimport {\n TUI_DOC_DEMO_TEXTS,\n TUI_DOC_DOCUMENTATION_TEXTS,\n TUI_DOC_EXAMPLE_TEXTS,\n TUI_DOC_MENU_TEXT,\n TUI_DOC_SEARCH_TEXT,\n TUI_DOC_SEE_ALSO_TEXT,\n TUI_DOC_SOURCE_CODE_TEXT,\n} from '../tokens/i18n';\n\n// TODO: remove in ivy compilation\nexport const DEMO_TEXTS = ['Сделано с помощью директивы: ', 'Фон', 'Детали формы'];\nexport const DOC_TEXTS = [\n 'Аргумент',\n 'Тип',\n 'Имя и описание',\n 'Значение',\n 'Для работы с динамическими шаблонами используется',\n];\nexport const EXAMPLE_TEXTS = ['Превью', 'Ссылка на пример скопирована', 'Готово'];\n\nexport const TUI_DOC_RUSSIAN: Provider[] = [\n {\n provide: TUI_DOC_DEMO_TEXTS,\n useValue: DEMO_TEXTS,\n },\n {\n provide: TUI_DOC_DOCUMENTATION_TEXTS,\n useValue: DOC_TEXTS,\n },\n {\n provide: TUI_DOC_EXAMPLE_TEXTS,\n useValue: EXAMPLE_TEXTS,\n },\n {\n provide: TUI_DOC_MENU_TEXT,\n useValue: 'Меню',\n },\n {\n provide: TUI_DOC_SEARCH_TEXT,\n useValue: 'Поиск',\n },\n {\n provide: TUI_DOC_SEE_ALSO_TEXT,\n useValue: 'Смотрите также',\n },\n {\n provide: TUI_DOC_SOURCE_CODE_TEXT,\n useValue: 'Исходный код',\n },\n];\n","import {Type} from '@angular/core';\nimport {Routes} from '@angular/router';\n\n/**\n * Generates typical page routing structure\n */\nexport function generateRoutes(type: Type<any>): Routes {\n return [\n {\n path: '',\n component: type,\n children: [\n {\n path: ':tab',\n component: type,\n },\n ],\n },\n ];\n}\n","import {NgModule} from '@angular/core';\nimport {TuiDocCodeModule} from './components/code/code.module';\nimport {TuiDocDemoModule} from './components/demo/demo.module';\nimport {TuiDocDocumentationModule} from './components/documentation/documentation.module';\nimport {TuiDocExampleModule} from './components/example/example.module';\nimport {TuiDocPageModule} from './components/page/page.module';\n\n@NgModule({\n exports: [\n TuiDocCodeModule,\n TuiDocDemoModule,\n TuiDocDocumentationModule,\n TuiDocPageModule,\n TuiDocExampleModule,\n ],\n})\nexport class TuiAddonDocModule {}\n","/**\n * Public API Surface of @taiga-ui/addon-doc\n */\n\n/* Components */\nexport * from './components/code/code.component';\nexport * from './components/code/code.module';\nexport * from './components/copy/copy.component';\nexport * from './components/copy/copy.module';\nexport * from './components/demo/demo.component';\nexport * from './components/demo/demo.module';\nexport * from './components/navigation/navigation.component';\nexport * from './components/navigation/navigation.module';\nexport * from './components/documentation/documentation.component';\nexport * from './components/documentation/documentation.module';\nexport * from './components/documentation/documentation-property-connector.directive';\nexport * from './components/example/example.component';\nexport * from './components/example/example.module';\nexport * from './components/main/main.component';\nexport * from './components/main/main.module';\nexport * from './components/page/page.component';\nexport * from './components/page/page.module';\nexport * from './components/page/page-tab.directive';\n\n/* Directives */\nexport * from './directives/scroll-into-view/scroll-into-view.directive';\nexport * from './directives/scroll-into-view/scroll-into-view.module';\n\n/* Interfaces */\nexport * from './interfaces/code-editor';\nexport * from './interfaces/page';\nexport * from './interfaces/source-code-path-options';\n\n/* Languages */\nexport * from './languages/russian';\n\n/* Tokens */\nexport * from './tokens/code-editor';\nexport * from './tokens/example-content-processor';\nexport * from './tokens/default-tabs';\nexport * from './tokens/i18n';\nexport * from './tokens/logo';\nexport * from './tokens/pages';\nexport * from './tokens/see-also';\nexport * from './tokens/source-code';\nexport * from './tokens/title';\n\n/* Types */\nexport * from './types/pages';\n\n/* Utils */\nexport * from './utils/generate-routes';\n\nexport * from './addon-doc.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {NAVIGATION_ITEMS as ɵc,NAVIGATION_LABELS as ɵb,NAVIGATION_PROVIDERS as ɵd,NAVIGATION_TITLE as ɵa,itemsProviderFactory as ɵg,labelsProviderFactory as ɵf,titleProviderFactory as ɵe} from './components/navigation/navigation.providers';\nexport {PAGE_PROVIDERS as ɵm,PAGE_SEE_ALSO as ɵl,seeAlsoProviderFactory as ɵn} from './components/page/page.providers';\nexport {TuiDocHeaderComponent as ɵk} from './internal/header/header.component';\nexport {TuiDocHeaderModule as ɵj} from './internal/header/header.module';\nexport {TuiInputOpacityDirective as ɵi} from './internal/input-opacity/input-opacity.directive';\nexport {TuiInputOpacityModule as ɵh} from './internal/input-opacity/input-opacity.module';\nexport {TuiDocSeeAlsoComponent as ɵp} from './internal/see-also/see-also.component';\nexport {TuiDocSeeAlsoModule as ɵo} from './internal/see-also/see-also.module';\nexport {TuiDocSourceCodeComponent as ɵr} from './internal/source-code/source-code.component';\nexport {TuiDocSourceCodeModule as ɵq} from './internal/source-code/source-code.module';"],"names":["Location"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-doc.js","sources":["ng://@taiga-ui/addon-doc/components/code/code.component.ts","ng://@taiga-ui/addon-doc/components/code/code.module.ts","ng://@taiga-ui/addon-doc/components/copy/copy.component.ts","ng://@taiga-ui/addon-doc/components/copy/copy.module.ts","ng://@taiga-ui/addon-doc/tokens/i18n.ts","ng://@taiga-ui/addon-doc/components/demo/demo.component.ts","ng://@taiga-ui/addon-doc/components/demo/demo.module.ts","ng://@taiga-ui/addon-doc/utils/transliterate-keyboard-layout.ts","ng://@taiga-ui/addon-doc/tokens/pages.ts","ng://@taiga-ui/addon-doc/tokens/title.ts","ng://@taiga-ui/addon-doc/components/navigation/navigation.providers.ts","ng://@taiga-ui/addon-doc/components/navigation/navigation.component.ts","ng://@taiga-ui/addon-doc/directives/scroll-into-view/scroll-into-view.directive.ts","ng://@taiga-ui/addon-doc/directives/scroll-into-view/scroll-into-view.module.ts","ng://@taiga-ui/addon-doc/components/navigation/navigation.module.ts","ng://@taiga-ui/addon-doc/utils/color-conversion.ts","ng://@taiga-ui/addon-doc/utils/inspect.ts","ng://@taiga-ui/addon-doc/components/documentation/documentation-property-connector.directive.ts","ng://@taiga-ui/addon-doc/components/documentation/documentation.component.ts","ng://@taiga-ui/addon-doc/internal/input-opacity/input-opacity.directive.ts","ng://@taiga-ui/addon-doc/internal/input-opacity/input-opacity.module.ts","ng://@taiga-ui/addon-doc/components/documentation/documentation.module.ts","ng://@taiga-ui/addon-doc/tokens/code-editor.ts","ng://@taiga-ui/addon-doc/tokens/example-content-processor.ts","ng://@taiga-ui/addon-doc/components/example/example.component.ts","ng://@taiga-ui/addon-doc/components/example/example.module.ts","ng://@taiga-ui/addon-doc/components/main/main.component.ts","ng://@taiga-ui/addon-doc/tokens/logo.ts","ng://@taiga-ui/addon-doc/internal/header/header.component.ts","ng://@taiga-ui/addon-doc/internal/header/header.module.ts","ng://@taiga-ui/addon-doc/components/main/main.module.ts","ng://@taiga-ui/addon-doc/tokens/default-tabs.ts","ng://@taiga-ui/addon-doc/components/page/page-tab.directive.ts","ng://@taiga-ui/addon-doc/tokens/see-also.ts","ng://@taiga-ui/addon-doc/components/page/page.providers.ts","ng://@taiga-ui/addon-doc/components/page/page.component.ts","ng://@taiga-ui/addon-doc/internal/see-also/see-also.component.ts","ng://@taiga-ui/addon-doc/internal/see-also/see-also.module.ts","ng://@taiga-ui/addon-doc/tokens/source-code.ts","ng://@taiga-ui/addon-doc/internal/source-code/source-code.component.ts","ng://@taiga-ui/addon-doc/internal/source-code/source-code.module.ts","ng://@taiga-ui/addon-doc/components/page/page.module.ts","ng://@taiga-ui/addon-doc/languages/russian.ts","ng://@taiga-ui/addon-doc/utils/generate-routes.ts","ng://@taiga-ui/addon-doc/addon-doc.module.ts","ng://@taiga-ui/addon-doc/public-api.ts","ng://@taiga-ui/addon-doc/taiga-ui-addon-doc.ts"],"sourcesContent":["import {Component, HostBinding, Input} from '@angular/core';\n\n@Component({\n selector: 'tui-doc-code',\n templateUrl: './code.template.html',\n styleUrls: ['./code.style.less'],\n})\nexport class TuiDocCodeComponent {\n @Input()\n filename = '';\n\n @Input()\n code = '';\n\n @HostBinding('class._has-filename')\n get hasFilename(): boolean {\n return !!this.filename;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {HighlightModule} from 'ngx-highlightjs';\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 {TuiDestroyService, tuiPure} from '@taiga-ui/cdk';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit';\nimport {Observable, Subject, timer} from 'rxjs';\nimport {mapTo, startWith, switchMapTo} from 'rxjs/operators';\n\nconst COPIED_TIMEOUT = 1500;\n\n// @dynamic\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();\n\n constructor(\n @Inject(TUI_COPY_TEXTS) readonly texts$: Observable<[string, string]>,\n ) {}\n\n @tuiPure\n get copied$(): Observable<boolean> {\n return this.copy$.pipe(\n switchMapTo(timer(COPIED_TIMEOUT).pipe(mapTo(false), startWith(true))),\n );\n }\n\n onClick() {\n this.copy$.next();\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {TuiDocCopyComponent} from './copy.component';\n\n@NgModule({\n imports: [CommonModule, TuiButtonModule],\n declarations: [TuiDocCopyComponent],\n exports: [TuiDocCopyComponent],\n})\nexport class TuiDocCopyModule {}\n","import {InjectionToken} from '@angular/core';\n\n/**\n * TODO: think about reorganization in @taiga-ui/i18n way\n */\n\n/**\n * Works with a tuple\n * [@string tuiMode tooltip content, @string word 'background', @string 'form value']\n */\nexport const TUI_DOC_DEMO_TEXTS = new InjectionToken<[string, string, string]>(\n 'tui-doc-demo i18n texts',\n {factory: () => ['Read more more about modes: ', 'Background', 'Form value']},\n);\n\n/**\n * Works with a tuple\n * [\n * @string word 'argument',\n * @string word 'type',\n * @string 'name and description',\n * @string word 'value'\n * @string message for tooltip about ng-polymorpheus\n * ]\n */\nexport const TUI_DOC_DOCUMENTATION_TEXTS = new InjectionToken<\n [string, string, string, string, string]\n>('tui-doc-documentation i18n texts', {\n factory: () => [\n 'Argument',\n 'Type',\n 'Name and description',\n 'Value',\n 'Learn about our dynamic templates from ',\n ],\n});\n\n/**\n * Works with a tuple\n * [\n * @string default tab name,\n * @string link to a sample copied message text,\n * @string link to a sample copied message label\n * ]\n */\nexport const TUI_DOC_EXAMPLE_TEXTS = new InjectionToken<[string, string, string]>(\n 'tui-doc-example i18n texts',\n {factory: () => ['Preview', 'Link to a sample was successfully copied', 'Done']},\n);\n\nexport const TUI_DOC_MENU_TEXT = new InjectionToken<string>('menu i18n text', {\n factory: () => 'Menu',\n});\n\nexport const TUI_DOC_SEARCH_TEXT = new InjectionToken<string>('search i18n text', {\n factory: () => 'Search',\n});\n\nexport const TUI_DOC_SEE_ALSO_TEXT = new InjectionToken<string>(\n 'tui-doc-see-also i18n text',\n {factory: () => 'See also'},\n);\n\nexport const TUI_DOC_SOURCE_CODE_TEXT = new InjectionToken<string>(\n 'tui-doc-source-code i18n text',\n {factory: () => 'Source code'},\n);\n","import {isPlatformBrowser, Location} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n forwardRef,\n HostListener,\n Inject,\n Input,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {AbstractControl, FormControl, FormGroup} from '@angular/forms';\nimport {UrlSerializer} from '@angular/router';\nimport {TUI_IS_MOBILE, TuiDestroyService} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\nimport {startWith, takeUntil} from 'rxjs/operators';\nimport {TUI_DOC_DEMO_TEXTS} from '../../tokens/i18n';\n\nconst MIN_COMPONENT_WIDTH = 104;\n\n// @dynamic\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, AfterViewInit {\n @Input()\n control: AbstractControl | null = null;\n\n testForm?: FormGroup;\n updateOnVariants = ['change', 'blur', 'submit'];\n updateOn: 'change' | 'blur' | 'submit' = 'change';\n expanded = false;\n opaque = true;\n modeControl = new FormControl();\n\n mode: TuiBrightness | null = null;\n readonly change$ = new Subject<void>();\n\n @ContentChild(TemplateRef)\n readonly template?: TemplateRef<{}>;\n\n readonly items: readonly TuiBrightness[] = ['onLight', 'onDark'];\n\n private initialX = 0;\n private wrapperWidth = 0;\n\n @ViewChild('content')\n private readonly content?: ElementRef<HTMLElement>;\n\n @ViewChild('wrapper')\n private readonly wrapper?: ElementRef<HTMLElement>;\n\n @ViewChild('resizerText')\n private readonly resizerText?: ElementRef<HTMLElement>;\n\n private readonly isBrowser: boolean;\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(PLATFORM_ID) platformId: Object,\n @Inject(Location) locationRef: Location,\n @Inject(UrlSerializer) urlSerializer: UrlSerializer,\n @Inject(TUI_DOC_DEMO_TEXTS) readonly texts: [string, string, string],\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n\n const parsedMode = locationRef.path().match(/tui-mode=(onDark|onLight)/);\n\n if (parsedMode !== null && parsedMode.length > 0) {\n this.modeControl.setValue(parsedMode[1]);\n }\n\n this.modeControl.valueChanges\n .pipe(startWith(this.modeControl.value), takeUntil(this.destroy$))\n .subscribe(mode => {\n const urlTree = urlSerializer.parse(locationRef.path());\n\n urlTree.queryParams = {\n ...urlTree.queryParams,\n tuiMode: mode,\n };\n\n locationRef.go(String(urlTree));\n\n this.mode = mode;\n this.change$.next();\n });\n }\n\n ngOnInit() {\n this.createForm();\n }\n\n ngAfterViewInit() {\n this.setResizerTextContent();\n }\n\n setResizerTextContent() {\n if (!this.content || !this.resizerText) {\n return;\n }\n\n const paddingLeft = this.isBrowser\n ? getComputedStyle(this.content.nativeElement).paddingLeft\n : '0';\n const {offsetWidth} = this.content.nativeElement;\n\n this.resizerText.nativeElement.textContent = String(\n offsetWidth - parseInt(paddingLeft || '0', 10) * 2,\n );\n }\n\n @HostListener('window:resize')\n onResize() {\n this.setResizerTextContent();\n }\n\n onDragStart(event: MouseEvent) {\n event.preventDefault();\n this.initialX = event.clientX;\n this.wrapperWidth = this.wrapper ? this.wrapper.nativeElement.offsetWidth : 0;\n }\n\n onDragContinues(event: MouseEvent) {\n const deltaX = this.initialX - event.clientX;\n\n this.resizeContent(deltaX);\n this.setResizerTextContent();\n }\n\n onDragEnd() {\n this.wrapperWidth = this.wrapper ? this.wrapper.nativeElement.offsetWidth : 0;\n }\n\n toggleDetails() {\n this.expanded = !this.expanded;\n }\n\n updateOnChange(updateOn: 'change' | 'blur' | 'submit') {\n this.updateOn = updateOn;\n this.createForm();\n }\n\n private createForm() {\n const {control, updateOn} = this;\n\n if (!control) {\n return;\n }\n\n this.testForm = new FormGroup({testValue: control}, {updateOn});\n }\n\n private resizeContent(delta: number) {\n if (!this.wrapper) {\n return;\n }\n\n this.renderer.setStyle(\n this.wrapper.nativeElement,\n 'width',\n `${Math.max(this.wrapperWidth - delta, MIN_COMPONENT_WIDTH)}px`,\n );\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiDragModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiHintControllerModule,\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';\nimport {TuiDocDemoComponent} from './demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n RouterModule,\n TuiLinkModule,\n TuiDragModule,\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 TuiHintControllerModule,\n ],\n declarations: [TuiDocDemoComponent],\n exports: [TuiDocDemoComponent],\n})\nexport class TuiDocDemoModule {}\n","const MAP: Record<string, string> = {\n а: 'f',\n б: ',',\n в: 'd',\n г: 'u',\n д: 'l',\n е: 't',\n ё: '`',\n ж: ';',\n з: 'p',\n и: 'b',\n й: 'q',\n к: 'r',\n л: 'k',\n м: 'v',\n н: 'y',\n о: 'j',\n п: 'g',\n р: 'h',\n с: 'c',\n т: 'n',\n у: 'e',\n ф: 'a',\n х: '[',\n ц: 'w',\n ч: 'x',\n ш: 'i',\n щ: 'o',\n ъ: ']',\n ы: 's',\n ь: 'm',\n ю: '.',\n я: 'z',\n};\n\n/**\n * Translates text mistakenly typed in the Russian layout into English\n * @param string string with Russian layout characters\n * @return string with English layout characters\n */\nexport function transliterateKeyboardLayout(string: string): string {\n let newStr = '';\n\n for (let i = 0; i < string.length; i++) {\n newStr += string.charAt(i) in MAP ? MAP[string.charAt(i)] : string.charAt(i);\n }\n\n return newStr;\n}\n","import {InjectionToken} from '@angular/core';\nimport {TuiDocPages} from '../types/pages';\n\nexport const TUI_DOC_PAGES: InjectionToken<TuiDocPages> = new InjectionToken<TuiDocPages>(\n 'Documentation pages',\n {\n factory: () => [],\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_TITLE = new InjectionToken<string>('Page title', {\n factory: () => '',\n});\n","import {InjectionToken, Provider} from '@angular/core';\nimport {ActivatedRoute, NavigationEnd, Router} from '@angular/router';\nimport {isPresent, TuiDestroyService} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {filter, map, mergeMap, takeUntil} from 'rxjs/operators';\nimport {TUI_DOC_PAGES} from '../../tokens/pages';\nimport {TUI_DOC_TITLE} from '../../tokens/title';\nimport {TuiDocPages} from '../../types/pages';\n\nexport const NAVIGATION_TITLE = new InjectionToken<Observable<string>>('Page title');\nexport const NAVIGATION_LABELS = new InjectionToken<readonly string[]>(\n 'Navigation sections labels for search',\n);\nexport const NAVIGATION_ITEMS: InjectionToken<\n ReadonlyArray<TuiDocPages>\n> = new InjectionToken<ReadonlyArray<TuiDocPages>>('Navigation pages');\n\nexport const NAVIGATION_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: NAVIGATION_TITLE,\n deps: [Router, ActivatedRoute, TUI_DOC_TITLE, TuiDestroyService],\n useFactory: titleProviderFactory,\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: itemsProviderFactory,\n },\n];\n\nexport function titleProviderFactory(\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(isPresent),\n mergeMap(({data}) => data),\n map(({title}) => titlePrefix + title),\n takeUntil(destroy$),\n );\n}\n\nexport function labelsProviderFactory(pages: TuiDocPages): readonly string[] {\n return pages\n .map(({section}) => section)\n .filter((item, index, array) => array.indexOf(item) === index);\n}\n\nexport function itemsProviderFactory(pages: TuiDocPages): ReadonlyArray<TuiDocPages> {\n const labels = labelsProviderFactory(pages);\n\n return labels.map(label => pages.filter(({section}) => section === label));\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, HostBinding, Inject} from '@angular/core';\nimport {Title} from '@angular/platform-browser';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {tuiPure, uniqBy} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs/operators';\nimport {TuiDocPage} from '../../interfaces/page';\nimport {TUI_DOC_SEARCH_TEXT} from '../../tokens/i18n';\nimport {TuiDocPages} from '../../types/pages';\nimport {transliterateKeyboardLayout} from '../../utils/transliterate-keyboard-layout';\nimport {\n NAVIGATION_ITEMS,\n NAVIGATION_LABELS,\n NAVIGATION_PROVIDERS,\n NAVIGATION_TITLE,\n} from './navigation.providers';\n\nconst SCROLL_INTO_VIEW_DELAY = 200;\n\n// @dynamic\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 search = '';\n open = false;\n openPagesArr: boolean[] = [];\n openPagesGroupsArr: boolean[] = [];\n active = '';\n\n @HostBinding('class._open')\n menuOpen = false;\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(Title) titleService: Title,\n @Inject(NAVIGATION_TITLE) title$: Observable<string>,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TuiModeDirective)\n private readonly mode: TuiModeDirective,\n @Inject(NAVIGATION_LABELS) readonly labels: string[],\n @Inject(NAVIGATION_ITEMS)\n readonly items: ReadonlyArray<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 ) {\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 titleService.setTitle(title);\n this.openActivePageGroup();\n this.handleAnchorLink(this.activatedRoute.snapshot.fragment);\n });\n }\n\n get canOpen(): boolean {\n return this.search.length > 2;\n }\n\n get filteredItems(): ReadonlyArray<ReadonlyArray<TuiDocPage>> {\n return this.filterItems(this.flattenSubPages(this.items), this.search);\n }\n\n isActive(route: string): boolean {\n return route === this.active;\n }\n\n onGroupClick(index: number) {\n this.openPagesGroupsArr[index] = !this.openPagesGroupsArr[index];\n }\n\n closeMenu() {\n this.menuOpen = false;\n }\n\n onSearchChange(search: string) {\n this.search = search;\n this.open = this.canOpen;\n }\n\n onClick() {\n this.open = false;\n this.menuOpen = false;\n this.search = '';\n this.openActivePageGroup();\n }\n\n @tuiPure\n private filterItems(\n items: ReadonlyArray<ReadonlyArray<TuiDocPage>>,\n search: string,\n ): ReadonlyArray<ReadonlyArray<TuiDocPage>> {\n return items.map(section =>\n uniqBy(\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(transliterateKeyboardLayout(search)) ||\n keywords.includes(transliterateKeyboardLayout(search)) ||\n search.replace(/-/gi, '').includes(title)\n );\n }),\n 'title',\n ),\n );\n }\n\n @tuiPure\n private flattenSubPages(\n items: ReadonlyArray<TuiDocPages>,\n ): ReadonlyArray<ReadonlyArray<TuiDocPage>> {\n return items.reduce<ReadonlyArray<ReadonlyArray<TuiDocPage>>>(\n (array, item) => [\n ...array,\n item.reduce<ReadonlyArray<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, false);\n }\n\n private handleAnchorLink(hash: string) {\n setTimeout(() => {\n this.navigateToAnchorLink(hash);\n }, SCROLL_INTO_VIEW_DELAY);\n }\n\n private openActivePageGroup() {\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 + pageIndex] = true;\n this.active = subPage.route;\n }\n });\n }\n });\n });\n }\n\n private navigateToAnchorLink(fragment: string) {\n const element = fragment && this.documentRef.querySelector(`#${fragment}`);\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: 'smooth',\n });\n }\n}\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {getElementObscurers, TuiDestroyService} from '@taiga-ui/cdk';\nimport {Subject} from 'rxjs';\nimport {debounceTime, filter, takeUntil} from 'rxjs/operators';\n\n@Directive({\n selector: '[scrollIntoView]',\n providers: [TuiDestroyService],\n})\nexport class ScrollIntoViewDirective {\n @Input()\n set scrollIntoView(shallWe: boolean) {\n this.scroll$.next(shallWe);\n }\n\n private readonly scroll$ = new Subject<boolean>();\n\n constructor(\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n ) {\n this.scroll$\n .pipe(\n debounceTime(750),\n filter(shallWe => shallWe && !!getElementObscurers(nativeElement)),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n nativeElement.scrollIntoView();\n });\n }\n}\n","import {NgModule} from '@angular/core';\nimport {ScrollIntoViewDirective} from './scroll-into-view.directive';\n\n@NgModule({\n declarations: [ScrollIntoViewDirective],\n exports: [ScrollIntoViewDirective],\n})\nexport class ScrollIntoViewModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiActiveZoneModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiDropdownControllerModule,\n TuiExpandModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiModeModule,\n TuiPrimitiveTextfieldModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiAccordionModule} from '@taiga-ui/kit';\nimport {ScrollIntoViewModule} from '../../directives/scroll-into-view/scroll-into-view.module';\nimport {TuiDocNavigationComponent} from './navigation.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n ScrollIntoViewModule,\n TuiButtonModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiActiveZoneModule,\n TuiLetModule,\n TuiModeModule,\n TuiLinkModule,\n TuiExpandModule,\n TuiHostedDropdownModule,\n TuiDropdownControllerModule,\n TuiAccordionModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiDataListModule,\n ],\n declarations: [TuiDocNavigationComponent],\n exports: [TuiDocNavigationComponent],\n})\nexport class TuiDocNavigationModule {}\n","export function rgbToHex(r: number, g: number, b: number): string {\n return (\n '#' +\n [r, g, b]\n .map(x => {\n const hex = x.toString(16);\n\n return hex.length === 1 ? '0' + hex : hex;\n })\n .join('')\n );\n}\n\nexport function hexToRgb(hex: string): [number, number, number] {\n const matches = hex\n .replace('#', '')\n .split('')\n .map((char, _, array) => (array.length === 3 ? char + char : char))\n .join('')\n .match(/.{2}/g);\n\n return matches\n ? (matches.map(x => Number.parseInt(x, 16)) as [number, number, number])\n : [0, 0, 0];\n}\n","function inspectArray(array: ReadonlyArray<any>, depth: number): string {\n if (depth === 0) {\n return '[…]';\n }\n\n let result = '';\n let first = true;\n\n for (let index = 0; index < array.length; index++) {\n if (first) {\n first = false;\n } else {\n result += ', ';\n }\n\n result += index in array ? inspectAny(array[index], depth - 1) : 'empty';\n }\n\n return `[${result}]`;\n}\n\nfunction inspectObject(object: {[key: string]: any}, depth: number): string {\n if (depth === 0) {\n return `{…}`;\n }\n\n let result = '';\n\n let first = true;\n\n for (const key in object) {\n if (!object.hasOwnProperty(key)) {\n continue;\n }\n\n if (first) {\n first = false;\n } else {\n result += ', ';\n }\n\n result += `${key}: ${inspectAny(object[key], depth - 1)}`;\n }\n\n return `{${result}}`;\n}\n\n// @bad TODO add more types\n/**\n * Returns readable JS entity\n * @param data\n * @param depth\n * @return readable JS entity\n */\nexport function inspectAny(data: any, depth: number): string {\n if (data === null) {\n return 'null';\n }\n\n switch (typeof data) {\n case 'string':\n return `'${data}'`;\n case 'undefined':\n case 'number':\n case 'boolean':\n case 'function':\n return String(data);\n }\n\n if (data instanceof RegExp) {\n return data.toString();\n }\n\n if (Array.isArray(data)) {\n return inspectArray(data, depth);\n }\n\n return inspectObject(data, depth);\n}\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} from '@angular/router';\nimport {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})\nexport class TuiDocDocumentationPropertyConnectorDirective<T>\n implements OnInit, OnChanges {\n @Input()\n documentationPropertyName = '';\n\n @Input()\n documentationPropertyMode: DocumentationPropertyType = null;\n\n @Input()\n documentationPropertyType = '';\n\n @Input()\n documentationPropertyValue: T | null = null;\n\n @Input()\n documentationPropertyDeprecated = false;\n\n @Input()\n documentationPropertyValues: ReadonlyArray<T> | null = null;\n\n @Output()\n readonly documentationPropertyValueChange = new EventEmitter<T>();\n\n readonly changed$ = new Subject<void>();\n\n constructor(\n @Inject(TemplateRef) readonly template: TemplateRef<{}>,\n @Inject(Location) private readonly locationRef: Location,\n @Inject(ActivatedRoute) private readonly activatedRoute: ActivatedRoute,\n @Inject(UrlSerializer) private readonly urlSerializer: UrlSerializer,\n ) {}\n\n ngOnInit() {\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() {\n this.changed$.next();\n }\n\n onValueChange(value: T) {\n this.documentationPropertyValue = value;\n this.documentationPropertyValueChange.emit(value);\n this.setQueryParam(value);\n }\n\n private parseParams(params: Params) {\n if (\n !params[this.documentationPropertyName] &&\n !params[this.documentationPropertyName + SERIALIZED_SUFFIX]\n ) {\n return;\n }\n\n const isValueAvailableByKey = !!params[\n this.documentationPropertyName + SERIALIZED_SUFFIX\n ];\n\n if (isValueAvailableByKey && this.documentationPropertyValues) {\n this.onValueChange(\n this.documentationPropertyValues[\n params[this.documentationPropertyName + SERIALIZED_SUFFIX]\n ],\n );\n\n return;\n }\n\n this.onValueChange(\n !isNaN(Number(params[this.documentationPropertyName]))\n ? Number(params[this.documentationPropertyName])\n : params[this.documentationPropertyName],\n );\n }\n\n private setQueryParam(value: T) {\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)\n : value;\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(String(tree));\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY, itemsQueryListObservable, watch} from '@taiga-ui/cdk';\nimport {merge} from 'rxjs';\nimport {switchMap} from 'rxjs/operators';\nimport {TUI_DOC_DOCUMENTATION_TEXTS} from '../../tokens/i18n';\nimport {hexToRgb, rgbToHex} from '../../utils/color-conversion';\nimport {inspectAny} from '../../utils/inspect';\nimport {TuiDocDocumentationPropertyConnectorDirective} from './documentation-property-connector.directive';\n\n// @bad TODO subscribe propertiesConnectors changes\n// @bad TODO refactor to make more flexible\n// @dynamic\n@Component({\n selector: 'tui-doc-documentation',\n templateUrl: './documentation.template.html',\n styleUrls: ['./documentation.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\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<\n TuiDocDocumentationPropertyConnectorDirective<any>\n > = EMPTY_QUERY;\n\n activeItemIndex = 0;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_DOC_DOCUMENTATION_TEXTS)\n readonly texts: [string, string, string, string, string],\n ) {}\n\n ngAfterContentInit() {\n itemsQueryListObservable(this.propertiesConnectors)\n .pipe(\n switchMap(items => merge(...items.map(({changed$}) => changed$))),\n watch(this.changeDetectorRef),\n )\n .subscribe();\n }\n\n get type(): string {\n return this.isAPI ? this.texts[0] : this.texts[1];\n }\n\n getColor(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 rgbToHex(...parsed);\n }\n\n getOpacity(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 .substr(lastComma)\n .replace(')', '')\n .replace(' ', '')\n .replace(',', '');\n\n return Math.round(Number.parseFloat(parsed) * 100);\n }\n\n onColorChange(\n connector: TuiDocDocumentationPropertyConnectorDirective<string>,\n color: string,\n ) {\n const opacity = this.getOpacity(connector.documentationPropertyValue || '');\n\n if (opacity === 100) {\n connector.onValueChange(color);\n\n return;\n }\n\n const rgb = hexToRgb(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,\n ) {\n const hex = this.getColor(connector.documentationPropertyValue || '');\n const rgb = hexToRgb(hex);\n const result = `rgba(${rgb}, ${opacity / 100})`;\n\n connector.onValueChange(result);\n }\n\n stripOptional(name: string): string {\n return name.replace('?', '');\n }\n\n isOptional(name: string): boolean {\n return name.includes('?');\n }\n\n showCleaner(type: string): boolean {\n return type.includes('null');\n }\n\n showContentTooltip(type: string): boolean {\n return type.includes('PolymorpheusContent');\n }\n\n inspectAny(data: any): string {\n return inspectAny(data, 2);\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.tuiFocusableComponent;\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 tuiFocusableComponent: TuiFocusableElementAccessor,\n ) {}\n}\n","import {NgModule} from '@angular/core';\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 {\n TuiDataListModule,\n TuiDropdownControllerModule,\n TuiGroupModule,\n TuiHintControllerModule,\n TuiLinkModule,\n TuiModeModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiTooltipModule,\n} from '@taiga-ui/core';\nimport {\n TuiBadgeModule,\n TuiDataListWrapperModule,\n TuiInputCountModule,\n TuiSelectModule,\n TuiToggleModule,\n} from '@taiga-ui/kit';\nimport {TuiInputOpacityModule} from '../../internal/input-opacity/input-opacity.module';\nimport {TuiDocDocumentationPropertyConnectorDirective} from './documentation-property-connector.directive';\nimport {TuiDocDocumentationComponent} from './documentation.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n TuiBadgeModule,\n TuiSelectModule,\n TuiToggleModule,\n TuiTooltipModule,\n TuiLinkModule,\n TuiInputCountModule,\n TuiModeModule,\n TuiGroupModule,\n TuiInputOpacityModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiHintControllerModule,\n TuiDropdownControllerModule,\n TuiDataListModule,\n TuiDataListWrapperModule,\n ],\n declarations: [\n TuiDocDocumentationComponent,\n TuiDocDocumentationPropertyConnectorDirective,\n ],\n exports: [\n TuiDocDocumentationComponent,\n TuiDocDocumentationPropertyConnectorDirective,\n ],\n})\nexport class TuiDocDocumentationModule {}\n","import {InjectionToken} from '@angular/core';\nimport {CodeEditor} from '../interfaces/code-editor';\n\nexport const TUI_DOC_CODE_EDITOR = new InjectionToken<CodeEditor>(\n 'Contains service for opening online IDE e.g. Stackblitz',\n);\n","import {InjectionToken} from '@angular/core';\nimport {identity, TuiHandler} from '@taiga-ui/cdk';\n\nexport const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new InjectionToken<\n TuiHandler<Record<string, string>, Record<string, string>>\n>('Processes content in example', {\n factory: () => identity,\n});\n","import {Clipboard} from '@angular/cdk/clipboard';\nimport {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n Optional,\n} from '@angular/core';\nimport {LOCATION} from '@ng-web-apis/common';\nimport {TuiHandler, tuiPure} from '@taiga-ui/cdk';\nimport {TuiNotification, TuiNotificationsService} from '@taiga-ui/core';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {CodeEditor} from '../../interfaces/code-editor';\nimport {TUI_DOC_CODE_EDITOR} from '../../tokens/code-editor';\nimport {TUI_DOC_EXAMPLE_CONTENT_PROCESSOR} from '../../tokens/example-content-processor';\nimport {TUI_DOC_EXAMPLE_TEXTS} from '../../tokens/i18n';\n\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\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 @Input()\n heading: PolymorpheusContent = '';\n\n @Input()\n description: PolymorpheusContent = '';\n\n @Input()\n set content(content: Record<string, string>) {\n this.processedContent = this.processContent(content);\n }\n\n @Input()\n componentName: string = this.location.pathname.slice(1);\n\n activeItemIndex = 0;\n\n processedContent: Record<string, string> = {};\n\n readonly defaultTab = this.texts[0];\n\n readonly copy$ = this.copyTexts$.pipe(map(([copy]) => copy));\n\n constructor(\n @Attribute('id')\n readonly id: string | null,\n @Inject(Clipboard) private readonly clipboard: Clipboard,\n @Inject(TuiNotificationsService)\n private readonly notifications: TuiNotificationsService,\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: CodeEditor | null,\n @Inject(TUI_DOC_EXAMPLE_CONTENT_PROCESSOR)\n private readonly processContent: TuiHandler<\n Record<string, string>,\n Record<string, string>\n >,\n ) {}\n\n get activeItem(): string {\n return this.tabs[this.activeItemIndex];\n }\n\n get tabs(): readonly string[] {\n return this.getTabs(this.processedContent);\n }\n\n get code(): string {\n const code = this.processedContent[this.activeItem];\n\n return code ? code.trim() : '';\n }\n\n get isDefaultItem(): boolean {\n return this.activeItem === this.defaultTab;\n }\n\n copyExampleLink() {\n const hashPosition = this.location.href.indexOf('#');\n const currentUrl =\n hashPosition > -1\n ? this.location.href.substr(0, hashPosition)\n : this.location.href;\n const url = `${currentUrl}#${this.id}`;\n\n this.clipboard.copy(url);\n this.notifications\n .show(this.texts[1], {\n label: this.texts[2],\n status: TuiNotification.Success,\n })\n .subscribe();\n }\n\n @tuiPure\n private getTabs(content: Record<string, string>): readonly string[] {\n return [this.defaultTab, ...Object.keys(content)];\n }\n}\n","import {ClipboardModule} from '@angular/cdk/clipboard';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {TuiTabsModule} from '@taiga-ui/kit';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiDocCodeModule} from '../code/code.module';\nimport {TuiDocCopyModule} from '../copy/copy.module';\nimport {TuiDocExampleComponent} from './example.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ClipboardModule,\n TuiTabsModule,\n TuiButtonModule,\n TuiDocCopyModule,\n TuiDocCodeModule,\n PolymorpheusModule,\n ],\n declarations: [TuiDocExampleComponent],\n exports: [TuiDocExampleComponent],\n})\nexport class TuiDocExampleModule {}\n","import {Component, forwardRef, Inject, ViewEncapsulation} from '@angular/core';\nimport {LOCAL_STORAGE, WINDOW} from '@ng-web-apis/common';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\n\n// @dynamic\n@Component({\n selector: 'tui-doc-main',\n templateUrl: './main.template.html',\n styleUrls: ['./main.style.less'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: TuiModeDirective,\n useExisting: forwardRef(() => TuiDocMainComponent),\n },\n ],\n})\nexport class TuiDocMainComponent {\n night =\n this.storage.getItem('night') === 'true' ||\n (this.storage.getItem('night') === null &&\n this.windowRef.matchMedia('(prefers-color-scheme: dark)').matches);\n\n readonly change$ = new Subject<void>();\n\n constructor(\n @Inject(LOCAL_STORAGE) private readonly storage: Storage,\n @Inject(WINDOW) private readonly windowRef: Window,\n ) {}\n\n get mode(): TuiBrightness | null {\n return this.night ? 'onDark' : null;\n }\n\n onMode(night: boolean) {\n this.night = night;\n this.change$.next();\n this.storage.setItem('night', String(night));\n }\n}\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_DOC_LOGO = new InjectionToken<PolymorpheusContent>('Main logo', {\n factory: () => '',\n});\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {merge, Subject} from 'rxjs';\nimport {distinctUntilChanged, mapTo, startWith} from 'rxjs/operators';\nimport {TUI_DOC_MENU_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_LOGO} from '../../tokens/logo';\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(this.router.events.pipe(mapTo(false)), this.stream$).pipe(\n startWith(false),\n distinctUntilChanged(),\n );\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 ) {}\n\n onClick() {\n this.stream$.next(true);\n }\n\n onActiveZone(active: boolean) {\n if (!active) {\n this.stream$.next(false);\n }\n }\n}\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';\nimport {TuiDocNavigationModule} from '../../components/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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {\n TuiDialogModule,\n TuiNotificationsModule,\n TuiRootModule,\n TuiThemeNightModule,\n} from '@taiga-ui/core';\nimport {TuiToggleModule} from '@taiga-ui/kit';\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 FormsModule,\n TuiToggleModule,\n TuiThemeNightModule,\n TuiDocHeaderModule,\n TuiRootModule,\n TuiDialogModule,\n TuiNotificationsModule,\n TuiDocNavigationModule,\n ],\n declarations: [TuiDocMainComponent],\n exports: [TuiDocMainComponent],\n})\nexport class TuiDocMainModule {}\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_DEFAULT_TABS = new InjectionToken<readonly string[]>(\n 'Array of default tab names',\n {\n factory: () => [],\n },\n);\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: '[pageTab]',\n})\nexport class TuiDocPageTabConnectorDirective {\n @Input()\n @tuiDefaultProp()\n pageTab?: string;\n\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<{}>) {}\n}\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_SEE_ALSO = new InjectionToken<ReadonlyArray<readonly string[]>>(\n 'Array of arrays of related pages',\n {\n factory: () => [],\n },\n);\n","import {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {TUI_DOC_SEE_ALSO} from '../../tokens/see-also';\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: seeAlsoProviderFactory,\n },\n];\n\nexport function seeAlsoProviderFactory(\n {nativeElement}: ElementRef,\n seeAlsoGroups: ReadonlyArray<readonly string[]>,\n): readonly string[] {\n const groups =\n seeAlsoGroups.filter(group => group.indexOf(nativeElement.header) !== -1) || [];\n\n const seeAlsoSet = new Set(\n groups\n .join()\n .split(',')\n .filter(component => component && component !== nativeElement.header),\n );\n\n return Array.from(seeAlsoSet);\n}\n","import {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {TUI_DOC_DEFAULT_TABS} from '../../tokens/default-tabs';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\nimport {PAGE_PROVIDERS, PAGE_SEE_ALSO} from './page.providers';\n\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\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 activeItemIndex = NaN;\n\n @ContentChildren(TuiDocPageTabConnectorDirective)\n readonly tabConnectors: QueryList<TuiDocPageTabConnectorDirective> = EMPTY_QUERY;\n\n constructor(\n @Attribute('deprecated') readonly deprecated: string | null,\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 getRouterLink(tab: string = ''): string {\n return `./${tab.replace(/ /g, '_')}`;\n }\n}\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {TuiDocPage, TuiDocPageGroup} from '../../interfaces/page';\nimport {TUI_DOC_SEE_ALSO_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_PAGES} from '../../tokens/pages';\n\n// @dynamic\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_PAGES)\n private readonly pages: ReadonlyArray<TuiDocPageGroup | TuiDocPage>,\n ) {}\n\n getRouterLink(pageTitle: string): string {\n for (let i = 0; i < this.pages.length; i++) {\n const page = this.pages\n .map(page => ('subPages' in page ? page.subPages : [page]))\n .reduce((pages, subPages) => [...pages, ...subPages], [])\n .find((page: TuiDocPage) => page.title === pageTitle);\n\n if (page && page.route) {\n return page.route;\n }\n }\n\n return '';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiLinkModule} from '@taiga-ui/core';\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 {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {TuiDocSourceCodePathOptions} from '../interfaces/source-code-path-options';\n\nexport const TUI_DOC_SOURCE_CODE: InjectionToken<\n PolymorpheusContent<TuiDocSourceCodePathOptions>\n> = new InjectionToken<PolymorpheusContent<TuiDocSourceCodePathOptions>>(\n 'Source code link',\n {\n factory: () => '',\n },\n);\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {tuiPure} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {TuiDocSourceCodePathOptions} from '../../interfaces/source-code-path-options';\nimport {TUI_DOC_SOURCE_CODE_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_SOURCE_CODE} from '../../tokens/source-code';\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","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiTabsModule, TuiTagModule} from '@taiga-ui/kit';\nimport {TuiDocSeeAlsoModule} from '../../internal/see-also/see-also.module';\nimport {TuiDocSourceCodeModule} from '../../internal/source-code/source-code.module';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\nimport {TuiDocPageComponent} from './page.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n TuiDocSeeAlsoModule,\n TuiTabsModule,\n TuiTagModule,\n TuiDocSourceCodeModule,\n ],\n declarations: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n exports: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n})\nexport class TuiDocPageModule {}\n","import {Provider} from '@angular/core';\nimport {\n TUI_DOC_DEMO_TEXTS,\n TUI_DOC_DOCUMENTATION_TEXTS,\n TUI_DOC_EXAMPLE_TEXTS,\n TUI_DOC_MENU_TEXT,\n TUI_DOC_SEARCH_TEXT,\n TUI_DOC_SEE_ALSO_TEXT,\n TUI_DOC_SOURCE_CODE_TEXT,\n} from '../tokens/i18n';\n\n// TODO: remove in ivy compilation\nexport const DEMO_TEXTS = ['Сделано с помощью директивы: ', 'Фон', 'Детали формы'];\nexport const DOC_TEXTS = [\n 'Аргумент',\n 'Тип',\n 'Имя и описание',\n 'Значение',\n 'Для работы с динамическими шаблонами используется',\n];\nexport const EXAMPLE_TEXTS = ['Превью', 'Ссылка на пример скопирована', 'Готово'];\n\nexport const TUI_DOC_RUSSIAN: Provider[] = [\n {\n provide: TUI_DOC_DEMO_TEXTS,\n useValue: DEMO_TEXTS,\n },\n {\n provide: TUI_DOC_DOCUMENTATION_TEXTS,\n useValue: DOC_TEXTS,\n },\n {\n provide: TUI_DOC_EXAMPLE_TEXTS,\n useValue: EXAMPLE_TEXTS,\n },\n {\n provide: TUI_DOC_MENU_TEXT,\n useValue: 'Меню',\n },\n {\n provide: TUI_DOC_SEARCH_TEXT,\n useValue: 'Поиск',\n },\n {\n provide: TUI_DOC_SEE_ALSO_TEXT,\n useValue: 'Смотрите также',\n },\n {\n provide: TUI_DOC_SOURCE_CODE_TEXT,\n useValue: 'Исходный код',\n },\n];\n","import {Type} from '@angular/core';\nimport {Routes} from '@angular/router';\n\n/**\n * Generates typical page routing structure\n */\nexport function generateRoutes(type: Type<any>): Routes {\n return [\n {\n path: '',\n component: type,\n children: [\n {\n path: ':tab',\n component: type,\n },\n ],\n },\n ];\n}\n","import {NgModule} from '@angular/core';\nimport {TuiDocCodeModule} from './components/code/code.module';\nimport {TuiDocDemoModule} from './components/demo/demo.module';\nimport {TuiDocDocumentationModule} from './components/documentation/documentation.module';\nimport {TuiDocExampleModule} from './components/example/example.module';\nimport {TuiDocPageModule} from './components/page/page.module';\n\n@NgModule({\n exports: [\n TuiDocCodeModule,\n TuiDocDemoModule,\n TuiDocDocumentationModule,\n TuiDocPageModule,\n TuiDocExampleModule,\n ],\n})\nexport class TuiAddonDocModule {}\n","/**\n * Public API Surface of @taiga-ui/addon-doc\n */\n\n/* Components */\nexport * from './components/code/code.component';\nexport * from './components/code/code.module';\nexport * from './components/copy/copy.component';\nexport * from './components/copy/copy.module';\nexport * from './components/demo/demo.component';\nexport * from './components/demo/demo.module';\nexport * from './components/navigation/navigation.component';\nexport * from './components/navigation/navigation.module';\nexport * from './components/documentation/documentation.component';\nexport * from './components/documentation/documentation.module';\nexport * from './components/documentation/documentation-property-connector.directive';\nexport * from './components/example/example.component';\nexport * from './components/example/example.module';\nexport * from './components/main/main.component';\nexport * from './components/main/main.module';\nexport * from './components/page/page.component';\nexport * from './components/page/page.module';\nexport * from './components/page/page-tab.directive';\n\n/* Directives */\nexport * from './directives/scroll-into-view/scroll-into-view.directive';\nexport * from './directives/scroll-into-view/scroll-into-view.module';\n\n/* Interfaces */\nexport * from './interfaces/code-editor';\nexport * from './interfaces/page';\nexport * from './interfaces/source-code-path-options';\n\n/* Languages */\nexport * from './languages/russian';\n\n/* Tokens */\nexport * from './tokens/code-editor';\nexport * from './tokens/example-content-processor';\nexport * from './tokens/default-tabs';\nexport * from './tokens/i18n';\nexport * from './tokens/logo';\nexport * from './tokens/pages';\nexport * from './tokens/see-also';\nexport * from './tokens/source-code';\nexport * from './tokens/title';\n\n/* Types */\nexport * from './types/pages';\n\n/* Utils */\nexport * from './utils/generate-routes';\n\nexport * from './addon-doc.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {NAVIGATION_ITEMS as ɵc,NAVIGATION_LABELS as ɵb,NAVIGATION_PROVIDERS as ɵd,NAVIGATION_TITLE as ɵa,itemsProviderFactory as ɵg,labelsProviderFactory as ɵf,titleProviderFactory as ɵe} from './components/navigation/navigation.providers';\nexport {PAGE_PROVIDERS as ɵm,PAGE_SEE_ALSO as ɵl,seeAlsoProviderFactory as ɵn} from './components/page/page.providers';\nexport {TuiDocHeaderComponent as ɵk} from './internal/header/header.component';\nexport {TuiDocHeaderModule as ɵj} from './internal/header/header.module';\nexport {TuiInputOpacityDirective as ɵi} from './internal/input-opacity/input-opacity.directive';\nexport {TuiInputOpacityModule as ɵh} from './internal/input-opacity/input-opacity.module';\nexport {TuiDocSeeAlsoComponent as ɵp} from './internal/see-also/see-also.component';\nexport {TuiDocSeeAlsoModule as ɵo} from './internal/see-also/see-also.module';\nexport {TuiDocSourceCodeComponent as ɵr} from './internal/source-code/source-code.component';\nexport {TuiDocSourceCodeModule as ɵq} from './internal/source-code/source-code.module';"],"names":["Location"],"mappings":"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"}
@@ -12,8 +12,8 @@ import { UrlSerializer, RouterModule, Router, ActivatedRoute, NavigationEnd } fr
12
12
  import { Title } from '@angular/platform-browser';
13
13
  import { Clipboard, ClipboardModule } from '@angular/cdk/clipboard';
14
14
  import { LOCATION, LOCAL_STORAGE, WINDOW } from '@ng-web-apis/common';
15
- import { TuiSidebarModule } from '@taiga-ui/addon-mobile';
16
15
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
16
+ import { TuiSidebarModule } from '@taiga-ui/addon-mobile';
17
17
 
18
18
  var TuiDocCodeComponent = /** @class */ (function () {
19
19
  function TuiDocCodeComponent() {
@@ -40,7 +40,7 @@ var TuiDocCodeComponent = /** @class */ (function () {
40
40
  Component({
41
41
  selector: 'tui-doc-code',
42
42
  template: "<p *ngIf=\"filename\" class=\"header\">{{filename}}</p>\n<pre class=\"code\"><code [lineNumbers]=\"true\" [highlight]=\"code\"></code></pre>\n",
43
- styles: [":host{display:block}.header{font:var(--tui-font-text-s);font-weight:700}.code{margin:0}.hljs:not(:empty){font:var(--tui-font-text-m);padding:1.5rem 2rem;font-family:monospace;background-color:var(--tui-base-02);word-wrap:break-word;white-space:pre-wrap}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){.hljs:not(:empty)::-webkit-scrollbar,.hljs:not(:empty)::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:6px solid transparent}.hljs:not(:empty)::-webkit-scrollbar{background-color:transparent}.hljs:not(:empty)::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.hljs:not(:empty)::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.hljs:not(:empty)::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host._has-filename .hljs:not(:empty){border-radius:.75rem}@media screen and (max-width:37.4375em){.hljs:not(:empty){padding:1rem}}"]
43
+ styles: [":host{display:block}.header{font:var(--tui-font-text-s);font-weight:700}.code{margin:0}.hljs:not(:empty){font:var(--tui-font-text-m);padding:1.5rem 2rem;font-family:monospace;background-color:var(--tui-base-02);word-wrap:break-word;white-space:pre-wrap}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){.hljs:not(:empty)::-webkit-scrollbar,.hljs:not(:empty)::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:6px solid transparent}.hljs:not(:empty)::-webkit-scrollbar{background-color:transparent}.hljs:not(:empty)::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.hljs:not(:empty)::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.hljs:not(:empty)::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host._has-filename .hljs:not(:empty){border-radius:.75rem}@media screen and (max-width:47.9375em){.hljs:not(:empty){padding:1rem}}"]
44
44
  })
45
45
  ], TuiDocCodeComponent);
46
46
  return TuiDocCodeComponent;
@@ -281,7 +281,7 @@ var TuiDocDemoComponent = /** @class */ (function () {
281
281
  useExisting: forwardRef(function () { return TuiDocDemoComponent_1; }),
282
282
  },
283
283
  ],
284
- styles: [":host{position:relative;display:block;min-width:100%;margin:1.5rem 0}.bg-toggle{position:absolute;bottom:calc(100% + .75rem);display:flex;align-items:center;justify-content:flex-end;pointer-events:none;width:100%}.bg-toggle>*{pointer-events:auto}.wrapper{box-shadow:0 .5rem 1rem rgba(51,51,51,.2);display:flex;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);max-width:100%;min-height:6rem;width:100%;background-color:var(--tui-base-01);overflow:hidden}.wrapper.wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-02) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-02) 75%);background-size:1.25rem 1.25rem;background-position:0 0,0 .625rem,.625rem -.625rem,-.625rem 0}.wrapper.wrapper_dark{background-color:#454e58;color:var(--tui-base-01)}.wrapper.wrapper_gray{background-color:#e5e7ea}.wrapper.wrapper_dark.wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-focus) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-focus) 75%)}.wrapper.wrapper_gray.wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-05) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-05) 75%)}.content{flex:1 1 0;min-width:0;padding:1.5rem;box-sizing:border-box;overflow:hidden}@media screen and (max-width:37.4375em){.wrapper{min-height:auto}.content{padding:1rem}}.form{display:flex;flex-wrap:wrap;align-items:flex-start}.input-wrapper{width:100%;margin-bottom:.5rem}.expand{width:100%}.icon{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.icon_rotated{transform:rotate(180deg)}.value{flex:1;background:var(--tui-clear-inverse);padding:.75rem;border-radius:.25rem}.mode{width:12.5rem}.select{max-width:15rem}.resizer{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;box-shadow:0 .5rem 1rem rgba(51,51,51,.2);position:relative;width:3.5rem;min-height:inherit;flex-shrink:0;border-left:1px solid var(--tui-base-03);cursor:col-resize;outline:0;background:var(--tui-base-01);color:var(--tui-text-01)}.resizer:after,.resizer:before{content:'';position:absolute;top:.75rem;left:50%;bottom:.75rem;width:.0625rem;background:var(--tui-base-05)}.resizer:before{transform:translateX(.125rem)}.resizer:after{transform:translateX(-.1875rem)}@media screen and (max-width:37.4375em){.resizer{display:none}}.resizer-text{font:var(--tui-font-text-s);position:relative;z-index:1;padding:.75rem;background:var(--tui-base-01)}.wrapper_light .resizer-text{background:#3e464e}@supports ((position:-webkit-sticky) or (position:sticky)){@media screen and (min-height:37.5rem){:host{position:-webkit-sticky;position:sticky;top:4.625rem;z-index:2}}}"]
284
+ styles: [":host{position:relative;display:block;min-width:100%;margin:1.5rem 0}.bg-toggle{position:absolute;bottom:calc(100% + .75rem);display:flex;align-items:center;justify-content:flex-end;pointer-events:none;width:100%}.bg-toggle>*{pointer-events:auto}.wrapper{box-shadow:0 .5rem 1rem rgba(51,51,51,.2);display:flex;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);max-width:100%;min-height:6rem;width:100%;background-color:var(--tui-base-01);overflow:hidden}.wrapper.wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-02) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-02) 75%);background-size:1.25rem 1.25rem;background-position:0 0,0 .625rem,.625rem -.625rem,-.625rem 0}.wrapper.wrapper_dark{background-color:#454e58;color:var(--tui-base-01)}.wrapper.wrapper_gray{background-color:#e5e7ea}.wrapper.wrapper_dark.wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-focus) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-focus) 75%)}.wrapper.wrapper_gray.wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-05) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-05) 75%)}.content{flex:1 1 0;min-width:0;padding:1.5rem;box-sizing:border-box;overflow:hidden}@media screen and (max-width:47.9375em){.wrapper{min-height:auto}.content{padding:1rem}}.form{display:flex;flex-wrap:wrap;align-items:flex-start}.input-wrapper{width:100%;margin-bottom:.5rem}.expand{width:100%}.icon{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.icon_rotated{transform:rotate(180deg)}.value{flex:1;background:var(--tui-clear-inverse);padding:.75rem;border-radius:.25rem}.mode{width:12.5rem}.select{max-width:15rem}.resizer{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;box-shadow:0 .5rem 1rem rgba(51,51,51,.2);position:relative;width:3.5rem;min-height:inherit;flex-shrink:0;border-left:1px solid var(--tui-base-03);cursor:col-resize;outline:0;background:var(--tui-base-01);color:var(--tui-text-01)}.resizer:after,.resizer:before{content:'';position:absolute;top:.75rem;left:50%;bottom:.75rem;width:.0625rem;background:var(--tui-base-05)}.resizer:before{transform:translateX(.125rem)}.resizer:after{transform:translateX(-.1875rem)}@media screen and (max-width:47.9375em){.resizer{display:none}}.resizer-text{font:var(--tui-font-text-s);position:relative;z-index:1;padding:.75rem;background:var(--tui-base-01)}.wrapper_light .resizer-text{background:#3e464e}@supports ((position:-webkit-sticky) or (position:sticky)){@media screen and (min-height:37.5rem){:host{position:-webkit-sticky;position:sticky;top:4.625rem;z-index:2}}}"]
285
285
  }),
286
286
  __param(0, Inject(TUI_IS_MOBILE)),
287
287
  __param(1, Inject(TuiDestroyService)),
@@ -1000,7 +1000,7 @@ var TuiDocDocumentationComponent = /** @class */ (function () {
1000
1000
  selector: 'tui-doc-documentation',
1001
1001
  template: "<h1 *ngIf=\"heading\" class=\"tui-text_h4\">{{heading}}</h1>\n<ng-content></ng-content>\n<table class=\"tui-table tui-table_layout_fixed tui-table_font-size_s\">\n <tr class=\"tui-table__tr tui-table__tr_hover_disabled row row_header\">\n <th class=\"tui-table__th tui-table__th_first cell cell_prop\">\n {{texts[2]}}\n </th>\n <td class=\"tui-table__th\">{{type}}</td>\n <td\n *ngIf=\"showValues && !isAPI\"\n class=\"tui-table__th tui-table__th_last tui-table__th_text_right cell cell_value\"\n >\n {{texts[3]}}\n </td>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of propertiesConnectors; last as lastItem\"\n class=\"tui-table__tr tui-table__tr_hover_disabled row\"\n [class.deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n [class.tui-table__tr_border_none]=\"lastItem\"\n >\n <td\n class=\"tui-table__td tui-table__td_first tui-table__td_align_center cell\"\n >\n <div class=\"property cell\">\n {{stripOptional(propertyConnector.attrName)}}\n <tui-badge\n *ngIf=\"isOptional(propertyConnector.attrName)\"\n size=\"s\"\n value=\"Optional\"\n ></tui-badge>\n </div>\n <span\n *ngIf=\"propertyConnector.documentationPropertyDeprecated\"\n class=\"deprecated-label\"\n >deprecated</span\n >\n <ng-container\n *ngTemplateOutlet=\"propertyConnector.template\"\n ></ng-container>\n </td>\n <td class=\"tui-table__td tui-table__td_align_center cell\">\n <span class=\"type\">\n {{propertyConnector.documentationPropertyType}}\n <tui-tooltip\n *ngIf=\"showContentTooltip(propertyConnector.documentationPropertyType)\"\n [describeId]=\"propertyConnector.attrName\"\n [content]=\"content\"\n >\n <ng-template #content>\n {{texts[4]}}\n <a\n tuiLink\n tuiMode=\"onDark\"\n target=\"_blank\"\n href=\"https://github.com/TinkoffCreditSystems/ng-polymorpheus\"\n ><code>ng-polymorpheus</code></a\n >\n </ng-template>\n </tui-tooltip>\n </span>\n </td>\n <td\n *ngIf=\"showValues\"\n class=\"tui-table__td tui-table__td_align_center tui-table__td_last tui-table__td_text_right cell\"\n >\n <ng-container *ngIf=\"propertyConnector.shouldShowValues\">\n <tui-select\n *ngIf=\"propertyConnector.hasItems; else noItems\"\n tuiTextfieldSize=\"m\"\n tuiDropdownLimitWidth=\"min\"\n [tuiTextfieldCleaner]=\"showCleaner(propertyConnector.documentationPropertyType)\"\n [tuiTextfieldLabelOutside]=\"true\"\n [nativeId]=\"propertyConnector.attrName\"\n [valueContent]=\"selectContent\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n >\n <code class=\"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 #selectContent let-data>\n <code>{{inspectAny(data)}}</code>\n </ng-template>\n\n <ng-template #noItems>\n <ng-container\n [ngSwitch]=\"propertyConnector.documentationPropertyType\"\n >\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 *ngSwitchCase=\"'color'\" tuiGroup>\n <tui-primitive-textfield\n tuiTextfieldType=\"color\"\n tuiTextfieldSize=\"m\"\n [attr.id]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiInputOpacity]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n [value]=\"getColor(propertyConnector.documentationPropertyValue)\"\n (valueChange)=\"onColorChange(propertyConnector, $event)\"\n ></tui-primitive-textfield>\n <tui-input-count\n tuiTextfieldSize=\"m\"\n [max]=\"100\"\n [ngModel]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n (ngModelChange)=\"onOpacityChange(propertyConnector, $event)\"\n >\n Opacity\n </tui-input-count>\n </div>\n\n <tui-input-count\n *ngSwitchCase=\"'number'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-input-count>\n </ng-container>\n </ng-template>\n </ng-container>\n </td>\n </tr>\n</table>\n",
1002
1002
  changeDetection: ChangeDetectionStrategy.OnPush,
1003
- styles: [":host{display:block;min-width:100%}.cell_prop{width:40%}.cell_value{max-width:20rem}@media screen and (max-width:63.9375em){.cell_value{width:9.375rem}}@media screen and (max-width:47.9375em){.row{display:flex;flex-wrap:wrap}.row_header{display:none}.cell{width:100%;height:auto;padding:.5rem 0;text-align:left}}.property{font:var(--tui-font-text-m);margin-bottom:.25rem;font-family:monospace;color:#8f75d1}.type{font-family:monospace}.deprecated{background-color:var(--tui-error-bg)}.deprecated-label{margin-right:.125rem;color:var(--tui-error-fill)}"]
1003
+ styles: [":host{display:block;min-width:100%}.cell_prop{width:40%}.cell_value{max-width:20rem}@media screen and (max-width:47.9375em){.row{display:flex;flex-wrap:wrap}.row_header{display:none}.cell_value{width:9.375rem}.cell{width:100%;height:auto;padding:.5rem 0;text-align:left}}.property{font:var(--tui-font-text-m);margin-bottom:.25rem;font-family:monospace;color:#8f75d1}.type{font-family:monospace}.deprecated{background-color:var(--tui-error-bg)}.deprecated-label{margin-right:.125rem;color:var(--tui-error-fill)}"]
1004
1004
  }),
1005
1005
  __param(0, Inject(ChangeDetectorRef)),
1006
1006
  __param(1, Inject(TUI_DOC_DOCUMENTATION_TEXTS))
@@ -1108,8 +1108,8 @@ var TuiDocExampleComponent = /** @class */ (function () {
1108
1108
  this.texts = texts;
1109
1109
  this.codeEditor = codeEditor;
1110
1110
  this.processContent = processContent;
1111
- this.heading = null;
1112
- this.description = null;
1111
+ this.heading = '';
1112
+ this.description = '';
1113
1113
  this.componentName = this.location.pathname.slice(1);
1114
1114
  this.activeItemIndex = 0;
1115
1115
  this.processedContent = {};
@@ -1200,9 +1200,9 @@ var TuiDocExampleComponent = /** @class */ (function () {
1200
1200
  TuiDocExampleComponent = __decorate([
1201
1201
  Component({
1202
1202
  selector: 'tui-doc-example',
1203
- template: "<h3 *ngIf=\"heading\" class=\"title\">\n {{heading}}\n <button\n *ngIf=\"id\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n class=\"link-icon\"\n icon=\"tuiIconLinkLarge\"\n appearance=\"icon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink()\"\n ></button>\n</h3>\n<h4 *ngIf=\"description\" class=\"description\">{{description}}</h4>\n<div class=\"example\">\n <div class=\"tabs\">\n <tui-tabs [(activeItemIndex)]=\"activeItemIndex\">\n <button *ngFor=\"let tab of tabs\" tuiTab>{{tab}}</button>\n </tui-tabs>\n\n <button\n *ngIf=\"codeEditor\"\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n (click)=\"codeEditor.open(componentName, id || '', processedContent)\"\n >\n Edit on {{codeEditor.name}}\n </button>\n </div>\n <ng-container [ngSwitch]=\"activeItem\">\n <div\n *ngIf=\"isDefaultItem; else codeTab\"\n class=\"demo\"\n automation-id=\"tui-doc-example\"\n >\n <ng-content></ng-content>\n </div>\n <ng-template #codeTab>\n <tui-doc-copy\n class=\"copy-code\"\n [cdkCopyToClipboard]=\"code\"\n ></tui-doc-copy>\n <tui-doc-code [code]=\"code\"></tui-doc-code>\n </ng-template>\n </ng-container>\n</div>\n",
1203
+ template: "<h3 *ngIf=\"heading\" class=\"title\">\n <span polymorpheus-outlet [content]=\"heading\"></span>\n <button\n *ngIf=\"id\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n class=\"link-icon\"\n icon=\"tuiIconLinkLarge\"\n appearance=\"icon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink()\"\n ></button>\n</h3>\n<h4\n *ngIf=\"description\"\n class=\"description\"\n polymorpheus-outlet\n [content]=\"description\"\n></h4>\n<div class=\"example\">\n <div class=\"tabs\">\n <tui-tabs [(activeItemIndex)]=\"activeItemIndex\">\n <button *ngFor=\"let tab of tabs\" tuiTab>{{tab}}</button>\n </tui-tabs>\n\n <button\n *ngIf=\"codeEditor\"\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n (click)=\"codeEditor.open(componentName, id || '', processedContent)\"\n >\n Edit on {{codeEditor.name}}\n </button>\n </div>\n <ng-container [ngSwitch]=\"activeItem\">\n <div\n *ngIf=\"isDefaultItem; else codeTab\"\n class=\"demo\"\n automation-id=\"tui-doc-example\"\n >\n <ng-content></ng-content>\n </div>\n <ng-template #codeTab>\n <tui-doc-copy\n class=\"copy-code\"\n [cdkCopyToClipboard]=\"code\"\n ></tui-doc-copy>\n <tui-doc-code [code]=\"code\"></tui-doc-code>\n </ng-template>\n </ng-container>\n</div>\n",
1204
1204
  changeDetection: ChangeDetectionStrategy.OnPush,
1205
- styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:right}.title{font:var(--tui-font-heading-5);margin:0 0 .5rem}@media screen and (max-width:37.4375em){:host{padding-top:2rem}.title{font:var(--tui-font-heading-6)}}.description{font:var(--tui-font-text-m);font-weight:400;margin:0}.description:first-letter,.title:first-letter{text-transform:capitalize}.example{position:relative;margin-top:1.5rem;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);box-shadow:0 .125rem .1875rem rgba(0,0,0,.1)}.tabs{padding:0 2rem;box-shadow:inset 0 -1px var(--tui-base-03);display:flex;justify-content:space-between;align-items:center}@media screen and (max-width:37.4375em){.example{margin-top:.75rem}.tabs{padding:0 1rem}}.demo{padding:2rem;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){.demo::-webkit-scrollbar,.demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:6px solid transparent}.demo::-webkit-scrollbar{background-color:transparent}.demo::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}@media screen and (max-width:37.4375em){.demo{padding:1rem}}.copy-code{position:absolute;top:4.375rem;right:1rem}.link-icon{vertical-align:baseline}"]
1205
+ styles: [":host{position:relative;display:block;padding-top:3.5rem;clear:right}.title{font:var(--tui-font-heading-5);margin:0 0 .5rem}@media screen and (max-width:47.9375em){:host{padding-top:2rem}.title{font:var(--tui-font-heading-6)}}.description{font:var(--tui-font-text-m);font-weight:400;margin:0}.description:first-letter,.title:first-letter{text-transform:capitalize}.example{position:relative;margin-top:1.5rem;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);box-shadow:0 .125rem .1875rem rgba(0,0,0,.1)}.tabs{padding:0 2rem;box-shadow:inset 0 -1px var(--tui-base-03);display:flex;justify-content:space-between;align-items:center}@media screen and (max-width:47.9375em){.example{margin-top:.75rem}.tabs{padding:0 1rem}}.demo{padding:2rem;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){.demo::-webkit-scrollbar,.demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:6px solid transparent}.demo::-webkit-scrollbar{background-color:transparent}.demo::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}@media screen and (max-width:47.9375em){.demo{padding:1rem}}.copy-code{position:absolute;top:4.375rem;right:1rem}.link-icon{margin-left:.3rem;vertical-align:baseline}"]
1206
1206
  }),
1207
1207
  __param(0, Attribute('id')),
1208
1208
  __param(1, Inject(Clipboard)),
@@ -1229,6 +1229,7 @@ var TuiDocExampleModule = /** @class */ (function () {
1229
1229
  TuiButtonModule,
1230
1230
  TuiDocCopyModule,
1231
1231
  TuiDocCodeModule,
1232
+ PolymorpheusModule,
1232
1233
  ],
1233
1234
  declarations: [TuiDocExampleComponent],
1234
1235
  exports: [TuiDocExampleComponent],
@@ -1268,7 +1269,7 @@ var TuiDocMainComponent = /** @class */ (function () {
1268
1269
  TuiDocMainComponent = TuiDocMainComponent_1 = __decorate([
1269
1270
  Component({
1270
1271
  selector: 'tui-doc-main',
1271
- template: "<tui-theme-night *ngIf=\"night\"></tui-theme-night>\n<tui-root>\n <div class=\"tui-doc-page\">\n <tui-doc-navigation class=\"tui-doc-navigation\">\n <ng-content select=\"tuiDocNavigation\"></ng-content>\n </tui-doc-navigation>\n <div class=\"tui-doc-content\">\n <router-outlet class=\"tui-doc-outlet\"></router-outlet>\n </div>\n </div>\n <header tuiDocHeader>\n <label>\n Night mode\n <tui-toggle\n class=\"tui-space_left-2\"\n [ngModel]=\"night\"\n (ngModelChange)=\"onMode($event)\"\n ></tui-toggle>\n </label>\n <ng-content select=\"tuiDocHeader\"></ng-content>\n </header>\n <ng-container ngProjectAs=\"tuiOverDialogs\">\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverNotifications\">\n <ng-content select=\"tuiOverNotifications\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverPortals\">\n <ng-content select=\"tuiOverPortals\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverHints\">\n <ng-content select=\"tuiOverHints\"></ng-content>\n </ng-container>\n</tui-root>\n",
1272
+ template: "<tui-theme-night *ngIf=\"night\"></tui-theme-night>\n<tui-root>\n <div class=\"tui-doc-page\">\n <tui-doc-navigation class=\"tui-doc-navigation\">\n <ng-content select=\"tuiDocNavigation\"></ng-content>\n </tui-doc-navigation>\n <div class=\"tui-doc-content\">\n <router-outlet class=\"tui-doc-outlet\"></router-outlet>\n </div>\n </div>\n <header tuiDocHeader>\n <label class=\"night-mode\">\n Night mode\n <tui-toggle\n class=\"tui-space_left-2\"\n [ngModel]=\"night\"\n (ngModelChange)=\"onMode($event)\"\n ></tui-toggle>\n </label>\n <ng-content select=\"tuiDocHeader\"></ng-content>\n </header>\n <ng-container ngProjectAs=\"tuiOverDialogs\">\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverNotifications\">\n <ng-content select=\"tuiOverNotifications\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverPortals\">\n <ng-content select=\"tuiOverPortals\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverHints\">\n <ng-content select=\"tuiOverHints\"></ng-content>\n </ng-container>\n</tui-root>\n",
1272
1273
  encapsulation: ViewEncapsulation.None,
1273
1274
  providers: [
1274
1275
  {
@@ -1276,7 +1277,7 @@ var TuiDocMainComponent = /** @class */ (function () {
1276
1277
  useExisting: forwardRef(function () { return TuiDocMainComponent_1; }),
1277
1278
  },
1278
1279
  ],
1279
- styles: ["@-webkit-keyframes tuiShaking{from,to{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(-.3125rem,0,0)}20%,40%,60%,80%{transform:translate3d(.3125rem,0,0)}}@keyframes tuiShaking{from,to{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(-.3125rem,0,0)}20%,40%,60%,80%{transform:translate3d(.3125rem,0,0)}}html{height:auto}body{background:var(--tui-base-01);height:auto}tui-doc-main{display:block}code:not(.hljs):not(.exception){transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;background:var(--tui-base-02);color:var(--tui-text-02);vertical-align:middle;box-shadow:inset 0 -2px var(--tui-secondary);padding:.375rem .5rem;font-size:.875rem;border-radius:.5rem}:focus code:not(.exception){background:var(--tui-base-01)}.tui-doc-page{position:relative;z-index:0;padding-top:4rem}tui-doc-navigation.tui-doc-navigation{position:fixed;top:4rem;bottom:0;width:16.25rem;border-right:1px solid var(--tui-base-03)}.tui-doc-content{margin-left:16.25rem}@media screen and (max-width:47.9375em){tui-doc-navigation.tui-doc-navigation{display:none}.tui-doc-content{margin-left:0}}.tui-doc-outlet+*{display:block}.tui-doc-animated-example{-webkit-animation:1s .3s tuiShaking;animation:1s .3s tuiShaking}.hljs-tag{background:0 0}.hljs{display:block;overflow-x:auto;padding:.5em;color:var(--tui-text-primary);background-color:var(--tui-base-02)}.hljs-subst,.hljs-title{font-weight:400;color:var(--tui-text-01)}.hljs-comment,.hljs-quote{color:var(--tui-text-03);font-style:italic}.hljs-meta{color:#e38162}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-selector-tag,.hljs-type{font-weight:700;color:var(--tui-link)}.hljs-attribute,.hljs-link,.hljs-number,.hljs-regexp{font-weight:700;color:var(--tui-primary-active)}.hljs-link,.hljs-number,.hljs-regexp{font-weight:400}.hljs-string{color:var(--tui-positive);font-weight:700}.hljs-bullet,.hljs-formula,.hljs-symbol{color:var(--tui-text-primary);background:var(--tui-base-02);font-style:italic}.hljs-doctag{text-decoration:underline}.hljs-template-variable,.hljs-variable{color:var(--tui-warning-fill)}.hljs-addition{background:var(--tui-success-bg)}.hljs-deletion{background:var(--tui-error-bg)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs .hljs-line-numbers{padding:0}.hljs-ln-numbers{vertical-align:top;opacity:.3;text-align:right;padding-right:1em!important}"]
1280
+ styles: ["html{scroll-padding-top:4rem;height:auto}@-webkit-keyframes tuiShaking{from,to{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(-.3125rem,0,0)}20%,40%,60%,80%{transform:translate3d(.3125rem,0,0)}}@keyframes tuiShaking{from,to{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(-.3125rem,0,0)}20%,40%,60%,80%{transform:translate3d(.3125rem,0,0)}}body{background:var(--tui-base-01);height:auto}tui-doc-main{display:block}code:not(.hljs):not(.exception){transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;background:var(--tui-base-02);color:var(--tui-text-02);vertical-align:middle;box-shadow:inset 0 -2px var(--tui-secondary);padding:.375rem .5rem;font-size:.875rem;border-radius:.5rem}:focus code:not(.exception){background:var(--tui-base-01)}.tui-doc-page{position:relative;z-index:0;padding-top:4rem}tui-doc-navigation.tui-doc-navigation{position:fixed;top:4rem;bottom:0;width:16.25rem;border-right:1px solid var(--tui-base-03)}.tui-doc-content{margin-left:16.25rem}@media screen and (max-width:47.9375em){tui-doc-navigation.tui-doc-navigation{display:none}.tui-doc-content{margin-left:0}}.tui-doc-outlet+*{display:block}.tui-doc-animated-example{-webkit-animation:1s .3s tuiShaking;animation:1s .3s tuiShaking}label.night-mode{cursor:pointer}.hljs-tag{background:0 0}.hljs{display:block;overflow-x:auto;padding:.5em;color:var(--tui-text-primary);background-color:var(--tui-base-02)}.hljs-subst,.hljs-title{font-weight:400;color:var(--tui-text-01)}.hljs-comment,.hljs-quote{color:var(--tui-text-03);font-style:italic}.hljs-meta{color:#e38162}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-selector-tag,.hljs-type{font-weight:700;color:var(--tui-link)}.hljs-attribute,.hljs-link,.hljs-number,.hljs-regexp{font-weight:700;color:var(--tui-primary-active)}.hljs-link,.hljs-number,.hljs-regexp{font-weight:400}.hljs-string{color:var(--tui-positive);font-weight:700}.hljs-bullet,.hljs-formula,.hljs-symbol{color:var(--tui-text-primary);background:var(--tui-base-02);font-style:italic}.hljs-doctag{text-decoration:underline}.hljs-template-variable,.hljs-variable{color:var(--tui-warning-fill)}.hljs-addition{background:var(--tui-success-bg)}.hljs-deletion{background:var(--tui-error-bg)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs .hljs-line-numbers{padding:0}.hljs-ln-numbers{vertical-align:top;opacity:.3;text-align:right;padding-right:1em!important}"]
1280
1281
  }),
1281
1282
  __param(0, Inject(LOCAL_STORAGE)),
1282
1283
  __param(1, Inject(WINDOW))
@@ -1314,7 +1315,7 @@ var TuiDocHeaderComponent = /** @class */ (function () {
1314
1315
  selector: 'header[tuiDocHeader]',
1315
1316
  template: "<button\n tuiIconButton\n class=\"menu\"\n icon=\"tuiIconMenuLarge\"\n appearance=\"icon\"\n [title]=\"menu\"\n (click)=\"onClick()\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-doc-navigation\n *tuiSidebar=\"open$ | async\"\n class=\"navigation\"\n ></tui-doc-navigation>\n</button>\n<div polymorpheus-outlet class=\"logo tui-text_h5\" [content]=\"logo\">\n <ng-template let-src>\n <img class=\"img\" alt=\"Logo\" [src]=\"src\">\n </ng-template>\n</div>\n<ng-content></ng-content>\n",
1316
1317
  changeDetection: ChangeDetectionStrategy.OnPush,
1317
- styles: [":host{box-shadow:0 .125rem 1rem rgba(0,0,0,.08);position:fixed;top:0;left:0;right:0;display:flex;height:3.9375rem;align-items:center;padding:0 1.25rem;background:var(--tui-base-01);border-bottom:1px solid var(--tui-base-03);z-index:1}.logo{margin-right:auto}.img{display:block}.menu{margin-left:-1.25rem}@media screen and (min-width:48em){.menu{display:none}}.navigation{min-height:100%}"]
1318
+ styles: [":host{box-shadow:0 .125rem 1rem rgba(0,0,0,.08);position:fixed;top:0;left:0;right:0;display:flex;height:3.9375rem;align-items:center;padding:0 1.25rem;background:var(--tui-base-01);border-bottom:1px solid var(--tui-base-03);z-index:1}.logo{margin-right:auto}.img{display:block}.menu{margin-left:-1.25rem}@media screen and (min-width:80em){.menu{display:none}}.navigation{min-height:100%}"]
1318
1319
  }),
1319
1320
  __param(0, Inject(TUI_DOC_LOGO)),
1320
1321
  __param(1, Inject(TUI_DOC_MENU_TEXT)),
@@ -1464,7 +1465,7 @@ var TuiDocPageComponent = /** @class */ (function () {
1464
1465
  template: "<header class=\"header\">\n <h1 class=\"title\">\n {{header}}\n <tui-tag\n *ngIf=\"deprecated !== null\"\n class=\"tag tag_deprecated\"\n value=\"deprecated\"\n status=\"custom\"\n ></tui-tag>\n <tui-tag\n *ngIf=\"package\"\n class=\"tag tag_package\"\n status=\"custom\"\n [value]=\"package\"\n [autoColor]=\"true\"\n ></tui-tag>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container\n *ngFor=\"let tab of tabConnectors; first as first; index as index\"\n >\n <ng-container *ngIf=\"first; else dynamicTab\">\n <a\n *tuiTab\n tuiTab\n routerLink=\"./\"\n routerLinkActive\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >\n {{tab.pageTab || defaultTabs[index]}}\n </a>\n </ng-container>\n <ng-template #dynamicTab>\n <a\n *tuiTab\n tuiTab\n routerLinkActive\n [routerLink]=\"getRouterLink(tab.pageTab || defaultTabs[index])\"\n >\n {{tab.pageTab || defaultTabs[index]}}\n </a>\n </ng-template>\n </ng-container>\n </tui-tabs-with-more>\n <tui-doc-source-code\n class=\"source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [type]=\"type\"\n [path]=\"path\"\n ></tui-doc-source-code>\n</header>\n<div class=\"content\">\n <ng-content></ng-content>\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"see-also\"\n [seeAlso]=\"seeAlso\"\n ></tui-doc-see-also>\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container *ngIf=\"index === activeItemIndex\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n",
1465
1466
  changeDetection: ChangeDetectionStrategy.OnPush,
1466
1467
  providers: PAGE_PROVIDERS,
1467
- styles: [":host{display:flex;flex-direction:column;min-height:0;flex-basis:0;flex-grow:1}.header{font:var(--tui-font-heading-3);display:flex;flex-wrap:wrap;min-height:7.25rem;color:var(--tui-text-01);box-shadow:inset 0 -1px 0 0 var(--tui-base-03);padding:3.75rem 0 0;box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}@media screen and (max-width:47.9375em){.header{font:var(--tui-font-heading-4);min-height:4.5rem;padding:1.25rem 1.25rem 0;margin:0}}.title{min-width:100%;font-size:inherit;margin:0}.tag{vertical-align:middle;text-transform:uppercase;margin-right:.5rem}.tag_deprecated{background-color:var(--tui-error-fill)}.tag.tag_package{color:#000}.tabs{flex:1;margin:1.125rem .3125rem 0 0}@media screen and (max-width:47.9375em){.tabs{margin-top:.25rem}}.content{padding:2rem 0;margin:0 min(10vw,8.75rem)}@media screen and (max-width:47.9375em){.content{padding:2rem 1.25rem;margin:0}}.see-also{min-width:18.75rem;width:30%;float:right;margin-left:1.5rem}@media screen and (max-width:63.9375em){.see-also{float:none;width:100%;margin:0 0 1.5rem}}.screenshots-skip-usage{margin-top:3.5rem}@media screen and (max-width:37.4375em){.screenshots-skip-usage{margin-top:2rem}}.source-code{align-self:flex-end;line-height:2.75rem}"]
1468
+ styles: [":host{display:flex;flex-direction:column;min-height:0;flex-basis:0;flex-grow:1}.header{font:var(--tui-font-heading-3);display:flex;flex-wrap:wrap;min-height:7.25rem;color:var(--tui-text-01);box-shadow:inset 0 -1px 0 0 var(--tui-base-03);padding:3.75rem 0 0;box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}@media screen and (max-width:47.9375em){.header{font:var(--tui-font-heading-4);min-height:4.5rem;padding:1.25rem 1.25rem 0;margin:0}}.title{min-width:100%;font-size:inherit;margin:0}.tag{vertical-align:middle;text-transform:uppercase;margin-right:.5rem}.tag_deprecated{background-color:var(--tui-error-fill)}.tag.tag_package{color:#000}.tabs{flex:1;margin:1.125rem .3125rem 0 0}@media screen and (max-width:47.9375em){.tabs{margin-top:.25rem}}.content{padding:2rem 0;margin:0 min(10vw,8.75rem)}@media screen and (max-width:47.9375em){.content{padding:2rem 1.25rem;margin:0}}.see-also{min-width:18.75rem;width:30%;float:right;margin-left:1.5rem}@media screen and (max-width:47.9375em){.see-also{float:none;width:100%;margin:0 0 1.5rem}}.screenshots-skip-usage{margin-top:3.5rem}@media screen and (max-width:47.9375em){.screenshots-skip-usage{margin-top:2rem}}.source-code{align-self:flex-end;line-height:2.75rem}"]
1468
1469
  }),
1469
1470
  __param(0, Attribute('deprecated')),
1470
1471
  __param(1, Inject(TUI_DOC_DEFAULT_TABS)),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-doc.js","sources":["ng://@taiga-ui/addon-doc/components/code/code.component.ts","ng://@taiga-ui/addon-doc/components/code/code.module.ts","ng://@taiga-ui/addon-doc/components/copy/copy.component.ts","ng://@taiga-ui/addon-doc/components/copy/copy.module.ts","ng://@taiga-ui/addon-doc/tokens/i18n.ts","ng://@taiga-ui/addon-doc/components/demo/demo.component.ts","ng://@taiga-ui/addon-doc/components/demo/demo.module.ts","ng://@taiga-ui/addon-doc/utils/transliterate-keyboard-layout.ts","ng://@taiga-ui/addon-doc/tokens/pages.ts","ng://@taiga-ui/addon-doc/tokens/title.ts","ng://@taiga-ui/addon-doc/components/navigation/navigation.providers.ts","ng://@taiga-ui/addon-doc/components/navigation/navigation.component.ts","ng://@taiga-ui/addon-doc/directives/scroll-into-view/scroll-into-view.directive.ts","ng://@taiga-ui/addon-doc/directives/scroll-into-view/scroll-into-view.module.ts","ng://@taiga-ui/addon-doc/components/navigation/navigation.module.ts","ng://@taiga-ui/addon-doc/utils/color-conversion.ts","ng://@taiga-ui/addon-doc/utils/inspect.ts","ng://@taiga-ui/addon-doc/components/documentation/documentation-property-connector.directive.ts","ng://@taiga-ui/addon-doc/components/documentation/documentation.component.ts","ng://@taiga-ui/addon-doc/internal/input-opacity/input-opacity.directive.ts","ng://@taiga-ui/addon-doc/internal/input-opacity/input-opacity.module.ts","ng://@taiga-ui/addon-doc/components/documentation/documentation.module.ts","ng://@taiga-ui/addon-doc/tokens/code-editor.ts","ng://@taiga-ui/addon-doc/tokens/example-content-processor.ts","ng://@taiga-ui/addon-doc/components/example/example.component.ts","ng://@taiga-ui/addon-doc/components/example/example.module.ts","ng://@taiga-ui/addon-doc/components/main/main.component.ts","ng://@taiga-ui/addon-doc/tokens/logo.ts","ng://@taiga-ui/addon-doc/internal/header/header.component.ts","ng://@taiga-ui/addon-doc/internal/header/header.module.ts","ng://@taiga-ui/addon-doc/components/main/main.module.ts","ng://@taiga-ui/addon-doc/tokens/default-tabs.ts","ng://@taiga-ui/addon-doc/components/page/page-tab.directive.ts","ng://@taiga-ui/addon-doc/tokens/see-also.ts","ng://@taiga-ui/addon-doc/components/page/page.providers.ts","ng://@taiga-ui/addon-doc/components/page/page.component.ts","ng://@taiga-ui/addon-doc/internal/see-also/see-also.component.ts","ng://@taiga-ui/addon-doc/internal/see-also/see-also.module.ts","ng://@taiga-ui/addon-doc/tokens/source-code.ts","ng://@taiga-ui/addon-doc/internal/source-code/source-code.component.ts","ng://@taiga-ui/addon-doc/internal/source-code/source-code.module.ts","ng://@taiga-ui/addon-doc/components/page/page.module.ts","ng://@taiga-ui/addon-doc/languages/russian.ts","ng://@taiga-ui/addon-doc/utils/generate-routes.ts","ng://@taiga-ui/addon-doc/addon-doc.module.ts","ng://@taiga-ui/addon-doc/public-api.ts","ng://@taiga-ui/addon-doc/taiga-ui-addon-doc.ts"],"sourcesContent":["import {Component, HostBinding, Input} from '@angular/core';\n\n@Component({\n selector: 'tui-doc-code',\n templateUrl: './code.template.html',\n styleUrls: ['./code.style.less'],\n})\nexport class TuiDocCodeComponent {\n @Input()\n filename = '';\n\n @Input()\n code = '';\n\n @HostBinding('class._has-filename')\n get hasFilename(): boolean {\n return !!this.filename;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {HighlightModule} from 'ngx-highlightjs';\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 {TuiDestroyService, tuiPure} from '@taiga-ui/cdk';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit';\nimport {Observable, Subject, timer} from 'rxjs';\nimport {mapTo, startWith, switchMapTo} from 'rxjs/operators';\n\nconst COPIED_TIMEOUT = 1500;\n\n// @dynamic\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();\n\n constructor(\n @Inject(TUI_COPY_TEXTS) readonly texts$: Observable<[string, string]>,\n ) {}\n\n @tuiPure\n get copied$(): Observable<boolean> {\n return this.copy$.pipe(\n switchMapTo(timer(COPIED_TIMEOUT).pipe(mapTo(false), startWith(true))),\n );\n }\n\n onClick() {\n this.copy$.next();\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {TuiDocCopyComponent} from './copy.component';\n\n@NgModule({\n imports: [CommonModule, TuiButtonModule],\n declarations: [TuiDocCopyComponent],\n exports: [TuiDocCopyComponent],\n})\nexport class TuiDocCopyModule {}\n","import {InjectionToken} from '@angular/core';\n\n/**\n * TODO: think about reorganization in @taiga-ui/i18n way\n */\n\n/**\n * Works with a tuple\n * [@string tuiMode tooltip content, @string word 'background', @string 'form value']\n */\nexport const TUI_DOC_DEMO_TEXTS = new InjectionToken<[string, string, string]>(\n 'tui-doc-demo i18n texts',\n {factory: () => ['Read more more about modes: ', 'Background', 'Form value']},\n);\n\n/**\n * Works with a tuple\n * [\n * @string word 'argument',\n * @string word 'type',\n * @string 'name and description',\n * @string word 'value'\n * @string message for tooltip about ng-polymorpheus\n * ]\n */\nexport const TUI_DOC_DOCUMENTATION_TEXTS = new InjectionToken<\n [string, string, string, string, string]\n>('tui-doc-documentation i18n texts', {\n factory: () => [\n 'Argument',\n 'Type',\n 'Name and description',\n 'Value',\n 'Learn about our dynamic templates from ',\n ],\n});\n\n/**\n * Works with a tuple\n * [\n * @string default tab name,\n * @string link to a sample copied message text,\n * @string link to a sample copied message label\n * ]\n */\nexport const TUI_DOC_EXAMPLE_TEXTS = new InjectionToken<[string, string, string]>(\n 'tui-doc-example i18n texts',\n {factory: () => ['Preview', 'Link to a sample was successfully copied', 'Done']},\n);\n\nexport const TUI_DOC_MENU_TEXT = new InjectionToken<string>('menu i18n text', {\n factory: () => 'Menu',\n});\n\nexport const TUI_DOC_SEARCH_TEXT = new InjectionToken<string>('search i18n text', {\n factory: () => 'Search',\n});\n\nexport const TUI_DOC_SEE_ALSO_TEXT = new InjectionToken<string>(\n 'tui-doc-see-also i18n text',\n {factory: () => 'See also'},\n);\n\nexport const TUI_DOC_SOURCE_CODE_TEXT = new InjectionToken<string>(\n 'tui-doc-source-code i18n text',\n {factory: () => 'Source code'},\n);\n","import {isPlatformBrowser, Location} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n forwardRef,\n HostListener,\n Inject,\n Input,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {AbstractControl, FormControl, FormGroup} from '@angular/forms';\nimport {UrlSerializer} from '@angular/router';\nimport {TUI_IS_MOBILE, TuiDestroyService} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\nimport {startWith, takeUntil} from 'rxjs/operators';\nimport {TUI_DOC_DEMO_TEXTS} from '../../tokens/i18n';\n\nconst MIN_COMPONENT_WIDTH = 104;\n\n// @dynamic\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, AfterViewInit {\n @Input()\n control: AbstractControl | null = null;\n\n testForm?: FormGroup;\n updateOnVariants = ['change', 'blur', 'submit'];\n updateOn: 'change' | 'blur' | 'submit' = 'change';\n expanded = false;\n opaque = true;\n modeControl = new FormControl();\n\n mode: TuiBrightness | null = null;\n readonly change$ = new Subject<void>();\n\n @ContentChild(TemplateRef)\n readonly template?: TemplateRef<{}>;\n\n readonly items: readonly TuiBrightness[] = ['onLight', 'onDark'];\n\n private initialX = 0;\n private wrapperWidth = 0;\n\n @ViewChild('content')\n private readonly content?: ElementRef<HTMLElement>;\n\n @ViewChild('wrapper')\n private readonly wrapper?: ElementRef<HTMLElement>;\n\n @ViewChild('resizerText')\n private readonly resizerText?: ElementRef<HTMLElement>;\n\n private readonly isBrowser: boolean;\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(PLATFORM_ID) platformId: Object,\n @Inject(Location) locationRef: Location,\n @Inject(UrlSerializer) urlSerializer: UrlSerializer,\n @Inject(TUI_DOC_DEMO_TEXTS) readonly texts: [string, string, string],\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n\n const parsedMode = locationRef.path().match(/tui-mode=(onDark|onLight)/);\n\n if (parsedMode !== null && parsedMode.length > 0) {\n this.modeControl.setValue(parsedMode[1]);\n }\n\n this.modeControl.valueChanges\n .pipe(startWith(this.modeControl.value), takeUntil(this.destroy$))\n .subscribe(mode => {\n const urlTree = urlSerializer.parse(locationRef.path());\n\n urlTree.queryParams = {\n ...urlTree.queryParams,\n tuiMode: mode,\n };\n\n locationRef.go(String(urlTree));\n\n this.mode = mode;\n this.change$.next();\n });\n }\n\n ngOnInit() {\n this.createForm();\n }\n\n ngAfterViewInit() {\n this.setResizerTextContent();\n }\n\n setResizerTextContent() {\n if (!this.content || !this.resizerText) {\n return;\n }\n\n const paddingLeft = this.isBrowser\n ? getComputedStyle(this.content.nativeElement).paddingLeft\n : '0';\n const {offsetWidth} = this.content.nativeElement;\n\n this.resizerText.nativeElement.textContent = String(\n offsetWidth - parseInt(paddingLeft || '0', 10) * 2,\n );\n }\n\n @HostListener('window:resize')\n onResize() {\n this.setResizerTextContent();\n }\n\n onDragStart(event: MouseEvent) {\n event.preventDefault();\n this.initialX = event.clientX;\n this.wrapperWidth = this.wrapper ? this.wrapper.nativeElement.offsetWidth : 0;\n }\n\n onDragContinues(event: MouseEvent) {\n const deltaX = this.initialX - event.clientX;\n\n this.resizeContent(deltaX);\n this.setResizerTextContent();\n }\n\n onDragEnd() {\n this.wrapperWidth = this.wrapper ? this.wrapper.nativeElement.offsetWidth : 0;\n }\n\n toggleDetails() {\n this.expanded = !this.expanded;\n }\n\n updateOnChange(updateOn: 'change' | 'blur' | 'submit') {\n this.updateOn = updateOn;\n this.createForm();\n }\n\n private createForm() {\n const {control, updateOn} = this;\n\n if (!control) {\n return;\n }\n\n this.testForm = new FormGroup({testValue: control}, {updateOn});\n }\n\n private resizeContent(delta: number) {\n if (!this.wrapper) {\n return;\n }\n\n this.renderer.setStyle(\n this.wrapper.nativeElement,\n 'width',\n `${Math.max(this.wrapperWidth - delta, MIN_COMPONENT_WIDTH)}px`,\n );\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiDragModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiHintControllerModule,\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';\nimport {TuiDocDemoComponent} from './demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n RouterModule,\n TuiLinkModule,\n TuiDragModule,\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 TuiHintControllerModule,\n ],\n declarations: [TuiDocDemoComponent],\n exports: [TuiDocDemoComponent],\n})\nexport class TuiDocDemoModule {}\n","const MAP: Record<string, string> = {\n а: 'f',\n б: ',',\n в: 'd',\n г: 'u',\n д: 'l',\n е: 't',\n ё: '`',\n ж: ';',\n з: 'p',\n и: 'b',\n й: 'q',\n к: 'r',\n л: 'k',\n м: 'v',\n н: 'y',\n о: 'j',\n п: 'g',\n р: 'h',\n с: 'c',\n т: 'n',\n у: 'e',\n ф: 'a',\n х: '[',\n ц: 'w',\n ч: 'x',\n ш: 'i',\n щ: 'o',\n ъ: ']',\n ы: 's',\n ь: 'm',\n ю: '.',\n я: 'z',\n};\n\n/**\n * Translates text mistakenly typed in the Russian layout into English\n * @param string string with Russian layout characters\n * @return string with English layout characters\n */\nexport function transliterateKeyboardLayout(string: string): string {\n let newStr = '';\n\n for (let i = 0; i < string.length; i++) {\n newStr += string.charAt(i) in MAP ? MAP[string.charAt(i)] : string.charAt(i);\n }\n\n return newStr;\n}\n","import {InjectionToken} from '@angular/core';\nimport {TuiDocPages} from '../types/pages';\n\nexport const TUI_DOC_PAGES: InjectionToken<TuiDocPages> = new InjectionToken<TuiDocPages>(\n 'Documentation pages',\n {\n factory: () => [],\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_TITLE = new InjectionToken<string>('Page title', {\n factory: () => '',\n});\n","import {InjectionToken, Provider} from '@angular/core';\nimport {ActivatedRoute, NavigationEnd, Router} from '@angular/router';\nimport {isPresent, TuiDestroyService} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {filter, map, mergeMap, takeUntil} from 'rxjs/operators';\nimport {TUI_DOC_PAGES} from '../../tokens/pages';\nimport {TUI_DOC_TITLE} from '../../tokens/title';\nimport {TuiDocPages} from '../../types/pages';\n\nexport const NAVIGATION_TITLE = new InjectionToken<Observable<string>>('Page title');\nexport const NAVIGATION_LABELS = new InjectionToken<readonly string[]>(\n 'Navigation sections labels for search',\n);\nexport const NAVIGATION_ITEMS: InjectionToken<\n ReadonlyArray<TuiDocPages>\n> = new InjectionToken<ReadonlyArray<TuiDocPages>>('Navigation pages');\n\nexport const NAVIGATION_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: NAVIGATION_TITLE,\n deps: [Router, ActivatedRoute, TUI_DOC_TITLE, TuiDestroyService],\n useFactory: titleProviderFactory,\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: itemsProviderFactory,\n },\n];\n\nexport function titleProviderFactory(\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(isPresent),\n mergeMap(({data}) => data),\n map(({title}) => titlePrefix + title),\n takeUntil(destroy$),\n );\n}\n\nexport function labelsProviderFactory(pages: TuiDocPages): readonly string[] {\n return pages\n .map(({section}) => section)\n .filter((item, index, array) => array.indexOf(item) === index);\n}\n\nexport function itemsProviderFactory(pages: TuiDocPages): ReadonlyArray<TuiDocPages> {\n const labels = labelsProviderFactory(pages);\n\n return labels.map(label => pages.filter(({section}) => section === label));\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, HostBinding, Inject} from '@angular/core';\nimport {Title} from '@angular/platform-browser';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {tuiPure, uniqBy} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs/operators';\nimport {TuiDocPage} from '../../interfaces/page';\nimport {TUI_DOC_SEARCH_TEXT} from '../../tokens/i18n';\nimport {TuiDocPages} from '../../types/pages';\nimport {transliterateKeyboardLayout} from '../../utils/transliterate-keyboard-layout';\nimport {\n NAVIGATION_ITEMS,\n NAVIGATION_LABELS,\n NAVIGATION_PROVIDERS,\n NAVIGATION_TITLE,\n} from './navigation.providers';\n\nconst SCROLL_INTO_VIEW_DELAY = 200;\n\n// @dynamic\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 search = '';\n open = false;\n openPagesArr: boolean[] = [];\n openPagesGroupsArr: boolean[] = [];\n active = '';\n\n @HostBinding('class._open')\n menuOpen = false;\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(Title) titleService: Title,\n @Inject(NAVIGATION_TITLE) title$: Observable<string>,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TuiModeDirective)\n private readonly mode: TuiModeDirective,\n @Inject(NAVIGATION_LABELS) readonly labels: string[],\n @Inject(NAVIGATION_ITEMS)\n readonly items: ReadonlyArray<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 ) {\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 titleService.setTitle(title);\n this.openActivePageGroup();\n this.handleAnchorLink(this.activatedRoute.snapshot.fragment);\n });\n }\n\n get canOpen(): boolean {\n return this.search.length > 2;\n }\n\n get filteredItems(): ReadonlyArray<ReadonlyArray<TuiDocPage>> {\n return this.filterItems(this.flattenSubPages(this.items), this.search);\n }\n\n isActive(route: string): boolean {\n return route === this.active;\n }\n\n onGroupClick(index: number) {\n this.openPagesGroupsArr[index] = !this.openPagesGroupsArr[index];\n }\n\n closeMenu() {\n this.menuOpen = false;\n }\n\n onSearchChange(search: string) {\n this.search = search;\n this.open = this.canOpen;\n }\n\n onClick() {\n this.open = false;\n this.menuOpen = false;\n this.search = '';\n this.openActivePageGroup();\n }\n\n @tuiPure\n private filterItems(\n items: ReadonlyArray<ReadonlyArray<TuiDocPage>>,\n search: string,\n ): ReadonlyArray<ReadonlyArray<TuiDocPage>> {\n return items.map(section =>\n uniqBy(\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(transliterateKeyboardLayout(search)) ||\n keywords.includes(transliterateKeyboardLayout(search)) ||\n search.replace(/-/gi, '').includes(title)\n );\n }),\n 'title',\n ),\n );\n }\n\n @tuiPure\n private flattenSubPages(\n items: ReadonlyArray<TuiDocPages>,\n ): ReadonlyArray<ReadonlyArray<TuiDocPage>> {\n return items.reduce<ReadonlyArray<ReadonlyArray<TuiDocPage>>>(\n (array, item) => [\n ...array,\n item.reduce<ReadonlyArray<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, false);\n }\n\n private handleAnchorLink(hash: string) {\n setTimeout(() => {\n this.navigateToAnchorLink(hash);\n }, SCROLL_INTO_VIEW_DELAY);\n }\n\n private openActivePageGroup() {\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 + pageIndex] = true;\n this.active = subPage.route;\n }\n });\n }\n });\n });\n }\n\n private navigateToAnchorLink(fragment: string) {\n const element = fragment && this.documentRef.querySelector(`#${fragment}`);\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: 'smooth',\n });\n }\n}\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {getElementObscurers, TuiDestroyService} from '@taiga-ui/cdk';\nimport {Subject} from 'rxjs';\nimport {debounceTime, filter, takeUntil} from 'rxjs/operators';\n\n@Directive({\n selector: '[scrollIntoView]',\n providers: [TuiDestroyService],\n})\nexport class ScrollIntoViewDirective {\n @Input()\n set scrollIntoView(shallWe: boolean) {\n this.scroll$.next(shallWe);\n }\n\n private readonly scroll$ = new Subject<boolean>();\n\n constructor(\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n ) {\n this.scroll$\n .pipe(\n debounceTime(750),\n filter(shallWe => shallWe && !!getElementObscurers(nativeElement)),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n nativeElement.scrollIntoView();\n });\n }\n}\n","import {NgModule} from '@angular/core';\nimport {ScrollIntoViewDirective} from './scroll-into-view.directive';\n\n@NgModule({\n declarations: [ScrollIntoViewDirective],\n exports: [ScrollIntoViewDirective],\n})\nexport class ScrollIntoViewModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiActiveZoneModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiDropdownControllerModule,\n TuiExpandModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiModeModule,\n TuiPrimitiveTextfieldModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiAccordionModule} from '@taiga-ui/kit';\nimport {ScrollIntoViewModule} from '../../directives/scroll-into-view/scroll-into-view.module';\nimport {TuiDocNavigationComponent} from './navigation.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n ScrollIntoViewModule,\n TuiButtonModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiActiveZoneModule,\n TuiLetModule,\n TuiModeModule,\n TuiLinkModule,\n TuiExpandModule,\n TuiHostedDropdownModule,\n TuiDropdownControllerModule,\n TuiAccordionModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiDataListModule,\n ],\n declarations: [TuiDocNavigationComponent],\n exports: [TuiDocNavigationComponent],\n})\nexport class TuiDocNavigationModule {}\n","export function rgbToHex(r: number, g: number, b: number): string {\n return (\n '#' +\n [r, g, b]\n .map(x => {\n const hex = x.toString(16);\n\n return hex.length === 1 ? '0' + hex : hex;\n })\n .join('')\n );\n}\n\nexport function hexToRgb(hex: string): [number, number, number] {\n const matches = hex\n .replace('#', '')\n .split('')\n .map((char, _, array) => (array.length === 3 ? char + char : char))\n .join('')\n .match(/.{2}/g);\n\n return matches\n ? (matches.map(x => Number.parseInt(x, 16)) as [number, number, number])\n : [0, 0, 0];\n}\n","function inspectArray(array: ReadonlyArray<any>, depth: number): string {\n if (depth === 0) {\n return '[…]';\n }\n\n let result = '';\n let first = true;\n\n for (let index = 0; index < array.length; index++) {\n if (first) {\n first = false;\n } else {\n result += ', ';\n }\n\n result += index in array ? inspectAny(array[index], depth - 1) : 'empty';\n }\n\n return `[${result}]`;\n}\n\nfunction inspectObject(object: {[key: string]: any}, depth: number): string {\n if (depth === 0) {\n return `{…}`;\n }\n\n let result = '';\n\n let first = true;\n\n for (const key in object) {\n if (!object.hasOwnProperty(key)) {\n continue;\n }\n\n if (first) {\n first = false;\n } else {\n result += ', ';\n }\n\n result += `${key}: ${inspectAny(object[key], depth - 1)}`;\n }\n\n return `{${result}}`;\n}\n\n// @bad TODO add more types\n/**\n * Returns readable JS entity\n * @param data\n * @param depth\n * @return readable JS entity\n */\nexport function inspectAny(data: any, depth: number): string {\n if (data === null) {\n return 'null';\n }\n\n switch (typeof data) {\n case 'string':\n return `'${data}'`;\n case 'undefined':\n case 'number':\n case 'boolean':\n case 'function':\n return String(data);\n }\n\n if (data instanceof RegExp) {\n return data.toString();\n }\n\n if (Array.isArray(data)) {\n return inspectArray(data, depth);\n }\n\n return inspectObject(data, depth);\n}\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} from '@angular/router';\nimport {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})\nexport class TuiDocDocumentationPropertyConnectorDirective<T>\n implements OnInit, OnChanges {\n @Input()\n documentationPropertyName = '';\n\n @Input()\n documentationPropertyMode: DocumentationPropertyType = null;\n\n @Input()\n documentationPropertyType = '';\n\n @Input()\n documentationPropertyValue: T | null = null;\n\n @Input()\n documentationPropertyDeprecated = false;\n\n @Input()\n documentationPropertyValues: ReadonlyArray<T> | null = null;\n\n @Output()\n readonly documentationPropertyValueChange = new EventEmitter<T>();\n\n readonly changed$ = new Subject<void>();\n\n constructor(\n @Inject(TemplateRef) readonly template: TemplateRef<{}>,\n @Inject(Location) private readonly locationRef: Location,\n @Inject(ActivatedRoute) private readonly activatedRoute: ActivatedRoute,\n @Inject(UrlSerializer) private readonly urlSerializer: UrlSerializer,\n ) {}\n\n ngOnInit() {\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() {\n this.changed$.next();\n }\n\n onValueChange(value: T) {\n this.documentationPropertyValue = value;\n this.documentationPropertyValueChange.emit(value);\n this.setQueryParam(value);\n }\n\n private parseParams(params: Params) {\n if (\n !params[this.documentationPropertyName] &&\n !params[this.documentationPropertyName + SERIALIZED_SUFFIX]\n ) {\n return;\n }\n\n const isValueAvailableByKey = !!params[\n this.documentationPropertyName + SERIALIZED_SUFFIX\n ];\n\n if (isValueAvailableByKey && this.documentationPropertyValues) {\n this.onValueChange(\n this.documentationPropertyValues[\n params[this.documentationPropertyName + SERIALIZED_SUFFIX]\n ],\n );\n\n return;\n }\n\n this.onValueChange(\n !isNaN(Number(params[this.documentationPropertyName]))\n ? Number(params[this.documentationPropertyName])\n : params[this.documentationPropertyName],\n );\n }\n\n private setQueryParam(value: T) {\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)\n : value;\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(String(tree));\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY, itemsQueryListObservable, watch} from '@taiga-ui/cdk';\nimport {merge} from 'rxjs';\nimport {switchMap} from 'rxjs/operators';\nimport {TUI_DOC_DOCUMENTATION_TEXTS} from '../../tokens/i18n';\nimport {hexToRgb, rgbToHex} from '../../utils/color-conversion';\nimport {inspectAny} from '../../utils/inspect';\nimport {TuiDocDocumentationPropertyConnectorDirective} from './documentation-property-connector.directive';\n\n// @bad TODO subscribe propertiesConnectors changes\n// @bad TODO refactor to make more flexible\n// @dynamic\n@Component({\n selector: 'tui-doc-documentation',\n templateUrl: './documentation.template.html',\n styleUrls: ['./documentation.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\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<\n TuiDocDocumentationPropertyConnectorDirective<any>\n > = EMPTY_QUERY;\n\n activeItemIndex = 0;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_DOC_DOCUMENTATION_TEXTS)\n readonly texts: [string, string, string, string, string],\n ) {}\n\n ngAfterContentInit() {\n itemsQueryListObservable(this.propertiesConnectors)\n .pipe(\n switchMap(items => merge(...items.map(({changed$}) => changed$))),\n watch(this.changeDetectorRef),\n )\n .subscribe();\n }\n\n get type(): string {\n return this.isAPI ? this.texts[0] : this.texts[1];\n }\n\n getColor(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 rgbToHex(...parsed);\n }\n\n getOpacity(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 .substr(lastComma)\n .replace(')', '')\n .replace(' ', '')\n .replace(',', '');\n\n return Math.round(Number.parseFloat(parsed) * 100);\n }\n\n onColorChange(\n connector: TuiDocDocumentationPropertyConnectorDirective<string>,\n color: string,\n ) {\n const opacity = this.getOpacity(connector.documentationPropertyValue || '');\n\n if (opacity === 100) {\n connector.onValueChange(color);\n\n return;\n }\n\n const rgb = hexToRgb(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,\n ) {\n const hex = this.getColor(connector.documentationPropertyValue || '');\n const rgb = hexToRgb(hex);\n const result = `rgba(${rgb}, ${opacity / 100})`;\n\n connector.onValueChange(result);\n }\n\n stripOptional(name: string): string {\n return name.replace('?', '');\n }\n\n isOptional(name: string): boolean {\n return name.includes('?');\n }\n\n showCleaner(type: string): boolean {\n return type.includes('null');\n }\n\n showContentTooltip(type: string): boolean {\n return type.includes('PolymorpheusContent');\n }\n\n inspectAny(data: any): string {\n return inspectAny(data, 2);\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.tuiFocusableComponent;\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 tuiFocusableComponent: TuiFocusableElementAccessor,\n ) {}\n}\n","import {NgModule} from '@angular/core';\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 {\n TuiDataListModule,\n TuiDropdownControllerModule,\n TuiGroupModule,\n TuiHintControllerModule,\n TuiLinkModule,\n TuiModeModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiTooltipModule,\n} from '@taiga-ui/core';\nimport {\n TuiBadgeModule,\n TuiDataListWrapperModule,\n TuiInputCountModule,\n TuiSelectModule,\n TuiToggleModule,\n} from '@taiga-ui/kit';\nimport {TuiInputOpacityModule} from '../../internal/input-opacity/input-opacity.module';\nimport {TuiDocDocumentationPropertyConnectorDirective} from './documentation-property-connector.directive';\nimport {TuiDocDocumentationComponent} from './documentation.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n TuiBadgeModule,\n TuiSelectModule,\n TuiToggleModule,\n TuiTooltipModule,\n TuiLinkModule,\n TuiInputCountModule,\n TuiModeModule,\n TuiGroupModule,\n TuiInputOpacityModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiHintControllerModule,\n TuiDropdownControllerModule,\n TuiDataListModule,\n TuiDataListWrapperModule,\n ],\n declarations: [\n TuiDocDocumentationComponent,\n TuiDocDocumentationPropertyConnectorDirective,\n ],\n exports: [\n TuiDocDocumentationComponent,\n TuiDocDocumentationPropertyConnectorDirective,\n ],\n})\nexport class TuiDocDocumentationModule {}\n","import {InjectionToken} from '@angular/core';\nimport {CodeEditor} from '../interfaces/code-editor';\n\nexport const TUI_DOC_CODE_EDITOR = new InjectionToken<CodeEditor>(\n 'Contains service for opening online IDE e.g. Stackblitz',\n);\n","import {InjectionToken} from '@angular/core';\nimport {identity, TuiHandler} from '@taiga-ui/cdk';\n\nexport const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new InjectionToken<\n TuiHandler<Record<string, string>, Record<string, string>>\n>('Processes content in example', {\n factory: () => identity,\n});\n","import {Clipboard} from '@angular/cdk/clipboard';\nimport {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n Optional,\n} from '@angular/core';\nimport {LOCATION} from '@ng-web-apis/common';\nimport {TuiHandler, tuiPure} from '@taiga-ui/cdk';\nimport {TuiNotification, TuiNotificationsService} from '@taiga-ui/core';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {CodeEditor} from '../../interfaces/code-editor';\nimport {TUI_DOC_CODE_EDITOR} from '../../tokens/code-editor';\nimport {TUI_DOC_EXAMPLE_CONTENT_PROCESSOR} from '../../tokens/example-content-processor';\nimport {TUI_DOC_EXAMPLE_TEXTS} from '../../tokens/i18n';\n\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\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 @Input()\n heading: string | null = null;\n\n @Input()\n description: string | null = null;\n\n @Input()\n set content(content: Record<string, string>) {\n this.processedContent = this.processContent(content);\n }\n\n @Input()\n componentName: string = this.location.pathname.slice(1);\n\n activeItemIndex = 0;\n\n processedContent: Record<string, string> = {};\n\n readonly defaultTab = this.texts[0];\n\n readonly copy$ = this.copyTexts$.pipe(map(([copy]) => copy));\n\n constructor(\n @Attribute('id')\n readonly id: string | null,\n @Inject(Clipboard) private readonly clipboard: Clipboard,\n @Inject(TuiNotificationsService)\n private readonly notifications: TuiNotificationsService,\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: CodeEditor | null,\n @Inject(TUI_DOC_EXAMPLE_CONTENT_PROCESSOR)\n private readonly processContent: TuiHandler<\n Record<string, string>,\n Record<string, string>\n >,\n ) {}\n\n get activeItem(): string {\n return this.tabs[this.activeItemIndex];\n }\n\n get tabs(): readonly string[] {\n return this.getTabs(this.processedContent);\n }\n\n get code(): string {\n const code = this.processedContent[this.activeItem];\n\n return code ? code.trim() : '';\n }\n\n get isDefaultItem(): boolean {\n return this.activeItem === this.defaultTab;\n }\n\n copyExampleLink() {\n const hashPosition = this.location.href.indexOf('#');\n const currentUrl =\n hashPosition > -1\n ? this.location.href.substr(0, hashPosition)\n : this.location.href;\n const url = `${currentUrl}#${this.id}`;\n\n this.clipboard.copy(url);\n this.notifications\n .show(this.texts[1], {\n label: this.texts[2],\n status: TuiNotification.Success,\n })\n .subscribe();\n }\n\n @tuiPure\n private getTabs(content: Record<string, string>): readonly string[] {\n return [this.defaultTab, ...Object.keys(content)];\n }\n}\n","import {ClipboardModule} from '@angular/cdk/clipboard';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {TuiTabsModule} from '@taiga-ui/kit';\nimport {TuiDocCodeModule} from '../code/code.module';\nimport {TuiDocCopyModule} from '../copy/copy.module';\nimport {TuiDocExampleComponent} from './example.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ClipboardModule,\n TuiTabsModule,\n TuiButtonModule,\n TuiDocCopyModule,\n TuiDocCodeModule,\n ],\n declarations: [TuiDocExampleComponent],\n exports: [TuiDocExampleComponent],\n})\nexport class TuiDocExampleModule {}\n","import {Component, forwardRef, Inject, ViewEncapsulation} from '@angular/core';\nimport {LOCAL_STORAGE, WINDOW} from '@ng-web-apis/common';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\n\n// @dynamic\n@Component({\n selector: 'tui-doc-main',\n templateUrl: './main.template.html',\n styleUrls: ['./main.style.less'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: TuiModeDirective,\n useExisting: forwardRef(() => TuiDocMainComponent),\n },\n ],\n})\nexport class TuiDocMainComponent {\n night =\n this.storage.getItem('night') === 'true' ||\n (this.storage.getItem('night') === null &&\n this.windowRef.matchMedia('(prefers-color-scheme: dark)').matches);\n\n readonly change$ = new Subject<void>();\n\n constructor(\n @Inject(LOCAL_STORAGE) private readonly storage: Storage,\n @Inject(WINDOW) private readonly windowRef: Window,\n ) {}\n\n get mode(): TuiBrightness | null {\n return this.night ? 'onDark' : null;\n }\n\n onMode(night: boolean) {\n this.night = night;\n this.change$.next();\n this.storage.setItem('night', String(night));\n }\n}\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_DOC_LOGO = new InjectionToken<PolymorpheusContent>('Main logo', {\n factory: () => '',\n});\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {merge, Subject} from 'rxjs';\nimport {distinctUntilChanged, mapTo, startWith} from 'rxjs/operators';\nimport {TUI_DOC_MENU_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_LOGO} from '../../tokens/logo';\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(this.router.events.pipe(mapTo(false)), this.stream$).pipe(\n startWith(false),\n distinctUntilChanged(),\n );\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 ) {}\n\n onClick() {\n this.stream$.next(true);\n }\n\n onActiveZone(active: boolean) {\n if (!active) {\n this.stream$.next(false);\n }\n }\n}\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';\nimport {TuiDocNavigationModule} from '../../components/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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {\n TuiDialogModule,\n TuiNotificationsModule,\n TuiRootModule,\n TuiThemeNightModule,\n} from '@taiga-ui/core';\nimport {TuiToggleModule} from '@taiga-ui/kit';\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 FormsModule,\n TuiToggleModule,\n TuiThemeNightModule,\n TuiDocHeaderModule,\n TuiRootModule,\n TuiDialogModule,\n TuiNotificationsModule,\n TuiDocNavigationModule,\n ],\n declarations: [TuiDocMainComponent],\n exports: [TuiDocMainComponent],\n})\nexport class TuiDocMainModule {}\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_DEFAULT_TABS = new InjectionToken<readonly string[]>(\n 'Array of default tab names',\n {\n factory: () => [],\n },\n);\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: '[pageTab]',\n})\nexport class TuiDocPageTabConnectorDirective {\n @Input()\n @tuiDefaultProp()\n pageTab?: string;\n\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<{}>) {}\n}\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_SEE_ALSO = new InjectionToken<ReadonlyArray<readonly string[]>>(\n 'Array of arrays of related pages',\n {\n factory: () => [],\n },\n);\n","import {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {TUI_DOC_SEE_ALSO} from '../../tokens/see-also';\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: seeAlsoProviderFactory,\n },\n];\n\nexport function seeAlsoProviderFactory(\n {nativeElement}: ElementRef,\n seeAlsoGroups: ReadonlyArray<readonly string[]>,\n): readonly string[] {\n const groups =\n seeAlsoGroups.filter(group => group.indexOf(nativeElement.header) !== -1) || [];\n\n const seeAlsoSet = new Set(\n groups\n .join()\n .split(',')\n .filter(component => component && component !== nativeElement.header),\n );\n\n return Array.from(seeAlsoSet);\n}\n","import {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {TUI_DOC_DEFAULT_TABS} from '../../tokens/default-tabs';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\nimport {PAGE_PROVIDERS, PAGE_SEE_ALSO} from './page.providers';\n\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\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 activeItemIndex = NaN;\n\n @ContentChildren(TuiDocPageTabConnectorDirective)\n readonly tabConnectors: QueryList<TuiDocPageTabConnectorDirective> = EMPTY_QUERY;\n\n constructor(\n @Attribute('deprecated') readonly deprecated: string | null,\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 getRouterLink(tab: string = ''): string {\n return `./${tab.replace(/ /g, '_')}`;\n }\n}\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {TuiDocPage, TuiDocPageGroup} from '../../interfaces/page';\nimport {TUI_DOC_SEE_ALSO_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_PAGES} from '../../tokens/pages';\n\n// @dynamic\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_PAGES)\n private readonly pages: ReadonlyArray<TuiDocPageGroup | TuiDocPage>,\n ) {}\n\n getRouterLink(pageTitle: string): string {\n for (let i = 0; i < this.pages.length; i++) {\n const page = this.pages\n .map(page => ('subPages' in page ? page.subPages : [page]))\n .reduce((pages, subPages) => [...pages, ...subPages], [])\n .find((page: TuiDocPage) => page.title === pageTitle);\n\n if (page && page.route) {\n return page.route;\n }\n }\n\n return '';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiLinkModule} from '@taiga-ui/core';\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 {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {TuiDocSourceCodePathOptions} from '../interfaces/source-code-path-options';\n\nexport const TUI_DOC_SOURCE_CODE: InjectionToken<\n PolymorpheusContent<TuiDocSourceCodePathOptions>\n> = new InjectionToken<PolymorpheusContent<TuiDocSourceCodePathOptions>>(\n 'Source code link',\n {\n factory: () => '',\n },\n);\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {tuiPure} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {TuiDocSourceCodePathOptions} from '../../interfaces/source-code-path-options';\nimport {TUI_DOC_SOURCE_CODE_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_SOURCE_CODE} from '../../tokens/source-code';\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","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiTabsModule, TuiTagModule} from '@taiga-ui/kit';\nimport {TuiDocSeeAlsoModule} from '../../internal/see-also/see-also.module';\nimport {TuiDocSourceCodeModule} from '../../internal/source-code/source-code.module';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\nimport {TuiDocPageComponent} from './page.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n TuiDocSeeAlsoModule,\n TuiTabsModule,\n TuiTagModule,\n TuiDocSourceCodeModule,\n ],\n declarations: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n exports: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n})\nexport class TuiDocPageModule {}\n","import {Provider} from '@angular/core';\nimport {\n TUI_DOC_DEMO_TEXTS,\n TUI_DOC_DOCUMENTATION_TEXTS,\n TUI_DOC_EXAMPLE_TEXTS,\n TUI_DOC_MENU_TEXT,\n TUI_DOC_SEARCH_TEXT,\n TUI_DOC_SEE_ALSO_TEXT,\n TUI_DOC_SOURCE_CODE_TEXT,\n} from '../tokens/i18n';\n\n// TODO: remove in ivy compilation\nexport const DEMO_TEXTS = ['Сделано с помощью директивы: ', 'Фон', 'Детали формы'];\nexport const DOC_TEXTS = [\n 'Аргумент',\n 'Тип',\n 'Имя и описание',\n 'Значение',\n 'Для работы с динамическими шаблонами используется',\n];\nexport const EXAMPLE_TEXTS = ['Превью', 'Ссылка на пример скопирована', 'Готово'];\n\nexport const TUI_DOC_RUSSIAN: Provider[] = [\n {\n provide: TUI_DOC_DEMO_TEXTS,\n useValue: DEMO_TEXTS,\n },\n {\n provide: TUI_DOC_DOCUMENTATION_TEXTS,\n useValue: DOC_TEXTS,\n },\n {\n provide: TUI_DOC_EXAMPLE_TEXTS,\n useValue: EXAMPLE_TEXTS,\n },\n {\n provide: TUI_DOC_MENU_TEXT,\n useValue: 'Меню',\n },\n {\n provide: TUI_DOC_SEARCH_TEXT,\n useValue: 'Поиск',\n },\n {\n provide: TUI_DOC_SEE_ALSO_TEXT,\n useValue: 'Смотрите также',\n },\n {\n provide: TUI_DOC_SOURCE_CODE_TEXT,\n useValue: 'Исходный код',\n },\n];\n","import {Type} from '@angular/core';\nimport {Routes} from '@angular/router';\n\n/**\n * Generates typical page routing structure\n */\nexport function generateRoutes(type: Type<any>): Routes {\n return [\n {\n path: '',\n component: type,\n children: [\n {\n path: ':tab',\n component: type,\n },\n ],\n },\n ];\n}\n","import {NgModule} from '@angular/core';\nimport {TuiDocCodeModule} from './components/code/code.module';\nimport {TuiDocDemoModule} from './components/demo/demo.module';\nimport {TuiDocDocumentationModule} from './components/documentation/documentation.module';\nimport {TuiDocExampleModule} from './components/example/example.module';\nimport {TuiDocPageModule} from './components/page/page.module';\n\n@NgModule({\n exports: [\n TuiDocCodeModule,\n TuiDocDemoModule,\n TuiDocDocumentationModule,\n TuiDocPageModule,\n TuiDocExampleModule,\n ],\n})\nexport class TuiAddonDocModule {}\n","/**\n * Public API Surface of @taiga-ui/addon-doc\n */\n\n/* Components */\nexport * from './components/code/code.component';\nexport * from './components/code/code.module';\nexport * from './components/copy/copy.component';\nexport * from './components/copy/copy.module';\nexport * from './components/demo/demo.component';\nexport * from './components/demo/demo.module';\nexport * from './components/navigation/navigation.component';\nexport * from './components/navigation/navigation.module';\nexport * from './components/documentation/documentation.component';\nexport * from './components/documentation/documentation.module';\nexport * from './components/documentation/documentation-property-connector.directive';\nexport * from './components/example/example.component';\nexport * from './components/example/example.module';\nexport * from './components/main/main.component';\nexport * from './components/main/main.module';\nexport * from './components/page/page.component';\nexport * from './components/page/page.module';\nexport * from './components/page/page-tab.directive';\n\n/* Directives */\nexport * from './directives/scroll-into-view/scroll-into-view.directive';\nexport * from './directives/scroll-into-view/scroll-into-view.module';\n\n/* Interfaces */\nexport * from './interfaces/code-editor';\nexport * from './interfaces/page';\nexport * from './interfaces/source-code-path-options';\n\n/* Languages */\nexport * from './languages/russian';\n\n/* Tokens */\nexport * from './tokens/code-editor';\nexport * from './tokens/example-content-processor';\nexport * from './tokens/default-tabs';\nexport * from './tokens/i18n';\nexport * from './tokens/logo';\nexport * from './tokens/pages';\nexport * from './tokens/see-also';\nexport * from './tokens/source-code';\nexport * from './tokens/title';\n\n/* Types */\nexport * from './types/pages';\n\n/* Utils */\nexport * from './utils/generate-routes';\n\nexport * from './addon-doc.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {NAVIGATION_ITEMS as ɵc,NAVIGATION_LABELS as ɵb,NAVIGATION_PROVIDERS as ɵd,NAVIGATION_TITLE as ɵa,itemsProviderFactory as ɵg,labelsProviderFactory as ɵf,titleProviderFactory as ɵe} from './components/navigation/navigation.providers';\nexport {PAGE_PROVIDERS as ɵm,PAGE_SEE_ALSO as ɵl,seeAlsoProviderFactory as ɵn} from './components/page/page.providers';\nexport {TuiDocHeaderComponent as ɵk} from './internal/header/header.component';\nexport {TuiDocHeaderModule as ɵj} from './internal/header/header.module';\nexport {TuiInputOpacityDirective as ɵi} from './internal/input-opacity/input-opacity.directive';\nexport {TuiInputOpacityModule as ɵh} from './internal/input-opacity/input-opacity.module';\nexport {TuiDocSeeAlsoComponent as ɵp} from './internal/see-also/see-also.component';\nexport {TuiDocSeeAlsoModule as ɵo} from './internal/see-also/see-also.module';\nexport {TuiDocSourceCodeComponent as ɵr} from './internal/source-code/source-code.component';\nexport {TuiDocSourceCodeModule as ɵq} from './internal/source-code/source-code.module';"],"names":["Location"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-doc.js","sources":["ng://@taiga-ui/addon-doc/components/code/code.component.ts","ng://@taiga-ui/addon-doc/components/code/code.module.ts","ng://@taiga-ui/addon-doc/components/copy/copy.component.ts","ng://@taiga-ui/addon-doc/components/copy/copy.module.ts","ng://@taiga-ui/addon-doc/tokens/i18n.ts","ng://@taiga-ui/addon-doc/components/demo/demo.component.ts","ng://@taiga-ui/addon-doc/components/demo/demo.module.ts","ng://@taiga-ui/addon-doc/utils/transliterate-keyboard-layout.ts","ng://@taiga-ui/addon-doc/tokens/pages.ts","ng://@taiga-ui/addon-doc/tokens/title.ts","ng://@taiga-ui/addon-doc/components/navigation/navigation.providers.ts","ng://@taiga-ui/addon-doc/components/navigation/navigation.component.ts","ng://@taiga-ui/addon-doc/directives/scroll-into-view/scroll-into-view.directive.ts","ng://@taiga-ui/addon-doc/directives/scroll-into-view/scroll-into-view.module.ts","ng://@taiga-ui/addon-doc/components/navigation/navigation.module.ts","ng://@taiga-ui/addon-doc/utils/color-conversion.ts","ng://@taiga-ui/addon-doc/utils/inspect.ts","ng://@taiga-ui/addon-doc/components/documentation/documentation-property-connector.directive.ts","ng://@taiga-ui/addon-doc/components/documentation/documentation.component.ts","ng://@taiga-ui/addon-doc/internal/input-opacity/input-opacity.directive.ts","ng://@taiga-ui/addon-doc/internal/input-opacity/input-opacity.module.ts","ng://@taiga-ui/addon-doc/components/documentation/documentation.module.ts","ng://@taiga-ui/addon-doc/tokens/code-editor.ts","ng://@taiga-ui/addon-doc/tokens/example-content-processor.ts","ng://@taiga-ui/addon-doc/components/example/example.component.ts","ng://@taiga-ui/addon-doc/components/example/example.module.ts","ng://@taiga-ui/addon-doc/components/main/main.component.ts","ng://@taiga-ui/addon-doc/tokens/logo.ts","ng://@taiga-ui/addon-doc/internal/header/header.component.ts","ng://@taiga-ui/addon-doc/internal/header/header.module.ts","ng://@taiga-ui/addon-doc/components/main/main.module.ts","ng://@taiga-ui/addon-doc/tokens/default-tabs.ts","ng://@taiga-ui/addon-doc/components/page/page-tab.directive.ts","ng://@taiga-ui/addon-doc/tokens/see-also.ts","ng://@taiga-ui/addon-doc/components/page/page.providers.ts","ng://@taiga-ui/addon-doc/components/page/page.component.ts","ng://@taiga-ui/addon-doc/internal/see-also/see-also.component.ts","ng://@taiga-ui/addon-doc/internal/see-also/see-also.module.ts","ng://@taiga-ui/addon-doc/tokens/source-code.ts","ng://@taiga-ui/addon-doc/internal/source-code/source-code.component.ts","ng://@taiga-ui/addon-doc/internal/source-code/source-code.module.ts","ng://@taiga-ui/addon-doc/components/page/page.module.ts","ng://@taiga-ui/addon-doc/languages/russian.ts","ng://@taiga-ui/addon-doc/utils/generate-routes.ts","ng://@taiga-ui/addon-doc/addon-doc.module.ts","ng://@taiga-ui/addon-doc/public-api.ts","ng://@taiga-ui/addon-doc/taiga-ui-addon-doc.ts"],"sourcesContent":["import {Component, HostBinding, Input} from '@angular/core';\n\n@Component({\n selector: 'tui-doc-code',\n templateUrl: './code.template.html',\n styleUrls: ['./code.style.less'],\n})\nexport class TuiDocCodeComponent {\n @Input()\n filename = '';\n\n @Input()\n code = '';\n\n @HostBinding('class._has-filename')\n get hasFilename(): boolean {\n return !!this.filename;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {HighlightModule} from 'ngx-highlightjs';\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 {TuiDestroyService, tuiPure} from '@taiga-ui/cdk';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit';\nimport {Observable, Subject, timer} from 'rxjs';\nimport {mapTo, startWith, switchMapTo} from 'rxjs/operators';\n\nconst COPIED_TIMEOUT = 1500;\n\n// @dynamic\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();\n\n constructor(\n @Inject(TUI_COPY_TEXTS) readonly texts$: Observable<[string, string]>,\n ) {}\n\n @tuiPure\n get copied$(): Observable<boolean> {\n return this.copy$.pipe(\n switchMapTo(timer(COPIED_TIMEOUT).pipe(mapTo(false), startWith(true))),\n );\n }\n\n onClick() {\n this.copy$.next();\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {TuiDocCopyComponent} from './copy.component';\n\n@NgModule({\n imports: [CommonModule, TuiButtonModule],\n declarations: [TuiDocCopyComponent],\n exports: [TuiDocCopyComponent],\n})\nexport class TuiDocCopyModule {}\n","import {InjectionToken} from '@angular/core';\n\n/**\n * TODO: think about reorganization in @taiga-ui/i18n way\n */\n\n/**\n * Works with a tuple\n * [@string tuiMode tooltip content, @string word 'background', @string 'form value']\n */\nexport const TUI_DOC_DEMO_TEXTS = new InjectionToken<[string, string, string]>(\n 'tui-doc-demo i18n texts',\n {factory: () => ['Read more more about modes: ', 'Background', 'Form value']},\n);\n\n/**\n * Works with a tuple\n * [\n * @string word 'argument',\n * @string word 'type',\n * @string 'name and description',\n * @string word 'value'\n * @string message for tooltip about ng-polymorpheus\n * ]\n */\nexport const TUI_DOC_DOCUMENTATION_TEXTS = new InjectionToken<\n [string, string, string, string, string]\n>('tui-doc-documentation i18n texts', {\n factory: () => [\n 'Argument',\n 'Type',\n 'Name and description',\n 'Value',\n 'Learn about our dynamic templates from ',\n ],\n});\n\n/**\n * Works with a tuple\n * [\n * @string default tab name,\n * @string link to a sample copied message text,\n * @string link to a sample copied message label\n * ]\n */\nexport const TUI_DOC_EXAMPLE_TEXTS = new InjectionToken<[string, string, string]>(\n 'tui-doc-example i18n texts',\n {factory: () => ['Preview', 'Link to a sample was successfully copied', 'Done']},\n);\n\nexport const TUI_DOC_MENU_TEXT = new InjectionToken<string>('menu i18n text', {\n factory: () => 'Menu',\n});\n\nexport const TUI_DOC_SEARCH_TEXT = new InjectionToken<string>('search i18n text', {\n factory: () => 'Search',\n});\n\nexport const TUI_DOC_SEE_ALSO_TEXT = new InjectionToken<string>(\n 'tui-doc-see-also i18n text',\n {factory: () => 'See also'},\n);\n\nexport const TUI_DOC_SOURCE_CODE_TEXT = new InjectionToken<string>(\n 'tui-doc-source-code i18n text',\n {factory: () => 'Source code'},\n);\n","import {isPlatformBrowser, Location} from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ElementRef,\n forwardRef,\n HostListener,\n Inject,\n Input,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {AbstractControl, FormControl, FormGroup} from '@angular/forms';\nimport {UrlSerializer} from '@angular/router';\nimport {TUI_IS_MOBILE, TuiDestroyService} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\nimport {startWith, takeUntil} from 'rxjs/operators';\nimport {TUI_DOC_DEMO_TEXTS} from '../../tokens/i18n';\n\nconst MIN_COMPONENT_WIDTH = 104;\n\n// @dynamic\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, AfterViewInit {\n @Input()\n control: AbstractControl | null = null;\n\n testForm?: FormGroup;\n updateOnVariants = ['change', 'blur', 'submit'];\n updateOn: 'change' | 'blur' | 'submit' = 'change';\n expanded = false;\n opaque = true;\n modeControl = new FormControl();\n\n mode: TuiBrightness | null = null;\n readonly change$ = new Subject<void>();\n\n @ContentChild(TemplateRef)\n readonly template?: TemplateRef<{}>;\n\n readonly items: readonly TuiBrightness[] = ['onLight', 'onDark'];\n\n private initialX = 0;\n private wrapperWidth = 0;\n\n @ViewChild('content')\n private readonly content?: ElementRef<HTMLElement>;\n\n @ViewChild('wrapper')\n private readonly wrapper?: ElementRef<HTMLElement>;\n\n @ViewChild('resizerText')\n private readonly resizerText?: ElementRef<HTMLElement>;\n\n private readonly isBrowser: boolean;\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(PLATFORM_ID) platformId: Object,\n @Inject(Location) locationRef: Location,\n @Inject(UrlSerializer) urlSerializer: UrlSerializer,\n @Inject(TUI_DOC_DEMO_TEXTS) readonly texts: [string, string, string],\n ) {\n this.isBrowser = isPlatformBrowser(platformId);\n\n const parsedMode = locationRef.path().match(/tui-mode=(onDark|onLight)/);\n\n if (parsedMode !== null && parsedMode.length > 0) {\n this.modeControl.setValue(parsedMode[1]);\n }\n\n this.modeControl.valueChanges\n .pipe(startWith(this.modeControl.value), takeUntil(this.destroy$))\n .subscribe(mode => {\n const urlTree = urlSerializer.parse(locationRef.path());\n\n urlTree.queryParams = {\n ...urlTree.queryParams,\n tuiMode: mode,\n };\n\n locationRef.go(String(urlTree));\n\n this.mode = mode;\n this.change$.next();\n });\n }\n\n ngOnInit() {\n this.createForm();\n }\n\n ngAfterViewInit() {\n this.setResizerTextContent();\n }\n\n setResizerTextContent() {\n if (!this.content || !this.resizerText) {\n return;\n }\n\n const paddingLeft = this.isBrowser\n ? getComputedStyle(this.content.nativeElement).paddingLeft\n : '0';\n const {offsetWidth} = this.content.nativeElement;\n\n this.resizerText.nativeElement.textContent = String(\n offsetWidth - parseInt(paddingLeft || '0', 10) * 2,\n );\n }\n\n @HostListener('window:resize')\n onResize() {\n this.setResizerTextContent();\n }\n\n onDragStart(event: MouseEvent) {\n event.preventDefault();\n this.initialX = event.clientX;\n this.wrapperWidth = this.wrapper ? this.wrapper.nativeElement.offsetWidth : 0;\n }\n\n onDragContinues(event: MouseEvent) {\n const deltaX = this.initialX - event.clientX;\n\n this.resizeContent(deltaX);\n this.setResizerTextContent();\n }\n\n onDragEnd() {\n this.wrapperWidth = this.wrapper ? this.wrapper.nativeElement.offsetWidth : 0;\n }\n\n toggleDetails() {\n this.expanded = !this.expanded;\n }\n\n updateOnChange(updateOn: 'change' | 'blur' | 'submit') {\n this.updateOn = updateOn;\n this.createForm();\n }\n\n private createForm() {\n const {control, updateOn} = this;\n\n if (!control) {\n return;\n }\n\n this.testForm = new FormGroup({testValue: control}, {updateOn});\n }\n\n private resizeContent(delta: number) {\n if (!this.wrapper) {\n return;\n }\n\n this.renderer.setStyle(\n this.wrapper.nativeElement,\n 'width',\n `${Math.max(this.wrapperWidth - delta, MIN_COMPONENT_WIDTH)}px`,\n );\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiDragModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiExpandModule,\n TuiGroupModule,\n TuiHintControllerModule,\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';\nimport {TuiDocDemoComponent} from './demo.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormsModule,\n RouterModule,\n TuiLinkModule,\n TuiDragModule,\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 TuiHintControllerModule,\n ],\n declarations: [TuiDocDemoComponent],\n exports: [TuiDocDemoComponent],\n})\nexport class TuiDocDemoModule {}\n","const MAP: Record<string, string> = {\n а: 'f',\n б: ',',\n в: 'd',\n г: 'u',\n д: 'l',\n е: 't',\n ё: '`',\n ж: ';',\n з: 'p',\n и: 'b',\n й: 'q',\n к: 'r',\n л: 'k',\n м: 'v',\n н: 'y',\n о: 'j',\n п: 'g',\n р: 'h',\n с: 'c',\n т: 'n',\n у: 'e',\n ф: 'a',\n х: '[',\n ц: 'w',\n ч: 'x',\n ш: 'i',\n щ: 'o',\n ъ: ']',\n ы: 's',\n ь: 'm',\n ю: '.',\n я: 'z',\n};\n\n/**\n * Translates text mistakenly typed in the Russian layout into English\n * @param string string with Russian layout characters\n * @return string with English layout characters\n */\nexport function transliterateKeyboardLayout(string: string): string {\n let newStr = '';\n\n for (let i = 0; i < string.length; i++) {\n newStr += string.charAt(i) in MAP ? MAP[string.charAt(i)] : string.charAt(i);\n }\n\n return newStr;\n}\n","import {InjectionToken} from '@angular/core';\nimport {TuiDocPages} from '../types/pages';\n\nexport const TUI_DOC_PAGES: InjectionToken<TuiDocPages> = new InjectionToken<TuiDocPages>(\n 'Documentation pages',\n {\n factory: () => [],\n },\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_TITLE = new InjectionToken<string>('Page title', {\n factory: () => '',\n});\n","import {InjectionToken, Provider} from '@angular/core';\nimport {ActivatedRoute, NavigationEnd, Router} from '@angular/router';\nimport {isPresent, TuiDestroyService} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {filter, map, mergeMap, takeUntil} from 'rxjs/operators';\nimport {TUI_DOC_PAGES} from '../../tokens/pages';\nimport {TUI_DOC_TITLE} from '../../tokens/title';\nimport {TuiDocPages} from '../../types/pages';\n\nexport const NAVIGATION_TITLE = new InjectionToken<Observable<string>>('Page title');\nexport const NAVIGATION_LABELS = new InjectionToken<readonly string[]>(\n 'Navigation sections labels for search',\n);\nexport const NAVIGATION_ITEMS: InjectionToken<\n ReadonlyArray<TuiDocPages>\n> = new InjectionToken<ReadonlyArray<TuiDocPages>>('Navigation pages');\n\nexport const NAVIGATION_PROVIDERS: Provider[] = [\n TuiDestroyService,\n {\n provide: NAVIGATION_TITLE,\n deps: [Router, ActivatedRoute, TUI_DOC_TITLE, TuiDestroyService],\n useFactory: titleProviderFactory,\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: itemsProviderFactory,\n },\n];\n\nexport function titleProviderFactory(\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(isPresent),\n mergeMap(({data}) => data),\n map(({title}) => titlePrefix + title),\n takeUntil(destroy$),\n );\n}\n\nexport function labelsProviderFactory(pages: TuiDocPages): readonly string[] {\n return pages\n .map(({section}) => section)\n .filter((item, index, array) => array.indexOf(item) === index);\n}\n\nexport function itemsProviderFactory(pages: TuiDocPages): ReadonlyArray<TuiDocPages> {\n const labels = labelsProviderFactory(pages);\n\n return labels.map(label => pages.filter(({section}) => section === label));\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, HostBinding, Inject} from '@angular/core';\nimport {Title} from '@angular/platform-browser';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {tuiPure, uniqBy} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs/operators';\nimport {TuiDocPage} from '../../interfaces/page';\nimport {TUI_DOC_SEARCH_TEXT} from '../../tokens/i18n';\nimport {TuiDocPages} from '../../types/pages';\nimport {transliterateKeyboardLayout} from '../../utils/transliterate-keyboard-layout';\nimport {\n NAVIGATION_ITEMS,\n NAVIGATION_LABELS,\n NAVIGATION_PROVIDERS,\n NAVIGATION_TITLE,\n} from './navigation.providers';\n\nconst SCROLL_INTO_VIEW_DELAY = 200;\n\n// @dynamic\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 search = '';\n open = false;\n openPagesArr: boolean[] = [];\n openPagesGroupsArr: boolean[] = [];\n active = '';\n\n @HostBinding('class._open')\n menuOpen = false;\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(Title) titleService: Title,\n @Inject(NAVIGATION_TITLE) title$: Observable<string>,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(TuiModeDirective)\n private readonly mode: TuiModeDirective,\n @Inject(NAVIGATION_LABELS) readonly labels: string[],\n @Inject(NAVIGATION_ITEMS)\n readonly items: ReadonlyArray<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 ) {\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 titleService.setTitle(title);\n this.openActivePageGroup();\n this.handleAnchorLink(this.activatedRoute.snapshot.fragment);\n });\n }\n\n get canOpen(): boolean {\n return this.search.length > 2;\n }\n\n get filteredItems(): ReadonlyArray<ReadonlyArray<TuiDocPage>> {\n return this.filterItems(this.flattenSubPages(this.items), this.search);\n }\n\n isActive(route: string): boolean {\n return route === this.active;\n }\n\n onGroupClick(index: number) {\n this.openPagesGroupsArr[index] = !this.openPagesGroupsArr[index];\n }\n\n closeMenu() {\n this.menuOpen = false;\n }\n\n onSearchChange(search: string) {\n this.search = search;\n this.open = this.canOpen;\n }\n\n onClick() {\n this.open = false;\n this.menuOpen = false;\n this.search = '';\n this.openActivePageGroup();\n }\n\n @tuiPure\n private filterItems(\n items: ReadonlyArray<ReadonlyArray<TuiDocPage>>,\n search: string,\n ): ReadonlyArray<ReadonlyArray<TuiDocPage>> {\n return items.map(section =>\n uniqBy(\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(transliterateKeyboardLayout(search)) ||\n keywords.includes(transliterateKeyboardLayout(search)) ||\n search.replace(/-/gi, '').includes(title)\n );\n }),\n 'title',\n ),\n );\n }\n\n @tuiPure\n private flattenSubPages(\n items: ReadonlyArray<TuiDocPages>,\n ): ReadonlyArray<ReadonlyArray<TuiDocPage>> {\n return items.reduce<ReadonlyArray<ReadonlyArray<TuiDocPage>>>(\n (array, item) => [\n ...array,\n item.reduce<ReadonlyArray<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, false);\n }\n\n private handleAnchorLink(hash: string) {\n setTimeout(() => {\n this.navigateToAnchorLink(hash);\n }, SCROLL_INTO_VIEW_DELAY);\n }\n\n private openActivePageGroup() {\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 + pageIndex] = true;\n this.active = subPage.route;\n }\n });\n }\n });\n });\n }\n\n private navigateToAnchorLink(fragment: string) {\n const element = fragment && this.documentRef.querySelector(`#${fragment}`);\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: 'smooth',\n });\n }\n}\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {getElementObscurers, TuiDestroyService} from '@taiga-ui/cdk';\nimport {Subject} from 'rxjs';\nimport {debounceTime, filter, takeUntil} from 'rxjs/operators';\n\n@Directive({\n selector: '[scrollIntoView]',\n providers: [TuiDestroyService],\n})\nexport class ScrollIntoViewDirective {\n @Input()\n set scrollIntoView(shallWe: boolean) {\n this.scroll$.next(shallWe);\n }\n\n private readonly scroll$ = new Subject<boolean>();\n\n constructor(\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n ) {\n this.scroll$\n .pipe(\n debounceTime(750),\n filter(shallWe => shallWe && !!getElementObscurers(nativeElement)),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n nativeElement.scrollIntoView();\n });\n }\n}\n","import {NgModule} from '@angular/core';\nimport {ScrollIntoViewDirective} from './scroll-into-view.directive';\n\n@NgModule({\n declarations: [ScrollIntoViewDirective],\n exports: [ScrollIntoViewDirective],\n})\nexport class ScrollIntoViewModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiActiveZoneModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiDropdownControllerModule,\n TuiExpandModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiModeModule,\n TuiPrimitiveTextfieldModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiAccordionModule} from '@taiga-ui/kit';\nimport {ScrollIntoViewModule} from '../../directives/scroll-into-view/scroll-into-view.module';\nimport {TuiDocNavigationComponent} from './navigation.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n ScrollIntoViewModule,\n TuiButtonModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiActiveZoneModule,\n TuiLetModule,\n TuiModeModule,\n TuiLinkModule,\n TuiExpandModule,\n TuiHostedDropdownModule,\n TuiDropdownControllerModule,\n TuiAccordionModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiDataListModule,\n ],\n declarations: [TuiDocNavigationComponent],\n exports: [TuiDocNavigationComponent],\n})\nexport class TuiDocNavigationModule {}\n","export function rgbToHex(r: number, g: number, b: number): string {\n return (\n '#' +\n [r, g, b]\n .map(x => {\n const hex = x.toString(16);\n\n return hex.length === 1 ? '0' + hex : hex;\n })\n .join('')\n );\n}\n\nexport function hexToRgb(hex: string): [number, number, number] {\n const matches = hex\n .replace('#', '')\n .split('')\n .map((char, _, array) => (array.length === 3 ? char + char : char))\n .join('')\n .match(/.{2}/g);\n\n return matches\n ? (matches.map(x => Number.parseInt(x, 16)) as [number, number, number])\n : [0, 0, 0];\n}\n","function inspectArray(array: ReadonlyArray<any>, depth: number): string {\n if (depth === 0) {\n return '[…]';\n }\n\n let result = '';\n let first = true;\n\n for (let index = 0; index < array.length; index++) {\n if (first) {\n first = false;\n } else {\n result += ', ';\n }\n\n result += index in array ? inspectAny(array[index], depth - 1) : 'empty';\n }\n\n return `[${result}]`;\n}\n\nfunction inspectObject(object: {[key: string]: any}, depth: number): string {\n if (depth === 0) {\n return `{…}`;\n }\n\n let result = '';\n\n let first = true;\n\n for (const key in object) {\n if (!object.hasOwnProperty(key)) {\n continue;\n }\n\n if (first) {\n first = false;\n } else {\n result += ', ';\n }\n\n result += `${key}: ${inspectAny(object[key], depth - 1)}`;\n }\n\n return `{${result}}`;\n}\n\n// @bad TODO add more types\n/**\n * Returns readable JS entity\n * @param data\n * @param depth\n * @return readable JS entity\n */\nexport function inspectAny(data: any, depth: number): string {\n if (data === null) {\n return 'null';\n }\n\n switch (typeof data) {\n case 'string':\n return `'${data}'`;\n case 'undefined':\n case 'number':\n case 'boolean':\n case 'function':\n return String(data);\n }\n\n if (data instanceof RegExp) {\n return data.toString();\n }\n\n if (Array.isArray(data)) {\n return inspectArray(data, depth);\n }\n\n return inspectObject(data, depth);\n}\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} from '@angular/router';\nimport {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})\nexport class TuiDocDocumentationPropertyConnectorDirective<T>\n implements OnInit, OnChanges {\n @Input()\n documentationPropertyName = '';\n\n @Input()\n documentationPropertyMode: DocumentationPropertyType = null;\n\n @Input()\n documentationPropertyType = '';\n\n @Input()\n documentationPropertyValue: T | null = null;\n\n @Input()\n documentationPropertyDeprecated = false;\n\n @Input()\n documentationPropertyValues: ReadonlyArray<T> | null = null;\n\n @Output()\n readonly documentationPropertyValueChange = new EventEmitter<T>();\n\n readonly changed$ = new Subject<void>();\n\n constructor(\n @Inject(TemplateRef) readonly template: TemplateRef<{}>,\n @Inject(Location) private readonly locationRef: Location,\n @Inject(ActivatedRoute) private readonly activatedRoute: ActivatedRoute,\n @Inject(UrlSerializer) private readonly urlSerializer: UrlSerializer,\n ) {}\n\n ngOnInit() {\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() {\n this.changed$.next();\n }\n\n onValueChange(value: T) {\n this.documentationPropertyValue = value;\n this.documentationPropertyValueChange.emit(value);\n this.setQueryParam(value);\n }\n\n private parseParams(params: Params) {\n if (\n !params[this.documentationPropertyName] &&\n !params[this.documentationPropertyName + SERIALIZED_SUFFIX]\n ) {\n return;\n }\n\n const isValueAvailableByKey = !!params[\n this.documentationPropertyName + SERIALIZED_SUFFIX\n ];\n\n if (isValueAvailableByKey && this.documentationPropertyValues) {\n this.onValueChange(\n this.documentationPropertyValues[\n params[this.documentationPropertyName + SERIALIZED_SUFFIX]\n ],\n );\n\n return;\n }\n\n this.onValueChange(\n !isNaN(Number(params[this.documentationPropertyName]))\n ? Number(params[this.documentationPropertyName])\n : params[this.documentationPropertyName],\n );\n }\n\n private setQueryParam(value: T) {\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)\n : value;\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(String(tree));\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY, itemsQueryListObservable, watch} from '@taiga-ui/cdk';\nimport {merge} from 'rxjs';\nimport {switchMap} from 'rxjs/operators';\nimport {TUI_DOC_DOCUMENTATION_TEXTS} from '../../tokens/i18n';\nimport {hexToRgb, rgbToHex} from '../../utils/color-conversion';\nimport {inspectAny} from '../../utils/inspect';\nimport {TuiDocDocumentationPropertyConnectorDirective} from './documentation-property-connector.directive';\n\n// @bad TODO subscribe propertiesConnectors changes\n// @bad TODO refactor to make more flexible\n// @dynamic\n@Component({\n selector: 'tui-doc-documentation',\n templateUrl: './documentation.template.html',\n styleUrls: ['./documentation.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\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<\n TuiDocDocumentationPropertyConnectorDirective<any>\n > = EMPTY_QUERY;\n\n activeItemIndex = 0;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_DOC_DOCUMENTATION_TEXTS)\n readonly texts: [string, string, string, string, string],\n ) {}\n\n ngAfterContentInit() {\n itemsQueryListObservable(this.propertiesConnectors)\n .pipe(\n switchMap(items => merge(...items.map(({changed$}) => changed$))),\n watch(this.changeDetectorRef),\n )\n .subscribe();\n }\n\n get type(): string {\n return this.isAPI ? this.texts[0] : this.texts[1];\n }\n\n getColor(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 rgbToHex(...parsed);\n }\n\n getOpacity(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 .substr(lastComma)\n .replace(')', '')\n .replace(' ', '')\n .replace(',', '');\n\n return Math.round(Number.parseFloat(parsed) * 100);\n }\n\n onColorChange(\n connector: TuiDocDocumentationPropertyConnectorDirective<string>,\n color: string,\n ) {\n const opacity = this.getOpacity(connector.documentationPropertyValue || '');\n\n if (opacity === 100) {\n connector.onValueChange(color);\n\n return;\n }\n\n const rgb = hexToRgb(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,\n ) {\n const hex = this.getColor(connector.documentationPropertyValue || '');\n const rgb = hexToRgb(hex);\n const result = `rgba(${rgb}, ${opacity / 100})`;\n\n connector.onValueChange(result);\n }\n\n stripOptional(name: string): string {\n return name.replace('?', '');\n }\n\n isOptional(name: string): boolean {\n return name.includes('?');\n }\n\n showCleaner(type: string): boolean {\n return type.includes('null');\n }\n\n showContentTooltip(type: string): boolean {\n return type.includes('PolymorpheusContent');\n }\n\n inspectAny(data: any): string {\n return inspectAny(data, 2);\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.tuiFocusableComponent;\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 tuiFocusableComponent: TuiFocusableElementAccessor,\n ) {}\n}\n","import {NgModule} from '@angular/core';\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 {\n TuiDataListModule,\n TuiDropdownControllerModule,\n TuiGroupModule,\n TuiHintControllerModule,\n TuiLinkModule,\n TuiModeModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiTooltipModule,\n} from '@taiga-ui/core';\nimport {\n TuiBadgeModule,\n TuiDataListWrapperModule,\n TuiInputCountModule,\n TuiSelectModule,\n TuiToggleModule,\n} from '@taiga-ui/kit';\nimport {TuiInputOpacityModule} from '../../internal/input-opacity/input-opacity.module';\nimport {TuiDocDocumentationPropertyConnectorDirective} from './documentation-property-connector.directive';\nimport {TuiDocDocumentationComponent} from './documentation.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n TuiBadgeModule,\n TuiSelectModule,\n TuiToggleModule,\n TuiTooltipModule,\n TuiLinkModule,\n TuiInputCountModule,\n TuiModeModule,\n TuiGroupModule,\n TuiInputOpacityModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiHintControllerModule,\n TuiDropdownControllerModule,\n TuiDataListModule,\n TuiDataListWrapperModule,\n ],\n declarations: [\n TuiDocDocumentationComponent,\n TuiDocDocumentationPropertyConnectorDirective,\n ],\n exports: [\n TuiDocDocumentationComponent,\n TuiDocDocumentationPropertyConnectorDirective,\n ],\n})\nexport class TuiDocDocumentationModule {}\n","import {InjectionToken} from '@angular/core';\nimport {CodeEditor} from '../interfaces/code-editor';\n\nexport const TUI_DOC_CODE_EDITOR = new InjectionToken<CodeEditor>(\n 'Contains service for opening online IDE e.g. Stackblitz',\n);\n","import {InjectionToken} from '@angular/core';\nimport {identity, TuiHandler} from '@taiga-ui/cdk';\n\nexport const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR = new InjectionToken<\n TuiHandler<Record<string, string>, Record<string, string>>\n>('Processes content in example', {\n factory: () => identity,\n});\n","import {Clipboard} from '@angular/cdk/clipboard';\nimport {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n Optional,\n} from '@angular/core';\nimport {LOCATION} from '@ng-web-apis/common';\nimport {TuiHandler, tuiPure} from '@taiga-ui/cdk';\nimport {TuiNotification, TuiNotificationsService} from '@taiga-ui/core';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\nimport {CodeEditor} from '../../interfaces/code-editor';\nimport {TUI_DOC_CODE_EDITOR} from '../../tokens/code-editor';\nimport {TUI_DOC_EXAMPLE_CONTENT_PROCESSOR} from '../../tokens/example-content-processor';\nimport {TUI_DOC_EXAMPLE_TEXTS} from '../../tokens/i18n';\n\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\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 @Input()\n heading: PolymorpheusContent = '';\n\n @Input()\n description: PolymorpheusContent = '';\n\n @Input()\n set content(content: Record<string, string>) {\n this.processedContent = this.processContent(content);\n }\n\n @Input()\n componentName: string = this.location.pathname.slice(1);\n\n activeItemIndex = 0;\n\n processedContent: Record<string, string> = {};\n\n readonly defaultTab = this.texts[0];\n\n readonly copy$ = this.copyTexts$.pipe(map(([copy]) => copy));\n\n constructor(\n @Attribute('id')\n readonly id: string | null,\n @Inject(Clipboard) private readonly clipboard: Clipboard,\n @Inject(TuiNotificationsService)\n private readonly notifications: TuiNotificationsService,\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: CodeEditor | null,\n @Inject(TUI_DOC_EXAMPLE_CONTENT_PROCESSOR)\n private readonly processContent: TuiHandler<\n Record<string, string>,\n Record<string, string>\n >,\n ) {}\n\n get activeItem(): string {\n return this.tabs[this.activeItemIndex];\n }\n\n get tabs(): readonly string[] {\n return this.getTabs(this.processedContent);\n }\n\n get code(): string {\n const code = this.processedContent[this.activeItem];\n\n return code ? code.trim() : '';\n }\n\n get isDefaultItem(): boolean {\n return this.activeItem === this.defaultTab;\n }\n\n copyExampleLink() {\n const hashPosition = this.location.href.indexOf('#');\n const currentUrl =\n hashPosition > -1\n ? this.location.href.substr(0, hashPosition)\n : this.location.href;\n const url = `${currentUrl}#${this.id}`;\n\n this.clipboard.copy(url);\n this.notifications\n .show(this.texts[1], {\n label: this.texts[2],\n status: TuiNotification.Success,\n })\n .subscribe();\n }\n\n @tuiPure\n private getTabs(content: Record<string, string>): readonly string[] {\n return [this.defaultTab, ...Object.keys(content)];\n }\n}\n","import {ClipboardModule} from '@angular/cdk/clipboard';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {TuiTabsModule} from '@taiga-ui/kit';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiDocCodeModule} from '../code/code.module';\nimport {TuiDocCopyModule} from '../copy/copy.module';\nimport {TuiDocExampleComponent} from './example.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ClipboardModule,\n TuiTabsModule,\n TuiButtonModule,\n TuiDocCopyModule,\n TuiDocCodeModule,\n PolymorpheusModule,\n ],\n declarations: [TuiDocExampleComponent],\n exports: [TuiDocExampleComponent],\n})\nexport class TuiDocExampleModule {}\n","import {Component, forwardRef, Inject, ViewEncapsulation} from '@angular/core';\nimport {LOCAL_STORAGE, WINDOW} from '@ng-web-apis/common';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\n\n// @dynamic\n@Component({\n selector: 'tui-doc-main',\n templateUrl: './main.template.html',\n styleUrls: ['./main.style.less'],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: TuiModeDirective,\n useExisting: forwardRef(() => TuiDocMainComponent),\n },\n ],\n})\nexport class TuiDocMainComponent {\n night =\n this.storage.getItem('night') === 'true' ||\n (this.storage.getItem('night') === null &&\n this.windowRef.matchMedia('(prefers-color-scheme: dark)').matches);\n\n readonly change$ = new Subject<void>();\n\n constructor(\n @Inject(LOCAL_STORAGE) private readonly storage: Storage,\n @Inject(WINDOW) private readonly windowRef: Window,\n ) {}\n\n get mode(): TuiBrightness | null {\n return this.night ? 'onDark' : null;\n }\n\n onMode(night: boolean) {\n this.night = night;\n this.change$.next();\n this.storage.setItem('night', String(night));\n }\n}\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_DOC_LOGO = new InjectionToken<PolymorpheusContent>('Main logo', {\n factory: () => '',\n});\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {Router} from '@angular/router';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {merge, Subject} from 'rxjs';\nimport {distinctUntilChanged, mapTo, startWith} from 'rxjs/operators';\nimport {TUI_DOC_MENU_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_LOGO} from '../../tokens/logo';\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(this.router.events.pipe(mapTo(false)), this.stream$).pipe(\n startWith(false),\n distinctUntilChanged(),\n );\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 ) {}\n\n onClick() {\n this.stream$.next(true);\n }\n\n onActiveZone(active: boolean) {\n if (!active) {\n this.stream$.next(false);\n }\n }\n}\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';\nimport {TuiDocNavigationModule} from '../../components/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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {\n TuiDialogModule,\n TuiNotificationsModule,\n TuiRootModule,\n TuiThemeNightModule,\n} from '@taiga-ui/core';\nimport {TuiToggleModule} from '@taiga-ui/kit';\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 FormsModule,\n TuiToggleModule,\n TuiThemeNightModule,\n TuiDocHeaderModule,\n TuiRootModule,\n TuiDialogModule,\n TuiNotificationsModule,\n TuiDocNavigationModule,\n ],\n declarations: [TuiDocMainComponent],\n exports: [TuiDocMainComponent],\n})\nexport class TuiDocMainModule {}\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_DEFAULT_TABS = new InjectionToken<readonly string[]>(\n 'Array of default tab names',\n {\n factory: () => [],\n },\n);\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n@Directive({\n selector: '[pageTab]',\n})\nexport class TuiDocPageTabConnectorDirective {\n @Input()\n @tuiDefaultProp()\n pageTab?: string;\n\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<{}>) {}\n}\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_SEE_ALSO = new InjectionToken<ReadonlyArray<readonly string[]>>(\n 'Array of arrays of related pages',\n {\n factory: () => [],\n },\n);\n","import {ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {TUI_DOC_SEE_ALSO} from '../../tokens/see-also';\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: seeAlsoProviderFactory,\n },\n];\n\nexport function seeAlsoProviderFactory(\n {nativeElement}: ElementRef,\n seeAlsoGroups: ReadonlyArray<readonly string[]>,\n): readonly string[] {\n const groups =\n seeAlsoGroups.filter(group => group.indexOf(nativeElement.header) !== -1) || [];\n\n const seeAlsoSet = new Set(\n groups\n .join()\n .split(',')\n .filter(component => component && component !== nativeElement.header),\n );\n\n return Array.from(seeAlsoSet);\n}\n","import {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {TUI_DOC_DEFAULT_TABS} from '../../tokens/default-tabs';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\nimport {PAGE_PROVIDERS, PAGE_SEE_ALSO} from './page.providers';\n\n// Ambient type cannot be used without dynamic https://github.com/angular/angular/issues/23395\n// @dynamic\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 activeItemIndex = NaN;\n\n @ContentChildren(TuiDocPageTabConnectorDirective)\n readonly tabConnectors: QueryList<TuiDocPageTabConnectorDirective> = EMPTY_QUERY;\n\n constructor(\n @Attribute('deprecated') readonly deprecated: string | null,\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 getRouterLink(tab: string = ''): string {\n return `./${tab.replace(/ /g, '_')}`;\n }\n}\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {TuiDocPage, TuiDocPageGroup} from '../../interfaces/page';\nimport {TUI_DOC_SEE_ALSO_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_PAGES} from '../../tokens/pages';\n\n// @dynamic\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_PAGES)\n private readonly pages: ReadonlyArray<TuiDocPageGroup | TuiDocPage>,\n ) {}\n\n getRouterLink(pageTitle: string): string {\n for (let i = 0; i < this.pages.length; i++) {\n const page = this.pages\n .map(page => ('subPages' in page ? page.subPages : [page]))\n .reduce((pages, subPages) => [...pages, ...subPages], [])\n .find((page: TuiDocPage) => page.title === pageTitle);\n\n if (page && page.route) {\n return page.route;\n }\n }\n\n return '';\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiLinkModule} from '@taiga-ui/core';\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 {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {TuiDocSourceCodePathOptions} from '../interfaces/source-code-path-options';\n\nexport const TUI_DOC_SOURCE_CODE: InjectionToken<\n PolymorpheusContent<TuiDocSourceCodePathOptions>\n> = new InjectionToken<PolymorpheusContent<TuiDocSourceCodePathOptions>>(\n 'Source code link',\n {\n factory: () => '',\n },\n);\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {tuiPure} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {TuiDocSourceCodePathOptions} from '../../interfaces/source-code-path-options';\nimport {TUI_DOC_SOURCE_CODE_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_SOURCE_CODE} from '../../tokens/source-code';\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","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiTabsModule, TuiTagModule} from '@taiga-ui/kit';\nimport {TuiDocSeeAlsoModule} from '../../internal/see-also/see-also.module';\nimport {TuiDocSourceCodeModule} from '../../internal/source-code/source-code.module';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\nimport {TuiDocPageComponent} from './page.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n TuiDocSeeAlsoModule,\n TuiTabsModule,\n TuiTagModule,\n TuiDocSourceCodeModule,\n ],\n declarations: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n exports: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n})\nexport class TuiDocPageModule {}\n","import {Provider} from '@angular/core';\nimport {\n TUI_DOC_DEMO_TEXTS,\n TUI_DOC_DOCUMENTATION_TEXTS,\n TUI_DOC_EXAMPLE_TEXTS,\n TUI_DOC_MENU_TEXT,\n TUI_DOC_SEARCH_TEXT,\n TUI_DOC_SEE_ALSO_TEXT,\n TUI_DOC_SOURCE_CODE_TEXT,\n} from '../tokens/i18n';\n\n// TODO: remove in ivy compilation\nexport const DEMO_TEXTS = ['Сделано с помощью директивы: ', 'Фон', 'Детали формы'];\nexport const DOC_TEXTS = [\n 'Аргумент',\n 'Тип',\n 'Имя и описание',\n 'Значение',\n 'Для работы с динамическими шаблонами используется',\n];\nexport const EXAMPLE_TEXTS = ['Превью', 'Ссылка на пример скопирована', 'Готово'];\n\nexport const TUI_DOC_RUSSIAN: Provider[] = [\n {\n provide: TUI_DOC_DEMO_TEXTS,\n useValue: DEMO_TEXTS,\n },\n {\n provide: TUI_DOC_DOCUMENTATION_TEXTS,\n useValue: DOC_TEXTS,\n },\n {\n provide: TUI_DOC_EXAMPLE_TEXTS,\n useValue: EXAMPLE_TEXTS,\n },\n {\n provide: TUI_DOC_MENU_TEXT,\n useValue: 'Меню',\n },\n {\n provide: TUI_DOC_SEARCH_TEXT,\n useValue: 'Поиск',\n },\n {\n provide: TUI_DOC_SEE_ALSO_TEXT,\n useValue: 'Смотрите также',\n },\n {\n provide: TUI_DOC_SOURCE_CODE_TEXT,\n useValue: 'Исходный код',\n },\n];\n","import {Type} from '@angular/core';\nimport {Routes} from '@angular/router';\n\n/**\n * Generates typical page routing structure\n */\nexport function generateRoutes(type: Type<any>): Routes {\n return [\n {\n path: '',\n component: type,\n children: [\n {\n path: ':tab',\n component: type,\n },\n ],\n },\n ];\n}\n","import {NgModule} from '@angular/core';\nimport {TuiDocCodeModule} from './components/code/code.module';\nimport {TuiDocDemoModule} from './components/demo/demo.module';\nimport {TuiDocDocumentationModule} from './components/documentation/documentation.module';\nimport {TuiDocExampleModule} from './components/example/example.module';\nimport {TuiDocPageModule} from './components/page/page.module';\n\n@NgModule({\n exports: [\n TuiDocCodeModule,\n TuiDocDemoModule,\n TuiDocDocumentationModule,\n TuiDocPageModule,\n TuiDocExampleModule,\n ],\n})\nexport class TuiAddonDocModule {}\n","/**\n * Public API Surface of @taiga-ui/addon-doc\n */\n\n/* Components */\nexport * from './components/code/code.component';\nexport * from './components/code/code.module';\nexport * from './components/copy/copy.component';\nexport * from './components/copy/copy.module';\nexport * from './components/demo/demo.component';\nexport * from './components/demo/demo.module';\nexport * from './components/navigation/navigation.component';\nexport * from './components/navigation/navigation.module';\nexport * from './components/documentation/documentation.component';\nexport * from './components/documentation/documentation.module';\nexport * from './components/documentation/documentation-property-connector.directive';\nexport * from './components/example/example.component';\nexport * from './components/example/example.module';\nexport * from './components/main/main.component';\nexport * from './components/main/main.module';\nexport * from './components/page/page.component';\nexport * from './components/page/page.module';\nexport * from './components/page/page-tab.directive';\n\n/* Directives */\nexport * from './directives/scroll-into-view/scroll-into-view.directive';\nexport * from './directives/scroll-into-view/scroll-into-view.module';\n\n/* Interfaces */\nexport * from './interfaces/code-editor';\nexport * from './interfaces/page';\nexport * from './interfaces/source-code-path-options';\n\n/* Languages */\nexport * from './languages/russian';\n\n/* Tokens */\nexport * from './tokens/code-editor';\nexport * from './tokens/example-content-processor';\nexport * from './tokens/default-tabs';\nexport * from './tokens/i18n';\nexport * from './tokens/logo';\nexport * from './tokens/pages';\nexport * from './tokens/see-also';\nexport * from './tokens/source-code';\nexport * from './tokens/title';\n\n/* Types */\nexport * from './types/pages';\n\n/* Utils */\nexport * from './utils/generate-routes';\n\nexport * from './addon-doc.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {NAVIGATION_ITEMS as ɵc,NAVIGATION_LABELS as ɵb,NAVIGATION_PROVIDERS as ɵd,NAVIGATION_TITLE as ɵa,itemsProviderFactory as ɵg,labelsProviderFactory as ɵf,titleProviderFactory as ɵe} from './components/navigation/navigation.providers';\nexport {PAGE_PROVIDERS as ɵm,PAGE_SEE_ALSO as ɵl,seeAlsoProviderFactory as ɵn} from './components/page/page.providers';\nexport {TuiDocHeaderComponent as ɵk} from './internal/header/header.component';\nexport {TuiDocHeaderModule as ɵj} from './internal/header/header.module';\nexport {TuiInputOpacityDirective as ɵi} from './internal/input-opacity/input-opacity.directive';\nexport {TuiInputOpacityModule as ɵh} from './internal/input-opacity/input-opacity.module';\nexport {TuiDocSeeAlsoComponent as ɵp} from './internal/see-also/see-also.component';\nexport {TuiDocSeeAlsoModule as ɵo} from './internal/see-also/see-also.module';\nexport {TuiDocSourceCodeComponent as ɵr} from './internal/source-code/source-code.component';\nexport {TuiDocSourceCodeModule as ɵq} from './internal/source-code/source-code.module';"],"names":["Location"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/addon-doc",
3
- "version": "2.14.0",
3
+ "version": "2.16.2",
4
4
  "description": "Taiga UI based library for developing documentation portals for Angular libraries.",
5
5
  "keywords": [
6
6
  "angular",
@@ -21,10 +21,10 @@
21
21
  "@angular/router": ">=9.0.0",
22
22
  "@angular-devkit/schematics": "^9.0.0",
23
23
  "@tinkoff/ng-polymorpheus": "3.1.8",
24
- "@taiga-ui/cdk": "2.14.0",
25
- "@taiga-ui/core": "2.14.0",
26
- "@taiga-ui/kit": "2.14.0",
27
- "@taiga-ui/addon-mobile": "2.14.0",
24
+ "@taiga-ui/cdk": "2.16.2",
25
+ "@taiga-ui/core": "2.16.2",
26
+ "@taiga-ui/kit": "2.16.2",
27
+ "@taiga-ui/addon-mobile": "2.16.2",
28
28
  "schematics-utilities": "1.0.1",
29
29
  "highlight.js": "^10.0.0",
30
30
  "ngx-highlightjs": "^4.0.0"
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiDocCodeComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"tui-doc-code","template":"<p *ngIf=\"filename\" class=\"header\">{{filename}}</p>\n<pre class=\"code\"><code [lineNumbers]=\"true\" [highlight]=\"code\"></code></pre>\n","styles":[":host{display:block}.header{font:var(--tui-font-text-s);font-weight:700}.code{margin:0}.hljs:not(:empty){font:var(--tui-font-text-m);padding:1.5rem 2rem;font-family:monospace;background-color:var(--tui-base-02);word-wrap:break-word;white-space:pre-wrap}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){.hljs:not(:empty)::-webkit-scrollbar,.hljs:not(:empty)::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:6px solid transparent}.hljs:not(:empty)::-webkit-scrollbar{background-color:transparent}.hljs:not(:empty)::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.hljs:not(:empty)::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.hljs:not(:empty)::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host._has-filename .hljs:not(:empty){border-radius:.75rem}@media screen and (max-width:37.4375em){.hljs:not(:empty){padding:1rem}}"]}]}],"members":{"filename":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":5}}]}],"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":5}}]}],"hasFilename":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":14,"character":5},"arguments":["class._has-filename"]}]}]}},"TuiDocCodeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":14},{"__symbolic":"reference","module":"ngx-highlightjs","name":"HighlightModule","line":6,"character":28}],"declarations":[{"__symbolic":"reference","name":"TuiDocCodeComponent"}],"exports":[{"__symbolic":"reference","name":"TuiDocCodeComponent"}]}]}],"members":{}},"TuiDocCopyComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"tui-doc-copy","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":13,"character":21},"member":"OnPush"},"providers":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":14,"character":16}],"template":"<button\n *ngIf=\"texts$ | async as texts\"\n tuiButton\n type=\"button\"\n class=\"copy\"\n appearance=\"\"\n size=\"s\"\n [title]=\"texts[0]\"\n (click)=\"onClick()\"\n>\n <span class=\"content\" [class.content_moved]=\"copied$ | async\">\n <span class=\"initial\" [attr.data-text]=\"texts[0]\">\n <ng-content></ng-content>\n </span>\n {{texts[1]}}\n </span>\n</button>\n","styles":[":host{position:relative;display:inline-block;vertical-align:middle}.copy{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;width:100%;color:var(--tui-text-01);background:var(--tui-base-01);overflow:hidden}.copy:hover{background:var(--tui-base-02)}.initial{white-space:nowrap}.initial:empty:before{content:attr(data-text)}.content{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;flex-direction:column;transform:translateY(1rem);text-align:center;line-height:2rem}.content_moved{transform:translateY(-1rem)}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":20,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TUI_COPY_TEXTS","line":20,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":20,"character":60,"module":"./components/copy/copy.component"}]}]}],"copied$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":23,"character":5}]}],"onClick":[{"__symbolic":"method"}]}},"TuiDocCopyModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":14},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiButtonModule","line":6,"character":28}],"declarations":[{"__symbolic":"reference","name":"TuiDocCopyComponent"}],"exports":[{"__symbolic":"reference","name":"TuiDocCopyComponent"}]}]}],"members":{}},"TuiDocDemoComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":28,"character":1},"arguments":[{"selector":"tui-doc-demo","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":32,"character":21},"member":"OnPush"},"providers":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":34,"character":8},{"provide":{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiModeDirective","line":36,"character":21},"useExisting":{"__symbolic":"reference","name":"TuiDocDemoComponent"}}],"template":"<div class=\"bg-toggle\" [tuiMode]=\"null\">\n <ng-template #tooltip>\n {{texts[0]}}\n <a tuiLink tuiMode=\"onDark\" routerLink=\"/directives/mode\">\n <code>tuiMode</code>\n </a>\n </ng-template>\n <ng-container *ngIf=\"isMobile else desktop\">\n <tui-select\n class=\"mode\"\n tuiTextfieldSize=\"s\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiHintContent]=\"tooltip\"\n [formControl]=\"modeControl\"\n >\n tuiMode\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"items\"\n ></tui-data-list-wrapper>\n </tui-select>\n </ng-container>\n <ng-template #desktop>\n tuiMode:\n <tui-tooltip describeId=\"form\" [content]=\"tooltip\"></tui-tooltip>\n <div tuiGroup class=\"tui-space_left-3\" [collapsed]=\"true\">\n <tui-radio-block\n class=\"tui-group__auto-width-item\"\n size=\"s\"\n nativeId=\"form\"\n [item]=\"null\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n null\n </tui-radio-block>\n <tui-radio-block\n class=\"tui-group__auto-width-item\"\n item=\"onDark\"\n size=\"s\"\n nativeId=\"form\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n onDark\n </tui-radio-block>\n <tui-radio-block\n class=\"tui-group__auto-width-item\"\n item=\"onLight\"\n size=\"s\"\n nativeId=\"form\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n onLight\n </tui-radio-block>\n </div>\n </ng-template>\n <tui-checkbox-labeled\n class=\"tui-space_left-3\"\n size=\"m\"\n [(ngModel)]=\"opaque\"\n >\n {{texts[1]}}\n </tui-checkbox-labeled>\n</div>\n<div\n #wrapper\n class=\"wrapper\"\n [class.wrapper_dark]=\"modeControl.value === 'onDark'\"\n [class.wrapper_gray]=\"modeControl.value === 'onLight'\"\n [class.wrapper_transparent]=\"!opaque\"\n>\n <div #content id=\"demoContent\" class=\"content\">\n <form *ngIf=\"testForm\" class=\"form\" [formGroup]=\"testForm\">\n <div class=\"input-wrapper\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </div>\n <button\n tuiButton\n type=\"button\"\n class=\"tui-space_top-3\"\n size=\"s\"\n [iconRight]=\"icon\"\n (click)=\"toggleDetails()\"\n >\n {{texts[2]}}\n </button>\n <ng-template #icon>\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"icon\"\n [class.icon_rotated]=\"expanded\"\n ></tui-svg>\n </ng-template>\n <tui-expand class=\"expand\" [expanded]=\"expanded\">\n <ng-template tuiExpandContent>\n <pre class=\"value\">\nForm data: {{testForm.value | json}}</pre\n >\n <div tuiGroup class=\"tui-space_top-3\">\n <tui-select\n class=\"select\"\n tuiTextfieldSize=\"s\"\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 class=\"tui-group__auto-width-item\"\n type=\"reset\"\n size=\"s\"\n >\n Reset\n </button>\n <button\n tuiButton\n class=\"tui-group__auto-width-item\"\n type=\"submit\"\n size=\"s\"\n >\n Submit\n </button>\n </div>\n </ng-template>\n </tui-expand>\n </form>\n <ng-content></ng-content>\n </div>\n <button\n class=\"resizer\"\n tabindex=\"-1\"\n (tuiDragStart)=\"onDragStart($event)\"\n (tuiDragContinues)=\"onDragContinues($event)\"\n (tuiDragEnd)=\"onDragEnd()\"\n >\n <span #resizerText class=\"resizer-text\"></span>\n </button>\n</div>\n","styles":[":host{position:relative;display:block;min-width:100%;margin:1.5rem 0}.bg-toggle{position:absolute;bottom:calc(100% + .75rem);display:flex;align-items:center;justify-content:flex-end;pointer-events:none;width:100%}.bg-toggle>*{pointer-events:auto}.wrapper{box-shadow:0 .5rem 1rem rgba(51,51,51,.2);display:flex;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);max-width:100%;min-height:6rem;width:100%;background-color:var(--tui-base-01);overflow:hidden}.wrapper.wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-02) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-02) 75%);background-size:1.25rem 1.25rem;background-position:0 0,0 .625rem,.625rem -.625rem,-.625rem 0}.wrapper.wrapper_dark{background-color:#454e58;color:var(--tui-base-01)}.wrapper.wrapper_gray{background-color:#e5e7ea}.wrapper.wrapper_dark.wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-focus) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-focus) 75%)}.wrapper.wrapper_gray.wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-05) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-05) 75%)}.content{flex:1 1 0;min-width:0;padding:1.5rem;box-sizing:border-box;overflow:hidden}@media screen and (max-width:37.4375em){.wrapper{min-height:auto}.content{padding:1rem}}.form{display:flex;flex-wrap:wrap;align-items:flex-start}.input-wrapper{width:100%;margin-bottom:.5rem}.expand{width:100%}.icon{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.icon_rotated{transform:rotate(180deg)}.value{flex:1;background:var(--tui-clear-inverse);padding:.75rem;border-radius:.25rem}.mode{width:12.5rem}.select{max-width:15rem}.resizer{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;box-shadow:0 .5rem 1rem rgba(51,51,51,.2);position:relative;width:3.5rem;min-height:inherit;flex-shrink:0;border-left:1px solid var(--tui-base-03);cursor:col-resize;outline:0;background:var(--tui-base-01);color:var(--tui-text-01)}.resizer:after,.resizer:before{content:'';position:absolute;top:.75rem;left:50%;bottom:.75rem;width:.0625rem;background:var(--tui-base-05)}.resizer:before{transform:translateX(.125rem)}.resizer:after{transform:translateX(-.1875rem)}@media screen and (max-width:37.4375em){.resizer{display:none}}.resizer-text{font:var(--tui-font-text-s);position:relative;z-index:1;padding:.75rem;background:var(--tui-base-01)}.wrapper_light .resizer-text{background:#3e464e}@supports ((position:-webkit-sticky) or (position:sticky)){@media screen and (min-height:37.5rem){:host{position:-webkit-sticky;position:sticky;top:4.625rem;z-index:2}}}"]}]}],"members":{"control":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5}}]}],"template":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":55,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":55,"character":18}]}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":63,"character":5},"arguments":["content"]}]}],"wrapper":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":66,"character":5},"arguments":["wrapper"]}]}],"resizerText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":69,"character":5},"arguments":["resizerText"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":75,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_MOBILE","line":75,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":76,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":76,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":77,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":77,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":78,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":78,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":79,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"Location","line":79,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":80,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/router","name":"UrlSerializer","line":80,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":81,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_DEMO_TEXTS"}]}]],"parameters":[{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":76,"character":62},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":77,"character":54},{"__symbolic":"reference","name":"Object"},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":79,"character":39},{"__symbolic":"reference","module":"@angular/router","name":"UrlSerializer","line":80,"character":46},{"__symbolic":"error","message":"Expression form not supported","line":81,"character":52,"module":"./components/demo/demo.component"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"setResizerTextContent":[{"__symbolic":"method"}],"onResize":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":131,"character":5},"arguments":["window:resize"]}]}],"onDragStart":[{"__symbolic":"method"}],"onDragContinues":[{"__symbolic":"method"}],"onDragEnd":[{"__symbolic":"method"}],"toggleDetails":[{"__symbolic":"method"}],"updateOnChange":[{"__symbolic":"method"}],"createForm":[{"__symbolic":"method"}],"resizeContent":[{"__symbolic":"method"}]}},"TuiDocDemoModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":25,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":27,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":28,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":29,"character":8},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":30,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiLinkModule","line":31,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDragModule","line":32,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiButtonModule","line":33,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiSelectModule","line":34,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiExpandModule","line":35,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiGroupModule","line":36,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiTooltipModule","line":37,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiModeModule","line":38,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiRadioBlockModule","line":39,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiCheckboxLabeledModule","line":40,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiSvgModule","line":41,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiDataListWrapperModule","line":42,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDataListModule","line":43,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiTextfieldControllerModule","line":44,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiHintControllerModule","line":45,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiDocDemoComponent"}],"exports":[{"__symbolic":"reference","name":"TuiDocDemoComponent"}]}]}],"members":{}},"TuiDocNavigationComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":22,"character":1},"arguments":[{"selector":"tui-doc-navigation","providers":{"__symbolic":"reference","name":"ɵd"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":27,"character":21},"member":"OnPush"},"template":"<tui-hosted-dropdown\n *tuiLet=\"filteredItems as filtered\"\n class=\"input\"\n tuiDropdownLimitWidth=\"fixed\"\n [content]=\"dropdown\"\n [canOpen]=\"canOpen\"\n [(open)]=\"open\"\n>\n <tui-primitive-textfield\n iconAlign=\"left\"\n tuiTextfieldSize=\"m\"\n iconContent=\"tuiIconSearch\"\n [pseudoFocused]=\"open || null\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiTextfieldLabelOutside]=\"true\"\n [value]=\"search\"\n (valueChange)=\"onSearchChange($event)\"\n >\n {{searchText}}\n </tui-primitive-textfield>\n <ng-template #dropdown let-activeZone>\n <tui-data-list>\n <tui-opt-group\n *ngFor=\"let group of filtered; let index = index\"\n [label]=\"labels[index]\"\n >\n <a\n *ngFor=\"let item of group\"\n tuiOption\n [routerLink]=\"item.route\"\n (click)=\"onClick()\"\n >\n {{item.title}}\n </a>\n </tui-opt-group>\n </tui-data-list>\n </ng-template>\n</tui-hosted-dropdown>\n\n<nav class=\"navigation\">\n <tui-scrollbar class=\"scrollbar\">\n <tui-accordion\n [tuiMode]=\"mode$ | async\"\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=\"tui-space_left-2\">\n <strong>{{label}}</strong>\n </span>\n <ng-template tuiAccordionItemContent>\n <div class=\"section\">\n <ng-container\n *ngFor=\"let item of items[index]; index as subIndex\"\n >\n <a\n *ngIf=\"!item.subPages; else subPages\"\n tuiLink\n class=\"sublink\"\n routerLinkActive=\"sublink_active\"\n [routerLink]=\"item.route\"\n [scrollIntoView]=\"isActive(item.route)\"\n (click)=\"closeMenu()\"\n >\n {{item.title}}\n </a>\n <ng-template #subPages>\n <div\n routerLinkActive\n class=\"subsection\"\n [routerLinkActiveOptions]=\"{exact: false}\"\n >\n <button\n *ngIf=\"item.subPages\"\n tuiLink\n type=\"button\"\n class=\"sublink sublink_subsection\"\n (click)=\"onGroupClick(index + subIndex)\"\n >\n <tui-svg\n src=\"tuiIconChevronRight\"\n class=\"chevron\"\n [class.chevron_active]=\"!!openPagesGroupsArr[index + subIndex]\"\n ></tui-svg>\n {{item.title}}\n </button>\n <tui-expand\n class=\"tui-space_left-1\"\n [expanded]=\"!!openPagesGroupsArr[index + subIndex]\"\n >\n <div class=\"section section_bordered\">\n <a\n *ngFor=\"let subPage of item.subPages\"\n tuiLink\n class=\"sublink sublink_small\"\n routerLinkActive=\"sublink_active\"\n [routerLink]=\"subPage.route\"\n [scrollIntoView]=\"isActive(subPage.route)\"\n (click)=\"closeMenu()\"\n >\n {{subPage.title}}\n </a>\n </div>\n </tui-expand>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </ng-template>\n </tui-accordion-item>\n </tui-accordion>\n </tui-scrollbar>\n</nav>\n\n<ng-content></ng-content>\n","styles":[":host{display:flex;flex-direction:column;text-align:center;background:var(--tui-base-01);z-index:1}.input{display:block;margin:1.25rem}.navigation{display:flex;max-height:100%;min-height:0;flex:1 1 0;text-align:left}.scrollbar{width:100%;scroll-behavior:smooth}.section{display:flex;flex-direction:column;align-items:flex-start;margin:-1rem 0 -.5rem}.section_bordered{margin:.5rem 0;border-left:1px solid var(--tui-base-03)}.subsection{margin-left:.5rem}.sublink{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;font:var(--tui-font-text-m);margin-left:.5rem;line-height:2.75rem}.sublink_small{margin-left:1rem;line-height:1.5rem}.sublink_small:not(:first-child){margin-top:1rem}.sublink_subsection{margin-left:0;line-height:2.75rem}.sublink_active{color:var(--tui-text-01)}.chevron{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;width:1rem;height:1rem;margin:-.25rem .25rem 0 -.1875rem}.chevron_active{transform:rotate(90deg)}"]}]}],"members":{"menuOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":36,"character":5},"arguments":["class._open"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":45,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"Title","line":45,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":46,"character":9},"arguments":[{"__symbolic":"reference","name":"ɵa"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":47,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":47,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":48,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiModeDirective","line":48,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":50,"character":9},"arguments":[{"__symbolic":"reference","name":"ɵb"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":51,"character":9},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":53,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_SEARCH_TEXT"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":54,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":54,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":55,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":55,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"Title","line":45,"character":37},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","name":"string"}]},{"__symbolic":"error","message":"Could not resolve type","line":47,"character":56,"context":{"typeName":"Document"},"module":"./components/navigation/navigation.component"},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiModeDirective","line":49,"character":31},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"string"}]},{"__symbolic":"error","message":"Could not resolve type","line":52,"character":24,"context":{"typeName":"ReadonlyArray"},"module":"./components/navigation/navigation.component"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":54,"character":49},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":55,"character":65}]}],"isActive":[{"__symbolic":"method"}],"onGroupClick":[{"__symbolic":"method"}],"closeMenu":[{"__symbolic":"method"}],"onSearchChange":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method"}],"filterItems":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":98,"character":5}]}],"flattenSubPages":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":123,"character":5}]}],"isActiveRoute":[{"__symbolic":"method"}],"handleAnchorLink":[{"__symbolic":"method"}],"openActivePageGroup":[{"__symbolic":"method"}],"navigateToAnchorLink":[{"__symbolic":"method"}]}},"TuiDocNavigationModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":22,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":24,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":25,"character":8},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":26,"character":8},{"__symbolic":"reference","name":"ScrollIntoViewModule"},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiButtonModule","line":28,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiPrimitiveTextfieldModule","line":29,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiTextfieldControllerModule","line":30,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiActiveZoneModule","line":31,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiLetModule","line":32,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiModeModule","line":33,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiLinkModule","line":34,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiExpandModule","line":35,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiHostedDropdownModule","line":36,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDropdownControllerModule","line":37,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiAccordionModule","line":38,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiScrollbarModule","line":39,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiSvgModule","line":40,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDataListModule","line":41,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiDocNavigationComponent"}],"exports":[{"__symbolic":"reference","name":"TuiDocNavigationComponent"}]}]}],"members":{}},"TuiDocDocumentationComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"selector":"tui-doc-documentation","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":25,"character":21},"member":"OnPush"},"template":"<h1 *ngIf=\"heading\" class=\"tui-text_h4\">{{heading}}</h1>\n<ng-content></ng-content>\n<table class=\"tui-table tui-table_layout_fixed tui-table_font-size_s\">\n <tr class=\"tui-table__tr tui-table__tr_hover_disabled row row_header\">\n <th class=\"tui-table__th tui-table__th_first cell cell_prop\">\n {{texts[2]}}\n </th>\n <td class=\"tui-table__th\">{{type}}</td>\n <td\n *ngIf=\"showValues && !isAPI\"\n class=\"tui-table__th tui-table__th_last tui-table__th_text_right cell cell_value\"\n >\n {{texts[3]}}\n </td>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of propertiesConnectors; last as lastItem\"\n class=\"tui-table__tr tui-table__tr_hover_disabled row\"\n [class.deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n [class.tui-table__tr_border_none]=\"lastItem\"\n >\n <td\n class=\"tui-table__td tui-table__td_first tui-table__td_align_center cell\"\n >\n <div class=\"property cell\">\n {{stripOptional(propertyConnector.attrName)}}\n <tui-badge\n *ngIf=\"isOptional(propertyConnector.attrName)\"\n size=\"s\"\n value=\"Optional\"\n ></tui-badge>\n </div>\n <span\n *ngIf=\"propertyConnector.documentationPropertyDeprecated\"\n class=\"deprecated-label\"\n >deprecated</span\n >\n <ng-container\n *ngTemplateOutlet=\"propertyConnector.template\"\n ></ng-container>\n </td>\n <td class=\"tui-table__td tui-table__td_align_center cell\">\n <span class=\"type\">\n {{propertyConnector.documentationPropertyType}}\n <tui-tooltip\n *ngIf=\"showContentTooltip(propertyConnector.documentationPropertyType)\"\n [describeId]=\"propertyConnector.attrName\"\n [content]=\"content\"\n >\n <ng-template #content>\n {{texts[4]}}\n <a\n tuiLink\n tuiMode=\"onDark\"\n target=\"_blank\"\n href=\"https://github.com/TinkoffCreditSystems/ng-polymorpheus\"\n ><code>ng-polymorpheus</code></a\n >\n </ng-template>\n </tui-tooltip>\n </span>\n </td>\n <td\n *ngIf=\"showValues\"\n class=\"tui-table__td tui-table__td_align_center tui-table__td_last tui-table__td_text_right cell\"\n >\n <ng-container *ngIf=\"propertyConnector.shouldShowValues\">\n <tui-select\n *ngIf=\"propertyConnector.hasItems; else noItems\"\n tuiTextfieldSize=\"m\"\n tuiDropdownLimitWidth=\"min\"\n [tuiTextfieldCleaner]=\"showCleaner(propertyConnector.documentationPropertyType)\"\n [tuiTextfieldLabelOutside]=\"true\"\n [nativeId]=\"propertyConnector.attrName\"\n [valueContent]=\"selectContent\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n >\n <code class=\"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 #selectContent let-data>\n <code>{{inspectAny(data)}}</code>\n </ng-template>\n\n <ng-template #noItems>\n <ng-container\n [ngSwitch]=\"propertyConnector.documentationPropertyType\"\n >\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 *ngSwitchCase=\"'color'\" tuiGroup>\n <tui-primitive-textfield\n tuiTextfieldType=\"color\"\n tuiTextfieldSize=\"m\"\n [attr.id]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiInputOpacity]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n [value]=\"getColor(propertyConnector.documentationPropertyValue)\"\n (valueChange)=\"onColorChange(propertyConnector, $event)\"\n ></tui-primitive-textfield>\n <tui-input-count\n tuiTextfieldSize=\"m\"\n [max]=\"100\"\n [ngModel]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n (ngModelChange)=\"onOpacityChange(propertyConnector, $event)\"\n >\n Opacity\n </tui-input-count>\n </div>\n\n <tui-input-count\n *ngSwitchCase=\"'number'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-input-count>\n </ng-container>\n </ng-template>\n </ng-container>\n </td>\n </tr>\n</table>\n","styles":[":host{display:block;min-width:100%}.cell_prop{width:40%}.cell_value{max-width:20rem}@media screen and (max-width:63.9375em){.cell_value{width:9.375rem}}@media screen and (max-width:47.9375em){.row{display:flex;flex-wrap:wrap}.row_header{display:none}.cell{width:100%;height:auto;padding:.5rem 0;text-align:left}}.property{font:var(--tui-font-text-m);margin-bottom:.25rem;font-family:monospace;color:#8f75d1}.type{font-family:monospace}.deprecated{background-color:var(--tui-error-bg)}.deprecated-label{margin-right:.125rem;color:var(--tui-error-fill)}"]}]}],"members":{"heading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}}]}],"showValues":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":5}}]}],"isAPI":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5}}]}],"propertiesConnectors":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":37,"character":5},"arguments":[{"__symbolic":"reference","name":"TuiDocDocumentationPropertyConnectorDirective"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":45,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":45,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":46,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_DOCUMENTATION_TEXTS"}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":45,"character":71},{"__symbolic":"error","message":"Expression form not supported","line":47,"character":24,"module":"./components/documentation/documentation.component"}]}],"ngAfterContentInit":[{"__symbolic":"method"}],"getColor":[{"__symbolic":"method"}],"getOpacity":[{"__symbolic":"method"}],"onColorChange":[{"__symbolic":"method"}],"onOpacityChange":[{"__symbolic":"method"}],"stripOptional":[{"__symbolic":"method"}],"isOptional":[{"__symbolic":"method"}],"showCleaner":[{"__symbolic":"method"}],"showContentTooltip":[{"__symbolic":"method"}],"inspectAny":[{"__symbolic":"method"}]}},"TuiDocDocumentationModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":26,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":28,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":29,"character":8},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":30,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiBadgeModule","line":31,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiSelectModule","line":32,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiToggleModule","line":33,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiTooltipModule","line":34,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiLinkModule","line":35,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiInputCountModule","line":36,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiModeModule","line":37,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiGroupModule","line":38,"character":8},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiPrimitiveTextfieldModule","line":40,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiTextfieldControllerModule","line":41,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiHintControllerModule","line":42,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDropdownControllerModule","line":43,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDataListModule","line":44,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiDataListWrapperModule","line":45,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiDocDocumentationComponent"},{"__symbolic":"reference","name":"TuiDocDocumentationPropertyConnectorDirective"}],"exports":[{"__symbolic":"reference","name":"TuiDocDocumentationComponent"},{"__symbolic":"reference","name":"TuiDocDocumentationPropertyConnectorDirective"}]}]}],"members":{}},"DocumentationPropertyType":{"__symbolic":"interface"},"TuiDocDocumentationPropertyConnectorDirective":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":19,"character":1},"arguments":[{"selector":"ng-template[documentationPropertyName]"}]}],"members":{"documentationPropertyName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5}}]}],"documentationPropertyMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5}}]}],"documentationPropertyType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5}}]}],"documentationPropertyValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}}]}],"documentationPropertyDeprecated":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5}}]}],"documentationPropertyValues":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5}}]}],"documentationPropertyValueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":48,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":48,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":49,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"Location","line":49,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":50,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":50,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":51,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/router","name":"UrlSerializer","line":51,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":48,"character":60,"module":"./components/documentation/documentation-property-connector.directive"}]},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":49,"character":56},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":50,"character":65},{"__symbolic":"reference","module":"@angular/router","name":"UrlSerializer","line":51,"character":63}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"onValueChange":[{"__symbolic":"method"}],"parseParams":[{"__symbolic":"method"}],"setQueryParam":[{"__symbolic":"method"}]}},"TuiDocExampleComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":22,"character":1},"arguments":[{"selector":"tui-doc-example","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":26,"character":21},"member":"OnPush"},"template":"<h3 *ngIf=\"heading\" class=\"title\">\n {{heading}}\n <button\n *ngIf=\"id\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n class=\"link-icon\"\n icon=\"tuiIconLinkLarge\"\n appearance=\"icon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink()\"\n ></button>\n</h3>\n<h4 *ngIf=\"description\" class=\"description\">{{description}}</h4>\n<div class=\"example\">\n <div class=\"tabs\">\n <tui-tabs [(activeItemIndex)]=\"activeItemIndex\">\n <button *ngFor=\"let tab of tabs\" tuiTab>{{tab}}</button>\n </tui-tabs>\n\n <button\n *ngIf=\"codeEditor\"\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n (click)=\"codeEditor.open(componentName, id || '', processedContent)\"\n >\n Edit on {{codeEditor.name}}\n </button>\n </div>\n <ng-container [ngSwitch]=\"activeItem\">\n <div\n *ngIf=\"isDefaultItem; else codeTab\"\n class=\"demo\"\n automation-id=\"tui-doc-example\"\n >\n <ng-content></ng-content>\n </div>\n <ng-template #codeTab>\n <tui-doc-copy\n class=\"copy-code\"\n [cdkCopyToClipboard]=\"code\"\n ></tui-doc-copy>\n <tui-doc-code [code]=\"code\"></tui-doc-code>\n </ng-template>\n </ng-container>\n</div>\n","styles":[":host{position:relative;display:block;padding-top:3.5rem;clear:right}.title{font:var(--tui-font-heading-5);margin:0 0 .5rem}@media screen and (max-width:37.4375em){:host{padding-top:2rem}.title{font:var(--tui-font-heading-6)}}.description{font:var(--tui-font-text-m);font-weight:400;margin:0}.description:first-letter,.title:first-letter{text-transform:capitalize}.example{position:relative;margin-top:1.5rem;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);box-shadow:0 .125rem .1875rem rgba(0,0,0,.1)}.tabs{padding:0 2rem;box-shadow:inset 0 -1px var(--tui-base-03);display:flex;justify-content:space-between;align-items:center}@media screen and (max-width:37.4375em){.example{margin-top:.75rem}.tabs{padding:0 1rem}}.demo{padding:2rem;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){.demo::-webkit-scrollbar,.demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:6px solid transparent}.demo::-webkit-scrollbar{background-color:transparent}.demo::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}@media screen and (max-width:37.4375em){.demo{padding:1rem}}.copy-code{position:absolute;top:4.375rem;right:1rem}.link-icon{vertical-align:baseline}"]}]}],"members":{"heading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":5}}]}],"description":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":5}}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":5}}]}],"componentName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":40,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":52,"character":9},"arguments":["id"]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":54,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/cdk/clipboard","name":"Clipboard","line":54,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":55,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiNotificationsService","line":55,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":57,"character":9},"arguments":[{"__symbolic":"reference","module":"@ng-web-apis/common","name":"LOCATION","line":57,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":58,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TUI_COPY_TEXTS","line":58,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":59,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_EXAMPLE_TEXTS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":60,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":61,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_CODE_EDITOR"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":63,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_EXAMPLE_CONTENT_PROCESSOR"}]}]],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"@angular/cdk/clipboard","name":"Clipboard","line":54,"character":55},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiNotificationsService","line":56,"character":40},{"__symbolic":"error","message":"Could not resolve type","line":57,"character":53,"context":{"typeName":"Location"},"module":"./components/example/example.component"},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":58,"character":72,"module":"./components/example/example.component"}]},{"__symbolic":"error","message":"Expression form not supported","line":59,"character":55,"module":"./components/example/example.component"},{"__symbolic":"reference","name":"CodeEditor"},{"__symbolic":"reference","name":"TuiHandler","module":"@taiga-ui/cdk","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":65,"character":12,"context":{"typeName":"Record"},"module":"./components/example/example.component"},{"__symbolic":"error","message":"Could not resolve type","line":66,"character":12,"context":{"typeName":"Record"},"module":"./components/example/example.component"}]}]}],"copyExampleLink":[{"__symbolic":"method"}],"getTabs":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":105,"character":5}]}]}},"TuiDocExampleModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":8},{"__symbolic":"reference","module":"@angular/cdk/clipboard","name":"ClipboardModule","line":12,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiTabsModule","line":13,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiButtonModule","line":14,"character":8},{"__symbolic":"reference","name":"TuiDocCopyModule"},{"__symbolic":"reference","name":"TuiDocCodeModule"}],"declarations":[{"__symbolic":"reference","name":"TuiDocExampleComponent"}],"exports":[{"__symbolic":"reference","name":"TuiDocExampleComponent"}]}]}],"members":{}},"TuiDocMainComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"tui-doc-main","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":10,"character":19},"member":"None"},"providers":[{"provide":{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiModeDirective","line":13,"character":21},"useExisting":{"__symbolic":"reference","name":"TuiDocMainComponent"}}],"template":"<tui-theme-night *ngIf=\"night\"></tui-theme-night>\n<tui-root>\n <div class=\"tui-doc-page\">\n <tui-doc-navigation class=\"tui-doc-navigation\">\n <ng-content select=\"tuiDocNavigation\"></ng-content>\n </tui-doc-navigation>\n <div class=\"tui-doc-content\">\n <router-outlet class=\"tui-doc-outlet\"></router-outlet>\n </div>\n </div>\n <header tuiDocHeader>\n <label>\n Night mode\n <tui-toggle\n class=\"tui-space_left-2\"\n [ngModel]=\"night\"\n (ngModelChange)=\"onMode($event)\"\n ></tui-toggle>\n </label>\n <ng-content select=\"tuiDocHeader\"></ng-content>\n </header>\n <ng-container ngProjectAs=\"tuiOverDialogs\">\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverNotifications\">\n <ng-content select=\"tuiOverNotifications\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverPortals\">\n <ng-content select=\"tuiOverPortals\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverHints\">\n <ng-content select=\"tuiOverHints\"></ng-content>\n </ng-container>\n</tui-root>\n","styles":["@-webkit-keyframes tuiShaking{from,to{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(-.3125rem,0,0)}20%,40%,60%,80%{transform:translate3d(.3125rem,0,0)}}@keyframes tuiShaking{from,to{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(-.3125rem,0,0)}20%,40%,60%,80%{transform:translate3d(.3125rem,0,0)}}html{height:auto}body{background:var(--tui-base-01);height:auto}tui-doc-main{display:block}code:not(.hljs):not(.exception){transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;background:var(--tui-base-02);color:var(--tui-text-02);vertical-align:middle;box-shadow:inset 0 -2px var(--tui-secondary);padding:.375rem .5rem;font-size:.875rem;border-radius:.5rem}:focus code:not(.exception){background:var(--tui-base-01)}.tui-doc-page{position:relative;z-index:0;padding-top:4rem}tui-doc-navigation.tui-doc-navigation{position:fixed;top:4rem;bottom:0;width:16.25rem;border-right:1px solid var(--tui-base-03)}.tui-doc-content{margin-left:16.25rem}@media screen and (max-width:47.9375em){tui-doc-navigation.tui-doc-navigation{display:none}.tui-doc-content{margin-left:0}}.tui-doc-outlet+*{display:block}.tui-doc-animated-example{-webkit-animation:1s .3s tuiShaking;animation:1s .3s tuiShaking}.hljs-tag{background:0 0}.hljs{display:block;overflow-x:auto;padding:.5em;color:var(--tui-text-primary);background-color:var(--tui-base-02)}.hljs-subst,.hljs-title{font-weight:400;color:var(--tui-text-01)}.hljs-comment,.hljs-quote{color:var(--tui-text-03);font-style:italic}.hljs-meta{color:#e38162}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-selector-tag,.hljs-type{font-weight:700;color:var(--tui-link)}.hljs-attribute,.hljs-link,.hljs-number,.hljs-regexp{font-weight:700;color:var(--tui-primary-active)}.hljs-link,.hljs-number,.hljs-regexp{font-weight:400}.hljs-string{color:var(--tui-positive);font-weight:700}.hljs-bullet,.hljs-formula,.hljs-symbol{color:var(--tui-text-primary);background:var(--tui-base-02);font-style:italic}.hljs-doctag{text-decoration:underline}.hljs-template-variable,.hljs-variable{color:var(--tui-warning-fill)}.hljs-addition{background:var(--tui-success-bg)}.hljs-deletion{background:var(--tui-error-bg)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs .hljs-line-numbers{padding:0}.hljs-ln-numbers{vertical-align:top;opacity:.3;text-align:right;padding-right:1em!important}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":27,"character":9},"arguments":[{"__symbolic":"reference","module":"@ng-web-apis/common","name":"LOCAL_STORAGE","line":27,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":28,"character":9},"arguments":[{"__symbolic":"reference","module":"@ng-web-apis/common","name":"WINDOW","line":28,"character":16}]}]],"parameters":[{"__symbolic":"error","message":"Could not resolve type","line":27,"character":57,"context":{"typeName":"Storage"},"module":"./components/main/main.component"},{"__symbolic":"error","message":"Could not resolve type","line":28,"character":52,"context":{"typeName":"Window"},"module":"./components/main/main.component"}]}],"onMode":[{"__symbolic":"method"}]}},"TuiDocMainModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":15,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":17,"character":8},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":18,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":19,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiToggleModule","line":20,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiThemeNightModule","line":21,"character":8},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiRootModule","line":23,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDialogModule","line":24,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiNotificationsModule","line":25,"character":8},{"__symbolic":"reference","name":"TuiDocNavigationModule"}],"declarations":[{"__symbolic":"reference","name":"TuiDocMainComponent"}],"exports":[{"__symbolic":"reference","name":"TuiDocMainComponent"}]}]}],"members":{}},"TuiDocPageComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"tui-doc-page","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":20,"character":21},"member":"OnPush"},"providers":{"__symbolic":"reference","name":"ɵm"},"template":"<header class=\"header\">\n <h1 class=\"title\">\n {{header}}\n <tui-tag\n *ngIf=\"deprecated !== null\"\n class=\"tag tag_deprecated\"\n value=\"deprecated\"\n status=\"custom\"\n ></tui-tag>\n <tui-tag\n *ngIf=\"package\"\n class=\"tag tag_package\"\n status=\"custom\"\n [value]=\"package\"\n [autoColor]=\"true\"\n ></tui-tag>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container\n *ngFor=\"let tab of tabConnectors; first as first; index as index\"\n >\n <ng-container *ngIf=\"first; else dynamicTab\">\n <a\n *tuiTab\n tuiTab\n routerLink=\"./\"\n routerLinkActive\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >\n {{tab.pageTab || defaultTabs[index]}}\n </a>\n </ng-container>\n <ng-template #dynamicTab>\n <a\n *tuiTab\n tuiTab\n routerLinkActive\n [routerLink]=\"getRouterLink(tab.pageTab || defaultTabs[index])\"\n >\n {{tab.pageTab || defaultTabs[index]}}\n </a>\n </ng-template>\n </ng-container>\n </tui-tabs-with-more>\n <tui-doc-source-code\n class=\"source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [type]=\"type\"\n [path]=\"path\"\n ></tui-doc-source-code>\n</header>\n<div class=\"content\">\n <ng-content></ng-content>\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"see-also\"\n [seeAlso]=\"seeAlso\"\n ></tui-doc-see-also>\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container *ngIf=\"index === activeItemIndex\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n","styles":[":host{display:flex;flex-direction:column;min-height:0;flex-basis:0;flex-grow:1}.header{font:var(--tui-font-heading-3);display:flex;flex-wrap:wrap;min-height:7.25rem;color:var(--tui-text-01);box-shadow:inset 0 -1px 0 0 var(--tui-base-03);padding:3.75rem 0 0;box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}@media screen and (max-width:47.9375em){.header{font:var(--tui-font-heading-4);min-height:4.5rem;padding:1.25rem 1.25rem 0;margin:0}}.title{min-width:100%;font-size:inherit;margin:0}.tag{vertical-align:middle;text-transform:uppercase;margin-right:.5rem}.tag_deprecated{background-color:var(--tui-error-fill)}.tag.tag_package{color:#000}.tabs{flex:1;margin:1.125rem .3125rem 0 0}@media screen and (max-width:47.9375em){.tabs{margin-top:.25rem}}.content{padding:2rem 0;margin:0 min(10vw,8.75rem)}@media screen and (max-width:47.9375em){.content{padding:2rem 1.25rem;margin:0}}.see-also{min-width:18.75rem;width:30%;float:right;margin-left:1.5rem}@media screen and (max-width:63.9375em){.see-also{float:none;width:100%;margin:0 0 1.5rem}}.screenshots-skip-usage{margin-top:3.5rem}@media screen and (max-width:37.4375em){.screenshots-skip-usage{margin-top:2rem}}.source-code{align-self:flex-end;line-height:2.75rem}"]}]}],"members":{"header":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5}}]}],"package":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5}}]}],"path":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}}]}],"tabConnectors":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":38,"character":5},"arguments":[{"__symbolic":"reference","name":"TuiDocPageTabConnectorDirective"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":42,"character":9},"arguments":["deprecated"]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":43,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_DEFAULT_TABS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":44,"character":9},"arguments":[{"__symbolic":"reference","name":"ɵl"}]}]],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Expression form not supported","line":43,"character":60,"module":"./components/page/page.component"},{"__symbolic":"error","message":"Expression form not supported","line":44,"character":49,"module":"./components/page/page.component"}]}],"getRouterLink":[{"__symbolic":"method"}]}},"TuiDocPageModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":8},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":12,"character":8},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiTabsModule","line":14,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiTagModule","line":15,"character":8},{"__symbolic":"reference","name":"ɵq"}],"declarations":[{"__symbolic":"reference","name":"TuiDocPageComponent"},{"__symbolic":"reference","name":"TuiDocPageTabConnectorDirective"}],"exports":[{"__symbolic":"reference","name":"TuiDocPageComponent"},{"__symbolic":"reference","name":"TuiDocPageTabConnectorDirective"}]}]}],"members":{}},"TuiDocPageTabConnectorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[pageTab]"}]}],"members":{"pageTab":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":8,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":11,"character":17},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":11,"character":24}]}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":11,"character":68,"module":"./components/page/page-tab.directive"}]}]}]}},"ScrollIntoViewDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[scrollIntoView]","providers":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":7,"character":16}]}]}],"members":{"scrollIntoView":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":18,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":19,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":19,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":18,"character":45},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":19,"character":56,"context":{"typeName":"HTMLElement"},"module":"./directives/scroll-into-view/scroll-into-view.directive"}]}]}]}},"ScrollIntoViewModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":3,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ScrollIntoViewDirective"}],"exports":[{"__symbolic":"reference","name":"ScrollIntoViewDirective"}]}]}],"members":{}},"CodeEditor":{"__symbolic":"interface"},"TuiDocPageBase":{"__symbolic":"interface"},"TuiDocPage":{"__symbolic":"interface"},"TuiDocPageGroup":{"__symbolic":"interface"},"TuiDocSourceCodePathOptions":{"__symbolic":"interface"},"DEMO_TEXTS":["Сделано с помощью директивы: ","Фон","Детали формы"],"DOC_TEXTS":["Аргумент","Тип","Имя и описание","Значение","Для работы с динамическими шаблонами используется"],"EXAMPLE_TEXTS":["Превью","Ссылка на пример скопирована","Готово"],"TUI_DOC_RUSSIAN":[{"provide":{"__symbolic":"reference","name":"TUI_DOC_DEMO_TEXTS"},"useValue":{"__symbolic":"reference","name":"DEMO_TEXTS"}},{"provide":{"__symbolic":"reference","name":"TUI_DOC_DOCUMENTATION_TEXTS"},"useValue":{"__symbolic":"reference","name":"DOC_TEXTS"}},{"provide":{"__symbolic":"reference","name":"TUI_DOC_EXAMPLE_TEXTS"},"useValue":{"__symbolic":"reference","name":"EXAMPLE_TEXTS"}},{"provide":{"__symbolic":"reference","name":"TUI_DOC_MENU_TEXT"},"useValue":"Меню"},{"provide":{"__symbolic":"reference","name":"TUI_DOC_SEARCH_TEXT"},"useValue":"Поиск"},{"provide":{"__symbolic":"reference","name":"TUI_DOC_SEE_ALSO_TEXT"},"useValue":"Смотрите также"},{"provide":{"__symbolic":"reference","name":"TUI_DOC_SOURCE_CODE_TEXT"},"useValue":"Исходный код"}],"TUI_DOC_CODE_EDITOR":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":39},"arguments":["Contains service for opening online IDE e.g. Stackblitz"]},"TUI_DOC_EXAMPLE_CONTENT_PROCESSOR":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":53},"arguments":["Processes content in example",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":13,"module":"./tokens/example-content-processor"}]},"TUI_DOC_DEFAULT_TABS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":40},"arguments":["Array of default tab names",{"__symbolic":"error","message":"Lambda not supported","line":5,"character":17,"module":"./tokens/default-tabs"}]},"TUI_DOC_DEMO_TEXTS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":10,"character":38},"arguments":["tui-doc-demo i18n texts",{"__symbolic":"error","message":"Lambda not supported","line":12,"character":14,"module":"./tokens/i18n"}]},"TUI_DOC_DOCUMENTATION_TEXTS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":25,"character":47},"arguments":["tui-doc-documentation i18n texts",{"__symbolic":"error","message":"Lambda not supported","line":28,"character":13,"module":"./tokens/i18n"}]},"TUI_DOC_EXAMPLE_TEXTS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":45,"character":41},"arguments":["tui-doc-example i18n texts",{"__symbolic":"error","message":"Lambda not supported","line":47,"character":14,"module":"./tokens/i18n"}]},"TUI_DOC_MENU_TEXT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":50,"character":37},"arguments":["menu i18n text",{"__symbolic":"error","message":"Lambda not supported","line":51,"character":13,"module":"./tokens/i18n"}]},"TUI_DOC_SEARCH_TEXT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":54,"character":39},"arguments":["search i18n text",{"__symbolic":"error","message":"Lambda not supported","line":55,"character":13,"module":"./tokens/i18n"}]},"TUI_DOC_SEE_ALSO_TEXT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":58,"character":41},"arguments":["tui-doc-see-also i18n text",{"__symbolic":"error","message":"Lambda not supported","line":60,"character":14,"module":"./tokens/i18n"}]},"TUI_DOC_SOURCE_CODE_TEXT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":63,"character":44},"arguments":["tui-doc-source-code i18n text",{"__symbolic":"error","message":"Lambda not supported","line":65,"character":14,"module":"./tokens/i18n"}]},"TUI_DOC_LOGO":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":32},"arguments":["Main logo",{"__symbolic":"error","message":"Lambda not supported","line":4,"character":13,"module":"./tokens/logo"}]},"TUI_DOC_PAGES":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":62},"arguments":["Documentation pages",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/pages"}]},"TUI_DOC_SEE_ALSO":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":36},"arguments":["Array of arrays of related pages",{"__symbolic":"error","message":"Lambda not supported","line":5,"character":17,"module":"./tokens/see-also"}]},"TUI_DOC_SOURCE_CODE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":6,"character":8},"arguments":["Source code link",{"__symbolic":"error","message":"Lambda not supported","line":9,"character":17,"module":"./tokens/source-code"}]},"TUI_DOC_TITLE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":33},"arguments":["Page title",{"__symbolic":"error","message":"Lambda not supported","line":3,"character":13,"module":"./tokens/title"}]},"TuiDocPages":{"__symbolic":"interface"},"generateRoutes":{"__symbolic":"function","parameters":["type"],"value":[{"path":"","component":{"__symbolic":"reference","name":"type"},"children":[{"path":":tab","component":{"__symbolic":"reference","name":"type"}}]}]},"TuiAddonDocModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"exports":[{"__symbolic":"reference","name":"TuiDocCodeModule"},{"__symbolic":"reference","name":"TuiDocDemoModule"},{"__symbolic":"reference","name":"TuiDocDocumentationModule"},{"__symbolic":"reference","name":"TuiDocPageModule"},{"__symbolic":"reference","name":"TuiDocExampleModule"}]}]}],"members":{}},"ɵa":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":9,"character":36},"arguments":["Page title"]},"ɵb":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":10,"character":37},"arguments":["Navigation sections labels for search"]},"ɵc":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":15,"character":8},"arguments":["Navigation pages"]},"ɵd":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":18,"character":4},{"provide":{"__symbolic":"reference","name":"ɵa"},"deps":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":21,"character":15},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":21,"character":23},{"__symbolic":"reference","name":"TUI_DOC_TITLE"},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":21,"character":54}],"useFactory":{"__symbolic":"reference","name":"ɵe"}},{"provide":{"__symbolic":"reference","name":"ɵb"},"deps":[{"__symbolic":"reference","name":"TUI_DOC_PAGES"}],"useFactory":{"__symbolic":"reference","name":"ɵf"}},{"provide":{"__symbolic":"reference","name":"ɵc"},"deps":[{"__symbolic":"reference","name":"TUI_DOC_PAGES"}],"useFactory":{"__symbolic":"reference","name":"ɵg"}}],"ɵe":{"__symbolic":"function","parameters":["router","activatedRoute","titlePrefix","destroy$"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"router"},"member":"events"},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"filter","line":43,"character":8},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":43,"character":15,"module":"./components/navigation/navigation.providers"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"map","line":44,"character":8},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":44,"character":12,"module":"./components/navigation/navigation.providers"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"filter","line":45,"character":8},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"isPresent","line":45,"character":15}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"mergeMap","line":46,"character":8},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":46,"character":17,"module":"./components/navigation/navigation.providers"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"map","line":47,"character":8},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":47,"character":12,"module":"./components/navigation/navigation.providers"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"takeUntil","line":48,"character":8},"arguments":[{"__symbolic":"reference","name":"destroy$"}]}]}},"ɵf":{"__symbolic":"function","parameters":["pages"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"pages"},"member":"map"},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":54,"character":13,"module":"./components/navigation/navigation.providers"}]},"member":"filter"},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":55,"character":16,"module":"./components/navigation/navigation.providers"}]}},"ɵg":{"__symbolic":"function"},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":3,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵi"}],"exports":[{"__symbolic":"reference","name":"ɵi"}]}]}],"members":{}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[tuiInputOpacity]"}]}],"members":{"tuiInputOpacity":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":17,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":17,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_FOCUSABLE_ITEM_ACCESSOR","line":18,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":17,"character":54},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusableElementAccessor","line":19,"character":48}]}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":8},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":12,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiButtonModule","line":13,"character":8},{"__symbolic":"reference","module":"@taiga-ui/addon-mobile","name":"TuiSidebarModule","line":14,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiActiveZoneModule","line":15,"character":8},{"__symbolic":"reference","name":"TuiDocNavigationModule"}],"declarations":[{"__symbolic":"reference","name":"ɵk"}],"exports":[{"__symbolic":"reference","name":"ɵk"}]}]}],"members":{}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"header[tuiDocHeader]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":12,"character":21},"member":"OnPush"},"template":"<button\n tuiIconButton\n class=\"menu\"\n icon=\"tuiIconMenuLarge\"\n appearance=\"icon\"\n [title]=\"menu\"\n (click)=\"onClick()\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-doc-navigation\n *tuiSidebar=\"open$ | async\"\n class=\"navigation\"\n ></tui-doc-navigation>\n</button>\n<div polymorpheus-outlet class=\"logo tui-text_h5\" [content]=\"logo\">\n <ng-template let-src>\n <img class=\"img\" alt=\"Logo\" [src]=\"src\">\n </ng-template>\n</div>\n<ng-content></ng-content>\n","styles":[":host{box-shadow:0 .125rem 1rem rgba(0,0,0,.08);position:fixed;top:0;left:0;right:0;display:flex;height:3.9375rem;align-items:center;padding:0 1.25rem;background:var(--tui-base-01);border-bottom:1px solid var(--tui-base-03);z-index:1}.logo{margin-right:auto}.img{display:block}.menu{margin-left:-1.25rem}@media screen and (min-width:48em){.menu{display:none}}.navigation{min-height:100%}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":23,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_LOGO"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":24,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_MENU_TEXT"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":25,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":25,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusContent","line":23,"character":45},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":25,"character":49}]}],"onClick":[{"__symbolic":"method"}],"onActiveZone":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":33},"arguments":["Page see also"]},"ɵm":[{"provide":{"__symbolic":"reference","name":"ɵl"},"deps":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":8,"character":15},{"__symbolic":"reference","name":"TUI_DOC_SEE_ALSO"}],"useFactory":{"__symbolic":"reference","name":"ɵn"}}],"ɵn":{"__symbolic":"function"},"ɵo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":7,"character":14},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":7,"character":28},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiLinkModule","line":7,"character":42}],"declarations":[{"__symbolic":"reference","name":"ɵp"}],"exports":[{"__symbolic":"reference","name":"ɵp"}]}]}],"members":{}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"tui-doc-see-also","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":10,"character":21},"member":"OnPush"},"template":"<h5 class=\"header\">{{text}}</h5>\n<ng-container *ngFor=\"let item of seeAlso; last as last\">\n <a tuiLink [routerLink]=\"getRouterLink(item)\">{{item}}</a>\n <ng-container *ngIf=\"!last\">, </ng-container>\n</ng-container>\n","styles":[":host{display:block}.header{font-size:.6875rem;line-height:1rem;text-transform:uppercase;letter-spacing:.075em;color:var(--tui-text-02);margin:0 0 .5rem;white-space:nowrap}"]}]}],"members":{"seeAlso":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":17,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_SEE_ALSO_TEXT"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_PAGES"}]}]],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Could not resolve type","line":19,"character":32,"context":{"typeName":"ReadonlyArray"},"module":"./internal/see-also/see-also.component"}]}],"getRouterLink":[{"__symbolic":"method"}]}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵr"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":14},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":8,"character":28},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiButtonModule","line":8,"character":48}],"exports":[{"__symbolic":"reference","name":"ɵr"}]}]}],"members":{}},"ɵr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"tui-doc-source-code","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":10,"character":21},"member":"OnPush"},"template":"<div\n polymorpheus-outlet\n *ngIf=\"!!sourceCode\"\n [content]=\"sourceCode\"\n [context]=\"pathOptions\"\n>\n <ng-template let-link>\n <a\n *ngIf=\"link\"\n tuiIconButton\n type=\"button\"\n icon=\"tuiIconCodeLarge\"\n appearance=\"icon\"\n target=\"_blank\"\n size=\"s\"\n [title]=\"text\"\n [href]=\"link\"\n ></a>\n </ng-template>\n</div>\n"}]}],"members":{"header":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":5}}]}],"package":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":5}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5}}]}],"path":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":26,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_SOURCE_CODE"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":28,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_SOURCE_CODE_TEXT"}]}]],"parameters":[{"__symbolic":"reference","name":"PolymorpheusContent","module":"@tinkoff/ng-polymorpheus","arguments":[{"__symbolic":"reference","name":"TuiDocSourceCodePathOptions"}]},{"__symbolic":"reference","name":"string"}]}],"getPathOptions":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":35,"character":5}]}]}}},"origins":{"TuiDocCodeComponent":"./components/code/code.component","TuiDocCodeModule":"./components/code/code.module","TuiDocCopyComponent":"./components/copy/copy.component","TuiDocCopyModule":"./components/copy/copy.module","TuiDocDemoComponent":"./components/demo/demo.component","TuiDocDemoModule":"./components/demo/demo.module","TuiDocNavigationComponent":"./components/navigation/navigation.component","TuiDocNavigationModule":"./components/navigation/navigation.module","TuiDocDocumentationComponent":"./components/documentation/documentation.component","TuiDocDocumentationModule":"./components/documentation/documentation.module","DocumentationPropertyType":"./components/documentation/documentation-property-connector.directive","TuiDocDocumentationPropertyConnectorDirective":"./components/documentation/documentation-property-connector.directive","TuiDocExampleComponent":"./components/example/example.component","TuiDocExampleModule":"./components/example/example.module","TuiDocMainComponent":"./components/main/main.component","TuiDocMainModule":"./components/main/main.module","TuiDocPageComponent":"./components/page/page.component","TuiDocPageModule":"./components/page/page.module","TuiDocPageTabConnectorDirective":"./components/page/page-tab.directive","ScrollIntoViewDirective":"./directives/scroll-into-view/scroll-into-view.directive","ScrollIntoViewModule":"./directives/scroll-into-view/scroll-into-view.module","CodeEditor":"./interfaces/code-editor","TuiDocPageBase":"./interfaces/page","TuiDocPage":"./interfaces/page","TuiDocPageGroup":"./interfaces/page","TuiDocSourceCodePathOptions":"./interfaces/source-code-path-options","DEMO_TEXTS":"./languages/russian","DOC_TEXTS":"./languages/russian","EXAMPLE_TEXTS":"./languages/russian","TUI_DOC_RUSSIAN":"./languages/russian","TUI_DOC_CODE_EDITOR":"./tokens/code-editor","TUI_DOC_EXAMPLE_CONTENT_PROCESSOR":"./tokens/example-content-processor","TUI_DOC_DEFAULT_TABS":"./tokens/default-tabs","TUI_DOC_DEMO_TEXTS":"./tokens/i18n","TUI_DOC_DOCUMENTATION_TEXTS":"./tokens/i18n","TUI_DOC_EXAMPLE_TEXTS":"./tokens/i18n","TUI_DOC_MENU_TEXT":"./tokens/i18n","TUI_DOC_SEARCH_TEXT":"./tokens/i18n","TUI_DOC_SEE_ALSO_TEXT":"./tokens/i18n","TUI_DOC_SOURCE_CODE_TEXT":"./tokens/i18n","TUI_DOC_LOGO":"./tokens/logo","TUI_DOC_PAGES":"./tokens/pages","TUI_DOC_SEE_ALSO":"./tokens/see-also","TUI_DOC_SOURCE_CODE":"./tokens/source-code","TUI_DOC_TITLE":"./tokens/title","TuiDocPages":"./types/pages","generateRoutes":"./utils/generate-routes","TuiAddonDocModule":"./addon-doc.module","ɵa":"./components/navigation/navigation.providers","ɵb":"./components/navigation/navigation.providers","ɵc":"./components/navigation/navigation.providers","ɵd":"./components/navigation/navigation.providers","ɵe":"./components/navigation/navigation.providers","ɵf":"./components/navigation/navigation.providers","ɵg":"./components/navigation/navigation.providers","ɵh":"./internal/input-opacity/input-opacity.module","ɵi":"./internal/input-opacity/input-opacity.directive","ɵj":"./internal/header/header.module","ɵk":"./internal/header/header.component","ɵl":"./components/page/page.providers","ɵm":"./components/page/page.providers","ɵn":"./components/page/page.providers","ɵo":"./internal/see-also/see-also.module","ɵp":"./internal/see-also/see-also.component","ɵq":"./internal/source-code/source-code.module","ɵr":"./internal/source-code/source-code.component"},"importAs":"@taiga-ui/addon-doc"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiDocCodeComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"tui-doc-code","template":"<p *ngIf=\"filename\" class=\"header\">{{filename}}</p>\n<pre class=\"code\"><code [lineNumbers]=\"true\" [highlight]=\"code\"></code></pre>\n","styles":[":host{display:block}.header{font:var(--tui-font-text-s);font-weight:700}.code{margin:0}.hljs:not(:empty){font:var(--tui-font-text-m);padding:1.5rem 2rem;font-family:monospace;background-color:var(--tui-base-02);word-wrap:break-word;white-space:pre-wrap}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){.hljs:not(:empty)::-webkit-scrollbar,.hljs:not(:empty)::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:6px solid transparent}.hljs:not(:empty)::-webkit-scrollbar{background-color:transparent}.hljs:not(:empty)::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.hljs:not(:empty)::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.hljs:not(:empty)::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}:host._has-filename .hljs:not(:empty){border-radius:.75rem}@media screen and (max-width:47.9375em){.hljs:not(:empty){padding:1rem}}"]}]}],"members":{"filename":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":5}}]}],"code":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":5}}]}],"hasFilename":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":14,"character":5},"arguments":["class._has-filename"]}]}]}},"TuiDocCodeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":14},{"__symbolic":"reference","module":"ngx-highlightjs","name":"HighlightModule","line":6,"character":28}],"declarations":[{"__symbolic":"reference","name":"TuiDocCodeComponent"}],"exports":[{"__symbolic":"reference","name":"TuiDocCodeComponent"}]}]}],"members":{}},"TuiDocCopyComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"tui-doc-copy","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":13,"character":21},"member":"OnPush"},"providers":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":14,"character":16}],"template":"<button\n *ngIf=\"texts$ | async as texts\"\n tuiButton\n type=\"button\"\n class=\"copy\"\n appearance=\"\"\n size=\"s\"\n [title]=\"texts[0]\"\n (click)=\"onClick()\"\n>\n <span class=\"content\" [class.content_moved]=\"copied$ | async\">\n <span class=\"initial\" [attr.data-text]=\"texts[0]\">\n <ng-content></ng-content>\n </span>\n {{texts[1]}}\n </span>\n</button>\n","styles":[":host{position:relative;display:inline-block;vertical-align:middle}.copy{transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;width:100%;color:var(--tui-text-01);background:var(--tui-base-01);overflow:hidden}.copy:hover{background:var(--tui-base-02)}.initial{white-space:nowrap}.initial:empty:before{content:attr(data-text)}.content{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;flex-direction:column;transform:translateY(1rem);text-align:center;line-height:2rem}.content_moved{transform:translateY(-1rem)}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":20,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TUI_COPY_TEXTS","line":20,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":20,"character":60,"module":"./components/copy/copy.component"}]}]}],"copied$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":23,"character":5}]}],"onClick":[{"__symbolic":"method"}]}},"TuiDocCopyModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":14},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiButtonModule","line":6,"character":28}],"declarations":[{"__symbolic":"reference","name":"TuiDocCopyComponent"}],"exports":[{"__symbolic":"reference","name":"TuiDocCopyComponent"}]}]}],"members":{}},"TuiDocDemoComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":28,"character":1},"arguments":[{"selector":"tui-doc-demo","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":32,"character":21},"member":"OnPush"},"providers":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":34,"character":8},{"provide":{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiModeDirective","line":36,"character":21},"useExisting":{"__symbolic":"reference","name":"TuiDocDemoComponent"}}],"template":"<div class=\"bg-toggle\" [tuiMode]=\"null\">\n <ng-template #tooltip>\n {{texts[0]}}\n <a tuiLink tuiMode=\"onDark\" routerLink=\"/directives/mode\">\n <code>tuiMode</code>\n </a>\n </ng-template>\n <ng-container *ngIf=\"isMobile else desktop\">\n <tui-select\n class=\"mode\"\n tuiTextfieldSize=\"s\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiHintContent]=\"tooltip\"\n [formControl]=\"modeControl\"\n >\n tuiMode\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"items\"\n ></tui-data-list-wrapper>\n </tui-select>\n </ng-container>\n <ng-template #desktop>\n tuiMode:\n <tui-tooltip describeId=\"form\" [content]=\"tooltip\"></tui-tooltip>\n <div tuiGroup class=\"tui-space_left-3\" [collapsed]=\"true\">\n <tui-radio-block\n class=\"tui-group__auto-width-item\"\n size=\"s\"\n nativeId=\"form\"\n [item]=\"null\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n null\n </tui-radio-block>\n <tui-radio-block\n class=\"tui-group__auto-width-item\"\n item=\"onDark\"\n size=\"s\"\n nativeId=\"form\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n onDark\n </tui-radio-block>\n <tui-radio-block\n class=\"tui-group__auto-width-item\"\n item=\"onLight\"\n size=\"s\"\n nativeId=\"form\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n onLight\n </tui-radio-block>\n </div>\n </ng-template>\n <tui-checkbox-labeled\n class=\"tui-space_left-3\"\n size=\"m\"\n [(ngModel)]=\"opaque\"\n >\n {{texts[1]}}\n </tui-checkbox-labeled>\n</div>\n<div\n #wrapper\n class=\"wrapper\"\n [class.wrapper_dark]=\"modeControl.value === 'onDark'\"\n [class.wrapper_gray]=\"modeControl.value === 'onLight'\"\n [class.wrapper_transparent]=\"!opaque\"\n>\n <div #content id=\"demoContent\" class=\"content\">\n <form *ngIf=\"testForm\" class=\"form\" [formGroup]=\"testForm\">\n <div class=\"input-wrapper\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </div>\n <button\n tuiButton\n type=\"button\"\n class=\"tui-space_top-3\"\n size=\"s\"\n [iconRight]=\"icon\"\n (click)=\"toggleDetails()\"\n >\n {{texts[2]}}\n </button>\n <ng-template #icon>\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"icon\"\n [class.icon_rotated]=\"expanded\"\n ></tui-svg>\n </ng-template>\n <tui-expand class=\"expand\" [expanded]=\"expanded\">\n <ng-template tuiExpandContent>\n <pre class=\"value\">\nForm data: {{testForm.value | json}}</pre\n >\n <div tuiGroup class=\"tui-space_top-3\">\n <tui-select\n class=\"select\"\n tuiTextfieldSize=\"s\"\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 class=\"tui-group__auto-width-item\"\n type=\"reset\"\n size=\"s\"\n >\n Reset\n </button>\n <button\n tuiButton\n class=\"tui-group__auto-width-item\"\n type=\"submit\"\n size=\"s\"\n >\n Submit\n </button>\n </div>\n </ng-template>\n </tui-expand>\n </form>\n <ng-content></ng-content>\n </div>\n <button\n class=\"resizer\"\n tabindex=\"-1\"\n (tuiDragStart)=\"onDragStart($event)\"\n (tuiDragContinues)=\"onDragContinues($event)\"\n (tuiDragEnd)=\"onDragEnd()\"\n >\n <span #resizerText class=\"resizer-text\"></span>\n </button>\n</div>\n","styles":[":host{position:relative;display:block;min-width:100%;margin:1.5rem 0}.bg-toggle{position:absolute;bottom:calc(100% + .75rem);display:flex;align-items:center;justify-content:flex-end;pointer-events:none;width:100%}.bg-toggle>*{pointer-events:auto}.wrapper{box-shadow:0 .5rem 1rem rgba(51,51,51,.2);display:flex;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);max-width:100%;min-height:6rem;width:100%;background-color:var(--tui-base-01);overflow:hidden}.wrapper.wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-02) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-02) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-02) 75%);background-size:1.25rem 1.25rem;background-position:0 0,0 .625rem,.625rem -.625rem,-.625rem 0}.wrapper.wrapper_dark{background-color:#454e58;color:var(--tui-base-01)}.wrapper.wrapper_gray{background-color:#e5e7ea}.wrapper.wrapper_dark.wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-focus) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-focus) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-focus) 75%)}.wrapper.wrapper_gray.wrapper_transparent{background-image:linear-gradient(45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(-45deg,var(--tui-base-05) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--tui-base-05) 75%),linear-gradient(-45deg,transparent 75%,var(--tui-base-05) 75%)}.content{flex:1 1 0;min-width:0;padding:1.5rem;box-sizing:border-box;overflow:hidden}@media screen and (max-width:47.9375em){.wrapper{min-height:auto}.content{padding:1rem}}.form{display:flex;flex-wrap:wrap;align-items:flex-start}.input-wrapper{width:100%;margin-bottom:.5rem}.expand{width:100%}.icon{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.icon_rotated{transform:rotate(180deg)}.value{flex:1;background:var(--tui-clear-inverse);padding:.75rem;border-radius:.25rem}.mode{width:12.5rem}.select{max-width:15rem}.resizer{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;box-shadow:0 .5rem 1rem rgba(51,51,51,.2);position:relative;width:3.5rem;min-height:inherit;flex-shrink:0;border-left:1px solid var(--tui-base-03);cursor:col-resize;outline:0;background:var(--tui-base-01);color:var(--tui-text-01)}.resizer:after,.resizer:before{content:'';position:absolute;top:.75rem;left:50%;bottom:.75rem;width:.0625rem;background:var(--tui-base-05)}.resizer:before{transform:translateX(.125rem)}.resizer:after{transform:translateX(-.1875rem)}@media screen and (max-width:47.9375em){.resizer{display:none}}.resizer-text{font:var(--tui-font-text-s);position:relative;z-index:1;padding:.75rem;background:var(--tui-base-01)}.wrapper_light .resizer-text{background:#3e464e}@supports ((position:-webkit-sticky) or (position:sticky)){@media screen and (min-height:37.5rem){:host{position:-webkit-sticky;position:sticky;top:4.625rem;z-index:2}}}"]}]}],"members":{"control":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":5}}]}],"template":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":55,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":55,"character":18}]}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":63,"character":5},"arguments":["content"]}]}],"wrapper":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":66,"character":5},"arguments":["wrapper"]}]}],"resizerText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":69,"character":5},"arguments":["resizerText"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":75,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_IS_MOBILE","line":75,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":76,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":76,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":77,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":77,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":78,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"PLATFORM_ID","line":78,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":79,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"Location","line":79,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":80,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/router","name":"UrlSerializer","line":80,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":81,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_DEMO_TEXTS"}]}]],"parameters":[{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":76,"character":62},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":77,"character":54},{"__symbolic":"reference","name":"Object"},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":79,"character":39},{"__symbolic":"reference","module":"@angular/router","name":"UrlSerializer","line":80,"character":46},{"__symbolic":"error","message":"Expression form not supported","line":81,"character":52,"module":"./components/demo/demo.component"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"setResizerTextContent":[{"__symbolic":"method"}],"onResize":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":131,"character":5},"arguments":["window:resize"]}]}],"onDragStart":[{"__symbolic":"method"}],"onDragContinues":[{"__symbolic":"method"}],"onDragEnd":[{"__symbolic":"method"}],"toggleDetails":[{"__symbolic":"method"}],"updateOnChange":[{"__symbolic":"method"}],"createForm":[{"__symbolic":"method"}],"resizeContent":[{"__symbolic":"method"}]}},"TuiDocDemoModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":25,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":27,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":28,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":29,"character":8},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":30,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiLinkModule","line":31,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDragModule","line":32,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiButtonModule","line":33,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiSelectModule","line":34,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiExpandModule","line":35,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiGroupModule","line":36,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiTooltipModule","line":37,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiModeModule","line":38,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiRadioBlockModule","line":39,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiCheckboxLabeledModule","line":40,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiSvgModule","line":41,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiDataListWrapperModule","line":42,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDataListModule","line":43,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiTextfieldControllerModule","line":44,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiHintControllerModule","line":45,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiDocDemoComponent"}],"exports":[{"__symbolic":"reference","name":"TuiDocDemoComponent"}]}]}],"members":{}},"TuiDocNavigationComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":22,"character":1},"arguments":[{"selector":"tui-doc-navigation","providers":{"__symbolic":"reference","name":"ɵd"},"changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":27,"character":21},"member":"OnPush"},"template":"<tui-hosted-dropdown\n *tuiLet=\"filteredItems as filtered\"\n class=\"input\"\n tuiDropdownLimitWidth=\"fixed\"\n [content]=\"dropdown\"\n [canOpen]=\"canOpen\"\n [(open)]=\"open\"\n>\n <tui-primitive-textfield\n iconAlign=\"left\"\n tuiTextfieldSize=\"m\"\n iconContent=\"tuiIconSearch\"\n [pseudoFocused]=\"open || null\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiTextfieldLabelOutside]=\"true\"\n [value]=\"search\"\n (valueChange)=\"onSearchChange($event)\"\n >\n {{searchText}}\n </tui-primitive-textfield>\n <ng-template #dropdown let-activeZone>\n <tui-data-list>\n <tui-opt-group\n *ngFor=\"let group of filtered; let index = index\"\n [label]=\"labels[index]\"\n >\n <a\n *ngFor=\"let item of group\"\n tuiOption\n [routerLink]=\"item.route\"\n (click)=\"onClick()\"\n >\n {{item.title}}\n </a>\n </tui-opt-group>\n </tui-data-list>\n </ng-template>\n</tui-hosted-dropdown>\n\n<nav class=\"navigation\">\n <tui-scrollbar class=\"scrollbar\">\n <tui-accordion\n [tuiMode]=\"mode$ | async\"\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=\"tui-space_left-2\">\n <strong>{{label}}</strong>\n </span>\n <ng-template tuiAccordionItemContent>\n <div class=\"section\">\n <ng-container\n *ngFor=\"let item of items[index]; index as subIndex\"\n >\n <a\n *ngIf=\"!item.subPages; else subPages\"\n tuiLink\n class=\"sublink\"\n routerLinkActive=\"sublink_active\"\n [routerLink]=\"item.route\"\n [scrollIntoView]=\"isActive(item.route)\"\n (click)=\"closeMenu()\"\n >\n {{item.title}}\n </a>\n <ng-template #subPages>\n <div\n routerLinkActive\n class=\"subsection\"\n [routerLinkActiveOptions]=\"{exact: false}\"\n >\n <button\n *ngIf=\"item.subPages\"\n tuiLink\n type=\"button\"\n class=\"sublink sublink_subsection\"\n (click)=\"onGroupClick(index + subIndex)\"\n >\n <tui-svg\n src=\"tuiIconChevronRight\"\n class=\"chevron\"\n [class.chevron_active]=\"!!openPagesGroupsArr[index + subIndex]\"\n ></tui-svg>\n {{item.title}}\n </button>\n <tui-expand\n class=\"tui-space_left-1\"\n [expanded]=\"!!openPagesGroupsArr[index + subIndex]\"\n >\n <div class=\"section section_bordered\">\n <a\n *ngFor=\"let subPage of item.subPages\"\n tuiLink\n class=\"sublink sublink_small\"\n routerLinkActive=\"sublink_active\"\n [routerLink]=\"subPage.route\"\n [scrollIntoView]=\"isActive(subPage.route)\"\n (click)=\"closeMenu()\"\n >\n {{subPage.title}}\n </a>\n </div>\n </tui-expand>\n </div>\n </ng-template>\n </ng-container>\n </div>\n </ng-template>\n </tui-accordion-item>\n </tui-accordion>\n </tui-scrollbar>\n</nav>\n\n<ng-content></ng-content>\n","styles":[":host{display:flex;flex-direction:column;text-align:center;background:var(--tui-base-01);z-index:1}.input{display:block;margin:1.25rem}.navigation{display:flex;max-height:100%;min-height:0;flex:1 1 0;text-align:left}.scrollbar{width:100%;scroll-behavior:smooth}.section{display:flex;flex-direction:column;align-items:flex-start;margin:-1rem 0 -.5rem}.section_bordered{margin:.5rem 0;border-left:1px solid var(--tui-base-03)}.subsection{margin-left:.5rem}.sublink{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;font:var(--tui-font-text-m);margin-left:.5rem;line-height:2.75rem}.sublink_small{margin-left:1rem;line-height:1.5rem}.sublink_small:not(:first-child){margin-top:1rem}.sublink_subsection{margin-left:0;line-height:2.75rem}.sublink_active{color:var(--tui-text-01)}.chevron{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;width:1rem;height:1rem;margin:-.25rem .25rem 0 -.1875rem}.chevron_active{transform:rotate(90deg)}"]}]}],"members":{"menuOpen":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":36,"character":5},"arguments":["class._open"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":45,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"Title","line":45,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":46,"character":9},"arguments":[{"__symbolic":"reference","name":"ɵa"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":47,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":47,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":48,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiModeDirective","line":48,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":50,"character":9},"arguments":[{"__symbolic":"reference","name":"ɵb"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":51,"character":9},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":53,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_SEARCH_TEXT"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":54,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":54,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":55,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":55,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"Title","line":45,"character":37},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","name":"string"}]},{"__symbolic":"error","message":"Could not resolve type","line":47,"character":56,"context":{"typeName":"Document"},"module":"./components/navigation/navigation.component"},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiModeDirective","line":49,"character":31},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"string"}]},{"__symbolic":"error","message":"Could not resolve type","line":52,"character":24,"context":{"typeName":"ReadonlyArray"},"module":"./components/navigation/navigation.component"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":54,"character":49},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":55,"character":65}]}],"isActive":[{"__symbolic":"method"}],"onGroupClick":[{"__symbolic":"method"}],"closeMenu":[{"__symbolic":"method"}],"onSearchChange":[{"__symbolic":"method"}],"onClick":[{"__symbolic":"method"}],"filterItems":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":98,"character":5}]}],"flattenSubPages":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":123,"character":5}]}],"isActiveRoute":[{"__symbolic":"method"}],"handleAnchorLink":[{"__symbolic":"method"}],"openActivePageGroup":[{"__symbolic":"method"}],"navigateToAnchorLink":[{"__symbolic":"method"}]}},"TuiDocNavigationModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":22,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":24,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":25,"character":8},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":26,"character":8},{"__symbolic":"reference","name":"ScrollIntoViewModule"},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiButtonModule","line":28,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiPrimitiveTextfieldModule","line":29,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiTextfieldControllerModule","line":30,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiActiveZoneModule","line":31,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiLetModule","line":32,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiModeModule","line":33,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiLinkModule","line":34,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiExpandModule","line":35,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiHostedDropdownModule","line":36,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDropdownControllerModule","line":37,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiAccordionModule","line":38,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiScrollbarModule","line":39,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiSvgModule","line":40,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDataListModule","line":41,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiDocNavigationComponent"}],"exports":[{"__symbolic":"reference","name":"TuiDocNavigationComponent"}]}]}],"members":{}},"TuiDocDocumentationComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":21,"character":1},"arguments":[{"selector":"tui-doc-documentation","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":25,"character":21},"member":"OnPush"},"template":"<h1 *ngIf=\"heading\" class=\"tui-text_h4\">{{heading}}</h1>\n<ng-content></ng-content>\n<table class=\"tui-table tui-table_layout_fixed tui-table_font-size_s\">\n <tr class=\"tui-table__tr tui-table__tr_hover_disabled row row_header\">\n <th class=\"tui-table__th tui-table__th_first cell cell_prop\">\n {{texts[2]}}\n </th>\n <td class=\"tui-table__th\">{{type}}</td>\n <td\n *ngIf=\"showValues && !isAPI\"\n class=\"tui-table__th tui-table__th_last tui-table__th_text_right cell cell_value\"\n >\n {{texts[3]}}\n </td>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of propertiesConnectors; last as lastItem\"\n class=\"tui-table__tr tui-table__tr_hover_disabled row\"\n [class.deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n [class.tui-table__tr_border_none]=\"lastItem\"\n >\n <td\n class=\"tui-table__td tui-table__td_first tui-table__td_align_center cell\"\n >\n <div class=\"property cell\">\n {{stripOptional(propertyConnector.attrName)}}\n <tui-badge\n *ngIf=\"isOptional(propertyConnector.attrName)\"\n size=\"s\"\n value=\"Optional\"\n ></tui-badge>\n </div>\n <span\n *ngIf=\"propertyConnector.documentationPropertyDeprecated\"\n class=\"deprecated-label\"\n >deprecated</span\n >\n <ng-container\n *ngTemplateOutlet=\"propertyConnector.template\"\n ></ng-container>\n </td>\n <td class=\"tui-table__td tui-table__td_align_center cell\">\n <span class=\"type\">\n {{propertyConnector.documentationPropertyType}}\n <tui-tooltip\n *ngIf=\"showContentTooltip(propertyConnector.documentationPropertyType)\"\n [describeId]=\"propertyConnector.attrName\"\n [content]=\"content\"\n >\n <ng-template #content>\n {{texts[4]}}\n <a\n tuiLink\n tuiMode=\"onDark\"\n target=\"_blank\"\n href=\"https://github.com/TinkoffCreditSystems/ng-polymorpheus\"\n ><code>ng-polymorpheus</code></a\n >\n </ng-template>\n </tui-tooltip>\n </span>\n </td>\n <td\n *ngIf=\"showValues\"\n class=\"tui-table__td tui-table__td_align_center tui-table__td_last tui-table__td_text_right cell\"\n >\n <ng-container *ngIf=\"propertyConnector.shouldShowValues\">\n <tui-select\n *ngIf=\"propertyConnector.hasItems; else noItems\"\n tuiTextfieldSize=\"m\"\n tuiDropdownLimitWidth=\"min\"\n [tuiTextfieldCleaner]=\"showCleaner(propertyConnector.documentationPropertyType)\"\n [tuiTextfieldLabelOutside]=\"true\"\n [nativeId]=\"propertyConnector.attrName\"\n [valueContent]=\"selectContent\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n >\n <code class=\"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 #selectContent let-data>\n <code>{{inspectAny(data)}}</code>\n </ng-template>\n\n <ng-template #noItems>\n <ng-container\n [ngSwitch]=\"propertyConnector.documentationPropertyType\"\n >\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 *ngSwitchCase=\"'color'\" tuiGroup>\n <tui-primitive-textfield\n tuiTextfieldType=\"color\"\n tuiTextfieldSize=\"m\"\n [attr.id]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiInputOpacity]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n [value]=\"getColor(propertyConnector.documentationPropertyValue)\"\n (valueChange)=\"onColorChange(propertyConnector, $event)\"\n ></tui-primitive-textfield>\n <tui-input-count\n tuiTextfieldSize=\"m\"\n [max]=\"100\"\n [ngModel]=\"getOpacity(propertyConnector.documentationPropertyValue)\"\n (ngModelChange)=\"onOpacityChange(propertyConnector, $event)\"\n >\n Opacity\n </tui-input-count>\n </div>\n\n <tui-input-count\n *ngSwitchCase=\"'number'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-input-count>\n </ng-container>\n </ng-template>\n </ng-container>\n </td>\n </tr>\n</table>\n","styles":[":host{display:block;min-width:100%}.cell_prop{width:40%}.cell_value{max-width:20rem}@media screen and (max-width:47.9375em){.row{display:flex;flex-wrap:wrap}.row_header{display:none}.cell_value{width:9.375rem}.cell{width:100%;height:auto;padding:.5rem 0;text-align:left}}.property{font:var(--tui-font-text-m);margin-bottom:.25rem;font-family:monospace;color:#8f75d1}.type{font-family:monospace}.deprecated{background-color:var(--tui-error-bg)}.deprecated-label{margin-right:.125rem;color:var(--tui-error-fill)}"]}]}],"members":{"heading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":5}}]}],"showValues":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":5}}]}],"isAPI":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":5}}]}],"propertiesConnectors":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":37,"character":5},"arguments":[{"__symbolic":"reference","name":"TuiDocDocumentationPropertyConnectorDirective"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":45,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":45,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":46,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_DOCUMENTATION_TEXTS"}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":45,"character":71},{"__symbolic":"error","message":"Expression form not supported","line":47,"character":24,"module":"./components/documentation/documentation.component"}]}],"ngAfterContentInit":[{"__symbolic":"method"}],"getColor":[{"__symbolic":"method"}],"getOpacity":[{"__symbolic":"method"}],"onColorChange":[{"__symbolic":"method"}],"onOpacityChange":[{"__symbolic":"method"}],"stripOptional":[{"__symbolic":"method"}],"isOptional":[{"__symbolic":"method"}],"showCleaner":[{"__symbolic":"method"}],"showContentTooltip":[{"__symbolic":"method"}],"inspectAny":[{"__symbolic":"method"}]}},"TuiDocDocumentationModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":26,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":28,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":29,"character":8},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":30,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiBadgeModule","line":31,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiSelectModule","line":32,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiToggleModule","line":33,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiTooltipModule","line":34,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiLinkModule","line":35,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiInputCountModule","line":36,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiModeModule","line":37,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiGroupModule","line":38,"character":8},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiPrimitiveTextfieldModule","line":40,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiTextfieldControllerModule","line":41,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiHintControllerModule","line":42,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDropdownControllerModule","line":43,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDataListModule","line":44,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiDataListWrapperModule","line":45,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiDocDocumentationComponent"},{"__symbolic":"reference","name":"TuiDocDocumentationPropertyConnectorDirective"}],"exports":[{"__symbolic":"reference","name":"TuiDocDocumentationComponent"},{"__symbolic":"reference","name":"TuiDocDocumentationPropertyConnectorDirective"}]}]}],"members":{}},"DocumentationPropertyType":{"__symbolic":"interface"},"TuiDocDocumentationPropertyConnectorDirective":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":19,"character":1},"arguments":[{"selector":"ng-template[documentationPropertyName]"}]}],"members":{"documentationPropertyName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5}}]}],"documentationPropertyMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5}}]}],"documentationPropertyType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5}}]}],"documentationPropertyValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}}]}],"documentationPropertyDeprecated":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5}}]}],"documentationPropertyValues":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":5}}]}],"documentationPropertyValueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":48,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":48,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":49,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"Location","line":49,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":50,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":50,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":51,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/router","name":"UrlSerializer","line":51,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":48,"character":60,"module":"./components/documentation/documentation-property-connector.directive"}]},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":49,"character":56},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":50,"character":65},{"__symbolic":"reference","module":"@angular/router","name":"UrlSerializer","line":51,"character":63}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"onValueChange":[{"__symbolic":"method"}],"parseParams":[{"__symbolic":"method"}],"setQueryParam":[{"__symbolic":"method"}]}},"TuiDocExampleComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":23,"character":1},"arguments":[{"selector":"tui-doc-example","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":27,"character":21},"member":"OnPush"},"template":"<h3 *ngIf=\"heading\" class=\"title\">\n <span polymorpheus-outlet [content]=\"heading\"></span>\n <button\n *ngIf=\"id\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n class=\"link-icon\"\n icon=\"tuiIconLinkLarge\"\n appearance=\"icon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink()\"\n ></button>\n</h3>\n<h4\n *ngIf=\"description\"\n class=\"description\"\n polymorpheus-outlet\n [content]=\"description\"\n></h4>\n<div class=\"example\">\n <div class=\"tabs\">\n <tui-tabs [(activeItemIndex)]=\"activeItemIndex\">\n <button *ngFor=\"let tab of tabs\" tuiTab>{{tab}}</button>\n </tui-tabs>\n\n <button\n *ngIf=\"codeEditor\"\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n (click)=\"codeEditor.open(componentName, id || '', processedContent)\"\n >\n Edit on {{codeEditor.name}}\n </button>\n </div>\n <ng-container [ngSwitch]=\"activeItem\">\n <div\n *ngIf=\"isDefaultItem; else codeTab\"\n class=\"demo\"\n automation-id=\"tui-doc-example\"\n >\n <ng-content></ng-content>\n </div>\n <ng-template #codeTab>\n <tui-doc-copy\n class=\"copy-code\"\n [cdkCopyToClipboard]=\"code\"\n ></tui-doc-copy>\n <tui-doc-code [code]=\"code\"></tui-doc-code>\n </ng-template>\n </ng-container>\n</div>\n","styles":[":host{position:relative;display:block;padding-top:3.5rem;clear:right}.title{font:var(--tui-font-heading-5);margin:0 0 .5rem}@media screen and (max-width:47.9375em){:host{padding-top:2rem}.title{font:var(--tui-font-heading-6)}}.description{font:var(--tui-font-text-m);font-weight:400;margin:0}.description:first-letter,.title:first-letter{text-transform:capitalize}.example{position:relative;margin-top:1.5rem;border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m);box-shadow:0 .125rem .1875rem rgba(0,0,0,.1)}.tabs{padding:0 2rem;box-shadow:inset 0 -1px var(--tui-base-03);display:flex;justify-content:space-between;align-items:center}@media screen and (max-width:47.9375em){.example{margin-top:.75rem}.tabs{padding:0 1rem}}.demo{padding:2rem;overflow-x:auto}@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution:0.001dpcm){.demo::-webkit-scrollbar,.demo::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:6px solid transparent}.demo::-webkit-scrollbar{background-color:transparent}.demo::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}.demo::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}.demo::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}@media screen and (max-width:47.9375em){.demo{padding:1rem}}.copy-code{position:absolute;top:4.375rem;right:1rem}.link-icon{margin-left:.3rem;vertical-align:baseline}"]}]}],"members":{"heading":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5}}]}],"description":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":5}}]}],"componentName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":53,"character":9},"arguments":["id"]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":55,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/cdk/clipboard","name":"Clipboard","line":55,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":56,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiNotificationsService","line":56,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":58,"character":9},"arguments":[{"__symbolic":"reference","module":"@ng-web-apis/common","name":"LOCATION","line":58,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":59,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TUI_COPY_TEXTS","line":59,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":60,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_EXAMPLE_TEXTS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":61,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":62,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_CODE_EDITOR"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":64,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_EXAMPLE_CONTENT_PROCESSOR"}]}]],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"@angular/cdk/clipboard","name":"Clipboard","line":55,"character":55},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiNotificationsService","line":57,"character":40},{"__symbolic":"error","message":"Could not resolve type","line":58,"character":53,"context":{"typeName":"Location"},"module":"./components/example/example.component"},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":59,"character":72,"module":"./components/example/example.component"}]},{"__symbolic":"error","message":"Expression form not supported","line":60,"character":55,"module":"./components/example/example.component"},{"__symbolic":"reference","name":"CodeEditor"},{"__symbolic":"reference","name":"TuiHandler","module":"@taiga-ui/cdk","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":66,"character":12,"context":{"typeName":"Record"},"module":"./components/example/example.component"},{"__symbolic":"error","message":"Could not resolve type","line":67,"character":12,"context":{"typeName":"Record"},"module":"./components/example/example.component"}]}]}],"copyExampleLink":[{"__symbolic":"method"}],"getTabs":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":106,"character":5}]}]}},"TuiDocExampleModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":12,"character":8},{"__symbolic":"reference","module":"@angular/cdk/clipboard","name":"ClipboardModule","line":13,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiTabsModule","line":14,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiButtonModule","line":15,"character":8},{"__symbolic":"reference","name":"TuiDocCopyModule"},{"__symbolic":"reference","name":"TuiDocCodeModule"},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":18,"character":8}],"declarations":[{"__symbolic":"reference","name":"TuiDocExampleComponent"}],"exports":[{"__symbolic":"reference","name":"TuiDocExampleComponent"}]}]}],"members":{}},"TuiDocMainComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"tui-doc-main","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":10,"character":19},"member":"None"},"providers":[{"provide":{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiModeDirective","line":13,"character":21},"useExisting":{"__symbolic":"reference","name":"TuiDocMainComponent"}}],"template":"<tui-theme-night *ngIf=\"night\"></tui-theme-night>\n<tui-root>\n <div class=\"tui-doc-page\">\n <tui-doc-navigation class=\"tui-doc-navigation\">\n <ng-content select=\"tuiDocNavigation\"></ng-content>\n </tui-doc-navigation>\n <div class=\"tui-doc-content\">\n <router-outlet class=\"tui-doc-outlet\"></router-outlet>\n </div>\n </div>\n <header tuiDocHeader>\n <label class=\"night-mode\">\n Night mode\n <tui-toggle\n class=\"tui-space_left-2\"\n [ngModel]=\"night\"\n (ngModelChange)=\"onMode($event)\"\n ></tui-toggle>\n </label>\n <ng-content select=\"tuiDocHeader\"></ng-content>\n </header>\n <ng-container ngProjectAs=\"tuiOverDialogs\">\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverNotifications\">\n <ng-content select=\"tuiOverNotifications\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverPortals\">\n <ng-content select=\"tuiOverPortals\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverHints\">\n <ng-content select=\"tuiOverHints\"></ng-content>\n </ng-container>\n</tui-root>\n","styles":["html{scroll-padding-top:4rem;height:auto}@-webkit-keyframes tuiShaking{from,to{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(-.3125rem,0,0)}20%,40%,60%,80%{transform:translate3d(.3125rem,0,0)}}@keyframes tuiShaking{from,to{transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{transform:translate3d(-.3125rem,0,0)}20%,40%,60%,80%{transform:translate3d(.3125rem,0,0)}}body{background:var(--tui-base-01);height:auto}tui-doc-main{display:block}code:not(.hljs):not(.exception){transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;background:var(--tui-base-02);color:var(--tui-text-02);vertical-align:middle;box-shadow:inset 0 -2px var(--tui-secondary);padding:.375rem .5rem;font-size:.875rem;border-radius:.5rem}:focus code:not(.exception){background:var(--tui-base-01)}.tui-doc-page{position:relative;z-index:0;padding-top:4rem}tui-doc-navigation.tui-doc-navigation{position:fixed;top:4rem;bottom:0;width:16.25rem;border-right:1px solid var(--tui-base-03)}.tui-doc-content{margin-left:16.25rem}@media screen and (max-width:47.9375em){tui-doc-navigation.tui-doc-navigation{display:none}.tui-doc-content{margin-left:0}}.tui-doc-outlet+*{display:block}.tui-doc-animated-example{-webkit-animation:1s .3s tuiShaking;animation:1s .3s tuiShaking}label.night-mode{cursor:pointer}.hljs-tag{background:0 0}.hljs{display:block;overflow-x:auto;padding:.5em;color:var(--tui-text-primary);background-color:var(--tui-base-02)}.hljs-subst,.hljs-title{font-weight:400;color:var(--tui-text-01)}.hljs-comment,.hljs-quote{color:var(--tui-text-03);font-style:italic}.hljs-meta{color:#e38162}.hljs-keyword,.hljs-literal,.hljs-name,.hljs-section,.hljs-selector-class,.hljs-selector-id,.hljs-selector-tag,.hljs-type{font-weight:700;color:var(--tui-link)}.hljs-attribute,.hljs-link,.hljs-number,.hljs-regexp{font-weight:700;color:var(--tui-primary-active)}.hljs-link,.hljs-number,.hljs-regexp{font-weight:400}.hljs-string{color:var(--tui-positive);font-weight:700}.hljs-bullet,.hljs-formula,.hljs-symbol{color:var(--tui-text-primary);background:var(--tui-base-02);font-style:italic}.hljs-doctag{text-decoration:underline}.hljs-template-variable,.hljs-variable{color:var(--tui-warning-fill)}.hljs-addition{background:var(--tui-success-bg)}.hljs-deletion{background:var(--tui-error-bg)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs .hljs-line-numbers{padding:0}.hljs-ln-numbers{vertical-align:top;opacity:.3;text-align:right;padding-right:1em!important}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":27,"character":9},"arguments":[{"__symbolic":"reference","module":"@ng-web-apis/common","name":"LOCAL_STORAGE","line":27,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":28,"character":9},"arguments":[{"__symbolic":"reference","module":"@ng-web-apis/common","name":"WINDOW","line":28,"character":16}]}]],"parameters":[{"__symbolic":"error","message":"Could not resolve type","line":27,"character":57,"context":{"typeName":"Storage"},"module":"./components/main/main.component"},{"__symbolic":"error","message":"Could not resolve type","line":28,"character":52,"context":{"typeName":"Window"},"module":"./components/main/main.component"}]}],"onMode":[{"__symbolic":"method"}]}},"TuiDocMainModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":15,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":17,"character":8},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":18,"character":8},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":19,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiToggleModule","line":20,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiThemeNightModule","line":21,"character":8},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiRootModule","line":23,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiDialogModule","line":24,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiNotificationsModule","line":25,"character":8},{"__symbolic":"reference","name":"TuiDocNavigationModule"}],"declarations":[{"__symbolic":"reference","name":"TuiDocMainComponent"}],"exports":[{"__symbolic":"reference","name":"TuiDocMainComponent"}]}]}],"members":{}},"TuiDocPageComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"tui-doc-page","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":20,"character":21},"member":"OnPush"},"providers":{"__symbolic":"reference","name":"ɵm"},"template":"<header class=\"header\">\n <h1 class=\"title\">\n {{header}}\n <tui-tag\n *ngIf=\"deprecated !== null\"\n class=\"tag tag_deprecated\"\n value=\"deprecated\"\n status=\"custom\"\n ></tui-tag>\n <tui-tag\n *ngIf=\"package\"\n class=\"tag tag_package\"\n status=\"custom\"\n [value]=\"package\"\n [autoColor]=\"true\"\n ></tui-tag>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container\n *ngFor=\"let tab of tabConnectors; first as first; index as index\"\n >\n <ng-container *ngIf=\"first; else dynamicTab\">\n <a\n *tuiTab\n tuiTab\n routerLink=\"./\"\n routerLinkActive\n [routerLinkActiveOptions]=\"{ exact: true }\"\n >\n {{tab.pageTab || defaultTabs[index]}}\n </a>\n </ng-container>\n <ng-template #dynamicTab>\n <a\n *tuiTab\n tuiTab\n routerLinkActive\n [routerLink]=\"getRouterLink(tab.pageTab || defaultTabs[index])\"\n >\n {{tab.pageTab || defaultTabs[index]}}\n </a>\n </ng-template>\n </ng-container>\n </tui-tabs-with-more>\n <tui-doc-source-code\n class=\"source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [type]=\"type\"\n [path]=\"path\"\n ></tui-doc-source-code>\n</header>\n<div class=\"content\">\n <ng-content></ng-content>\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"see-also\"\n [seeAlso]=\"seeAlso\"\n ></tui-doc-see-also>\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container *ngIf=\"index === activeItemIndex\">\n <ng-container *ngTemplateOutlet=\"tab.template\"></ng-container>\n </ng-container>\n </ng-container>\n</div>\n","styles":[":host{display:flex;flex-direction:column;min-height:0;flex-basis:0;flex-grow:1}.header{font:var(--tui-font-heading-3);display:flex;flex-wrap:wrap;min-height:7.25rem;color:var(--tui-text-01);box-shadow:inset 0 -1px 0 0 var(--tui-base-03);padding:3.75rem 0 0;box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}@media screen and (max-width:47.9375em){.header{font:var(--tui-font-heading-4);min-height:4.5rem;padding:1.25rem 1.25rem 0;margin:0}}.title{min-width:100%;font-size:inherit;margin:0}.tag{vertical-align:middle;text-transform:uppercase;margin-right:.5rem}.tag_deprecated{background-color:var(--tui-error-fill)}.tag.tag_package{color:#000}.tabs{flex:1;margin:1.125rem .3125rem 0 0}@media screen and (max-width:47.9375em){.tabs{margin-top:.25rem}}.content{padding:2rem 0;margin:0 min(10vw,8.75rem)}@media screen and (max-width:47.9375em){.content{padding:2rem 1.25rem;margin:0}}.see-also{min-width:18.75rem;width:30%;float:right;margin-left:1.5rem}@media screen and (max-width:47.9375em){.see-also{float:none;width:100%;margin:0 0 1.5rem}}.screenshots-skip-usage{margin-top:3.5rem}@media screen and (max-width:47.9375em){.screenshots-skip-usage{margin-top:2rem}}.source-code{align-self:flex-end;line-height:2.75rem}"]}]}],"members":{"header":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":5}}]}],"package":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":5}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":5}}]}],"path":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":5}}]}],"tabConnectors":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":38,"character":5},"arguments":[{"__symbolic":"reference","name":"TuiDocPageTabConnectorDirective"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Attribute","line":42,"character":9},"arguments":["deprecated"]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":43,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_DEFAULT_TABS"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":44,"character":9},"arguments":[{"__symbolic":"reference","name":"ɵl"}]}]],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Expression form not supported","line":43,"character":60,"module":"./components/page/page.component"},{"__symbolic":"error","message":"Expression form not supported","line":44,"character":49,"module":"./components/page/page.component"}]}],"getRouterLink":[{"__symbolic":"method"}]}},"TuiDocPageModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":8},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":12,"character":8},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiTabsModule","line":14,"character":8},{"__symbolic":"reference","module":"@taiga-ui/kit","name":"TuiTagModule","line":15,"character":8},{"__symbolic":"reference","name":"ɵq"}],"declarations":[{"__symbolic":"reference","name":"TuiDocPageComponent"},{"__symbolic":"reference","name":"TuiDocPageTabConnectorDirective"}],"exports":[{"__symbolic":"reference","name":"TuiDocPageComponent"},{"__symbolic":"reference","name":"TuiDocPageTabConnectorDirective"}]}]}],"members":{}},"TuiDocPageTabConnectorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[pageTab]"}]}],"members":{"pageTab":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiDefaultProp","line":8,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":11,"character":17},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":11,"character":24}]}]],"parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":11,"character":68,"module":"./components/page/page-tab.directive"}]}]}]}},"ScrollIntoViewDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[scrollIntoView]","providers":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":7,"character":16}]}]}],"members":{"scrollIntoView":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":18,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":19,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":19,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":18,"character":45},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":19,"character":56,"context":{"typeName":"HTMLElement"},"module":"./directives/scroll-into-view/scroll-into-view.directive"}]}]}]}},"ScrollIntoViewModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":3,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ScrollIntoViewDirective"}],"exports":[{"__symbolic":"reference","name":"ScrollIntoViewDirective"}]}]}],"members":{}},"CodeEditor":{"__symbolic":"interface"},"TuiDocPageBase":{"__symbolic":"interface"},"TuiDocPage":{"__symbolic":"interface"},"TuiDocPageGroup":{"__symbolic":"interface"},"TuiDocSourceCodePathOptions":{"__symbolic":"interface"},"DEMO_TEXTS":["Сделано с помощью директивы: ","Фон","Детали формы"],"DOC_TEXTS":["Аргумент","Тип","Имя и описание","Значение","Для работы с динамическими шаблонами используется"],"EXAMPLE_TEXTS":["Превью","Ссылка на пример скопирована","Готово"],"TUI_DOC_RUSSIAN":[{"provide":{"__symbolic":"reference","name":"TUI_DOC_DEMO_TEXTS"},"useValue":{"__symbolic":"reference","name":"DEMO_TEXTS"}},{"provide":{"__symbolic":"reference","name":"TUI_DOC_DOCUMENTATION_TEXTS"},"useValue":{"__symbolic":"reference","name":"DOC_TEXTS"}},{"provide":{"__symbolic":"reference","name":"TUI_DOC_EXAMPLE_TEXTS"},"useValue":{"__symbolic":"reference","name":"EXAMPLE_TEXTS"}},{"provide":{"__symbolic":"reference","name":"TUI_DOC_MENU_TEXT"},"useValue":"Меню"},{"provide":{"__symbolic":"reference","name":"TUI_DOC_SEARCH_TEXT"},"useValue":"Поиск"},{"provide":{"__symbolic":"reference","name":"TUI_DOC_SEE_ALSO_TEXT"},"useValue":"Смотрите также"},{"provide":{"__symbolic":"reference","name":"TUI_DOC_SOURCE_CODE_TEXT"},"useValue":"Исходный код"}],"TUI_DOC_CODE_EDITOR":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":39},"arguments":["Contains service for opening online IDE e.g. Stackblitz"]},"TUI_DOC_EXAMPLE_CONTENT_PROCESSOR":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":53},"arguments":["Processes content in example",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":13,"module":"./tokens/example-content-processor"}]},"TUI_DOC_DEFAULT_TABS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":40},"arguments":["Array of default tab names",{"__symbolic":"error","message":"Lambda not supported","line":5,"character":17,"module":"./tokens/default-tabs"}]},"TUI_DOC_DEMO_TEXTS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":10,"character":38},"arguments":["tui-doc-demo i18n texts",{"__symbolic":"error","message":"Lambda not supported","line":12,"character":14,"module":"./tokens/i18n"}]},"TUI_DOC_DOCUMENTATION_TEXTS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":25,"character":47},"arguments":["tui-doc-documentation i18n texts",{"__symbolic":"error","message":"Lambda not supported","line":28,"character":13,"module":"./tokens/i18n"}]},"TUI_DOC_EXAMPLE_TEXTS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":45,"character":41},"arguments":["tui-doc-example i18n texts",{"__symbolic":"error","message":"Lambda not supported","line":47,"character":14,"module":"./tokens/i18n"}]},"TUI_DOC_MENU_TEXT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":50,"character":37},"arguments":["menu i18n text",{"__symbolic":"error","message":"Lambda not supported","line":51,"character":13,"module":"./tokens/i18n"}]},"TUI_DOC_SEARCH_TEXT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":54,"character":39},"arguments":["search i18n text",{"__symbolic":"error","message":"Lambda not supported","line":55,"character":13,"module":"./tokens/i18n"}]},"TUI_DOC_SEE_ALSO_TEXT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":58,"character":41},"arguments":["tui-doc-see-also i18n text",{"__symbolic":"error","message":"Lambda not supported","line":60,"character":14,"module":"./tokens/i18n"}]},"TUI_DOC_SOURCE_CODE_TEXT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":63,"character":44},"arguments":["tui-doc-source-code i18n text",{"__symbolic":"error","message":"Lambda not supported","line":65,"character":14,"module":"./tokens/i18n"}]},"TUI_DOC_LOGO":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":32},"arguments":["Main logo",{"__symbolic":"error","message":"Lambda not supported","line":4,"character":13,"module":"./tokens/logo"}]},"TUI_DOC_PAGES":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":62},"arguments":["Documentation pages",{"__symbolic":"error","message":"Lambda not supported","line":6,"character":17,"module":"./tokens/pages"}]},"TUI_DOC_SEE_ALSO":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":36},"arguments":["Array of arrays of related pages",{"__symbolic":"error","message":"Lambda not supported","line":5,"character":17,"module":"./tokens/see-also"}]},"TUI_DOC_SOURCE_CODE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":6,"character":8},"arguments":["Source code link",{"__symbolic":"error","message":"Lambda not supported","line":9,"character":17,"module":"./tokens/source-code"}]},"TUI_DOC_TITLE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":33},"arguments":["Page title",{"__symbolic":"error","message":"Lambda not supported","line":3,"character":13,"module":"./tokens/title"}]},"TuiDocPages":{"__symbolic":"interface"},"generateRoutes":{"__symbolic":"function","parameters":["type"],"value":[{"path":"","component":{"__symbolic":"reference","name":"type"},"children":[{"path":":tab","component":{"__symbolic":"reference","name":"type"}}]}]},"TuiAddonDocModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"exports":[{"__symbolic":"reference","name":"TuiDocCodeModule"},{"__symbolic":"reference","name":"TuiDocDemoModule"},{"__symbolic":"reference","name":"TuiDocDocumentationModule"},{"__symbolic":"reference","name":"TuiDocPageModule"},{"__symbolic":"reference","name":"TuiDocExampleModule"}]}]}],"members":{}},"ɵa":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":9,"character":36},"arguments":["Page title"]},"ɵb":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":10,"character":37},"arguments":["Navigation sections labels for search"]},"ɵc":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":15,"character":8},"arguments":["Navigation pages"]},"ɵd":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":18,"character":4},{"provide":{"__symbolic":"reference","name":"ɵa"},"deps":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":21,"character":15},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":21,"character":23},{"__symbolic":"reference","name":"TUI_DOC_TITLE"},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiDestroyService","line":21,"character":54}],"useFactory":{"__symbolic":"reference","name":"ɵe"}},{"provide":{"__symbolic":"reference","name":"ɵb"},"deps":[{"__symbolic":"reference","name":"TUI_DOC_PAGES"}],"useFactory":{"__symbolic":"reference","name":"ɵf"}},{"provide":{"__symbolic":"reference","name":"ɵc"},"deps":[{"__symbolic":"reference","name":"TUI_DOC_PAGES"}],"useFactory":{"__symbolic":"reference","name":"ɵg"}}],"ɵe":{"__symbolic":"function","parameters":["router","activatedRoute","titlePrefix","destroy$"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"router"},"member":"events"},"member":"pipe"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"filter","line":43,"character":8},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":43,"character":15,"module":"./components/navigation/navigation.providers"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"map","line":44,"character":8},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":44,"character":12,"module":"./components/navigation/navigation.providers"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"filter","line":45,"character":8},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"isPresent","line":45,"character":15}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"mergeMap","line":46,"character":8},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":46,"character":17,"module":"./components/navigation/navigation.providers"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"map","line":47,"character":8},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":47,"character":12,"module":"./components/navigation/navigation.providers"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"rxjs/operators","name":"takeUntil","line":48,"character":8},"arguments":[{"__symbolic":"reference","name":"destroy$"}]}]}},"ɵf":{"__symbolic":"function","parameters":["pages"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"pages"},"member":"map"},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":54,"character":13,"module":"./components/navigation/navigation.providers"}]},"member":"filter"},"arguments":[{"__symbolic":"error","message":"Lambda not supported","line":55,"character":16,"module":"./components/navigation/navigation.providers"}]}},"ɵg":{"__symbolic":"function"},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":3,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵi"}],"exports":[{"__symbolic":"reference","name":"ɵi"}]}]}],"members":{}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[tuiInputOpacity]"}]}],"members":{"tuiInputOpacity":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":17,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":17,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TUI_FOCUSABLE_ITEM_ACCESSOR","line":18,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":17,"character":54},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiFocusableElementAccessor","line":19,"character":48}]}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":8},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":12,"character":8},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiButtonModule","line":13,"character":8},{"__symbolic":"reference","module":"@taiga-ui/addon-mobile","name":"TuiSidebarModule","line":14,"character":8},{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiActiveZoneModule","line":15,"character":8},{"__symbolic":"reference","name":"TuiDocNavigationModule"}],"declarations":[{"__symbolic":"reference","name":"ɵk"}],"exports":[{"__symbolic":"reference","name":"ɵk"}]}]}],"members":{}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"header[tuiDocHeader]","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":12,"character":21},"member":"OnPush"},"template":"<button\n tuiIconButton\n class=\"menu\"\n icon=\"tuiIconMenuLarge\"\n appearance=\"icon\"\n [title]=\"menu\"\n (click)=\"onClick()\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-doc-navigation\n *tuiSidebar=\"open$ | async\"\n class=\"navigation\"\n ></tui-doc-navigation>\n</button>\n<div polymorpheus-outlet class=\"logo tui-text_h5\" [content]=\"logo\">\n <ng-template let-src>\n <img class=\"img\" alt=\"Logo\" [src]=\"src\">\n </ng-template>\n</div>\n<ng-content></ng-content>\n","styles":[":host{box-shadow:0 .125rem 1rem rgba(0,0,0,.08);position:fixed;top:0;left:0;right:0;display:flex;height:3.9375rem;align-items:center;padding:0 1.25rem;background:var(--tui-base-01);border-bottom:1px solid var(--tui-base-03);z-index:1}.logo{margin-right:auto}.img{display:block}.menu{margin-left:-1.25rem}@media screen and (min-width:80em){.menu{display:none}}.navigation{min-height:100%}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":23,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_LOGO"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":24,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_MENU_TEXT"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":25,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":25,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusContent","line":23,"character":45},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":25,"character":49}]}],"onClick":[{"__symbolic":"method"}],"onActiveZone":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":3,"character":33},"arguments":["Page see also"]},"ɵm":[{"provide":{"__symbolic":"reference","name":"ɵl"},"deps":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":8,"character":15},{"__symbolic":"reference","name":"TUI_DOC_SEE_ALSO"}],"useFactory":{"__symbolic":"reference","name":"ɵn"}}],"ɵn":{"__symbolic":"function"},"ɵo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":7,"character":14},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":7,"character":28},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiLinkModule","line":7,"character":42}],"declarations":[{"__symbolic":"reference","name":"ɵp"}],"exports":[{"__symbolic":"reference","name":"ɵp"}]}]}],"members":{}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"tui-doc-see-also","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":10,"character":21},"member":"OnPush"},"template":"<h5 class=\"header\">{{text}}</h5>\n<ng-container *ngFor=\"let item of seeAlso; last as last\">\n <a tuiLink [routerLink]=\"getRouterLink(item)\">{{item}}</a>\n <ng-container *ngIf=\"!last\">, </ng-container>\n</ng-container>\n","styles":[":host{display:block}.header{font-size:.6875rem;line-height:1rem;text-transform:uppercase;letter-spacing:.075em;color:var(--tui-text-02);margin:0 0 .5rem;white-space:nowrap}"]}]}],"members":{"seeAlso":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":17,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_SEE_ALSO_TEXT"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_PAGES"}]}]],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Could not resolve type","line":19,"character":32,"context":{"typeName":"ReadonlyArray"},"module":"./internal/see-also/see-also.component"}]}],"getRouterLink":[{"__symbolic":"method"}]}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵr"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":14},{"__symbolic":"reference","module":"@tinkoff/ng-polymorpheus","name":"PolymorpheusModule","line":8,"character":28},{"__symbolic":"reference","module":"@taiga-ui/core","name":"TuiButtonModule","line":8,"character":48}],"exports":[{"__symbolic":"reference","name":"ɵr"}]}]}],"members":{}},"ɵr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"tui-doc-source-code","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":10,"character":21},"member":"OnPush"},"template":"<div\n polymorpheus-outlet\n *ngIf=\"!!sourceCode\"\n [content]=\"sourceCode\"\n [context]=\"pathOptions\"\n>\n <ng-template let-link>\n <a\n *ngIf=\"link\"\n tuiIconButton\n type=\"button\"\n icon=\"tuiIconCodeLarge\"\n appearance=\"icon\"\n target=\"_blank\"\n size=\"s\"\n [title]=\"text\"\n [href]=\"link\"\n ></a>\n </ng-template>\n</div>\n"}]}],"members":{"header":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":5}}]}],"package":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":5}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":5}}]}],"path":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":26,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_SOURCE_CODE"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":28,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_DOC_SOURCE_CODE_TEXT"}]}]],"parameters":[{"__symbolic":"reference","name":"PolymorpheusContent","module":"@tinkoff/ng-polymorpheus","arguments":[{"__symbolic":"reference","name":"TuiDocSourceCodePathOptions"}]},{"__symbolic":"reference","name":"string"}]}],"getPathOptions":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":35,"character":5}]}]}}},"origins":{"TuiDocCodeComponent":"./components/code/code.component","TuiDocCodeModule":"./components/code/code.module","TuiDocCopyComponent":"./components/copy/copy.component","TuiDocCopyModule":"./components/copy/copy.module","TuiDocDemoComponent":"./components/demo/demo.component","TuiDocDemoModule":"./components/demo/demo.module","TuiDocNavigationComponent":"./components/navigation/navigation.component","TuiDocNavigationModule":"./components/navigation/navigation.module","TuiDocDocumentationComponent":"./components/documentation/documentation.component","TuiDocDocumentationModule":"./components/documentation/documentation.module","DocumentationPropertyType":"./components/documentation/documentation-property-connector.directive","TuiDocDocumentationPropertyConnectorDirective":"./components/documentation/documentation-property-connector.directive","TuiDocExampleComponent":"./components/example/example.component","TuiDocExampleModule":"./components/example/example.module","TuiDocMainComponent":"./components/main/main.component","TuiDocMainModule":"./components/main/main.module","TuiDocPageComponent":"./components/page/page.component","TuiDocPageModule":"./components/page/page.module","TuiDocPageTabConnectorDirective":"./components/page/page-tab.directive","ScrollIntoViewDirective":"./directives/scroll-into-view/scroll-into-view.directive","ScrollIntoViewModule":"./directives/scroll-into-view/scroll-into-view.module","CodeEditor":"./interfaces/code-editor","TuiDocPageBase":"./interfaces/page","TuiDocPage":"./interfaces/page","TuiDocPageGroup":"./interfaces/page","TuiDocSourceCodePathOptions":"./interfaces/source-code-path-options","DEMO_TEXTS":"./languages/russian","DOC_TEXTS":"./languages/russian","EXAMPLE_TEXTS":"./languages/russian","TUI_DOC_RUSSIAN":"./languages/russian","TUI_DOC_CODE_EDITOR":"./tokens/code-editor","TUI_DOC_EXAMPLE_CONTENT_PROCESSOR":"./tokens/example-content-processor","TUI_DOC_DEFAULT_TABS":"./tokens/default-tabs","TUI_DOC_DEMO_TEXTS":"./tokens/i18n","TUI_DOC_DOCUMENTATION_TEXTS":"./tokens/i18n","TUI_DOC_EXAMPLE_TEXTS":"./tokens/i18n","TUI_DOC_MENU_TEXT":"./tokens/i18n","TUI_DOC_SEARCH_TEXT":"./tokens/i18n","TUI_DOC_SEE_ALSO_TEXT":"./tokens/i18n","TUI_DOC_SOURCE_CODE_TEXT":"./tokens/i18n","TUI_DOC_LOGO":"./tokens/logo","TUI_DOC_PAGES":"./tokens/pages","TUI_DOC_SEE_ALSO":"./tokens/see-also","TUI_DOC_SOURCE_CODE":"./tokens/source-code","TUI_DOC_TITLE":"./tokens/title","TuiDocPages":"./types/pages","generateRoutes":"./utils/generate-routes","TuiAddonDocModule":"./addon-doc.module","ɵa":"./components/navigation/navigation.providers","ɵb":"./components/navigation/navigation.providers","ɵc":"./components/navigation/navigation.providers","ɵd":"./components/navigation/navigation.providers","ɵe":"./components/navigation/navigation.providers","ɵf":"./components/navigation/navigation.providers","ɵg":"./components/navigation/navigation.providers","ɵh":"./internal/input-opacity/input-opacity.module","ɵi":"./internal/input-opacity/input-opacity.directive","ɵj":"./internal/header/header.module","ɵk":"./internal/header/header.component","ɵl":"./components/page/page.providers","ɵm":"./components/page/page.providers","ɵn":"./components/page/page.providers","ɵo":"./internal/see-also/see-also.module","ɵp":"./internal/see-also/see-also.component","ɵq":"./internal/source-code/source-code.module","ɵr":"./internal/source-code/source-code.component"},"importAs":"@taiga-ui/addon-doc"}