@taiga-ui/addon-doc 2.61.0 → 3.0.0-rc.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.
Files changed (183) hide show
  1. package/README.md +2 -2
  2. package/addon-doc.module.d.ts +9 -0
  3. package/bundles/taiga-ui-addon-doc.umd.js +1679 -1355
  4. package/bundles/taiga-ui-addon-doc.umd.js.map +1 -1
  5. package/components/code/code.component.d.ts +3 -0
  6. package/components/code/code.module.d.ts +7 -0
  7. package/components/code/parse-code-block.d.ts +1 -5
  8. package/components/copy/copy.component.d.ts +3 -0
  9. package/components/copy/copy.module.d.ts +7 -0
  10. package/components/demo/demo.component.d.ts +3 -0
  11. package/components/demo/demo.module.d.ts +11 -0
  12. package/components/documentation/documentation-property-connector.directive.d.ts +3 -0
  13. package/components/documentation/documentation.component.d.ts +3 -0
  14. package/components/documentation/documentation.module.d.ts +12 -0
  15. package/components/example/example-capitalize.pipe.d.ts +3 -0
  16. package/components/example/example-get-tabs.pipe.d.ts +3 -0
  17. package/components/example/example.component.d.ts +8 -5
  18. package/components/example/example.module.d.ts +14 -0
  19. package/components/language-switcher/language-switcher.component.d.ts +3 -0
  20. package/components/language-switcher/language-switcher.module.d.ts +9 -0
  21. package/components/main/main.component.d.ts +3 -0
  22. package/components/main/main.module.d.ts +12 -0
  23. package/components/navigation/navigation.component.d.ts +8 -5
  24. package/components/navigation/navigation.module.d.ts +13 -0
  25. package/components/navigation/navigation.providers.d.ts +0 -4
  26. package/components/page/page-tab.directive.d.ts +3 -0
  27. package/components/page/page.component.d.ts +3 -0
  28. package/components/page/page.module.d.ts +11 -0
  29. package/components/page/page.providers.d.ts +1 -2
  30. package/directives/scroll-into-view/scroll-into-view.directive.d.ts +5 -8
  31. package/directives/scroll-into-view/scroll-into-view.module.d.ts +5 -6
  32. package/esm2015/addon-doc.module.js +27 -16
  33. package/esm2015/components/code/code.component.js +26 -24
  34. package/esm2015/components/code/code.module.js +15 -12
  35. package/esm2015/components/code/parse-code-block.js +2 -7
  36. package/esm2015/components/copy/copy.component.js +24 -20
  37. package/esm2015/components/copy/copy.module.js +15 -12
  38. package/esm2015/components/demo/demo.component.js +75 -59
  39. package/esm2015/components/demo/demo.module.js +54 -13
  40. package/esm2015/components/documentation/documentation-property-connector.directive.js +45 -46
  41. package/esm2015/components/documentation/documentation.component.js +54 -48
  42. package/esm2015/components/documentation/documentation.module.js +64 -21
  43. package/esm2015/components/example/example-capitalize.pipe.js +13 -10
  44. package/esm2015/components/example/example-get-tabs.pipe.js +10 -8
  45. package/esm2015/components/example/example.component.js +86 -66
  46. package/esm2015/components/example/example.module.js +42 -21
  47. package/esm2015/components/language-switcher/language-switcher.component.js +27 -20
  48. package/esm2015/components/language-switcher/language-switcher.module.js +15 -12
  49. package/esm2015/components/main/main.component.js +44 -31
  50. package/esm2015/components/main/main.module.js +36 -13
  51. package/esm2015/components/navigation/navigation.component.js +86 -69
  52. package/esm2015/components/navigation/navigation.module.js +65 -21
  53. package/esm2015/components/navigation/navigation.providers.js +14 -19
  54. package/esm2015/components/page/page-tab.directive.js +18 -15
  55. package/esm2015/components/page/page.component.js +42 -39
  56. package/esm2015/components/page/page.module.js +28 -13
  57. package/esm2015/components/page/page.providers.js +10 -12
  58. package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +30 -43
  59. package/esm2015/directives/scroll-into-view/scroll-into-view.module.js +15 -28
  60. package/esm2015/interfaces/code-editor.js +2 -1
  61. package/esm2015/interfaces/page.js +1 -1
  62. package/esm2015/interfaces/source-code-path-options.js +2 -1
  63. package/esm2015/internal/header/header.component.js +34 -23
  64. package/esm2015/internal/header/header.module.js +28 -13
  65. package/esm2015/internal/input-opacity/input-opacity.directive.js +20 -19
  66. package/esm2015/internal/input-opacity/input-opacity.module.js +14 -11
  67. package/esm2015/internal/see-also/see-also.component.js +26 -23
  68. package/esm2015/internal/see-also/see-also.module.js +15 -12
  69. package/esm2015/internal/source-code/source-code.component.js +31 -30
  70. package/esm2015/internal/source-code/source-code.module.js +15 -12
  71. package/esm2015/languages/russian.js +10 -14
  72. package/esm2015/public-api.js +8 -1
  73. package/esm2015/taiga-ui-addon-doc.js +1 -13
  74. package/esm2015/tokens/code-actions.js +1 -1
  75. package/esm2015/tokens/code-editor.js +1 -1
  76. package/esm2015/tokens/default-tabs.js +1 -1
  77. package/esm2015/tokens/example-content-processor.js +1 -1
  78. package/esm2015/tokens/i18n.js +1 -1
  79. package/esm2015/tokens/logo.js +1 -1
  80. package/esm2015/tokens/page-loaded.js +1 -1
  81. package/esm2015/tokens/pages.js +1 -1
  82. package/esm2015/tokens/scroll-behavior.js +1 -1
  83. package/esm2015/tokens/see-also.js +1 -1
  84. package/esm2015/tokens/source-code.js +2 -2
  85. package/esm2015/tokens/title.js +1 -1
  86. package/esm2015/types/pages.js +2 -1
  87. package/esm2015/utils/coerce-value.js +2 -7
  88. package/esm2015/utils/generate-routes.js +2 -8
  89. package/esm2015/utils/inspect.js +4 -7
  90. package/esm2015/utils/raw-load-record.js +4 -9
  91. package/esm2015/utils/raw-load.js +14 -8
  92. package/esm2015/utils/transliterate-keyboard-layout.js +2 -5
  93. package/fesm2015/taiga-ui-addon-doc.js +1134 -904
  94. package/fesm2015/taiga-ui-addon-doc.js.map +1 -1
  95. package/interfaces/code-editor.d.ts +0 -10
  96. package/internal/header/header.component.d.ts +3 -0
  97. package/internal/header/header.module.d.ts +11 -0
  98. package/internal/input-opacity/input-opacity.directive.d.ts +3 -0
  99. package/internal/input-opacity/input-opacity.module.d.ts +5 -0
  100. package/internal/see-also/see-also.component.d.ts +3 -0
  101. package/internal/see-also/see-also.module.d.ts +8 -0
  102. package/internal/source-code/source-code.component.d.ts +3 -0
  103. package/internal/source-code/source-code.module.d.ts +8 -0
  104. package/languages/russian.d.ts +0 -3
  105. package/package.json +11 -14
  106. package/public-api.d.ts +2 -0
  107. package/taiga-ui-addon-doc.d.ts +1 -12
  108. package/tokens/logo.d.ts +1 -1
  109. package/utils/coerce-value.d.ts +1 -5
  110. package/utils/generate-routes.d.ts +1 -6
  111. package/utils/inspect.d.ts +1 -3
  112. package/utils/raw-load-record.d.ts +1 -5
  113. package/utils/raw-load.d.ts +1 -5
  114. package/utils/transliterate-keyboard-layout.d.ts +1 -3
  115. package/bundles/taiga-ui-addon-doc.umd.min.js +0 -2
  116. package/bundles/taiga-ui-addon-doc.umd.min.js.map +0 -1
  117. package/esm2015/utils/color-conversion.js +0 -27
  118. package/esm5/addon-doc.module.js +0 -25
  119. package/esm5/components/code/code.component.js +0 -46
  120. package/esm5/components/code/code.module.js +0 -19
  121. package/esm5/components/code/parse-code-block.js +0 -21
  122. package/esm5/components/copy/copy.component.js +0 -43
  123. package/esm5/components/copy/copy.module.js +0 -19
  124. package/esm5/components/demo/demo.component.js +0 -153
  125. package/esm5/components/demo/demo.module.js +0 -43
  126. package/esm5/components/documentation/documentation-property-connector.directive.js +0 -133
  127. package/esm5/components/documentation/documentation.component.js +0 -145
  128. package/esm5/components/documentation/documentation.module.js +0 -50
  129. package/esm5/components/example/example-capitalize.pipe.js +0 -16
  130. package/esm5/components/example/example-get-tabs.pipe.js +0 -15
  131. package/esm5/components/example/example.component.js +0 -135
  132. package/esm5/components/example/example.module.js +0 -42
  133. package/esm5/components/language-switcher/language-switcher.component.js +0 -49
  134. package/esm5/components/language-switcher/language-switcher.module.js +0 -21
  135. package/esm5/components/main/main.component.js +0 -58
  136. package/esm5/components/main/main.module.js +0 -35
  137. package/esm5/components/navigation/navigation.component.js +0 -203
  138. package/esm5/components/navigation/navigation.module.js +0 -45
  139. package/esm5/components/navigation/navigation.providers.js +0 -59
  140. package/esm5/components/page/page-tab.directive.js +0 -24
  141. package/esm5/components/page/page.component.js +0 -67
  142. package/esm5/components/page/page.module.js +0 -30
  143. package/esm5/components/page/page.providers.js +0 -22
  144. package/esm5/directives/scroll-into-view/scroll-into-view.directive.js +0 -65
  145. package/esm5/directives/scroll-into-view/scroll-into-view.module.js +0 -34
  146. package/esm5/interfaces/code-editor.js +0 -1
  147. package/esm5/interfaces/page.js +0 -6
  148. package/esm5/interfaces/source-code-path-options.js +0 -1
  149. package/esm5/internal/header/header.component.js +0 -47
  150. package/esm5/internal/header/header.module.js +0 -30
  151. package/esm5/internal/input-opacity/input-opacity.directive.js +0 -36
  152. package/esm5/internal/input-opacity/input-opacity.module.js +0 -16
  153. package/esm5/internal/see-also/see-also.component.js +0 -44
  154. package/esm5/internal/see-also/see-also.module.js +0 -20
  155. package/esm5/internal/source-code/source-code.component.js +0 -61
  156. package/esm5/internal/source-code/source-code.module.js +0 -20
  157. package/esm5/languages/russian.js +0 -42
  158. package/esm5/public-api.js +0 -51
  159. package/esm5/taiga-ui-addon-doc.js +0 -17
  160. package/esm5/tokens/code-actions.js +0 -5
  161. package/esm5/tokens/code-editor.js +0 -3
  162. package/esm5/tokens/default-tabs.js +0 -5
  163. package/esm5/tokens/example-content-processor.js +0 -4
  164. package/esm5/tokens/i18n.js +0 -54
  165. package/esm5/tokens/logo.js +0 -5
  166. package/esm5/tokens/page-loaded.js +0 -5
  167. package/esm5/tokens/pages.js +0 -5
  168. package/esm5/tokens/scroll-behavior.js +0 -3
  169. package/esm5/tokens/see-also.js +0 -5
  170. package/esm5/tokens/source-code.js +0 -5
  171. package/esm5/tokens/title.js +0 -5
  172. package/esm5/types/pages.js +0 -1
  173. package/esm5/utils/coerce-value.js +0 -44
  174. package/esm5/utils/color-conversion.js +0 -27
  175. package/esm5/utils/generate-routes.js +0 -21
  176. package/esm5/utils/inspect.js +0 -68
  177. package/esm5/utils/raw-load-record.js +0 -50
  178. package/esm5/utils/raw-load.js +0 -26
  179. package/esm5/utils/transliterate-keyboard-layout.js +0 -50
  180. package/fesm5/taiga-ui-addon-doc.js +0 -2064
  181. package/fesm5/taiga-ui-addon-doc.js.map +0 -1
  182. package/taiga-ui-addon-doc.metadata.json +0 -1
  183. package/utils/color-conversion.d.ts +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-doc.js","sources":["ng://@taiga-ui/addon-doc/utils/raw-load.ts","ng://@taiga-ui/addon-doc/components/code/parse-code-block.ts","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/color-conversion.ts","ng://@taiga-ui/addon-doc/utils/inspect.ts","ng://@taiga-ui/addon-doc/utils/coerce-value.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-actions.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/utils/raw-load-record.ts","ng://@taiga-ui/addon-doc/components/example/example.component.ts","ng://@taiga-ui/addon-doc/components/example/example-capitalize.pipe.ts","ng://@taiga-ui/addon-doc/components/example/example-get-tabs.pipe.ts","ng://@taiga-ui/addon-doc/components/example/example.module.ts","ng://@taiga-ui/addon-doc/components/language-switcher/language-switcher.component.ts","ng://@taiga-ui/addon-doc/components/language-switcher/language-switcher.module.ts","ng://@taiga-ui/addon-doc/components/main/main.component.ts","ng://@taiga-ui/addon-doc/tokens/page-loaded.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/tokens/scroll-behavior.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/components/navigation/navigation.module.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/tokens/see-also.ts","ng://@taiga-ui/addon-doc/components/page/page.providers.ts","ng://@taiga-ui/addon-doc/components/page/page-tab.directive.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/interfaces/page.ts","ng://@taiga-ui/addon-doc/languages/russian.ts","ng://@taiga-ui/addon-doc/addon-doc.module.ts","ng://@taiga-ui/addon-doc/utils/generate-routes.ts","ng://@taiga-ui/addon-doc/public-api.ts","ng://@taiga-ui/addon-doc/taiga-ui-addon-doc.ts"],"sourcesContent":["import {RawLoaderContent} from '../interfaces/page';\n\n/**\n * @deprecated: use {@link tuiRawLoad} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport async function rawLoad(content: RawLoaderContent): Promise<string> {\n return content instanceof Promise ? (await content).default : content;\n}\n\nexport const tuiRawLoad = rawLoad;\n","import MarkdownIt from 'markdown-it';\nimport Token from 'markdown-it/lib/token';\n\n/**\n * @deprecated: use {@link tuiTryParseMarkdownCodeBlock} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function tryParseMarkdownCodeBlock(text: string = ``): string[] {\n const tokens: Token[] = new MarkdownIt().parse(text, {});\n const result = tokens\n .filter(({tag, type}) => tag === `code` && type === `fence`)\n .map(({content}) => content);\n\n return result.length ? result : [text];\n}\n\nexport const tuiTryParseMarkdownCodeBlock = tryParseMarkdownCodeBlock;\n","import {Component, HostBinding, Input} from '@angular/core';\nimport {BehaviorSubject} from 'rxjs';\nimport {map, switchMap} from 'rxjs/operators';\n\nimport {RawLoaderContent} from '../../interfaces/page';\nimport {rawLoad} from '../../utils/raw-load';\nimport {tryParseMarkdownCodeBlock} from './parse-code-block';\n\n@Component({\n selector: `tui-doc-code`,\n templateUrl: `./code.template.html`,\n styleUrls: [`./code.style.less`],\n})\nexport class TuiDocCodeComponent {\n private readonly rawLoader$$ = new BehaviorSubject<RawLoaderContent>(``);\n\n @Input()\n filename = ``;\n\n readonly processor$ = this.rawLoader$$.pipe(\n switchMap(rawLoad),\n map(tryParseMarkdownCodeBlock),\n );\n\n @Input()\n set code(code: RawLoaderContent) {\n this.rawLoader$$.next(code);\n }\n\n @HostBinding(`class._has-filename`)\n get hasFilename(): boolean {\n return !!this.filename;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {HighlightModule} from 'ngx-highlightjs';\n\nimport {TuiDocCodeComponent} from './code.component';\n\n@NgModule({\n imports: [CommonModule, HighlightModule],\n declarations: [TuiDocCodeComponent],\n exports: [TuiDocCodeComponent],\n})\nexport class TuiDocCodeModule {}\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {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(@Inject(TUI_COPY_TEXTS) readonly texts$: Observable<[string, string]>) {}\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(): void {\n this.copy$.next();\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\n\nimport {TuiDocCopyComponent} from './copy.component';\n\n@NgModule({\n imports: [CommonModule, TuiButtonModule],\n declarations: [TuiDocCopyComponent],\n exports: [TuiDocCopyComponent],\n})\nexport class TuiDocCopyModule {}\n","import {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 {\n factory: () => [`Read more more about modes: `, `Background`, `Form value`],\n },\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 {\n factory: () => [`Preview`, `Link to a sample was successfully copied`, `Done`],\n },\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 {\n factory: () => `See also`,\n },\n);\n\nexport const TUI_DOC_SOURCE_CODE_TEXT = new InjectionToken<string>(\n `tui-doc-source-code i18n text`,\n {\n factory: () => `Source code`,\n },\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 {px, 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';\n\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 @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 private initialX = 0;\n private wrapperWidth = 0;\n\n @Input()\n control: AbstractControl | null = null;\n\n @ContentChild(TemplateRef)\n readonly template: TemplateRef<Record<string, unknown>> | 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 mode: TuiBrightness | null = null;\n readonly change$ = new Subject<void>();\n readonly items: readonly TuiBrightness[] = [`onLight`, `onDark`];\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(PLATFORM_ID) platformId: Record<string, unknown>,\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(/tuiMode=(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 @HostListener(`window:resize`)\n onResize(): void {\n this.setResizerTextContent();\n }\n\n ngOnInit(): void {\n this.createForm();\n }\n\n ngAfterViewInit(): void {\n this.setResizerTextContent();\n }\n\n setResizerTextContent(): void {\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 onDragStart(event: MouseEvent): void {\n event.preventDefault();\n this.initialX = event.clientX;\n this.wrapperWidth = this.wrapper ? this.wrapper.nativeElement.offsetWidth : 0;\n }\n\n onDragContinues(event: MouseEvent): void {\n const deltaX = this.initialX - event.clientX;\n\n this.resizeContent(deltaX);\n this.setResizerTextContent();\n }\n\n onDragEnd(): void {\n this.wrapperWidth = this.wrapper ? this.wrapper.nativeElement.offsetWidth : 0;\n }\n\n toggleDetails(): void {\n this.expanded = !this.expanded;\n }\n\n updateOnChange(updateOn: 'change' | 'blur' | 'submit'): void {\n this.updateOn = updateOn;\n this.createForm();\n }\n\n private createForm(): void {\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): void {\n if (!this.wrapper) {\n return;\n }\n\n this.renderer.setStyle(\n this.wrapper.nativeElement,\n `width`,\n px(Math.max(this.wrapperWidth - delta, MIN_COMPONENT_WIDTH)),\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';\n\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","/**\n * TODO: duplicate, need fix it before v3\n * TODO: move another package for reuse between addon-editor and addon-doc\n * @deprecated: use {@link tuiRgbToHex} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function rgbToHex(r: number, g: number, b: number): string {\n return `#${[r, g, b].map(x => x.toString(16).padStart(2, `0`)).join(``)}`;\n}\n\nexport const tuiRgbToHex = rgbToHex;\n\n/**\n * @deprecated: use {@link tuiHexToRgb} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\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\nexport const tuiHexToRgb = hexToRgb;\n","function inspectArray(array: readonly unknown[], 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]: unknown}, 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/**\n * @deprecated: use {@link tuiInspectAny} instead\n * Returns readable JS entity\n * @param data\n * @param depth\n * @return readable JS entity\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function inspectAny<T>(data: T, 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 String(data);\n }\n\n if (Array.isArray(data)) {\n return inspectArray(data, depth);\n }\n\n return inspectObject(data as unknown as {[key: string]: unknown}, depth);\n}\n\nexport const tuiInspectAny = inspectAny;\n","/**\n * @deprecated: use {@link tuiCoerceValue} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function coerceValue<T>(value?: T): T | number | string | boolean | null | object {\n const prepared = String(value).trim();\n\n if (isEmptyParamValue(prepared)) {\n return null;\n } else if (isBooleanParamValue(prepared)) {\n return String(prepared) === `true`;\n } else if (isNumberParamValue(prepared)) {\n return Number(prepared);\n }\n\n const decodedValue = decodeURIComponent(prepared);\n\n try {\n return isPossibleArray(decodedValue) || isPossibleObject(decodedValue)\n ? JSON.parse(decodedValue)\n : decodedValue;\n } catch {\n return decodedValue;\n }\n}\n\nexport const tuiCoerceValue = coerceValue;\n\nfunction isEmptyParamValue(value: string): boolean {\n return [`undefined`, `null`, `NaN`, `Infinity`].includes(value);\n}\n\nfunction isBooleanParamValue(value: string): boolean {\n return value === `true` || value === `false`;\n}\n\nfunction isNumberParamValue(value: string): boolean {\n // TODO: investigate to disallow potentially catastrophic exponential-time regular expressions.\n // eslint-disable-next-line unicorn/no-unsafe-regex\n return /^-?[\\d.]+(?:e-?\\d+)?$/.test(value);\n}\n\nfunction isPossibleArray(value: string): boolean {\n return value.startsWith(`[`) && value.endsWith(`]`);\n}\n\nfunction isPossibleObject(value: string): boolean {\n return value.startsWith(`{`) && value.endsWith(`}`);\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 {BehaviorSubject, Subject} from 'rxjs';\n\nimport {coerceValue} from '../../utils/coerce-value';\n\nconst SERIALIZED_SUFFIX = `$`;\n\nexport type DocumentationPropertyType = 'input' | 'output' | 'input-output' | null;\n\n// @bad TODO: refactor output and value sync\n@Directive({\n selector: `ng-template[documentationPropertyName]`,\n exportAs: `documentationProperty`,\n})\nexport class TuiDocDocumentationPropertyConnectorDirective<T>\n implements OnInit, OnChanges\n{\n @Input()\n documentationPropertyName = ``;\n\n @Input()\n documentationPropertyMode: DocumentationPropertyType = null;\n\n @Input()\n documentationPropertyType = ``;\n\n @Input()\n documentationPropertyValue!: T;\n\n @Input()\n documentationPropertyDeprecated = false;\n\n @Input()\n documentationPropertyValues: readonly T[] | null = null;\n\n @Output()\n readonly documentationPropertyValueChange = new EventEmitter<T>();\n\n readonly changed$ = new Subject<void>();\n\n readonly emits$ = new BehaviorSubject(1);\n\n constructor(\n @Inject(TemplateRef) readonly template: TemplateRef<Record<string, unknown>>,\n @Inject(Location) private readonly locationRef: Location,\n @Inject(ActivatedRoute) private readonly activatedRoute: ActivatedRoute,\n @Inject(UrlSerializer) private readonly urlSerializer: UrlSerializer,\n ) {}\n\n ngOnInit(): void {\n this.parseParams(this.activatedRoute.snapshot.queryParams);\n }\n\n get attrName(): string {\n switch (this.documentationPropertyMode) {\n case `input`:\n return `[${this.documentationPropertyName}]`;\n case `output`:\n return `(${this.documentationPropertyName})`;\n case `input-output`:\n return `[(${this.documentationPropertyName})]`;\n default:\n return this.documentationPropertyName;\n }\n }\n\n get hasItems(): boolean {\n return !!this.documentationPropertyValues;\n }\n\n get shouldShowValues(): boolean {\n return this.documentationPropertyMode !== `output`;\n }\n\n ngOnChanges(): void {\n this.changed$.next();\n }\n\n onValueChange(value: T): void {\n this.documentationPropertyValue = value;\n this.documentationPropertyValueChange.emit(value);\n this.setQueryParam(value);\n }\n\n emitEvent(event: unknown): void {\n // For more convenient debugging\n console.info(this.attrName, event);\n\n this.emits$.next(this.emits$.value + 1);\n }\n\n private parseParams(params: Params): void {\n const propertyValue: string | undefined = params[this.documentationPropertyName];\n const propertyValueWithSuffix: string | number | undefined =\n params[`${this.documentationPropertyName}${SERIALIZED_SUFFIX}`];\n\n if (!propertyValue && !propertyValueWithSuffix) {\n return;\n }\n\n const value =\n !!propertyValueWithSuffix && this.documentationPropertyValues\n ? this.documentationPropertyValues[propertyValueWithSuffix as number]\n : coerceValue(propertyValue);\n\n this.onValueChange(value as T);\n }\n\n private setQueryParam(value: T | string | number | boolean | null): void {\n const tree = this.urlSerializer.parse(this.locationRef.path());\n\n const isValueAvailableByKey = value instanceof Object;\n const computedValue =\n isValueAvailableByKey && this.documentationPropertyValues\n ? this.documentationPropertyValues.indexOf(value as T)\n : value;\n\n const suffix = isValueAvailableByKey ? SERIALIZED_SUFFIX : ``;\n const propName = this.documentationPropertyName + suffix;\n\n tree.queryParams = {\n ...tree.queryParams,\n [propName]: computedValue,\n };\n\n this.locationRef.go(String(tree));\n }\n}\n","import {animate, style, transition, trigger} from '@angular/animations';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY, itemsQueryListObservable, watch} from '@taiga-ui/cdk';\nimport {merge} from 'rxjs';\nimport {switchMap} from 'rxjs/operators';\n\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 animations: [\n trigger(`emitEvent`, [\n transition(`:increment`, [style({opacity: 1}), animate(`500ms ease-in`)]),\n ]),\n ],\n})\nexport class TuiDocDocumentationComponent implements AfterContentInit {\n @Input()\n heading = ``;\n\n @Input()\n showValues = true;\n\n @Input()\n isAPI = false;\n\n @ContentChildren(TuiDocDocumentationPropertyConnectorDirective)\n propertiesConnectors: QueryList<TuiDocDocumentationPropertyConnectorDirective<any>> =\n EMPTY_QUERY;\n\n activeItemIndex = 0;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_DOC_DOCUMENTATION_TEXTS)\n readonly texts: [string, string, string, string, string],\n ) {}\n\n ngAfterContentInit(): void {\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 .slice(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 ): void {\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 ): void {\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 isPrimitivePolymorpheusContent(value: unknown): boolean {\n return typeof value === `string` || typeof value === `number`;\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: unknown): 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';\n\nimport {TuiInputOpacityDirective} from './input-opacity.directive';\n\n@NgModule({\n declarations: [TuiInputOpacityDirective],\n exports: [TuiInputOpacityDirective],\n})\nexport class TuiInputOpacityModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {\n TuiDataListModule,\n TuiDropdownControllerModule,\n TuiGroupModule,\n TuiHintControllerModule,\n TuiLinkModule,\n TuiModeModule,\n TuiNotificationModule,\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';\n\nimport {TuiInputOpacityModule} from '../../internal/input-opacity/input-opacity.module';\nimport {TuiDocDocumentationComponent} from './documentation.component';\nimport {TuiDocDocumentationPropertyConnectorDirective} from './documentation-property-connector.directive';\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 TuiNotificationModule,\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 {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_DOC_CODE_ACTIONS = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<string>>\n>(`Code actions for the opened tab with code example`, {\n factory: () => ``,\n});\n","import {InjectionToken} from '@angular/core';\n\nimport {TuiCodeEditor} from '../interfaces/code-editor';\n\nexport const TUI_DOC_CODE_EDITOR = new InjectionToken<TuiCodeEditor>(\n `Contains service for opening online IDE e.g. Stackblitz`,\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\nexport const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR: InjectionToken<\n TuiHandler<Record<string, string>, Record<string, string>>\n> = new InjectionToken(`Processes content in example`, {factory: () => identity});\n","import {TuiDocExample} from '../interfaces/page';\nimport {rawLoad} from './raw-load';\n\n/**\n * @deprecated: use {@link tuiRawLoadRecord} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport async function rawLoadRecord(\n example: TuiDocExample,\n): Promise<Record<string, string>> {\n const processedContent: Record<string, string> = {};\n\n for (const [key, content] of Object.entries(example)) {\n if (content) {\n processedContent[key] = await rawLoad(content);\n }\n }\n\n return processedContent;\n}\n\nexport const tuiRawLoadRecord = rawLoadRecord;\n","import {Clipboard} from '@angular/cdk/clipboard';\nimport {Location as NgLocation} from '@angular/common';\nimport {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n Optional,\n} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {LOCATION} from '@ng-web-apis/common';\nimport {TUI_IS_CYPRESS, TuiHandler} 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 {BehaviorSubject, Observable, Subject} from 'rxjs';\nimport {map, switchMap} from 'rxjs/operators';\n\nimport {TuiCodeEditor} from '../../interfaces/code-editor';\nimport {TuiDocExample} from '../../interfaces/page';\nimport {TUI_DOC_CODE_ACTIONS} from '../../tokens/code-actions';\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';\nimport {rawLoadRecord} from '../../utils/raw-load-record';\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 private readonly rawLoader$$ = new BehaviorSubject<TuiDocExample>({});\n\n @Input()\n heading: PolymorpheusContent = ``;\n\n @Input()\n description: PolymorpheusContent = ``;\n\n @Input()\n set content(content: TuiDocExample) {\n this.rawLoader$$.next(content);\n }\n\n @Input()\n componentName: string = this.location.pathname.slice(1);\n\n readonly defaultTabIndex = 0;\n\n readonly defaultTab = this.texts[this.defaultTabIndex];\n\n activeItemIndex = this.defaultTabIndex;\n\n readonly copy$ = this.copyTexts$.pipe(map(([copy]) => copy));\n\n readonly processor$: Observable<Record<string, string>> = this.rawLoader$$.pipe(\n switchMap(rawLoadRecord),\n map(value => this.processContent(value)),\n );\n\n readonly loading$ = new Subject<boolean>();\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: TuiCodeEditor | null,\n @Inject(TUI_DOC_EXAMPLE_CONTENT_PROCESSOR)\n private readonly processContent: TuiHandler<\n Record<string, string>,\n Record<string, string>\n >,\n @Inject(TUI_IS_CYPRESS) readonly isCypress: boolean,\n @Inject(TUI_DOC_CODE_ACTIONS) readonly codeActions: PolymorpheusContent[],\n @Inject(Router) private readonly router: Router,\n @Inject(ActivatedRoute) private readonly route: ActivatedRoute,\n @Inject(NgLocation) private readonly ngLocation: NgLocation,\n ) {}\n\n copyExampleLink(): void {\n const hashPosition = this.location.href.indexOf(`#`);\n const currentUrl =\n hashPosition > -1\n ? this.location.href.slice(0, Math.max(0, hashPosition))\n : this.location.href;\n const url = `${currentUrl}#${this.id}`;\n\n this.setFragmentWithoutRedirect(this.id);\n this.clipboard.copy(url);\n this.notifications\n .show(this.texts[1], {\n label: this.texts[2],\n status: TuiNotification.Success,\n })\n .subscribe();\n }\n\n edit(files: Record<string, string>): void {\n this.loading$.next(true);\n this.codeEditor\n ?.edit(this.componentName, this.id ?? ``, files)\n .finally(() => this.loading$.next(false));\n }\n\n private setFragmentWithoutRedirect(id: string | null): void {\n const url = this.router\n .createUrlTree([], {relativeTo: this.route, fragment: id || ``})\n .toString();\n\n this.ngLocation.go(url);\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {capitalizeFirstLetter} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Pipe({name: `tuiDocExampleCapitalize`})\nexport class TuiDocExampleCapitalizePipe implements PipeTransform {\n transform(content: PolymorpheusContent): PolymorpheusContent {\n return typeof content === `string` ? capitalizeFirstLetter(content) : content;\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: `tuiDocExampleGetTabs`})\nexport class TuiDocExampleGetTabsPipe implements PipeTransform {\n transform(content: Record<string, string>, defaultTab: string): string[] {\n return [defaultTab, ...Object.keys(content)];\n }\n}\n","import {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';\n\nimport {TuiDocCodeModule} from '../code/code.module';\nimport {TuiDocCopyModule} from '../copy/copy.module';\nimport {TuiDocExampleComponent} from './example.component';\nimport {TuiDocExampleCapitalizePipe} from './example-capitalize.pipe';\nimport {TuiDocExampleGetTabsPipe} from './example-get-tabs.pipe';\n\n@NgModule({\n imports: [\n CommonModule,\n ClipboardModule,\n TuiTabsModule,\n TuiButtonModule,\n TuiDocCopyModule,\n TuiDocCodeModule,\n PolymorpheusModule,\n ],\n declarations: [\n TuiDocExampleComponent,\n TuiDocExampleGetTabsPipe,\n TuiDocExampleCapitalizePipe,\n ],\n exports: [\n TuiDocExampleComponent,\n TuiDocExampleGetTabsPipe,\n TuiDocExampleCapitalizePipe,\n ],\n})\nexport class TuiDocExampleModule {}\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {FormControl} from '@angular/forms';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {TUI_ICONS_PATH, tuiCapitalizeFirstLetter} from '@taiga-ui/core';\nimport {TuiCountryIsoCode, TuiLanguageName, TuiLanguageSwitcher} from '@taiga-ui/i18n';\n\n@Component({\n selector: `tui-language-switcher`,\n templateUrl: `./language-switcher.component.html`,\n styleUrls: [`./language-switcher.component.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiLanguageSwitcherComponent {\n private readonly path = this.iconsPath(`tuiIcon`).replace(`tuiIcon.svg#tuiIcon`, ``);\n\n readonly language = new FormControl(tuiCapitalizeFirstLetter(this.switcher.language));\n\n readonly flags: Map<TuiLanguageName, TuiCountryIsoCode> = new Map([\n [`chinese`, TuiCountryIsoCode.CN],\n [`dutch`, TuiCountryIsoCode.NL],\n [`english`, TuiCountryIsoCode.GB],\n [`french`, TuiCountryIsoCode.FR],\n [`german`, TuiCountryIsoCode.DE],\n [`italian`, TuiCountryIsoCode.IT],\n [`polish`, TuiCountryIsoCode.PL],\n [`portuguese`, TuiCountryIsoCode.PT],\n [`russian`, TuiCountryIsoCode.RU],\n [`spanish`, TuiCountryIsoCode.ES],\n [`turkish`, TuiCountryIsoCode.TR],\n [`ukrainian`, TuiCountryIsoCode.UA],\n [`vietnamese`, TuiCountryIsoCode.VN],\n ]);\n\n readonly names: TuiLanguageName[] = Array.from(this.flags.keys());\n\n constructor(\n @Inject(TuiLanguageSwitcher) readonly switcher: TuiLanguageSwitcher,\n @Inject(TUI_ICONS_PATH) private readonly iconsPath: TuiStringHandler<string>,\n ) {}\n\n getFlagPath(code?: TuiCountryIsoCode): string | null {\n return code ? `${this.path}${code}.png` : null;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {TuiDataListModule} from '@taiga-ui/core';\nimport {TuiSelectModule} from '@taiga-ui/kit';\n\nimport {TuiLanguageSwitcherComponent} from './language-switcher.component';\n\n@NgModule({\n exports: [TuiLanguageSwitcherComponent],\n declarations: [TuiLanguageSwitcherComponent],\n imports: [CommonModule, TuiSelectModule, TuiDataListModule, ReactiveFormsModule],\n})\nexport class TuiLanguageSwitcherModule {}\n","import {\n Component,\n forwardRef,\n HostBinding,\n Inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {LOCAL_STORAGE, WINDOW} from '@ng-web-apis/common';\nimport {TuiSwipeService} from '@taiga-ui/cdk';\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 TuiSwipeService,\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 @HostBinding(`attr.data-mode`)\n get mode(): TuiBrightness | null {\n return this.night ? `onDark` : null;\n }\n\n onMode(night: boolean): void {\n this.night = night;\n this.change$.next();\n this.storage.setItem(`night`, String(night));\n }\n}\n","import {InjectionToken} from '@angular/core';\nimport {defer, Observable, of, timer} from 'rxjs';\nimport {switchMapTo} from 'rxjs/operators';\n\nexport const TUI_DOC_PAGE_LOADED = new InjectionToken<Observable<boolean>>(\n `[TUI_DOC_PAGE_LOADED] Stream that emits if loading of page is over (for example, to begin scrollIntoView)`,\n {factory: () => defer(() => timer(200).pipe(switchMapTo(of(true))))},\n);\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {getElementObscurers, TuiDestroyService} from '@taiga-ui/cdk';\nimport {Observable, ReplaySubject} from 'rxjs';\nimport {debounceTime, filter, switchMapTo, takeUntil} from 'rxjs/operators';\n\nimport {TUI_DOC_PAGE_LOADED} from '../../tokens/page-loaded';\n\n/**\n * @deprecated: use {@link TuiScrollIntoViewLinkDirective}\n * TODO: remove in v3.0\n */\n@Directive({\n selector: `[scrollIntoView]`,\n providers: [TuiDestroyService],\n})\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class ScrollIntoViewDirective {\n @Input()\n set scrollIntoView(shallWe: boolean) {\n this.scroll$.next(shallWe);\n }\n\n private readonly scroll$ = new ReplaySubject<boolean>(1);\n\n constructor(\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TUI_DOC_PAGE_LOADED)\n readonly readyToScroll$: Observable<boolean>,\n ) {\n this.readyToScroll$\n .pipe(\n filter(Boolean),\n switchMapTo(this.scroll$),\n debounceTime(750),\n filter(shallWe => shallWe && !!getElementObscurers(nativeElement)),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n nativeElement.scrollIntoView();\n });\n }\n}\n\n@Directive({\n selector: `[tuiScrollIntoViewLink]`,\n providers: [TuiDestroyService],\n})\nexport class TuiScrollIntoViewLinkDirective extends ScrollIntoViewDirective {}\n","import {NgModule} from '@angular/core';\n\nimport {\n ScrollIntoViewDirective,\n TuiScrollIntoViewLinkDirective,\n} from './scroll-into-view.directive';\n\n/**\n * @deprecated: use {@link TuiScrollIntoViewLinkModule}\n * TODO: remove in v3.0\n */\n@NgModule({\n declarations: [ScrollIntoViewDirective],\n exports: [ScrollIntoViewDirective],\n})\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport class ScrollIntoViewModule {}\n\n@NgModule({\n declarations: [TuiScrollIntoViewLinkDirective],\n exports: [TuiScrollIntoViewLinkDirective],\n})\nexport class TuiScrollIntoViewLinkModule {}\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_SCROLL_BEHAVIOR = new InjectionToken<ScrollBehavior>(\n `[TUI_DOC_SCROLL_BEHAVIOR] Defines the transition animation for scroll`,\n {factory: () => `smooth`},\n);\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 * @deprecated: use {@link tuiTransliterateKeyboardLayout} instead\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 */\n// eslint-disable-next-line @typescript-eslint/naming-convention\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\nexport const tuiTransliterateKeyboardLayout = transliterateKeyboardLayout;\n","import {InjectionToken} from '@angular/core';\n\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';\n\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<readonly TuiDocPages[]> =\n new InjectionToken<readonly 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\n// eslint-disable-next-line @typescript-eslint/naming-convention\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\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function labelsProviderFactory(pages: TuiDocPages): readonly string[] {\n return pages\n .map(({section}) => section)\n .filter(isPresent)\n .filter((item, index, array) => array.indexOf(item) === index);\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function itemsProviderFactory(pages: TuiDocPages): readonly TuiDocPages[] {\n const labels = labelsProviderFactory(pages);\n\n return [\n ...labels.map(label => pages.filter(({section}) => section === label)),\n pages.filter(page => !page.section),\n ];\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Optional,\n} from '@angular/core';\nimport {Title} from '@angular/platform-browser';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {TuiSidebarDirective} from '@taiga-ui/addon-mobile';\nimport {TuiDestroyService, tuiPure, uniqBy} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {filter, map, startWith, take, takeUntil} from 'rxjs/operators';\n\nimport {TuiDocPage} from '../../interfaces/page';\nimport {TUI_DOC_SEARCH_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_PAGE_LOADED} from '../../tokens/page-loaded';\nimport {TUI_DOC_SCROLL_BEHAVIOR} from '../../tokens/scroll-behavior';\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\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 @HostBinding(`class._open`)\n menuOpen = false;\n\n search = ``;\n open = false;\n openPagesArr: boolean[] = [];\n openPagesGroupsArr: boolean[] = [];\n active = ``;\n\n readonly mode$: Observable<TuiBrightness> = this.mode.change$.pipe(\n startWith(null),\n map(() => this.mode.mode || `onLight`),\n );\n\n constructor(\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\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 @Optional()\n @Inject(TuiSidebarDirective)\n readonly sidebar: unknown,\n @Inject(NAVIGATION_LABELS) readonly labels: string[],\n @Inject(NAVIGATION_ITEMS)\n readonly items: readonly TuiDocPages[],\n @Inject(TUI_DOC_SEARCH_TEXT) readonly searchText: string,\n @Inject(Router) private readonly router: Router,\n @Inject(ActivatedRoute) private readonly activatedRoute: ActivatedRoute,\n @Inject(TuiDestroyService) private readonly destroy$: Observable<void>,\n @Inject(TUI_DOC_PAGE_LOADED)\n private readonly readyToScroll$: Observable<boolean>,\n @Inject(TUI_DOC_SCROLL_BEHAVIOR) private readonly scrollBehavior: ScrollBehavior,\n ) {\n // Angular can't navigate no anchor links\n // https://stackoverflow.com/questions/36101756/angular2-routing-with-hashtag-to-page-anchor\n title$.subscribe(title => {\n changeDetectorRef.markForCheck();\n titleService.setTitle(title);\n this.openActivePageGroup();\n this.handleAnchorLink(this.activatedRoute.snapshot.fragment);\n });\n }\n\n get canOpen(): boolean {\n return this.search.length > 2;\n }\n\n get filteredItems(): ReadonlyArray<readonly TuiDocPage[]> {\n return this.filterItems(this.flattenSubPages(this.items), this.search);\n }\n\n get itemsWithoutSections(): TuiDocPages {\n return this.items[this.items.length - 1];\n }\n\n isActive(route: string): boolean {\n return route === this.active;\n }\n\n onGroupClick(index: number): void {\n this.openPagesGroupsArr[index] = !this.openPagesGroupsArr[index];\n }\n\n closeMenu(): void {\n this.menuOpen = false;\n }\n\n onSearchChange(search: string): void {\n this.search = search;\n this.open = this.canOpen;\n }\n\n onClick(): void {\n this.open = false;\n this.menuOpen = false;\n this.search = ``;\n this.openActivePageGroup();\n }\n\n @tuiPure\n private filterItems(\n items: ReadonlyArray<readonly TuiDocPage[]>,\n search: string,\n ): ReadonlyArray<readonly TuiDocPage[]> {\n return items.map(section =>\n 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: readonly TuiDocPages[],\n ): ReadonlyArray<readonly TuiDocPage[]> {\n return items.reduce<ReadonlyArray<readonly TuiDocPage[]>>(\n (array, item) => [\n ...array,\n item.reduce<readonly TuiDocPage[]>(\n (pages, page) =>\n `subPages` in page\n ? [...pages, ...page.subPages]\n : [...pages, page],\n [],\n ),\n ],\n [],\n );\n }\n\n private isActiveRoute(route: string): boolean {\n return this.router.isActive(route, false);\n }\n\n private handleAnchorLink(hash: string): void {\n this.readyToScroll$\n .pipe(filter(Boolean), take(1), takeUntil(this.destroy$))\n .subscribe(() => this.navigateToAnchorLink(hash));\n }\n\n private openActivePageGroup(): void {\n this.items.forEach((pages, pagesIndex) => {\n pages.forEach((page, pageIndex) => {\n if (`route` in page && this.isActiveRoute(page.route)) {\n this.openPagesArr[pagesIndex] = true;\n this.active = page.route;\n }\n\n if (`subPages` in page) {\n page.subPages.forEach(subPage => {\n if (this.isActiveRoute(subPage.route)) {\n this.openPagesArr[pagesIndex] = true;\n this.openPagesGroupsArr[pagesIndex * 100 + pageIndex] = true;\n this.active = subPage.route;\n }\n });\n }\n });\n });\n }\n\n private navigateToAnchorLink(fragment: string): void {\n const 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: this.scrollBehavior,\n });\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiActiveZoneModule, TuiAutoFocusModule, 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';\n\nimport {\n ScrollIntoViewModule,\n TuiScrollIntoViewLinkModule,\n} 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 TuiScrollIntoViewLinkModule,\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 TuiAutoFocusModule,\n ],\n declarations: [TuiDocNavigationComponent],\n exports: [TuiDocNavigationComponent],\n})\nexport class TuiDocNavigationModule {}\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 {TuiSwipeService} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {merge, Subject} from 'rxjs';\nimport {distinctUntilChanged, filter, map, mapTo, startWith} from 'rxjs/operators';\n\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(\n this.router.events.pipe(mapTo(false)),\n this.stream$,\n this.swipes$.pipe(\n filter(swipe => swipe.direction === `left` || swipe.direction === `right`),\n map(swipe => swipe.direction === `right`),\n ),\n ).pipe(startWith(false), distinctUntilChanged());\n\n constructor(\n @Inject(TUI_DOC_LOGO) readonly logo: PolymorpheusContent,\n @Inject(TUI_DOC_MENU_TEXT) readonly menu: string,\n @Inject(Router) private readonly router: Router,\n @Inject(TuiSwipeService) private readonly swipes$: TuiSwipeService,\n ) {}\n\n onClick(): void {\n this.stream$.next(true);\n }\n\n onActiveZone(active: boolean): void {\n if (!active) {\n this.stream$.next(false);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSidebarModule} from '@taiga-ui/addon-mobile';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocNavigationModule} from '../../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 TuiAlertModule,\n TuiDialogModule,\n TuiRootModule,\n TuiThemeNightModule,\n} from '@taiga-ui/core';\nimport {TuiToggleModule} from '@taiga-ui/kit';\n\nimport {TuiDocHeaderModule} from '../../internal/header/header.module';\nimport {TuiDocNavigationModule} from '../navigation/navigation.module';\nimport {TuiDocMainComponent} from './main.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n TuiToggleModule,\n TuiThemeNightModule,\n TuiDocHeaderModule,\n TuiRootModule,\n TuiDialogModule,\n TuiAlertModule,\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 {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';\n\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\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function seeAlsoProviderFactory(\n {nativeElement}: ElementRef,\n seeAlsoGroups: ReadonlyArray<readonly string[]>,\n): readonly string[] {\n const currentHeader = nativeElement.getAttribute(`header`);\n const groups = seeAlsoGroups.filter(group => group.includes(currentHeader)) || [];\n\n const seeAlsoSet = new Set(\n groups\n .join()\n .split(`,`)\n .filter(component => component && component !== currentHeader),\n );\n\n return Array.from(seeAlsoSet);\n}\n","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(\n @Inject(TemplateRef) readonly template: TemplateRef<Record<string, unknown>>,\n ) {}\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';\n\nimport {TUI_DOC_DEFAULT_TABS} from '../../tokens/default-tabs';\nimport {PAGE_PROVIDERS, PAGE_SEE_ALSO} from './page.providers';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\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 @ContentChildren(TuiDocPageTabConnectorDirective)\n readonly tabConnectors: QueryList<TuiDocPageTabConnectorDirective> = EMPTY_QUERY;\n\n activeItemIndex = NaN;\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';\n\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?.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';\n\nimport {TuiDocSeeAlsoComponent} from './see-also.component';\n\n@NgModule({\n imports: [CommonModule, RouterModule, TuiLinkModule],\n declarations: [TuiDocSeeAlsoComponent],\n exports: [TuiDocSeeAlsoComponent],\n})\nexport class TuiDocSeeAlsoModule {}\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\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';\n\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';\n\nimport {TuiDocSourceCodeComponent} from './source-code.component';\n\n@NgModule({\n declarations: [TuiDocSourceCodeComponent],\n imports: [CommonModule, PolymorpheusModule, TuiButtonModule],\n exports: [TuiDocSourceCodeComponent],\n})\nexport class TuiDocSourceCodeModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiTabsModule, TuiTagModule} from '@taiga-ui/kit';\n\nimport {TuiDocSeeAlsoModule} from '../../internal/see-also/see-also.module';\nimport {TuiDocSourceCodeModule} from '../../internal/source-code/source-code.module';\nimport {TuiDocPageComponent} from './page.component';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n TuiDocSeeAlsoModule,\n TuiTabsModule,\n TuiTagModule,\n TuiDocSourceCodeModule,\n ],\n declarations: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n exports: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n})\nexport class TuiDocPageModule {}\n","export interface TuiDocPageBase {\n readonly section?: string;\n readonly title: string;\n}\n\nexport interface TuiDocPage extends TuiDocPageBase {\n readonly route: string;\n readonly keywords?: string;\n}\n\nexport interface TuiDocPageGroup extends TuiDocPageBase {\n readonly subPages: readonly TuiDocPage[];\n}\n\nexport type RawLoaderContent = Promise<{default: string}> | string;\n\nexport const TUI_EXAMPLE_PRIMARY_FILE_NAME = {\n TS: `TypeScript`,\n LESS: `LESS`,\n HTML: `HTML`,\n} as const;\n\nexport type TuiDocExample =\n | Record<string, RawLoaderContent>\n | {\n [TUI_EXAMPLE_PRIMARY_FILE_NAME.TS]?: string;\n [TUI_EXAMPLE_PRIMARY_FILE_NAME.HTML]?: string;\n [TUI_EXAMPLE_PRIMARY_FILE_NAME.LESS]?: string;\n };\n","import {Provider} from '@angular/core';\n\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: 3.0 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 {NgModule} from '@angular/core';\n\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","import {Type} from '@angular/core';\nimport {Routes} from '@angular/router';\n\n/**\n * @deprecated: use {@link tuiGenerateRoutes} instead\n * Generates typical page routing structure\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function generateRoutes(type: Type<unknown>): Routes {\n return [\n {\n path: ``,\n component: type,\n children: [\n {\n path: `:tab`,\n component: type,\n },\n ],\n },\n ];\n}\n\nexport const tuiGenerateRoutes = generateRoutes;\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/code/parse-code-block';\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/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/language-switcher/language-switcher.component';\nexport * from './components/language-switcher/language-switcher.module';\nexport * from './components/main/main.component';\nexport * from './components/main/main.module';\nexport * from './components/navigation/navigation.component';\nexport * from './components/navigation/navigation.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-actions';\nexport * from './tokens/code-editor';\nexport * from './tokens/default-tabs';\nexport * from './tokens/example-content-processor';\nexport * from './tokens/i18n';\nexport * from './tokens/logo';\nexport * from './tokens/page-loaded';\nexport * from './tokens/pages';\nexport * from './tokens/scroll-behavior';\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 './addon-doc.module';\nexport * from './utils/coerce-value';\nexport * from './utils/generate-routes';\nexport * from './utils/raw-load';\nexport * from './utils/raw-load-record';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {TuiDocExampleCapitalizePipe as ɵd} from './components/example/example-capitalize.pipe';\nexport {TuiDocExampleGetTabsPipe as ɵc} from './components/example/example-get-tabs.pipe';\nexport {NAVIGATION_ITEMS as ɵh,NAVIGATION_LABELS as ɵg,NAVIGATION_PROVIDERS as ɵi,NAVIGATION_TITLE as ɵf,itemsProviderFactory as ɵl,labelsProviderFactory as ɵk,titleProviderFactory as ɵj} from './components/navigation/navigation.providers';\nexport {PAGE_PROVIDERS as ɵo,PAGE_SEE_ALSO as ɵn,seeAlsoProviderFactory as ɵp} from './components/page/page.providers';\nexport {TuiDocHeaderComponent as ɵm} from './internal/header/header.component';\nexport {TuiDocHeaderModule as ɵe} from './internal/header/header.module';\nexport {TuiInputOpacityDirective as ɵb} from './internal/input-opacity/input-opacity.directive';\nexport {TuiInputOpacityModule as ɵa} from './internal/input-opacity/input-opacity.module';\nexport {TuiDocSeeAlsoComponent as ɵr} from './internal/see-also/see-also.component';\nexport {TuiDocSeeAlsoModule as ɵq} from './internal/see-also/see-also.module';\nexport {TuiDocSourceCodeComponent as ɵt} from './internal/source-code/source-code.component';\nexport {TuiDocSourceCodeModule as ɵs} from './internal/source-code/source-code.module';"],"names":["Location","NgLocation"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-doc.js","sources":["../../../projects/addon-doc/src/utils/raw-load.ts","../../../projects/addon-doc/src/components/code/parse-code-block.ts","../../../projects/addon-doc/src/components/code/code.component.ts","../../../projects/addon-doc/src/components/code/code.template.html","../../../projects/addon-doc/src/components/code/code.module.ts","../../../projects/addon-doc/src/components/copy/copy.component.ts","../../../projects/addon-doc/src/components/copy/copy.template.html","../../../projects/addon-doc/src/components/copy/copy.module.ts","../../../projects/addon-doc/src/tokens/i18n.ts","../../../projects/addon-doc/src/components/demo/demo.component.ts","../../../projects/addon-doc/src/components/demo/demo.template.html","../../../projects/addon-doc/src/components/demo/demo.module.ts","../../../projects/addon-doc/src/utils/inspect.ts","../../../projects/addon-doc/src/utils/coerce-value.ts","../../../projects/addon-doc/src/components/documentation/documentation-property-connector.directive.ts","../../../projects/addon-doc/src/internal/input-opacity/input-opacity.directive.ts","../../../projects/addon-doc/src/components/documentation/documentation.component.ts","../../../projects/addon-doc/src/components/documentation/documentation.template.html","../../../projects/addon-doc/src/internal/input-opacity/input-opacity.module.ts","../../../projects/addon-doc/src/components/documentation/documentation.module.ts","../../../projects/addon-doc/src/tokens/code-actions.ts","../../../projects/addon-doc/src/tokens/code-editor.ts","../../../projects/addon-doc/src/tokens/example-content-processor.ts","../../../projects/addon-doc/src/utils/raw-load-record.ts","../../../projects/addon-doc/src/components/example/example-capitalize.pipe.ts","../../../projects/addon-doc/src/components/example/example-get-tabs.pipe.ts","../../../projects/addon-doc/src/components/example/example.component.ts","../../../projects/addon-doc/src/components/example/example.template.html","../../../projects/addon-doc/src/components/example/example.module.ts","../../../projects/addon-doc/src/components/language-switcher/language-switcher.component.ts","../../../projects/addon-doc/src/components/language-switcher/language-switcher.component.html","../../../projects/addon-doc/src/components/language-switcher/language-switcher.module.ts","../../../projects/addon-doc/src/tokens/page-loaded.ts","../../../projects/addon-doc/src/tokens/scroll-behavior.ts","../../../projects/addon-doc/src/utils/transliterate-keyboard-layout.ts","../../../projects/addon-doc/src/tokens/pages.ts","../../../projects/addon-doc/src/tokens/title.ts","../../../projects/addon-doc/src/components/navigation/navigation.providers.ts","../../../projects/addon-doc/src/directives/scroll-into-view/scroll-into-view.directive.ts","../../../projects/addon-doc/src/components/navigation/navigation.component.ts","../../../projects/addon-doc/src/components/navigation/navigation.template.html","../../../projects/addon-doc/src/tokens/logo.ts","../../../projects/addon-doc/src/internal/header/header.component.ts","../../../projects/addon-doc/src/internal/header/header.template.html","../../../projects/addon-doc/src/components/main/main.component.ts","../../../projects/addon-doc/src/components/main/main.template.html","../../../projects/addon-doc/src/directives/scroll-into-view/scroll-into-view.module.ts","../../../projects/addon-doc/src/components/navigation/navigation.module.ts","../../../projects/addon-doc/src/internal/header/header.module.ts","../../../projects/addon-doc/src/components/main/main.module.ts","../../../projects/addon-doc/src/tokens/default-tabs.ts","../../../projects/addon-doc/src/tokens/see-also.ts","../../../projects/addon-doc/src/components/page/page.providers.ts","../../../projects/addon-doc/src/components/page/page-tab.directive.ts","../../../projects/addon-doc/src/tokens/source-code.ts","../../../projects/addon-doc/src/internal/source-code/source-code.component.ts","../../../projects/addon-doc/src/internal/source-code/source-code.template.html","../../../projects/addon-doc/src/internal/see-also/see-also.component.ts","../../../projects/addon-doc/src/internal/see-also/see-also.template.html","../../../projects/addon-doc/src/components/page/page.component.ts","../../../projects/addon-doc/src/components/page/page.template.html","../../../projects/addon-doc/src/internal/see-also/see-also.module.ts","../../../projects/addon-doc/src/internal/source-code/source-code.module.ts","../../../projects/addon-doc/src/components/page/page.module.ts","../../../projects/addon-doc/src/interfaces/page.ts","../../../projects/addon-doc/src/languages/russian.ts","../../../projects/addon-doc/src/addon-doc.module.ts","../../../projects/addon-doc/src/utils/generate-routes.ts","../../../projects/addon-doc/src/public-api.ts","../../../projects/addon-doc/src/taiga-ui-addon-doc.ts"],"sourcesContent":["import {RawLoaderContent} from '../interfaces/page';\n\n// TODO: delete it when all `!!raw-loader!` will be replaced by webpack `asset/source`.\nfunction trimExportDefault(fileContent: string): string {\n return fileContent.startsWith(`export default \"`)\n ? fileContent\n .replace(/^export\\sdefault\\s[\"']/gi, ``)\n .replace(/['\"];$/gi, ``)\n .replaceAll(`\\\\n`, `\\n`)\n .replaceAll(`\\\\\"`, `\"`)\n : fileContent;\n}\n\nexport async function tuiRawLoad(content: RawLoaderContent): Promise<string> {\n const unpacked = content instanceof Promise ? (await content).default : content;\n\n return trimExportDefault(unpacked);\n}\n","import MarkdownIt from 'markdown-it';\nimport Token from 'markdown-it/lib/token';\n\nexport function tuiTryParseMarkdownCodeBlock(text: string = ``): string[] {\n const tokens: Token[] = new MarkdownIt().parse(text, {});\n const result = tokens\n .filter(({tag, type}) => tag === `code` && type === `fence`)\n .map(({content}) => content);\n\n return result.length ? result : [text];\n}\n","import {Component, HostBinding, Input} from '@angular/core';\nimport {BehaviorSubject} from 'rxjs';\nimport {map, switchMap} from 'rxjs/operators';\n\nimport {RawLoaderContent} from '../../interfaces/page';\nimport {tuiRawLoad} from '../../utils/raw-load';\nimport {tuiTryParseMarkdownCodeBlock} from './parse-code-block';\n\n@Component({\n selector: `tui-doc-code`,\n templateUrl: `./code.template.html`,\n styleUrls: [`./code.style.less`],\n})\nexport class TuiDocCodeComponent {\n private readonly rawLoader$$ = new BehaviorSubject<RawLoaderContent>(``);\n\n @Input()\n filename = ``;\n\n readonly processor$ = this.rawLoader$$.pipe(\n switchMap(tuiRawLoad),\n map(tuiTryParseMarkdownCodeBlock),\n );\n\n @Input()\n set code(code: RawLoaderContent) {\n this.rawLoader$$.next(code);\n }\n\n @HostBinding(`class._has-filename`)\n get hasFilename(): boolean {\n return !!this.filename;\n }\n}\n","<p\n *ngIf=\"filename\"\n class=\"t-header\"\n>\n {{ filename }}\n</p>\n<pre\n *ngFor=\"let content of processor$ | async\"\n class=\"t-code\"\n><code [lineNumbers]=\"true\" [highlight]=\"content\"></code></pre>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {HighlightModule} from 'ngx-highlightjs';\n\nimport {TuiDocCodeComponent} from './code.component';\n\n@NgModule({\n imports: [CommonModule, HighlightModule],\n declarations: [TuiDocCodeComponent],\n exports: [TuiDocCodeComponent],\n})\nexport class TuiDocCodeModule {}\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {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@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(@Inject(TUI_COPY_TEXTS) readonly texts$: Observable<[string, string]>) {}\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(): void {\n this.copy$.next();\n }\n}\n","<button\n *ngIf=\"texts$ | async as texts\"\n tuiButton\n type=\"button\"\n appearance=\"\"\n size=\"s\"\n class=\"t-copy\"\n [title]=\"texts[0]\"\n (click)=\"onClick()\"\n>\n <span\n class=\"t-content\"\n [class.t-content_moved]=\"copied$ | async\"\n >\n <span\n class=\"t-initial\"\n [attr.data-text]=\"texts[0]\"\n >\n <ng-content></ng-content>\n </span>\n {{ texts[1] }}\n </span>\n</button>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\n\nimport {TuiDocCopyComponent} from './copy.component';\n\n@NgModule({\n imports: [CommonModule, TuiButtonModule],\n declarations: [TuiDocCopyComponent],\n exports: [TuiDocCopyComponent],\n})\nexport class TuiDocCopyModule {}\n","import {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 {\n factory: () => [`Read more more about modes: `, `Background`, `Form value`],\n },\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 {\n factory: () => [`Preview`, `Link to a sample was successfully copied`, `Done`],\n },\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 {\n factory: () => `See also`,\n },\n);\n\nexport const TUI_DOC_SOURCE_CODE_TEXT = new InjectionToken<string>(\n `tui-doc-source-code i18n text`,\n {\n factory: () => `Source code`,\n },\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, tuiPx} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\nimport {startWith, takeUntil} from 'rxjs/operators';\n\nimport {TUI_DOC_DEMO_TEXTS} from '../../tokens/i18n';\n\nconst MIN_COMPONENT_WIDTH = 104;\n\n@Component({\n selector: `tui-doc-demo`,\n templateUrl: `./demo.template.html`,\n styleUrls: [`./demo.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n {\n provide: TuiModeDirective,\n useExisting: forwardRef(() => TuiDocDemoComponent),\n },\n ],\n})\nexport class TuiDocDemoComponent implements OnInit, AfterViewInit {\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 private initialX = 0;\n private wrapperWidth = 0;\n\n @Input()\n control: AbstractControl | null = null;\n\n @ContentChild(TemplateRef)\n readonly template: TemplateRef<Record<string, unknown>> | 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 mode: TuiBrightness | null = null;\n readonly change$ = new Subject<void>();\n readonly items: readonly TuiBrightness[] = [`onLight`, `onDark`];\n\n constructor(\n @Inject(TUI_IS_MOBILE) readonly isMobile: boolean,\n @Inject(TuiDestroyService) private readonly destroy$: TuiDestroyService,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(PLATFORM_ID) platformId: Record<string, unknown>,\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(/tuiMode=(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 @HostListener(`window:resize`)\n onResize(): void {\n this.setResizerTextContent();\n }\n\n ngOnInit(): void {\n this.createForm();\n }\n\n ngAfterViewInit(): void {\n this.setResizerTextContent();\n }\n\n setResizerTextContent(): void {\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 onDragStart(event: MouseEvent): void {\n event.preventDefault();\n this.initialX = event.clientX;\n this.wrapperWidth = this.wrapper ? this.wrapper.nativeElement.offsetWidth : 0;\n }\n\n onDragContinues(event: MouseEvent): void {\n const deltaX = this.initialX - event.clientX;\n\n this.resizeContent(deltaX);\n this.setResizerTextContent();\n }\n\n onDragEnd(): void {\n this.wrapperWidth = this.wrapper ? this.wrapper.nativeElement.offsetWidth : 0;\n }\n\n toggleDetails(): void {\n this.expanded = !this.expanded;\n }\n\n updateOnChange(updateOn: 'change' | 'blur' | 'submit'): void {\n this.updateOn = updateOn;\n this.createForm();\n }\n\n private createForm(): void {\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): void {\n if (!this.wrapper) {\n return;\n }\n\n this.renderer.setStyle(\n this.wrapper.nativeElement,\n `width`,\n tuiPx(Math.max(this.wrapperWidth - delta, MIN_COMPONENT_WIDTH)),\n );\n }\n}\n","<div\n class=\"t-bg-toggle\"\n [tuiMode]=\"null\"\n>\n <ng-template #tooltip>\n {{ texts[0] }}\n <a\n tuiLink\n tuiMode=\"onDark\"\n routerLink=\"/directives/mode\"\n >\n <code>tuiMode</code>\n </a>\n </ng-template>\n <ng-container *ngIf=\"isMobile; else desktop\">\n <tui-select\n tuiTextfieldSize=\"s\"\n class=\"t-mode\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiHintContent]=\"tooltip\"\n [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\n describeId=\"form\"\n [content]=\"tooltip\"\n ></tui-tooltip>\n <div\n tuiGroup\n class=\"t-group\"\n [collapsed]=\"true\"\n >\n <tui-radio-block\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [item]=\"null\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n null\n </tui-radio-block>\n <tui-radio-block\n item=\"onDark\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n onDark\n </tui-radio-block>\n <tui-radio-block\n item=\"onLight\"\n size=\"s\"\n nativeId=\"form\"\n class=\"tui-group__auto-width-item\"\n [hideRadio]=\"true\"\n [formControl]=\"modeControl\"\n >\n onLight\n </tui-radio-block>\n </div>\n </ng-template>\n <tui-checkbox-labeled\n size=\"m\"\n class=\"t-checkbox\"\n [(ngModel)]=\"opaque\"\n >\n {{ texts[1] }}\n </tui-checkbox-labeled>\n</div>\n<div\n #wrapper\n class=\"t-wrapper\"\n [class.t-wrapper_dark]=\"modeControl.value === 'onDark'\"\n [class.t-wrapper_gray]=\"modeControl.value === 'onLight'\"\n [class.t-wrapper_transparent]=\"!opaque\"\n>\n <div\n #content\n id=\"demoContent\"\n class=\"t-content\"\n >\n <form\n *ngIf=\"testForm\"\n class=\"t-form\"\n [formGroup]=\"testForm\"\n >\n <div class=\"t-input-wrapper\">\n <ng-container [ngTemplateOutlet]=\"template\"></ng-container>\n </div>\n <button\n tuiButton\n type=\"button\"\n size=\"s\"\n class=\"t-button\"\n [iconRight]=\"icon\"\n (click)=\"toggleDetails()\"\n >\n {{ texts[2] }}\n </button>\n <ng-template #icon>\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"expanded\"\n ></tui-svg>\n </ng-template>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"expanded\"\n >\n <ng-template tuiExpandContent>\n <pre class=\"t-value\">Form data: {{ testForm.value | json }}</pre>\n <div\n tuiGroup\n class=\"t-form-controls\"\n >\n <tui-select\n tuiTextfieldSize=\"s\"\n class=\"t-select\"\n [ngModel]=\"updateOn\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"updateOnChange($event)\"\n >\n updateOn\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"updateOnVariants\"\n ></tui-data-list-wrapper>\n </tui-select>\n <button\n tuiButton\n type=\"reset\"\n size=\"s\"\n class=\"tui-group__auto-width-item\"\n >\n Reset\n </button>\n <button\n tuiButton\n type=\"submit\"\n size=\"s\"\n class=\"tui-group__auto-width-item\"\n >\n Submit\n </button>\n </div>\n </ng-template>\n </tui-expand>\n </form>\n <ng-content></ng-content>\n </div>\n <button\n tabindex=\"-1\"\n class=\"t-resizer\"\n (tuiDragStart)=\"onDragStart($event)\"\n (tuiDragContinues)=\"onDragContinues($event)\"\n (tuiDragEnd)=\"onDragEnd()\"\n >\n <span\n #resizerText\n class=\"t-resizer-text\"\n ></span>\n </button>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {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';\n\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","function inspectArray(array: readonly unknown[], 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 ? tuiInspectAny(array[index], depth - 1) : `empty`;\n }\n\n return `[${result}]`;\n}\n\nfunction inspectObject(object: {[key: string]: unknown}, 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}: ${tuiInspectAny(object[key], depth - 1)}`;\n }\n\n return `{${result}}`;\n}\n\n/**\n * Returns readable JS entity\n * @param data\n * @param depth\n * @return readable JS entity\n */\nexport function tuiInspectAny<T>(data: T, 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 String(data);\n }\n\n if (Array.isArray(data)) {\n return inspectArray(data, depth);\n }\n\n return inspectObject(data as unknown as {[key: string]: unknown}, depth);\n}\n","export function tuiCoerceValue<T>(\n value?: T,\n): T | number | string | boolean | null | object {\n const prepared = String(value).trim();\n\n if (isEmptyParamValue(prepared)) {\n return null;\n } else if (isBooleanParamValue(prepared)) {\n return String(prepared) === `true`;\n } else if (isNumberParamValue(prepared)) {\n return Number(prepared);\n }\n\n const decodedValue = decodeURIComponent(prepared);\n\n try {\n return isPossibleArray(decodedValue) || isPossibleObject(decodedValue)\n ? JSON.parse(decodedValue)\n : decodedValue;\n } catch {\n return decodedValue;\n }\n}\n\nfunction isEmptyParamValue(value: string): boolean {\n return [`undefined`, `null`, `NaN`, `Infinity`].includes(value);\n}\n\nfunction isBooleanParamValue(value: string): boolean {\n return value === `true` || value === `false`;\n}\n\nfunction isNumberParamValue(value: string): boolean {\n // TODO: investigate to disallow potentially catastrophic exponential-time regular expressions.\n // eslint-disable-next-line unicorn/no-unsafe-regex\n return /^-?[\\d.]+(?:e-?\\d+)?$/.test(value);\n}\n\nfunction isPossibleArray(value: string): boolean {\n return value.startsWith(`[`) && value.endsWith(`]`);\n}\n\nfunction isPossibleObject(value: string): boolean {\n return value.startsWith(`{`) && value.endsWith(`}`);\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 {BehaviorSubject, Subject} from 'rxjs';\n\nimport {tuiCoerceValue} from '../../utils/coerce-value';\n\nconst SERIALIZED_SUFFIX = `$`;\n\nexport type DocumentationPropertyType = 'input' | 'output' | 'input-output' | null;\n\n// @bad TODO: refactor output and value sync\n@Directive({\n selector: `ng-template[documentationPropertyName]`,\n exportAs: `documentationProperty`,\n})\nexport class TuiDocDocumentationPropertyConnectorDirective<T>\n implements OnInit, OnChanges\n{\n @Input()\n documentationPropertyName = ``;\n\n @Input()\n documentationPropertyMode: DocumentationPropertyType = null;\n\n @Input()\n documentationPropertyType = ``;\n\n @Input()\n documentationPropertyValue!: T;\n\n @Input()\n documentationPropertyDeprecated = false;\n\n @Input()\n documentationPropertyValues: readonly T[] | null = null;\n\n @Output()\n readonly documentationPropertyValueChange = new EventEmitter<T>();\n\n readonly changed$ = new Subject<void>();\n\n readonly emits$ = new BehaviorSubject(1);\n\n constructor(\n @Inject(TemplateRef) readonly template: TemplateRef<Record<string, unknown>>,\n @Inject(Location) private readonly locationRef: Location,\n @Inject(ActivatedRoute) private readonly activatedRoute: ActivatedRoute,\n @Inject(UrlSerializer) private readonly urlSerializer: UrlSerializer,\n ) {}\n\n ngOnInit(): void {\n this.parseParams(this.activatedRoute.snapshot.queryParams);\n }\n\n get attrName(): string {\n switch (this.documentationPropertyMode) {\n case `input`:\n return `[${this.documentationPropertyName}]`;\n case `output`:\n return `(${this.documentationPropertyName})`;\n case `input-output`:\n return `[(${this.documentationPropertyName})]`;\n default:\n return this.documentationPropertyName;\n }\n }\n\n get hasItems(): boolean {\n return !!this.documentationPropertyValues;\n }\n\n get shouldShowValues(): boolean {\n return this.documentationPropertyMode !== `output`;\n }\n\n ngOnChanges(): void {\n this.changed$.next();\n }\n\n onValueChange(value: T): void {\n this.documentationPropertyValue = value;\n this.documentationPropertyValueChange.emit(value);\n this.setQueryParam(value);\n }\n\n emitEvent(event: unknown): void {\n // For more convenient debugging\n console.info(this.attrName, event);\n\n this.emits$.next(this.emits$.value + 1);\n }\n\n private parseParams(params: Params): void {\n const propertyValue: string | undefined = params[this.documentationPropertyName];\n const propertyValueWithSuffix: string | number | undefined =\n params[`${this.documentationPropertyName}${SERIALIZED_SUFFIX}`];\n\n if (!propertyValue && !propertyValueWithSuffix) {\n return;\n }\n\n const value =\n !!propertyValueWithSuffix && this.documentationPropertyValues\n ? this.documentationPropertyValues[propertyValueWithSuffix as number]\n : tuiCoerceValue(propertyValue);\n\n this.onValueChange(value as T);\n }\n\n private setQueryParam(value: T | string | number | boolean | null): void {\n const tree = this.urlSerializer.parse(this.locationRef.path());\n\n const isValueAvailableByKey = value instanceof Object;\n const computedValue =\n isValueAvailableByKey && this.documentationPropertyValues\n ? this.documentationPropertyValues.indexOf(value as T)\n : value;\n\n const suffix = isValueAvailableByKey ? SERIALIZED_SUFFIX : ``;\n const propName = this.documentationPropertyName + suffix;\n\n tree.queryParams = {\n ...tree.queryParams,\n [propName]: computedValue,\n };\n\n this.locationRef.go(String(tree));\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 {animate, style, transition, trigger} from '@angular/animations';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n tuiHexToRgb,\n tuiIsNumber,\n tuiIsString,\n tuiItemsQueryListObservable,\n tuiRgbToHex,\n tuiWatch,\n} from '@taiga-ui/cdk';\nimport {merge} from 'rxjs';\nimport {switchMap} from 'rxjs/operators';\n\nimport {TUI_DOC_DOCUMENTATION_TEXTS} from '../../tokens/i18n';\nimport {tuiInspectAny} 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@Component({\n selector: `tui-doc-documentation`,\n templateUrl: `./documentation.template.html`,\n styleUrls: [`./documentation.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger(`emitEvent`, [\n transition(`:increment`, [style({opacity: 1}), animate(`500ms ease-in`)]),\n ]),\n ],\n})\nexport class TuiDocDocumentationComponent implements AfterContentInit {\n @Input()\n heading = ``;\n\n @Input()\n showValues = true;\n\n @Input()\n isAPI = false;\n\n @ContentChildren(TuiDocDocumentationPropertyConnectorDirective)\n propertiesConnectors: QueryList<TuiDocDocumentationPropertyConnectorDirective<any>> =\n EMPTY_QUERY;\n\n activeItemIndex = 0;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_DOC_DOCUMENTATION_TEXTS)\n readonly texts: [string, string, string, string, string],\n ) {}\n\n ngAfterContentInit(): void {\n tuiItemsQueryListObservable(this.propertiesConnectors)\n .pipe(\n switchMap(items => merge(...items.map(({changed$}) => changed$))),\n tuiWatch(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 tuiRgbToHex(...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 .slice(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 ): void {\n const opacity = this.getOpacity(connector.documentationPropertyValue || ``);\n\n if (opacity === 100) {\n connector.onValueChange(color);\n\n return;\n }\n\n const rgb = tuiHexToRgb(color).join(`, `);\n const result = `rgba(${rgb}, ${opacity / 100})`;\n\n connector.onValueChange(result);\n }\n\n onOpacityChange(\n connector: TuiDocDocumentationPropertyConnectorDirective<string>,\n opacity: number,\n ): void {\n const hex = this.getColor(connector.documentationPropertyValue || ``);\n const rgb = tuiHexToRgb(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 isPrimitivePolymorpheusContent(value: unknown): boolean {\n return tuiIsString(value) || tuiIsNumber(value);\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: unknown): string {\n return tuiInspectAny(data, 2);\n }\n}\n","<h1\n *ngIf=\"heading\"\n class=\"t-heading\"\n>\n {{ heading }}\n</h1>\n<ng-content></ng-content>\n<table class=\"t-table\">\n <tr class=\"t-row t-row_header\">\n <th class=\"t-th t-cell t-cell_prop\">{{ texts[2] }}</th>\n <th class=\"t-th\">{{ type }}</th>\n <th\n *ngIf=\"showValues && !isAPI\"\n class=\"t-th t-cell t-cell_value\"\n >\n {{ texts[3] }}\n </th>\n </tr>\n <tr\n *ngFor=\"let propertyConnector of propertiesConnectors\"\n class=\"t-row\"\n [class.t-deprecated]=\"propertyConnector.documentationPropertyDeprecated\"\n >\n <td class=\"t-cell\">\n <div\n automation-id=\"tui-documentation__property-name\"\n class=\"t-property\"\n >\n {{ 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=\"t-deprecated-label\"\n >\n deprecated\n </span>\n <ng-container [ngTemplateOutlet]=\"propertyConnector.template\"></ng-container>\n </td>\n <td class=\"t-cell\">\n <span class=\"type\">\n {{ propertyConnector.documentationPropertyType }}\n <tui-tooltip\n *ngIf=\"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/tinkoff/ng-polymorpheus\"\n >\n <code>ng-polymorpheus</code>\n </a>\n </ng-template>\n </tui-tooltip>\n </span>\n </td>\n <td\n *ngIf=\"showValues\"\n class=\"t-cell\"\n >\n <ng-container *ngIf=\"propertyConnector.shouldShowValues; else elseEmitter\">\n <tui-select\n *ngIf=\"propertyConnector.hasItems; else noItems\"\n tuiTextfieldSize=\"m\"\n tuiDropdownLimitWidth=\"min\"\n [tuiTextfieldCleaner]=\"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=\"t-exception\">null</code>\n <tui-data-list-wrapper\n *tuiDataList\n [items]=\"propertyConnector.documentationPropertyValues\"\n [itemContent]=\"selectContent\"\n ></tui-data-list-wrapper>\n </tui-select>\n <ng-template\n #selectContent\n let-data\n >\n <code>{{ inspectAny(data) }}</code>\n </ng-template>\n\n <ng-template #noItems>\n <ng-container [ngSwitch]=\"propertyConnector.documentationPropertyType\">\n <tui-toggle\n *ngSwitchCase=\"'boolean'\"\n size=\"l\"\n [nativeId]=\"propertyConnector.attrName\"\n [showIcons]=\"true\"\n [ngModel]=\"propertyConnector.documentationPropertyValue\"\n (ngModelChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-toggle>\n\n <tui-primitive-textfield\n *ngSwitchCase=\"'string'\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue || ''\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n ></tui-primitive-textfield>\n\n <div\n *ngSwitchCase=\"'color'\"\n tuiGroup\n >\n <tui-primitive-textfield\n tuiTextfieldType=\"text\"\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\n <ng-container *ngSwitchCase=\"'PolymorpheusContent'\">\n <tui-primitive-textfield\n *ngIf=\"isPrimitivePolymorpheusContent(propertyConnector.documentationPropertyValue)\"\n tuiTextfieldSize=\"m\"\n [nativeId]=\"propertyConnector.attrName\"\n [tuiTextfieldLabelOutside]=\"true\"\n [tuiTextfieldCleaner]=\"true\"\n [value]=\"propertyConnector.documentationPropertyValue.toString()\"\n (valueChange)=\"propertyConnector.onValueChange($event)\"\n >\n Default content\n </tui-primitive-textfield>\n </ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n\n <ng-template #elseEmitter>\n <tui-notification\n class=\"t-output\"\n [@emitEvent]=\"propertyConnector.emits$ | async\"\n >\n Emit!\n </tui-notification>\n </ng-template>\n </td>\n </tr>\n</table>\n","import {NgModule} from '@angular/core';\n\nimport {TuiInputOpacityDirective} from './input-opacity.directive';\n\n@NgModule({\n declarations: [TuiInputOpacityDirective],\n exports: [TuiInputOpacityDirective],\n})\nexport class TuiInputOpacityModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {\n TuiDataListModule,\n TuiDropdownModule,\n TuiGroupModule,\n TuiHintControllerModule,\n TuiLinkModule,\n TuiModeModule,\n TuiNotificationModule,\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';\n\nimport {TuiInputOpacityModule} from '../../internal/input-opacity/input-opacity.module';\nimport {TuiDocDocumentationComponent} from './documentation.component';\nimport {TuiDocDocumentationPropertyConnectorDirective} from './documentation-property-connector.directive';\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 TuiDropdownModule,\n TuiDataListModule,\n TuiDataListWrapperModule,\n TuiNotificationModule,\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 {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_DOC_CODE_ACTIONS = new InjectionToken<\n PolymorpheusContent<TuiContextWithImplicit<string>>\n>(`Code actions for the opened tab with code example`, {\n factory: () => ``,\n});\n","import {InjectionToken} from '@angular/core';\n\nimport {TuiCodeEditor} from '../interfaces/code-editor';\n\nexport const TUI_DOC_CODE_EDITOR = new InjectionToken<TuiCodeEditor>(\n `Contains service for opening online IDE e.g. Stackblitz`,\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {identity} from 'rxjs';\n\nexport const TUI_DOC_EXAMPLE_CONTENT_PROCESSOR: InjectionToken<\n TuiHandler<Record<string, string>, Record<string, string>>\n> = new InjectionToken(`Processes content in example`, {factory: () => identity});\n","import {TuiDocExample} from '../interfaces/page';\nimport {tuiRawLoad} from './raw-load';\n\nexport async function tuiRawLoadRecord(\n example: TuiDocExample,\n): Promise<Record<string, string>> {\n const processedContent: Record<string, string> = {};\n\n for (const [key, content] of Object.entries(example)) {\n if (content) {\n processedContent[key] = await tuiRawLoad(content);\n }\n }\n\n return processedContent;\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {tuiIsString} from '@taiga-ui/cdk';\nimport {tuiCapitalizeFirstLetter} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Pipe({name: `tuiDocExampleCapitalize`})\nexport class TuiDocExampleCapitalizePipe implements PipeTransform {\n transform(content: PolymorpheusContent): PolymorpheusContent {\n return tuiIsString(content) ? tuiCapitalizeFirstLetter(content) : content;\n }\n}\n","import {Pipe, PipeTransform} from '@angular/core';\n\n@Pipe({name: `tuiDocExampleGetTabs`})\nexport class TuiDocExampleGetTabsPipe implements PipeTransform {\n transform(content: Record<string, string>, defaultTab: string): string[] {\n return [defaultTab, ...Object.keys(content)];\n }\n}\n","import {Clipboard} from '@angular/cdk/clipboard';\nimport {Location as NgLocation} from '@angular/common';\nimport {\n Attribute,\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n Optional,\n} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {LOCATION} from '@ng-web-apis/common';\nimport {TUI_IS_CYPRESS, TuiContextWithImplicit, TuiHandler} from '@taiga-ui/cdk';\nimport {TuiAlertService, TuiNotification} from '@taiga-ui/core';\nimport {TUI_COPY_TEXTS} from '@taiga-ui/kit';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {BehaviorSubject, Observable, Subject} from 'rxjs';\nimport {map, switchMap} from 'rxjs/operators';\n\nimport {TuiCodeEditor} from '../../interfaces/code-editor';\nimport {TuiDocExample} from '../../interfaces/page';\nimport {TUI_DOC_CODE_ACTIONS} from '../../tokens/code-actions';\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';\nimport {tuiRawLoadRecord} from '../../utils/raw-load-record';\n\n@Component({\n selector: `tui-doc-example`,\n templateUrl: `./example.template.html`,\n styleUrls: [`./example.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocExampleComponent {\n private readonly rawLoader$$ = new BehaviorSubject<TuiDocExample>({});\n\n @Input()\n heading: PolymorpheusContent = ``;\n\n @Input()\n description: PolymorpheusContent = ``;\n\n @Input()\n set content(content: TuiDocExample) {\n this.rawLoader$$.next(content);\n }\n\n @Input()\n componentName: string = this.location.pathname.slice(1);\n\n readonly defaultTabIndex = 0;\n\n readonly defaultTab = this.texts[this.defaultTabIndex];\n\n activeItemIndex = this.defaultTabIndex;\n\n readonly copy$ = this.copyTexts$.pipe(map(([copy]) => copy));\n\n readonly processor$: Observable<Record<string, string>> = this.rawLoader$$.pipe(\n switchMap(tuiRawLoadRecord),\n map(value => this.processContent(value)),\n );\n\n readonly loading$ = new Subject<boolean>();\n\n constructor(\n @Attribute(`id`)\n readonly id: string | null,\n @Inject(Clipboard) private readonly clipboard: Clipboard,\n @Inject(TuiAlertService)\n private readonly alertService: TuiAlertService,\n @Inject(LOCATION) private readonly location: Location,\n @Inject(TUI_COPY_TEXTS) private readonly copyTexts$: Observable<[string, string]>,\n @Inject(TUI_DOC_EXAMPLE_TEXTS) readonly texts: [string, string, string],\n @Optional()\n @Inject(TUI_DOC_CODE_EDITOR)\n readonly codeEditor: TuiCodeEditor | null,\n @Inject(TUI_DOC_EXAMPLE_CONTENT_PROCESSOR)\n private readonly processContent: TuiHandler<\n Record<string, string>,\n Record<string, string>\n >,\n @Inject(TUI_IS_CYPRESS) readonly isCypress: boolean,\n @Inject(TUI_DOC_CODE_ACTIONS)\n readonly codeActions: Array<PolymorpheusContent<TuiContextWithImplicit<string>>>,\n @Inject(Router) private readonly router: Router,\n @Inject(ActivatedRoute) private readonly route: ActivatedRoute,\n @Inject(NgLocation) private readonly ngLocation: NgLocation,\n ) {}\n\n copyExampleLink(): void {\n const hashPosition = this.location.href.indexOf(`#`);\n const currentUrl =\n hashPosition > -1\n ? this.location.href.slice(0, Math.max(0, hashPosition))\n : this.location.href;\n const url = `${currentUrl}#${this.id}`;\n\n this.setFragmentWithoutRedirect(this.id);\n this.clipboard.copy(url);\n this.alertService\n .open(this.texts[1], {\n label: this.texts[2],\n status: TuiNotification.Success,\n })\n .subscribe();\n }\n\n edit(files: Record<string, string>): void {\n this.loading$.next(true);\n this.codeEditor\n ?.edit(this.componentName, this.id || ``, files)\n .finally(() => this.loading$.next(false));\n }\n\n private setFragmentWithoutRedirect(id: string | null): void {\n const url = this.router\n .createUrlTree([], {relativeTo: this.route, fragment: id || ``})\n .toString();\n\n this.ngLocation.go(url);\n }\n}\n","<h3\n *ngIf=\"heading\"\n class=\"t-title\"\n>\n <span\n *polymorpheusOutlet=\"heading | tuiDocExampleCapitalize as text\"\n [textContent]=\"text\"\n ></span>\n <button\n *ngIf=\"id\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconLinkLarge\"\n appearance=\"icon\"\n class=\"t-link-icon\"\n [title]=\"copy$ | async\"\n (click)=\"copyExampleLink()\"\n ></button>\n</h3>\n<h4\n *ngIf=\"description\"\n class=\"t-description\"\n>\n <ng-container *polymorpheusOutlet=\"description | tuiDocExampleCapitalize as text\">\n {{ text }}\n </ng-container>\n</h4>\n\n<div\n *ngIf=\"processor$ | async as files\"\n class=\"t-example\"\n>\n <ng-container *ngIf=\"files | tuiDocExampleGetTabs: defaultTab as tabs\">\n <div class=\"t-tabs-wrapper\">\n <tui-tabs-with-more\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <button\n *tuiItem\n tuiTab\n >\n {{ tab }}\n </button>\n </ng-container>\n </tui-tabs-with-more>\n\n <button\n *ngIf=\"codeEditor\"\n tuiButton\n appearance=\"flat\"\n size=\"s\"\n [showLoader]=\"!!(loading$ | async)\"\n (click)=\"edit(files)\"\n >\n Edit on {{ codeEditor.name }}\n </button>\n </div>\n\n <div\n *ngFor=\"let tab of tabs; let index = index\"\n class=\"t-content\"\n [class.t-content_animated]=\"!isCypress\"\n [class.t-content_visible]=\"activeItemIndex === index\"\n >\n <ng-container\n *ngIf=\"index === defaultTabIndex; else anotherTab\"\n [ngTemplateOutlet]=\"preview\"\n ></ng-container>\n <ng-template #anotherTab>\n <ng-container\n [ngTemplateOutlet]=\"codeSection\"\n [ngTemplateOutletContext]=\"{$implicit: files[tabs[activeItemIndex]] || ''}\"\n ></ng-container>\n </ng-template>\n </div>\n </ng-container>\n</div>\n\n<ng-template #preview>\n <div\n automation-id=\"tui-doc-example\"\n class=\"t-demo\"\n >\n <ng-content></ng-content>\n </div>\n</ng-template>\n\n<ng-template\n #codeSection\n let-code\n>\n <section class=\"t-code-actions\">\n <ng-container *ngFor=\"let action of codeActions\">\n <ng-container *polymorpheusOutlet=\"action as text; context: {$implicit: code}\">\n {{ text }}\n </ng-container>\n </ng-container>\n <tui-doc-copy [cdkCopyToClipboard]=\"code\"></tui-doc-copy>\n </section>\n <tui-doc-code [code]=\"code\"></tui-doc-code>\n</ng-template>\n","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';\n\nimport {TuiDocCodeModule} from '../code/code.module';\nimport {TuiDocCopyModule} from '../copy/copy.module';\nimport {TuiDocExampleComponent} from './example.component';\nimport {TuiDocExampleCapitalizePipe} from './example-capitalize.pipe';\nimport {TuiDocExampleGetTabsPipe} from './example-get-tabs.pipe';\n\n@NgModule({\n imports: [\n CommonModule,\n ClipboardModule,\n TuiTabsModule,\n TuiButtonModule,\n TuiDocCopyModule,\n TuiDocCodeModule,\n PolymorpheusModule,\n ],\n declarations: [\n TuiDocExampleComponent,\n TuiDocExampleGetTabsPipe,\n TuiDocExampleCapitalizePipe,\n ],\n exports: [\n TuiDocExampleComponent,\n TuiDocExampleGetTabsPipe,\n TuiDocExampleCapitalizePipe,\n ],\n})\nexport class TuiDocExampleModule {}\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {FormControl} from '@angular/forms';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {TUI_ICONS_PATH, tuiCapitalizeFirstLetter} from '@taiga-ui/core';\nimport {TuiCountryIsoCode, TuiLanguageName, TuiLanguageSwitcher} from '@taiga-ui/i18n';\n\n@Component({\n selector: `tui-language-switcher`,\n templateUrl: `./language-switcher.component.html`,\n styleUrls: [`./language-switcher.component.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiLanguageSwitcherComponent {\n private readonly path = this.iconsPath(`tuiIcon`).replace(`tuiIcon.svg#tuiIcon`, ``);\n\n readonly language = new FormControl(tuiCapitalizeFirstLetter(this.switcher.language));\n\n readonly flags: Map<TuiLanguageName, TuiCountryIsoCode> = new Map([\n [`chinese`, TuiCountryIsoCode.CN],\n [`dutch`, TuiCountryIsoCode.NL],\n [`english`, TuiCountryIsoCode.GB],\n [`french`, TuiCountryIsoCode.FR],\n [`german`, TuiCountryIsoCode.DE],\n [`italian`, TuiCountryIsoCode.IT],\n [`polish`, TuiCountryIsoCode.PL],\n [`portuguese`, TuiCountryIsoCode.PT],\n [`russian`, TuiCountryIsoCode.RU],\n [`spanish`, TuiCountryIsoCode.ES],\n [`turkish`, TuiCountryIsoCode.TR],\n [`ukrainian`, TuiCountryIsoCode.UA],\n [`vietnamese`, TuiCountryIsoCode.VN],\n ]);\n\n readonly names: TuiLanguageName[] = Array.from(this.flags.keys());\n\n constructor(\n @Inject(TuiLanguageSwitcher) readonly switcher: TuiLanguageSwitcher,\n @Inject(TUI_ICONS_PATH) private readonly iconsPath: TuiStringHandler<string>,\n ) {}\n\n getFlagPath(code?: TuiCountryIsoCode): string | null {\n return code ? `${this.path}${code}.png` : null;\n }\n}\n","<tui-select [formControl]=\"language\">\n <ng-content></ng-content>\n <tui-data-list *tuiDataList>\n <button\n *ngFor=\"let name of names\"\n tuiOption\n [value]=\"name | titlecase\"\n (click)=\"switcher.setLanguage(name)\"\n >\n <img\n alt=\"\"\n class=\"t-flag\"\n [src]=\"getFlagPath(flags.get(name))\"\n />\n {{ name | titlecase }}\n </button>\n </tui-data-list>\n</tui-select>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {TuiDataListModule} from '@taiga-ui/core';\nimport {TuiSelectModule} from '@taiga-ui/kit';\n\nimport {TuiLanguageSwitcherComponent} from './language-switcher.component';\n\n@NgModule({\n exports: [TuiLanguageSwitcherComponent],\n declarations: [TuiLanguageSwitcherComponent],\n imports: [CommonModule, TuiSelectModule, TuiDataListModule, ReactiveFormsModule],\n})\nexport class TuiLanguageSwitcherModule {}\n","import {InjectionToken} from '@angular/core';\nimport {defer, Observable, of, timer} from 'rxjs';\nimport {switchMapTo} from 'rxjs/operators';\n\nexport const TUI_DOC_PAGE_LOADED = new InjectionToken<Observable<boolean>>(\n `[TUI_DOC_PAGE_LOADED] Stream that emits if loading of page is over (for example, to begin scrollIntoView)`,\n {factory: () => defer(() => timer(200).pipe(switchMapTo(of(true))))},\n);\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_DOC_SCROLL_BEHAVIOR = new InjectionToken<ScrollBehavior>(\n `[TUI_DOC_SCROLL_BEHAVIOR] Defines the transition animation for scroll`,\n {factory: () => `smooth`},\n);\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 tuiTransliterateKeyboardLayout(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';\n\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 {TuiDestroyService, tuiIsPresent} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\nimport {filter, map, mergeMap, takeUntil} from 'rxjs/operators';\n\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<readonly TuiDocPages[]> =\n new InjectionToken<readonly 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: (\n router: Router,\n activatedRoute: ActivatedRoute,\n titlePrefix: string,\n destroy$: Observable<void>,\n ): Observable<string> => {\n return router.events.pipe(\n filter(event => event instanceof NavigationEnd),\n map(() => activatedRoute.firstChild),\n filter(tuiIsPresent),\n mergeMap(({data}) => data),\n map(({title}) => titlePrefix + title),\n takeUntil(destroy$),\n );\n },\n },\n {\n provide: NAVIGATION_LABELS,\n deps: [TUI_DOC_PAGES],\n useFactory: labelsProviderFactory,\n },\n {\n provide: NAVIGATION_ITEMS,\n deps: [TUI_DOC_PAGES],\n useFactory: (pages: TuiDocPages): readonly TuiDocPages[] => {\n const labels = labelsProviderFactory(pages);\n\n return [\n ...labels.map(label => pages.filter(({section}) => section === label)),\n pages.filter(page => !page.section),\n ];\n },\n },\n];\n\nfunction labelsProviderFactory(pages: TuiDocPages): readonly string[] {\n return pages\n .map(({section}) => section)\n .filter(tuiIsPresent)\n .filter((item, index, array) => array.indexOf(item) === index);\n}\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {TuiDestroyService, tuiGetElementObscures} from '@taiga-ui/cdk';\nimport {Observable, ReplaySubject} from 'rxjs';\nimport {debounceTime, filter, switchMapTo, takeUntil} from 'rxjs/operators';\n\nimport {TUI_DOC_PAGE_LOADED} from '../../tokens/page-loaded';\n\n@Directive({\n selector: `[tuiScrollIntoViewLink]`,\n providers: [TuiDestroyService],\n})\nexport class TuiScrollIntoViewLinkDirective {\n @Input()\n set tuiScrollIntoViewLink(shallWe: boolean) {\n this.scroll$.next(shallWe);\n }\n\n private readonly scroll$ = new ReplaySubject<boolean>(1);\n\n constructor(\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TUI_DOC_PAGE_LOADED)\n readonly readyToScroll$: Observable<boolean>,\n ) {\n this.readyToScroll$\n .pipe(\n filter(Boolean),\n switchMapTo(this.scroll$),\n debounceTime(750),\n filter(shallWe => shallWe && !!tuiGetElementObscures(nativeElement)),\n takeUntil(destroy$),\n )\n .subscribe(() => {\n nativeElement.scrollIntoView();\n });\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Optional,\n} from '@angular/core';\nimport {FormControl} from '@angular/forms';\nimport {Title} from '@angular/platform-browser';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {TuiSidebarDirective} from '@taiga-ui/addon-mobile';\nimport {tuiControlValue, TuiDestroyService, tuiPure, tuiUniqBy} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {TuiInputComponent} from '@taiga-ui/kit';\nimport {Observable} from 'rxjs';\nimport {filter, map, startWith, take, takeUntil} from 'rxjs/operators';\n\nimport {TuiDocPage} from '../../interfaces/page';\nimport {TUI_DOC_SEARCH_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_PAGE_LOADED} from '../../tokens/page-loaded';\nimport {TUI_DOC_SCROLL_BEHAVIOR} from '../../tokens/scroll-behavior';\nimport {TuiDocPages} from '../../types/pages';\nimport {tuiTransliterateKeyboardLayout} from '../../utils/transliterate-keyboard-layout';\nimport {\n NAVIGATION_ITEMS,\n NAVIGATION_LABELS,\n NAVIGATION_PROVIDERS,\n NAVIGATION_TITLE,\n} from './navigation.providers';\n\n@Component({\n selector: `tui-doc-navigation`,\n templateUrl: `navigation.template.html`,\n styleUrls: [`navigation.style.less`],\n providers: NAVIGATION_PROVIDERS,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocNavigationComponent {\n @HostBinding(`class._open`)\n menuOpen = false;\n\n openPagesArr: boolean[] = [];\n openPagesGroupsArr: boolean[] = [];\n active = ``;\n\n readonly search = new FormControl(``);\n\n readonly filtered$ = tuiControlValue<string>(this.search).pipe(\n filter(search => search.length > 2),\n map(search => this.filterItems(this.flattenSubPages(this.items), search)),\n );\n\n readonly mode$: Observable<TuiBrightness> = this.mode.change$.pipe(\n startWith(null),\n map(() => this.mode.mode || `onLight`),\n );\n\n constructor(\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\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 @Optional()\n @Inject(TuiSidebarDirective)\n readonly sidebar: unknown,\n @Inject(NAVIGATION_LABELS) readonly labels: string[],\n @Inject(NAVIGATION_ITEMS)\n readonly items: readonly TuiDocPages[],\n @Inject(TUI_DOC_SEARCH_TEXT) readonly searchText: string,\n @Inject(Router) private readonly router: Router,\n @Inject(ActivatedRoute) private readonly activatedRoute: ActivatedRoute,\n @Inject(TuiDestroyService) private readonly destroy$: Observable<void>,\n @Inject(TUI_DOC_PAGE_LOADED)\n private readonly readyToScroll$: Observable<boolean>,\n @Inject(TUI_DOC_SCROLL_BEHAVIOR) private readonly scrollBehavior: ScrollBehavior,\n ) {\n // Angular can't navigate no anchor links\n // https://stackoverflow.com/questions/36101756/angular2-routing-with-hashtag-to-page-anchor\n title$.subscribe(title => {\n changeDetectorRef.markForCheck();\n titleService.setTitle(title);\n this.openActivePageGroup();\n this.handleAnchorLink(this.activatedRoute.snapshot.fragment!);\n });\n }\n\n get canOpen(): boolean {\n return this.search.value.length > 2;\n }\n\n get itemsWithoutSections(): TuiDocPages {\n return this.items[this.items.length - 1];\n }\n\n isActive(route: string): boolean {\n return route === this.active;\n }\n\n onGroupClick(index: number): void {\n this.openPagesGroupsArr[index] = !this.openPagesGroupsArr[index];\n }\n\n closeMenu(): void {\n this.menuOpen = false;\n }\n\n onClick(input: TuiInputComponent): void {\n input.open = false;\n this.menuOpen = false;\n this.search.setValue(``);\n this.openActivePageGroup();\n }\n\n @tuiPure\n private filterItems(\n items: ReadonlyArray<readonly TuiDocPage[]>,\n search: string,\n ): ReadonlyArray<readonly TuiDocPage[]> {\n return items.map(section =>\n tuiUniqBy(\n section.filter(({title, keywords = ``}) => {\n title = title.toLowerCase();\n search = search.toLowerCase();\n keywords = keywords.toLowerCase();\n\n return (\n title.includes(search) ||\n keywords.includes(search) ||\n title.includes(tuiTransliterateKeyboardLayout(search)) ||\n keywords.includes(tuiTransliterateKeyboardLayout(search)) ||\n search.replace(/-/gi, ``).includes(title)\n );\n }),\n `title`,\n ),\n );\n }\n\n @tuiPure\n private flattenSubPages(\n items: readonly TuiDocPages[],\n ): ReadonlyArray<readonly TuiDocPage[]> {\n return items.reduce<ReadonlyArray<readonly TuiDocPage[]>>(\n (array, item) => [\n ...array,\n item.reduce<readonly TuiDocPage[]>(\n (pages, page) =>\n `subPages` in page\n ? [...pages, ...page.subPages]\n : [...pages, page],\n [],\n ),\n ],\n [],\n );\n }\n\n private isActiveRoute(route: string): boolean {\n return this.router.isActive(route, false);\n }\n\n private handleAnchorLink(hash: string): void {\n this.readyToScroll$\n .pipe(filter(Boolean), take(1), takeUntil(this.destroy$))\n .subscribe(() => this.navigateToAnchorLink(hash));\n }\n\n private openActivePageGroup(): void {\n this.items.forEach((pages, pagesIndex) => {\n pages.forEach((page, pageIndex) => {\n if (`route` in page && this.isActiveRoute(page.route)) {\n this.openPagesArr[pagesIndex] = true;\n this.active = page.route;\n }\n\n if (`subPages` in page) {\n page.subPages.forEach(subPage => {\n if (this.isActiveRoute(subPage.route)) {\n this.openPagesArr[pagesIndex] = true;\n this.openPagesGroupsArr[pagesIndex * 100 + pageIndex] = true;\n this.active = subPage.route;\n }\n });\n }\n });\n });\n }\n\n private navigateToAnchorLink(fragment: string): void {\n const 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: this.scrollBehavior,\n });\n }\n}\n","<tui-input\n #input\n tuiTextfieldSize=\"m\"\n tuiTextfieldIconLeft=\"tuiIconSearch\"\n class=\"t-input\"\n [formControl]=\"search\"\n [tuiAutoFocus]=\"!!sidebar\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiTextfieldLabelOutside]=\"true\"\n>\n {{ searchText }}\n <ng-container *ngIf=\"canOpen\">\n <tui-data-list *tuiDataList>\n <tui-opt-group\n *ngFor=\"let group of filtered$ | async; let index = index\"\n [label]=\"labels[index] || ''\"\n >\n <a\n *ngFor=\"let item of group\"\n tuiOption\n [routerLink]=\"item.route\"\n (click)=\"onClick(input)\"\n >\n {{ item.title }}\n </a>\n </tui-opt-group>\n </tui-data-list>\n </ng-container>\n</tui-input>\n\n<nav class=\"t-navigation\">\n <tui-scrollbar\n class=\"t-scrollbar\"\n [tuiMode]=\"mode$ | async\"\n >\n <tui-accordion\n [closeOthers]=\"false\"\n [rounded]=\"false\"\n >\n <tui-accordion-item\n *ngFor=\"let label of labels; index as index\"\n size=\"s\"\n [borders]=\"null\"\n [(open)]=\"!!openPagesArr[index]\"\n >\n <span class=\"t-label\">\n <strong>{{ label }}</strong>\n </span>\n <ng-template tuiAccordionItemContent>\n <div class=\"t-section\">\n <ng-container\n *ngFor=\"let item of items[index]; index as subIndex\"\n [ngTemplateOutlet]=\"pages\"\n [ngTemplateOutletContext]=\"{item: item, index: index * 100 + subIndex}\"\n ></ng-container>\n </div>\n </ng-template>\n </tui-accordion-item>\n </tui-accordion>\n <div class=\"t-items-container\">\n <ng-container\n *ngFor=\"let item of itemsWithoutSections; let index = index\"\n [ngTemplateOutlet]=\"pages\"\n [ngTemplateOutletContext]=\"{item: item, index: items.length - 1 + index}\"\n ></ng-container>\n </div>\n\n <ng-template\n #pages\n let-item=\"item\"\n let-index=\"index\"\n >\n <a\n *ngIf=\"!item.subPages; else subPages\"\n tuiLink\n routerLinkActive=\"t-sublink_active\"\n class=\"t-sublink\"\n [routerLink]=\"item.route\"\n [tuiScrollIntoViewLink]=\"isActive(item.route)\"\n (click)=\"closeMenu()\"\n >\n {{ item.title }}\n </a>\n <ng-template #subPages>\n <div\n routerLinkActive\n class=\"t-subsection\"\n [routerLinkActiveOptions]=\"{exact: false}\"\n >\n <button\n *ngIf=\"item.subPages\"\n tuiLink\n type=\"button\"\n class=\"t-sublink t-sublink_subsection\"\n (click)=\"onGroupClick(index)\"\n >\n <tui-svg\n src=\"tuiIconChevronRight\"\n class=\"t-chevron\"\n [class.t-chevron_active]=\"!!openPagesGroupsArr[index]\"\n ></tui-svg>\n {{ item.title }}\n </button>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"!!openPagesGroupsArr[index]\"\n >\n <div class=\"t-section t-section_bordered\">\n <a\n *ngFor=\"let subPage of item.subPages\"\n tuiLink\n routerLinkActive=\"t-sublink_active\"\n class=\"t-sublink t-sublink_small\"\n [routerLink]=\"subPage.route\"\n [tuiScrollIntoViewLink]=\"isActive(subPage.route)\"\n (click)=\"closeMenu()\"\n >\n {{ subPage.title }}\n </a>\n </div>\n </tui-expand>\n </div>\n </ng-template>\n </ng-template>\n </tui-scrollbar>\n</nav>\n\n<ng-content></ng-content>\n","import {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 {TuiSwipeService} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {merge, Subject} from 'rxjs';\nimport {distinctUntilChanged, filter, map, mapTo, startWith} from 'rxjs/operators';\n\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(\n this.router.events.pipe(mapTo(false)),\n this.stream$,\n this.swipes$.pipe(\n filter(swipe => swipe.direction === `left` || swipe.direction === `right`),\n map(swipe => swipe.direction === `right`),\n ),\n ).pipe(startWith(false), distinctUntilChanged());\n\n constructor(\n @Inject(TUI_DOC_LOGO) readonly logo: PolymorpheusContent,\n @Inject(TUI_DOC_MENU_TEXT) readonly menu: string,\n @Inject(Router) private readonly router: Router,\n @Inject(TuiSwipeService) private readonly swipes$: TuiSwipeService,\n ) {}\n\n onClick(): void {\n this.stream$.next(true);\n }\n\n onActiveZone(active: boolean): void {\n if (!active) {\n this.stream$.next(false);\n }\n }\n}\n","<button\n tuiIconButton\n icon=\"tuiIconMenuLarge\"\n appearance=\"icon\"\n class=\"t-menu\"\n [title]=\"menu\"\n (click)=\"onClick()\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-doc-navigation\n *tuiSidebar=\"!!(open$ | async)\"\n class=\"t-navigation\"\n ></tui-doc-navigation>\n</button>\n<div class=\"t-logo\">\n <img\n *polymorpheusOutlet=\"logo as src\"\n alt=\"Logo\"\n class=\"t-img\"\n [src]=\"src\"\n />\n</div>\n<ng-content></ng-content>\n","import {\n Component,\n forwardRef,\n HostBinding,\n Inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {LOCAL_STORAGE, WINDOW} from '@ng-web-apis/common';\nimport {TuiSwipeService} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective} from '@taiga-ui/core';\nimport {Subject} from 'rxjs';\n\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 TuiSwipeService,\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 @HostBinding(`attr.data-mode`)\n get mode(): TuiBrightness | null {\n return this.night ? `onDark` : null;\n }\n\n onMode(night: boolean): void {\n this.night = night;\n this.change$.next();\n this.storage.setItem(`night`, String(night));\n }\n}\n","<tui-theme-night *ngIf=\"night\"></tui-theme-night>\n<tui-root>\n <div class=\"tui-doc-page\">\n <tui-doc-navigation class=\"tui-doc-navigation\">\n <ng-content select=\"tuiDocNavigation\"></ng-content>\n </tui-doc-navigation>\n <div class=\"tui-doc-content\">\n <router-outlet class=\"tui-doc-outlet\"></router-outlet>\n </div>\n </div>\n <header tuiDocHeader>\n <label class=\"night-mode\">\n Night mode\n <tui-toggle\n class=\"tui-toggle\"\n [ngModel]=\"night\"\n (ngModelChange)=\"onMode($event)\"\n ></tui-toggle>\n </label>\n <ng-content select=\"tuiDocHeader\"></ng-content>\n </header>\n <ng-container ngProjectAs=\"tuiOverContent\">\n <ng-content select=\"tuiOverContent\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverDialogs\">\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverAlerts\">\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverPortals\">\n <ng-content select=\"tuiOverPortals\"></ng-content>\n </ng-container>\n <ng-container ngProjectAs=\"tuiOverHints\">\n <ng-content select=\"tuiOverHints\"></ng-content>\n </ng-container>\n</tui-root>\n","import {NgModule} from '@angular/core';\n\nimport {TuiScrollIntoViewLinkDirective} from './scroll-into-view.directive';\n\n@NgModule({\n declarations: [TuiScrollIntoViewLinkDirective],\n exports: [TuiScrollIntoViewLinkDirective],\n})\nexport class TuiScrollIntoViewLinkModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {RouterModule} from '@angular/router';\nimport {TuiActiveZoneModule, TuiAutoFocusModule, TuiLetModule} from '@taiga-ui/cdk';\nimport {\n TuiButtonModule,\n TuiDataListModule,\n TuiDropdownModule,\n TuiExpandModule,\n TuiHostedDropdownModule,\n TuiLinkModule,\n TuiModeModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiAccordionModule, TuiInputModule} from '@taiga-ui/kit';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiScrollIntoViewLinkModule} from '../../directives/scroll-into-view/scroll-into-view.module';\nimport {TuiDocNavigationComponent} from './navigation.component';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n RouterModule,\n PolymorpheusModule,\n TuiScrollIntoViewLinkModule,\n TuiButtonModule,\n TuiInputModule,\n TuiTextfieldControllerModule,\n TuiActiveZoneModule,\n TuiLetModule,\n TuiModeModule,\n TuiLinkModule,\n TuiExpandModule,\n TuiHostedDropdownModule,\n TuiDropdownModule,\n TuiAccordionModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiDataListModule,\n TuiAutoFocusModule,\n ],\n declarations: [TuiDocNavigationComponent],\n exports: [TuiDocNavigationComponent],\n})\nexport class TuiDocNavigationModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSidebarModule} from '@taiga-ui/addon-mobile';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocNavigationModule} from '../../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 TuiAlertModule,\n TuiDialogModule,\n TuiRootModule,\n TuiThemeNightModule,\n} from '@taiga-ui/core';\nimport {TuiToggleModule} from '@taiga-ui/kit';\n\nimport {TuiDocHeaderModule} from '../../internal/header/header.module';\nimport {TuiDocNavigationModule} from '../navigation/navigation.module';\nimport {TuiDocMainComponent} from './main.component';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n TuiToggleModule,\n TuiThemeNightModule,\n TuiDocHeaderModule,\n TuiRootModule,\n TuiDialogModule,\n TuiAlertModule,\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 {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';\n\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: (\n {nativeElement}: ElementRef,\n seeAlsoGroups: ReadonlyArray<readonly string[]>,\n ): readonly string[] => {\n const currentHeader = nativeElement.getAttribute(`header`);\n const groups =\n seeAlsoGroups.filter(group => group.includes(currentHeader)) || [];\n\n const seeAlsoSet = new Set(\n groups\n .join()\n .split(`,`)\n .filter(component => component && component !== currentHeader),\n );\n\n return Array.from(seeAlsoSet);\n },\n },\n];\n","import {Directive, Inject, Input, TemplateRef} from '@angular/core';\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(\n @Inject(TemplateRef) readonly template: TemplateRef<Record<string, unknown>>,\n ) {}\n}\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\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: () => null,\n },\n);\n","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\nimport {tuiPure} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\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","<a\n *polymorpheusOutlet=\"sourceCode as link; context: pathOptions\"\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","import {ChangeDetectionStrategy, Component, Inject, Input} from '@angular/core';\n\nimport {TuiDocPage, TuiDocPageGroup} from '../../interfaces/page';\nimport {TUI_DOC_SEE_ALSO_TEXT} from '../../tokens/i18n';\nimport {TUI_DOC_PAGES} from '../../tokens/pages';\n\n@Component({\n selector: `tui-doc-see-also`,\n templateUrl: `./see-also.template.html`,\n styleUrls: [`./see-also.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiDocSeeAlsoComponent {\n @Input()\n seeAlso: readonly string[] = [];\n\n constructor(\n @Inject(TUI_DOC_SEE_ALSO_TEXT) readonly text: string,\n @Inject(TUI_DOC_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?.route) {\n return page.route;\n }\n }\n\n return ``;\n }\n}\n","<h5 class=\"t-header\">{{ text }}</h5>\n<ng-container *ngFor=\"let item of seeAlso; last as last\">\n <a\n tuiLink\n [routerLink]=\"getRouterLink(item)\"\n >\n {{ item }}\n </a>\n <ng-container *ngIf=\"!last\">{{ ', ' }}</ng-container>\n</ng-container>\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';\n\nimport {TUI_DOC_DEFAULT_TABS} from '../../tokens/default-tabs';\nimport {PAGE_PROVIDERS, PAGE_SEE_ALSO} from './page.providers';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\n\n@Component({\n selector: `tui-doc-page`,\n templateUrl: `./page.template.html`,\n styleUrls: [`./page.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: PAGE_PROVIDERS,\n})\nexport class TuiDocPageComponent {\n @Input()\n header = ``;\n\n @Input()\n package = ``;\n\n @Input()\n type = ``;\n\n @Input()\n path = ``;\n\n @ContentChildren(TuiDocPageTabConnectorDirective)\n readonly tabConnectors: QueryList<TuiDocPageTabConnectorDirective> = EMPTY_QUERY;\n\n activeItemIndex = NaN;\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","<header class=\"t-header\">\n <h1 class=\"t-title\">\n {{ header }}\n <tui-tag\n *ngIf=\"deprecated !== null\"\n value=\"deprecated\"\n status=\"custom\"\n class=\"t-tag t-tag_deprecated\"\n ></tui-tag>\n <tui-tag\n *ngIf=\"package\"\n status=\"custom\"\n class=\"t-tag t-tag_package\"\n [value]=\"package\"\n [autoColor]=\"true\"\n ></tui-tag>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabConnectors; first as first; index as index\">\n <ng-container *ngIf=\"first; else dynamicTab\">\n <a\n *tuiItem\n tuiTab\n routerLink=\"./\"\n routerLinkActive\n [routerLinkActiveOptions]=\"{exact: true}\"\n >\n {{ tab.pageTab || defaultTabs[index] }}\n </a>\n </ng-container>\n <ng-template #dynamicTab>\n <a\n *tuiItem\n tuiTab\n routerLinkActive\n [routerLink]=\"getRouterLink(tab.pageTab || defaultTabs[index])\"\n >\n {{ tab.pageTab || defaultTabs[index] }}\n </a>\n </ng-template>\n </ng-container>\n </tui-tabs-with-more>\n <tui-doc-source-code\n class=\"t-source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [type]=\"type\"\n [path]=\"path\"\n ></tui-doc-source-code>\n</header>\n<div class=\"t-content\">\n <ng-content></ng-content>\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"t-see-also\"\n [seeAlso]=\"seeAlso\"\n ></tui-doc-see-also>\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container\n *ngIf=\"index === activeItemIndex\"\n [ngTemplateOutlet]=\"tab.template\"\n ></ng-container>\n </ng-container>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiLinkModule} from '@taiga-ui/core';\n\nimport {TuiDocSeeAlsoComponent} from './see-also.component';\n\n@NgModule({\n imports: [CommonModule, RouterModule, TuiLinkModule],\n declarations: [TuiDocSeeAlsoComponent],\n exports: [TuiDocSeeAlsoComponent],\n})\nexport class TuiDocSeeAlsoModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDocSourceCodeComponent} from './source-code.component';\n\n@NgModule({\n declarations: [TuiDocSourceCodeComponent],\n imports: [CommonModule, PolymorpheusModule, TuiButtonModule],\n exports: [TuiDocSourceCodeComponent],\n})\nexport class TuiDocSourceCodeModule {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {RouterModule} from '@angular/router';\nimport {TuiTabsModule, TuiTagModule} from '@taiga-ui/kit';\n\nimport {TuiDocSeeAlsoModule} from '../../internal/see-also/see-also.module';\nimport {TuiDocSourceCodeModule} from '../../internal/source-code/source-code.module';\nimport {TuiDocPageComponent} from './page.component';\nimport {TuiDocPageTabConnectorDirective} from './page-tab.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule,\n TuiDocSeeAlsoModule,\n TuiTabsModule,\n TuiTagModule,\n TuiDocSourceCodeModule,\n ],\n declarations: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n exports: [TuiDocPageComponent, TuiDocPageTabConnectorDirective],\n})\nexport class TuiDocPageModule {}\n","export interface TuiDocPageBase {\n readonly section?: string;\n readonly title: string;\n}\n\nexport interface TuiDocPage extends TuiDocPageBase {\n readonly route: string;\n readonly keywords?: string;\n}\n\nexport interface TuiDocPageGroup extends TuiDocPageBase {\n readonly subPages: readonly TuiDocPage[];\n}\n\nexport type RawLoaderContent = Promise<{default: string}> | string;\n\nexport const TUI_EXAMPLE_PRIMARY_FILE_NAME = {\n TS: `TypeScript`,\n LESS: `LESS`,\n HTML: `HTML`,\n} as const;\n\nexport type TuiDocExample =\n | Record<string, RawLoaderContent>\n | {\n [TUI_EXAMPLE_PRIMARY_FILE_NAME.TS]?: string;\n [TUI_EXAMPLE_PRIMARY_FILE_NAME.HTML]?: string;\n [TUI_EXAMPLE_PRIMARY_FILE_NAME.LESS]?: string;\n };\n","import {Provider} from '@angular/core';\n\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\nexport const TUI_DOC_RUSSIAN: Provider[] = [\n {\n provide: TUI_DOC_DEMO_TEXTS,\n useValue: [`Сделано с помощью директивы: `, `Фон`, `Детали формы`],\n },\n {\n provide: TUI_DOC_DOCUMENTATION_TEXTS,\n useValue: [\n `Аргумент`,\n `Тип`,\n `Имя и описание`,\n `Значение`,\n `Для работы с динамическими шаблонами используется`,\n ],\n },\n {\n provide: TUI_DOC_EXAMPLE_TEXTS,\n useValue: [`Превью`, `Ссылка на пример скопирована`, `Готово`],\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 {NgModule} from '@angular/core';\n\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","import {Type} from '@angular/core';\nimport {Routes} from '@angular/router';\n\nexport function tuiGenerateRoutes(type: Type<unknown>): Routes {\n return [\n {\n path: ``,\n component: type,\n children: [\n {\n path: `:tab`,\n component: type,\n },\n ],\n },\n ];\n}\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/code/parse-code-block';\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/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/example/example-capitalize.pipe';\nexport * from './components/example/example-get-tabs.pipe';\nexport * from './components/language-switcher/language-switcher.component';\nexport * from './components/language-switcher/language-switcher.module';\nexport * from './components/main/main.component';\nexport * from './components/main/main.module';\nexport * from './components/navigation/navigation.component';\nexport * from './components/navigation/navigation.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-actions';\nexport * from './tokens/code-editor';\nexport * from './tokens/default-tabs';\nexport * from './tokens/example-content-processor';\nexport * from './tokens/i18n';\nexport * from './tokens/logo';\nexport * from './tokens/page-loaded';\nexport * from './tokens/pages';\nexport * from './tokens/scroll-behavior';\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 './addon-doc.module';\nexport * from './utils/coerce-value';\nexport * from './utils/generate-routes';\nexport * from './utils/raw-load';\nexport * from './utils/raw-load-record';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","Location","i3","i4","i5","i6","i5.TuiInputOpacityDirective","NgLocation","i3.TuiDocCopyComponent","i4.TuiDocCodeComponent","i7","i9.TuiDocExampleCapitalizePipe","i10.TuiDocExampleGetTabsPipe","i7.TuiScrollIntoViewLinkDirective","i2.TuiDocNavigationComponent","i3.TuiDocHeaderComponent","i2.TuiDocSourceCodeComponent","i3.TuiDocSeeAlsoComponent"],"mappings":"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"}