@taiga-ui/addon-doc 3.58.0 → 3.59.0-canary.10da730

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 (239) hide show
  1. package/components/code/code.component.d.ts +1 -1
  2. package/components/copy/copy.component.d.ts +1 -1
  3. package/components/demo/demo.component.d.ts +3 -3
  4. package/components/doc-tab/doc-tab.component.d.ts +1 -1
  5. package/components/documentation/documentation-property-connector.directive.d.ts +3 -3
  6. package/components/documentation/documentation.component.d.ts +1 -1
  7. package/components/documentation/pipes/cleaner.pipe.d.ts +1 -1
  8. package/components/documentation/pipes/color.pipe.d.ts +1 -1
  9. package/components/documentation/pipes/inspect.pipe.d.ts +1 -1
  10. package/components/documentation/pipes/opacity.pipe.d.ts +1 -1
  11. package/components/documentation/pipes/optional.pipe.d.ts +1 -1
  12. package/components/documentation/pipes/primitive-polymorpheus-content.pipe.d.ts +1 -1
  13. package/components/documentation/pipes/strip-optional.pipe.d.ts +1 -1
  14. package/components/documentation/pipes/type-reference.pipe.d.ts +1 -1
  15. package/components/example/example-get-tabs.pipe.d.ts +1 -1
  16. package/components/example/example.component.d.ts +1 -1
  17. package/components/internal/header/header.component.d.ts +1 -1
  18. package/components/internal/input-opacity/input-opacity.directive.d.ts +1 -1
  19. package/components/internal/see-also/see-also.component.d.ts +1 -1
  20. package/components/internal/source-code/source-code.component.d.ts +1 -1
  21. package/components/language-switcher/language-switcher.component.d.ts +3 -3
  22. package/components/main/main.component.d.ts +1 -1
  23. package/components/navigation/navigation.component.d.ts +3 -3
  24. package/components/page/page-tab.directive.d.ts +1 -1
  25. package/components/page/page.component.d.ts +1 -1
  26. package/directives/scroll-into-view/scroll-into-view.directive.d.ts +1 -1
  27. package/directives/text-code/text-code.directive.d.ts +1 -1
  28. package/{esm2015/addon-doc.module.js → esm2020/addon-doc.module.mjs} +4 -4
  29. package/esm2020/components/code/code.component.mjs +42 -0
  30. package/{esm2015/components/code/code.module.js → esm2020/components/code/code.module.mjs} +9 -11
  31. package/esm2020/components/copy/copy.component.mjs +35 -0
  32. package/{esm2015/components/copy/copy.module.js → esm2020/components/copy/copy.module.mjs} +5 -5
  33. package/esm2020/components/demo/demo.component.mjs +179 -0
  34. package/{esm2015/components/demo/demo.module.js → esm2020/components/demo/demo.module.mjs} +23 -25
  35. package/esm2020/components/doc-tab/doc-tab.component.mjs +17 -0
  36. package/{esm2015/components/doc-tab/doc-tab.module.js → esm2020/components/doc-tab/doc-tab.module.mjs} +5 -5
  37. package/{esm2015/components/documentation/documentation-property-connector.directive.js → esm2020/components/documentation/documentation-property-connector.directive.mjs} +8 -5
  38. package/esm2020/components/documentation/documentation.component.mjs +109 -0
  39. package/{esm2015/components/documentation/documentation.module.js → esm2020/components/documentation/documentation.module.mjs} +22 -24
  40. package/{esm2015/components/documentation/pipes/cleaner.pipe.js → esm2020/components/documentation/pipes/cleaner.pipe.mjs} +3 -3
  41. package/{esm2015/components/documentation/pipes/color.pipe.js → esm2020/components/documentation/pipes/color.pipe.mjs} +3 -3
  42. package/{esm2015/components/documentation/pipes/inspect.pipe.js → esm2020/components/documentation/pipes/inspect.pipe.mjs} +3 -3
  43. package/{esm2015/components/documentation/pipes/opacity.pipe.js → esm2020/components/documentation/pipes/opacity.pipe.mjs} +3 -3
  44. package/{esm2015/components/documentation/pipes/optional.pipe.js → esm2020/components/documentation/pipes/optional.pipe.mjs} +3 -3
  45. package/{esm2015/components/documentation/pipes/primitive-polymorpheus-content.pipe.js → esm2020/components/documentation/pipes/primitive-polymorpheus-content.pipe.mjs} +3 -3
  46. package/{esm2015/components/documentation/pipes/strip-optional.pipe.js → esm2020/components/documentation/pipes/strip-optional.pipe.mjs} +3 -3
  47. package/esm2020/components/documentation/pipes/type-reference.pipe.mjs +31 -0
  48. package/{esm2015/components/example/example-get-tabs.pipe.js → esm2020/components/example/example-get-tabs.pipe.mjs} +3 -3
  49. package/esm2020/components/example/example.component.mjs +150 -0
  50. package/{esm2015/components/example/example.module.js → esm2020/components/example/example.module.mjs} +13 -15
  51. package/esm2020/components/internal/header/header.component.mjs +54 -0
  52. package/{esm2015/components/internal/header/header.module.js → esm2020/components/internal/header/header.module.mjs} +10 -12
  53. package/{esm2015/components/internal/input-opacity/input-opacity.directive.js → esm2020/components/internal/input-opacity/input-opacity.directive.mjs} +8 -8
  54. package/{esm2015/components/internal/input-opacity/input-opacity.module.js → esm2020/components/internal/input-opacity/input-opacity.module.mjs} +4 -4
  55. package/esm2020/components/internal/see-also/see-also.component.mjs +31 -0
  56. package/{esm2015/components/internal/see-also/see-also.module.js → esm2020/components/internal/see-also/see-also.module.mjs} +5 -5
  57. package/{esm2015/components/internal/source-code/source-code.component.js → esm2020/components/internal/source-code/source-code.component.mjs} +7 -11
  58. package/{esm2015/components/internal/source-code/source-code.module.js → esm2020/components/internal/source-code/source-code.module.mjs} +5 -5
  59. package/esm2020/components/language-switcher/language-switcher.component.mjs +61 -0
  60. package/{esm2015/components/language-switcher/language-switcher.module.js → esm2020/components/language-switcher/language-switcher.module.mjs} +9 -11
  61. package/esm2020/components/main/main.component.mjs +59 -0
  62. package/{esm2015/components/main/main.module.js → esm2020/components/main/main.module.mjs} +14 -16
  63. package/esm2020/components/navigation/navigation.component.mjs +213 -0
  64. package/{esm2015/components/navigation/navigation.module.js → esm2020/components/navigation/navigation.module.mjs} +24 -26
  65. package/esm2020/components/navigation/navigation.providers.mjs +48 -0
  66. package/{esm2015/components/page/page-tab.directive.js → esm2020/components/page/page-tab.directive.mjs} +3 -3
  67. package/esm2020/components/page/page.component.mjs +56 -0
  68. package/{esm2015/components/page/page.module.js → esm2020/components/page/page.module.mjs} +11 -13
  69. package/esm2020/directives/scroll-into-view/scroll-into-view.directive.mjs +44 -0
  70. package/{esm2015/directives/scroll-into-view/scroll-into-view.module.js → esm2020/directives/scroll-into-view/scroll-into-view.module.mjs} +4 -4
  71. package/{esm2015/directives/text-code/text-code.directive.js → esm2020/directives/text-code/text-code.directive.mjs} +3 -3
  72. package/{esm2015/directives/text-code/text-code.module.js → esm2020/directives/text-code/text-code.module.mjs} +4 -4
  73. package/{esm2015/services/theme-night.service.js → esm2020/services/theme-night.service.mjs} +4 -4
  74. package/{esm2015/services/theme.service.js → esm2020/services/theme.service.mjs} +4 -4
  75. package/esm2020/tokens/page-loaded.mjs +7 -0
  76. package/esm2020/tokens/pages.mjs +9 -0
  77. package/esm2020/utils/coerce-boolean.mjs +4 -0
  78. package/{esm2015/utils/coerce-value.js → esm2020/utils/coerce-value.mjs} +2 -2
  79. package/esm2020/utils/raw-load-record.mjs +11 -0
  80. package/esm2020/utils/raw-load.mjs +4 -0
  81. package/esm2020/utils/sort-pages.mjs +26 -0
  82. package/esm2020/utils/to-flat-map-pages.mjs +22 -0
  83. package/esm2020/utils/type-reference-parser.mjs +24 -0
  84. package/fesm2015/taiga-ui-addon-doc-components.mjs +1909 -0
  85. package/fesm2015/taiga-ui-addon-doc-components.mjs.map +1 -0
  86. package/fesm2015/taiga-ui-addon-doc-directives.mjs +99 -0
  87. package/fesm2015/taiga-ui-addon-doc-directives.mjs.map +1 -0
  88. package/fesm2015/{taiga-ui-addon-doc-interfaces.js → taiga-ui-addon-doc-interfaces.mjs} +1 -1
  89. package/fesm2015/taiga-ui-addon-doc-interfaces.mjs.map +1 -0
  90. package/fesm2015/{taiga-ui-addon-doc-languages.js → taiga-ui-addon-doc-languages.mjs} +1 -1
  91. package/fesm2015/taiga-ui-addon-doc-languages.mjs.map +1 -0
  92. package/fesm2015/taiga-ui-addon-doc-services.mjs +97 -0
  93. package/fesm2015/taiga-ui-addon-doc-services.mjs.map +1 -0
  94. package/fesm2015/{taiga-ui-addon-doc-tokens.js → taiga-ui-addon-doc-tokens.mjs} +2 -3
  95. package/fesm2015/taiga-ui-addon-doc-tokens.mjs.map +1 -0
  96. package/fesm2015/taiga-ui-addon-doc-types.mjs +4 -0
  97. package/fesm2015/taiga-ui-addon-doc-types.mjs.map +1 -0
  98. package/fesm2015/{taiga-ui-addon-doc-utils.js → taiga-ui-addon-doc-utils.mjs} +7 -6
  99. package/fesm2015/taiga-ui-addon-doc-utils.mjs.map +1 -0
  100. package/fesm2015/{taiga-ui-addon-doc.js → taiga-ui-addon-doc.mjs} +5 -5
  101. package/fesm2015/taiga-ui-addon-doc.mjs.map +1 -0
  102. package/{fesm2015/taiga-ui-addon-doc-components.js → fesm2020/taiga-ui-addon-doc-components.mjs} +351 -441
  103. package/fesm2020/taiga-ui-addon-doc-components.mjs.map +1 -0
  104. package/{fesm2015/taiga-ui-addon-doc-directives.js → fesm2020/taiga-ui-addon-doc-directives.mjs} +19 -20
  105. package/fesm2020/taiga-ui-addon-doc-directives.mjs.map +1 -0
  106. package/fesm2020/taiga-ui-addon-doc-interfaces.mjs +12 -0
  107. package/fesm2020/taiga-ui-addon-doc-interfaces.mjs.map +1 -0
  108. package/fesm2020/taiga-ui-addon-doc-languages.mjs +46 -0
  109. package/fesm2020/taiga-ui-addon-doc-languages.mjs.map +1 -0
  110. package/{fesm2015/taiga-ui-addon-doc-services.js → fesm2020/taiga-ui-addon-doc-services.mjs} +7 -7
  111. package/fesm2020/taiga-ui-addon-doc-services.mjs.map +1 -0
  112. package/fesm2020/taiga-ui-addon-doc-tokens.mjs +148 -0
  113. package/fesm2020/taiga-ui-addon-doc-tokens.mjs.map +1 -0
  114. package/fesm2020/taiga-ui-addon-doc-types.mjs +4 -0
  115. package/fesm2020/taiga-ui-addon-doc-types.mjs.map +1 -0
  116. package/fesm2020/taiga-ui-addon-doc-utils.mjs +275 -0
  117. package/fesm2020/taiga-ui-addon-doc-utils.mjs.map +1 -0
  118. package/fesm2020/taiga-ui-addon-doc.mjs +49 -0
  119. package/fesm2020/taiga-ui-addon-doc.mjs.map +1 -0
  120. package/interfaces/page.d.ts +3 -3
  121. package/package.json +115 -38
  122. package/tokens/pages.d.ts +4 -2
  123. package/types/pages.d.ts +1 -1
  124. package/utils/type-reference-parser.d.ts +1 -1
  125. package/bundles/taiga-ui-addon-doc-components.umd.js +0 -2549
  126. package/bundles/taiga-ui-addon-doc-components.umd.js.map +0 -1
  127. package/bundles/taiga-ui-addon-doc-directives.umd.js +0 -140
  128. package/bundles/taiga-ui-addon-doc-directives.umd.js.map +0 -1
  129. package/bundles/taiga-ui-addon-doc-interfaces.umd.js +0 -22
  130. package/bundles/taiga-ui-addon-doc-interfaces.umd.js.map +0 -1
  131. package/bundles/taiga-ui-addon-doc-languages.umd.js +0 -54
  132. package/bundles/taiga-ui-addon-doc-languages.umd.js.map +0 -1
  133. package/bundles/taiga-ui-addon-doc-services.umd.js +0 -457
  134. package/bundles/taiga-ui-addon-doc-services.umd.js.map +0 -1
  135. package/bundles/taiga-ui-addon-doc-tokens.umd.js +0 -179
  136. package/bundles/taiga-ui-addon-doc-tokens.umd.js.map +0 -1
  137. package/bundles/taiga-ui-addon-doc-types.umd.js +0 -11
  138. package/bundles/taiga-ui-addon-doc-types.umd.js.map +0 -1
  139. package/bundles/taiga-ui-addon-doc-utils.umd.js +0 -671
  140. package/bundles/taiga-ui-addon-doc-utils.umd.js.map +0 -1
  141. package/bundles/taiga-ui-addon-doc.umd.js +0 -117
  142. package/bundles/taiga-ui-addon-doc.umd.js.map +0 -1
  143. package/components/package.json +0 -10
  144. package/components/taiga-ui-addon-doc-components.d.ts +0 -5
  145. package/directives/package.json +0 -10
  146. package/directives/taiga-ui-addon-doc-directives.d.ts +0 -5
  147. package/esm2015/components/code/code.component.js +0 -48
  148. package/esm2015/components/copy/copy.component.js +0 -42
  149. package/esm2015/components/demo/demo.component.js +0 -183
  150. package/esm2015/components/doc-tab/doc-tab.component.js +0 -22
  151. package/esm2015/components/documentation/documentation.component.js +0 -117
  152. package/esm2015/components/documentation/pipes/type-reference.pipe.js +0 -34
  153. package/esm2015/components/example/example.component.js +0 -152
  154. package/esm2015/components/internal/header/header.component.js +0 -60
  155. package/esm2015/components/internal/see-also/see-also.component.js +0 -37
  156. package/esm2015/components/language-switcher/language-switcher.component.js +0 -67
  157. package/esm2015/components/main/main.component.js +0 -68
  158. package/esm2015/components/navigation/navigation.component.js +0 -221
  159. package/esm2015/components/navigation/navigation.providers.js +0 -48
  160. package/esm2015/components/page/page.component.js +0 -62
  161. package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +0 -45
  162. package/esm2015/tokens/page-loaded.js +0 -8
  163. package/esm2015/tokens/pages.js +0 -9
  164. package/esm2015/utils/coerce-boolean.js +0 -4
  165. package/esm2015/utils/raw-load-record.js +0 -14
  166. package/esm2015/utils/raw-load.js +0 -7
  167. package/esm2015/utils/sort-pages.js +0 -23
  168. package/esm2015/utils/to-flat-map-pages.js +0 -23
  169. package/esm2015/utils/type-reference-parser.js +0 -24
  170. package/fesm2015/taiga-ui-addon-doc-components.js.map +0 -1
  171. package/fesm2015/taiga-ui-addon-doc-directives.js.map +0 -1
  172. package/fesm2015/taiga-ui-addon-doc-interfaces.js.map +0 -1
  173. package/fesm2015/taiga-ui-addon-doc-languages.js.map +0 -1
  174. package/fesm2015/taiga-ui-addon-doc-services.js.map +0 -1
  175. package/fesm2015/taiga-ui-addon-doc-tokens.js.map +0 -1
  176. package/fesm2015/taiga-ui-addon-doc-types.js +0 -4
  177. package/fesm2015/taiga-ui-addon-doc-types.js.map +0 -1
  178. package/fesm2015/taiga-ui-addon-doc-utils.js.map +0 -1
  179. package/fesm2015/taiga-ui-addon-doc.js.map +0 -1
  180. package/interfaces/package.json +0 -10
  181. package/interfaces/taiga-ui-addon-doc-interfaces.d.ts +0 -5
  182. package/languages/package.json +0 -10
  183. package/languages/taiga-ui-addon-doc-languages.d.ts +0 -5
  184. package/services/package.json +0 -10
  185. package/services/taiga-ui-addon-doc-services.d.ts +0 -5
  186. package/taiga-ui-addon-doc.d.ts +0 -5
  187. package/tokens/package.json +0 -10
  188. package/tokens/taiga-ui-addon-doc-tokens.d.ts +0 -5
  189. package/types/package.json +0 -10
  190. package/types/taiga-ui-addon-doc-types.d.ts +0 -5
  191. package/utils/package.json +0 -10
  192. package/utils/taiga-ui-addon-doc-utils.d.ts +0 -5
  193. /package/{esm2015/components/example/example.options.js → esm2020/components/example/example.options.mjs} +0 -0
  194. /package/{esm2015/components/index.js → esm2020/components/index.mjs} +0 -0
  195. /package/{esm2015/components/page/page.providers.js → esm2020/components/page/page.providers.mjs} +0 -0
  196. /package/{esm2015/components/taiga-ui-addon-doc-components.js → esm2020/components/taiga-ui-addon-doc-components.mjs} +0 -0
  197. /package/{esm2015/directives/index.js → esm2020/directives/index.mjs} +0 -0
  198. /package/{esm2015/directives/taiga-ui-addon-doc-directives.js → esm2020/directives/taiga-ui-addon-doc-directives.mjs} +0 -0
  199. /package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  200. /package/{esm2015/interfaces/code-editor.js → esm2020/interfaces/code-editor.mjs} +0 -0
  201. /package/{esm2015/interfaces/demo-params.js → esm2020/interfaces/demo-params.mjs} +0 -0
  202. /package/{esm2015/interfaces/index.js → esm2020/interfaces/index.mjs} +0 -0
  203. /package/{esm2015/interfaces/page.js → esm2020/interfaces/page.mjs} +0 -0
  204. /package/{esm2015/interfaces/source-code-path-options.js → esm2020/interfaces/source-code-path-options.mjs} +0 -0
  205. /package/{esm2015/interfaces/taiga-ui-addon-doc-interfaces.js → esm2020/interfaces/taiga-ui-addon-doc-interfaces.mjs} +0 -0
  206. /package/{esm2015/languages/index.js → esm2020/languages/index.mjs} +0 -0
  207. /package/{esm2015/languages/russian.js → esm2020/languages/russian.mjs} +0 -0
  208. /package/{esm2015/languages/taiga-ui-addon-doc-languages.js → esm2020/languages/taiga-ui-addon-doc-languages.mjs} +0 -0
  209. /package/{esm2015/services/index.js → esm2020/services/index.mjs} +0 -0
  210. /package/{esm2015/services/taiga-ui-addon-doc-services.js → esm2020/services/taiga-ui-addon-doc-services.mjs} +0 -0
  211. /package/{esm2015/services/theme-night.options.js → esm2020/services/theme-night.options.mjs} +0 -0
  212. /package/{esm2015/services/theme.options.js → esm2020/services/theme.options.mjs} +0 -0
  213. /package/{esm2015/taiga-ui-addon-doc.js → esm2020/taiga-ui-addon-doc.mjs} +0 -0
  214. /package/{esm2015/tokens/code-actions.js → esm2020/tokens/code-actions.mjs} +0 -0
  215. /package/{esm2015/tokens/code-editor.js → esm2020/tokens/code-editor.mjs} +0 -0
  216. /package/{esm2015/tokens/default-tabs.js → esm2020/tokens/default-tabs.mjs} +0 -0
  217. /package/{esm2015/tokens/doc-icons.js → esm2020/tokens/doc-icons.mjs} +0 -0
  218. /package/{esm2015/tokens/example-content-processor.js → esm2020/tokens/example-content-processor.mjs} +0 -0
  219. /package/{esm2015/tokens/excluded-properties.js → esm2020/tokens/excluded-properties.mjs} +0 -0
  220. /package/{esm2015/tokens/i18n.js → esm2020/tokens/i18n.mjs} +0 -0
  221. /package/{esm2015/tokens/index.js → esm2020/tokens/index.mjs} +0 -0
  222. /package/{esm2015/tokens/logo.js → esm2020/tokens/logo.mjs} +0 -0
  223. /package/{esm2015/tokens/scroll-behavior.js → esm2020/tokens/scroll-behavior.mjs} +0 -0
  224. /package/{esm2015/tokens/see-also.js → esm2020/tokens/see-also.mjs} +0 -0
  225. /package/{esm2015/tokens/source-code.js → esm2020/tokens/source-code.mjs} +0 -0
  226. /package/{esm2015/tokens/taiga-ui-addon-doc-tokens.js → esm2020/tokens/taiga-ui-addon-doc-tokens.mjs} +0 -0
  227. /package/{esm2015/tokens/title.js → esm2020/tokens/title.mjs} +0 -0
  228. /package/{esm2015/tokens/type-reference-handler.js → esm2020/tokens/type-reference-handler.mjs} +0 -0
  229. /package/{esm2015/tokens/url-state-handler.js → esm2020/tokens/url-state-handler.mjs} +0 -0
  230. /package/{esm2015/types/index.js → esm2020/types/index.mjs} +0 -0
  231. /package/{esm2015/types/pages.js → esm2020/types/pages.mjs} +0 -0
  232. /package/{esm2015/types/taiga-ui-addon-doc-types.js → esm2020/types/taiga-ui-addon-doc-types.mjs} +0 -0
  233. /package/{esm2015/utils/generate-routes.js → esm2020/utils/generate-routes.mjs} +0 -0
  234. /package/{esm2015/utils/index.js → esm2020/utils/index.mjs} +0 -0
  235. /package/{esm2015/utils/inspect.js → esm2020/utils/inspect.mjs} +0 -0
  236. /package/{esm2015/utils/is-page-group.js → esm2020/utils/is-page-group.mjs} +0 -0
  237. /package/{esm2015/utils/parse-code-block.js → esm2020/utils/parse-code-block.mjs} +0 -0
  238. /package/{esm2015/utils/taiga-ui-addon-doc-utils.js → esm2020/utils/taiga-ui-addon-doc-utils.mjs} +0 -0
  239. /package/{esm2015/utils/transliterate-keyboard-layout.js → esm2020/utils/transliterate-keyboard-layout.mjs} +0 -0
@@ -0,0 +1,213 @@
1
+ import { __decorate } from "tslib";
2
+ import { DOCUMENT } from '@angular/common';
3
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Inject, Optional, Self, } from '@angular/core';
4
+ import { UntypedFormControl } from '@angular/forms';
5
+ import { Title } from '@angular/platform-browser';
6
+ import { ActivatedRoute, Router, Scroll } from '@angular/router';
7
+ import { TUI_DOC_ICONS, TUI_DOC_PAGE_LOADED, TUI_DOC_SEARCH_TEXT, } from '@taiga-ui/addon-doc/tokens';
8
+ import { tuiTransliterateKeyboardLayout } from '@taiga-ui/addon-doc/utils';
9
+ import { TuiSidebarDirective } from '@taiga-ui/addon-mobile';
10
+ import { tuiControlValue, TuiDestroyService, tuiPure, tuiUniqBy } from '@taiga-ui/cdk';
11
+ import { TUI_COMMON_ICONS, TuiModeDirective, } from '@taiga-ui/core';
12
+ import { combineLatest, filter, map, startWith, switchMap, take, takeUntil, } from 'rxjs';
13
+ import { NAVIGATION_ITEMS, NAVIGATION_LABELS, NAVIGATION_PROVIDERS, NAVIGATION_TITLE, } from './navigation.providers';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@angular/common";
16
+ import * as i2 from "@angular/forms";
17
+ import * as i3 from "@angular/router";
18
+ import * as i4 from "@tinkoff/ng-polymorpheus";
19
+ import * as i5 from "@taiga-ui/addon-doc/directives";
20
+ import * as i6 from "@taiga-ui/kit";
21
+ import * as i7 from "@taiga-ui/core";
22
+ import * as i8 from "@taiga-ui/cdk";
23
+ import * as i9 from "@angular/platform-browser";
24
+ import * as i10 from "rxjs";
25
+ export class TuiDocNavigationComponent {
26
+ constructor(cdr, titleService, title$, mode, sidebar, labels, items, searchText, router, activatedRoute, destroy$, readyToScroll$, docIcons, icons, doc) {
27
+ this.title$ = title$;
28
+ this.mode = mode;
29
+ this.sidebar = sidebar;
30
+ this.labels = labels;
31
+ this.items = items;
32
+ this.searchText = searchText;
33
+ this.router = router;
34
+ this.activatedRoute = activatedRoute;
35
+ this.destroy$ = destroy$;
36
+ this.readyToScroll$ = readyToScroll$;
37
+ this.docIcons = docIcons;
38
+ this.icons = icons;
39
+ this.doc = doc;
40
+ this.menuOpen = false;
41
+ this.openPagesArr = [];
42
+ this.openPagesGroupsArr = [];
43
+ this.active = '';
44
+ this.search = new UntypedFormControl('');
45
+ this.filtered$ = tuiControlValue(this.search).pipe(filter(search => search.trim().length > 2), map(search => this.filterItems(this.flattenSubPages(this.items), search)));
46
+ this.mode$ = this.mode.change$.pipe(startWith(null), map(() => this.mode.mode || 'onLight'));
47
+ title$.subscribe(title => {
48
+ cdr.markForCheck();
49
+ titleService.setTitle(title);
50
+ this.openActivePageGroup();
51
+ });
52
+ combineLatest([
53
+ this.router.events.pipe(filter((event) => event instanceof Scroll)),
54
+ this.title$.pipe(switchMap(() => this.readyToScroll$.pipe(filter(Boolean)))),
55
+ ])
56
+ .pipe(take(1), map(([event]) => event.anchor || ''), filter(Boolean), takeUntil(this.destroy$))
57
+ .subscribe(anchor => this.navigateToAnchorLink(anchor));
58
+ }
59
+ get canOpen() {
60
+ return (this.search.value?.length ?? 0) > 2;
61
+ }
62
+ get itemsWithoutSections() {
63
+ return this.items[this.items.length - 1];
64
+ }
65
+ $pages(pages) {
66
+ return pages;
67
+ }
68
+ isActive(route) {
69
+ return route === this.active;
70
+ }
71
+ onGroupClick(index) {
72
+ this.openPagesGroupsArr[index] = !this.openPagesGroupsArr[index];
73
+ }
74
+ closeMenu() {
75
+ this.menuOpen = false;
76
+ }
77
+ onClick(input) {
78
+ input.open = false;
79
+ this.menuOpen = false;
80
+ this.search.setValue('');
81
+ this.openActivePageGroup();
82
+ }
83
+ filterItems(items, search) {
84
+ return items.map(section => tuiUniqBy(section.filter(({ title, keywords = '' }) => {
85
+ search = search.toLowerCase().trim();
86
+ keywords = keywords.toLowerCase();
87
+ title = title.toLowerCase();
88
+ return (title.includes(search) ||
89
+ keywords.includes(search) ||
90
+ title.includes(tuiTransliterateKeyboardLayout(search)) ||
91
+ keywords.includes(tuiTransliterateKeyboardLayout(search)) ||
92
+ search.replace(/-/gi, '').includes(title) ||
93
+ title.includes(search.replace(/\s|tui/g, '')) ||
94
+ keywords.includes(search.replace(/\s|tui/g, '')) ||
95
+ search.split(/\s/).find(word => title.includes(word)));
96
+ }), 'title'));
97
+ }
98
+ flattenSubPages(items) {
99
+ return items.reduce((array, item) => [
100
+ ...array,
101
+ item.reduce((pages, page) => 'subPages' in page
102
+ ? [...pages, ...page.subPages]
103
+ : [...pages, page], []),
104
+ ], []);
105
+ }
106
+ isActiveRoute(route) {
107
+ return this.router.isActive(route, {
108
+ paths: 'subset',
109
+ queryParams: 'subset',
110
+ fragment: 'ignored',
111
+ matrixParams: 'ignored',
112
+ });
113
+ }
114
+ openActivePageGroup() {
115
+ this.items.forEach((pages, pagesIndex) => {
116
+ pages.forEach((page, pageIndex) => {
117
+ if ('route' in page && this.isActiveRoute(page.route)) {
118
+ this.openPagesArr[pagesIndex] = true;
119
+ this.active = page.route;
120
+ }
121
+ if ('subPages' in page) {
122
+ page.subPages.forEach(subPage => {
123
+ if (this.isActiveRoute(subPage.route)) {
124
+ this.openPagesArr[pagesIndex] = true;
125
+ this.openPagesGroupsArr[pagesIndex * 100 + pageIndex] = true;
126
+ this.active = subPage.route;
127
+ }
128
+ });
129
+ }
130
+ });
131
+ });
132
+ }
133
+ navigateToAnchorLink(fragment) {
134
+ const nodes = fragment ? this.doc.querySelectorAll(`#${fragment}`) : [];
135
+ const element = nodes.length && nodes[nodes.length - 1];
136
+ if (!element) {
137
+ return;
138
+ }
139
+ // emulate :target event
140
+ const target = this.doc.createElement('a');
141
+ target.href = `${this.doc.location.pathname}#${fragment}`;
142
+ target.style.display = 'none';
143
+ target.style.position = 'absolute';
144
+ this.doc.body.appendChild(target);
145
+ target.click();
146
+ target.remove();
147
+ }
148
+ }
149
+ TuiDocNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiDocNavigationComponent, deps: [{ token: ChangeDetectorRef }, { token: Title }, { token: NAVIGATION_TITLE }, { token: TuiModeDirective }, { token: TuiSidebarDirective, optional: true }, { token: NAVIGATION_LABELS }, { token: NAVIGATION_ITEMS }, { token: TUI_DOC_SEARCH_TEXT }, { token: Router }, { token: ActivatedRoute }, { token: TuiDestroyService, self: true }, { token: TUI_DOC_PAGE_LOADED }, { token: TUI_DOC_ICONS }, { token: TUI_COMMON_ICONS }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
150
+ TuiDocNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TuiDocNavigationComponent, selector: "tui-doc-navigation", host: { properties: { "class._open": "this.menuOpen" } }, providers: NAVIGATION_PROVIDERS, ngImport: i0, template: "<tui-input\n #input\n tuiTextfieldSize=\"m\"\n class=\"t-input\"\n [formControl]=\"search\"\n [tuiAutoFocus]=\"!!sidebar\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiTextfieldIconLeft]=\"docIcons.search\"\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 [fragment]=\"item.fragment\"\n [routerLink]=\"item.route\"\n (click)=\"onClick(input)\"\n >\n {{ item.title }}\n <tui-svg\n *polymorpheusOutlet=\"item.icon as icon\"\n class=\"t-icon\"\n [src]=\"icon\"\n ></tui-svg>\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-index=\"index\"\n let-item=\"item\"\n >\n <a\n *ngIf=\"!item.subPages; else subPagesTemplate\"\n routerLinkActive=\"t-sublink_active\"\n tuiLink\n class=\"t-sublink\"\n [routerLink]=\"item.route\"\n [tuiScrollIntoViewLink]=\"isActive(item.route)\"\n (click)=\"closeMenu()\"\n >\n {{ item.title }}\n <tui-svg\n *polymorpheusOutlet=\"item.icon as icon\"\n class=\"t-icon\"\n [src]=\"icon\"\n ></tui-svg>\n </a>\n\n <ng-template #subPagesTemplate>\n <div\n routerLinkActive\n class=\"t-subsection\"\n [routerLinkActiveOptions]=\"{exact: false}\"\n >\n <button\n *ngIf=\"item.subPages\"\n tuiLink\n type=\"button\"\n class=\"t-sublink t-sublink_subsection\"\n (click)=\"onGroupClick(index)\"\n >\n <tui-svg\n class=\"t-chevron\"\n [class.t-chevron_active]=\"!!openPagesGroupsArr[index]\"\n [src]=\"icons.more\"\n ></tui-svg>\n {{ item.title }}\n <tui-svg\n *polymorpheusOutlet=\"item.icon as icon\"\n class=\"t-icon\"\n [src]=\"icon\"\n ></tui-svg>\n </button>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"!!openPagesGroupsArr[index]\"\n >\n <div class=\"t-section t-section_bordered\">\n <a\n *ngFor=\"let subPage of $pages(item.subPages)\"\n routerLinkActive=\"t-sublink_active\"\n tuiLink\n class=\"t-sublink t-sublink_small\"\n [fragment]=\"subPage.fragment\"\n [routerLink]=\"subPage.route\"\n [tuiScrollIntoViewLink]=\"isActive(subPage.route)\"\n (click)=\"closeMenu()\"\n >\n {{ subPage.title }}\n <tui-svg\n *polymorpheusOutlet=\"subPage.icon as icon\"\n class=\"t-icon\"\n [src]=\"icon\"\n ></tui-svg>\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", styles: [":host{z-index:1;display:flex;flex-direction:column;text-align:center;background:var(--tui-base-01)}.t-input{margin:1.25rem}.t-navigation{display:flex;max-height:100%;min-height:0;flex:1 1 0;text-align:left}.t-scrollbar{scroll-behavior:smooth;width:100%}:host-context(tui-root._reduced-motion) .t-scrollbar{scroll-behavior:auto}.t-items-container{display:flex;flex-direction:column;padding:0 1rem}.t-label{margin-left:.5rem}.t-expand{margin-left:.25rem}.t-section{display:flex;flex-direction:column;align-items:flex-start;margin:-1rem 0 -.5rem}.t-section_bordered{margin:.5rem 0;border-left:1px solid var(--tui-base-03)}.t-subsection{margin-left:.5rem}.t-sublink{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;font:var(--tui-font-text-m);margin-left:.5rem;padding-top:1rem}.t-sublink_small{margin-left:1rem;line-height:1.5rem;padding-top:.5rem}.t-sublink_subsection{margin-left:0;line-height:1.6rem}.t-sublink.t-sublink.t-sublink_active{color:var(--tui-text-01)}.t-icon{margin-left:.5rem}.t-chevron{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;width:1rem;height:1rem;margin:-.25rem .25rem 0 -.1875rem}.t-chevron_active{transform:rotate(90deg)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: i5.TuiScrollIntoViewLinkDirective, selector: "[tuiScrollIntoViewLink]", inputs: ["tuiScrollIntoViewLink"] }, { kind: "component", type: i6.TuiInputComponent, selector: "tui-input" }, { kind: "directive", type: i6.TuiInputDirective, selector: "tui-input" }, { kind: "directive", type: i7.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { kind: "directive", type: i7.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { kind: "directive", type: i7.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { kind: "directive", type: i7.TuiTextfieldIconLeftDirective, selector: "[tuiTextfieldIconLeft]", inputs: ["tuiTextfieldIconLeft"] }, { kind: "directive", type: i7.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { kind: "component", type: i7.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { kind: "component", type: i7.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }, { kind: "component", type: i6.TuiAccordionComponent, selector: "tui-accordion", inputs: ["closeOthers", "rounded"] }, { kind: "component", type: i6.TuiAccordionItemComponent, selector: "tui-accordion-item", inputs: ["noPadding", "showArrow", "borders", "size", "disabled", "disableHover", "open", "async"], outputs: ["openChange"] }, { kind: "directive", type: i6.TuiAccordionItemContentDirective, selector: "ng-template[tuiAccordionItemContent]" }, { kind: "component", type: i7.TuiScrollbarComponent, selector: "tui-scrollbar", inputs: ["hidden"] }, { kind: "component", type: i7.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { kind: "component", type: i7.TuiDataListComponent, selector: "tui-data-list", inputs: ["role", "emptyContent", "size"] }, { kind: "component", type: i7.TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: ["size", "role", "disabled", "value"] }, { kind: "directive", type: i7.TuiOptGroupDirective, selector: "tui-opt-group", inputs: ["label"] }, { kind: "directive", type: i7.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { kind: "directive", type: i8.TuiAutoFocusDirective, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
151
+ __decorate([
152
+ tuiPure
153
+ ], TuiDocNavigationComponent.prototype, "filterItems", null);
154
+ __decorate([
155
+ tuiPure
156
+ ], TuiDocNavigationComponent.prototype, "flattenSubPages", null);
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiDocNavigationComponent, decorators: [{
158
+ type: Component,
159
+ args: [{ selector: 'tui-doc-navigation', changeDetection: ChangeDetectionStrategy.OnPush, providers: NAVIGATION_PROVIDERS, template: "<tui-input\n #input\n tuiTextfieldSize=\"m\"\n class=\"t-input\"\n [formControl]=\"search\"\n [tuiAutoFocus]=\"!!sidebar\"\n [tuiTextfieldCleaner]=\"true\"\n [tuiTextfieldIconLeft]=\"docIcons.search\"\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 [fragment]=\"item.fragment\"\n [routerLink]=\"item.route\"\n (click)=\"onClick(input)\"\n >\n {{ item.title }}\n <tui-svg\n *polymorpheusOutlet=\"item.icon as icon\"\n class=\"t-icon\"\n [src]=\"icon\"\n ></tui-svg>\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-index=\"index\"\n let-item=\"item\"\n >\n <a\n *ngIf=\"!item.subPages; else subPagesTemplate\"\n routerLinkActive=\"t-sublink_active\"\n tuiLink\n class=\"t-sublink\"\n [routerLink]=\"item.route\"\n [tuiScrollIntoViewLink]=\"isActive(item.route)\"\n (click)=\"closeMenu()\"\n >\n {{ item.title }}\n <tui-svg\n *polymorpheusOutlet=\"item.icon as icon\"\n class=\"t-icon\"\n [src]=\"icon\"\n ></tui-svg>\n </a>\n\n <ng-template #subPagesTemplate>\n <div\n routerLinkActive\n class=\"t-subsection\"\n [routerLinkActiveOptions]=\"{exact: false}\"\n >\n <button\n *ngIf=\"item.subPages\"\n tuiLink\n type=\"button\"\n class=\"t-sublink t-sublink_subsection\"\n (click)=\"onGroupClick(index)\"\n >\n <tui-svg\n class=\"t-chevron\"\n [class.t-chevron_active]=\"!!openPagesGroupsArr[index]\"\n [src]=\"icons.more\"\n ></tui-svg>\n {{ item.title }}\n <tui-svg\n *polymorpheusOutlet=\"item.icon as icon\"\n class=\"t-icon\"\n [src]=\"icon\"\n ></tui-svg>\n </button>\n <tui-expand\n class=\"t-expand\"\n [expanded]=\"!!openPagesGroupsArr[index]\"\n >\n <div class=\"t-section t-section_bordered\">\n <a\n *ngFor=\"let subPage of $pages(item.subPages)\"\n routerLinkActive=\"t-sublink_active\"\n tuiLink\n class=\"t-sublink t-sublink_small\"\n [fragment]=\"subPage.fragment\"\n [routerLink]=\"subPage.route\"\n [tuiScrollIntoViewLink]=\"isActive(subPage.route)\"\n (click)=\"closeMenu()\"\n >\n {{ subPage.title }}\n <tui-svg\n *polymorpheusOutlet=\"subPage.icon as icon\"\n class=\"t-icon\"\n [src]=\"icon\"\n ></tui-svg>\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", styles: [":host{z-index:1;display:flex;flex-direction:column;text-align:center;background:var(--tui-base-01)}.t-input{margin:1.25rem}.t-navigation{display:flex;max-height:100%;min-height:0;flex:1 1 0;text-align:left}.t-scrollbar{scroll-behavior:smooth;width:100%}:host-context(tui-root._reduced-motion) .t-scrollbar{scroll-behavior:auto}.t-items-container{display:flex;flex-direction:column;padding:0 1rem}.t-label{margin-left:.5rem}.t-expand{margin-left:.25rem}.t-section{display:flex;flex-direction:column;align-items:flex-start;margin:-1rem 0 -.5rem}.t-section_bordered{margin:.5rem 0;border-left:1px solid var(--tui-base-03)}.t-subsection{margin-left:.5rem}.t-sublink{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;font:var(--tui-font-text-m);margin-left:.5rem;padding-top:1rem}.t-sublink_small{margin-left:1rem;line-height:1.5rem;padding-top:.5rem}.t-sublink_subsection{margin-left:0;line-height:1.6rem}.t-sublink.t-sublink.t-sublink_active{color:var(--tui-text-01)}.t-icon{margin-left:.5rem}.t-chevron{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;width:1rem;height:1rem;margin:-.25rem .25rem 0 -.1875rem}.t-chevron_active{transform:rotate(90deg)}\n"] }]
160
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef, decorators: [{
161
+ type: Inject,
162
+ args: [ChangeDetectorRef]
163
+ }] }, { type: i9.Title, decorators: [{
164
+ type: Inject,
165
+ args: [Title]
166
+ }] }, { type: i10.Observable, decorators: [{
167
+ type: Inject,
168
+ args: [NAVIGATION_TITLE]
169
+ }] }, { type: i7.TuiModeDirective, decorators: [{
170
+ type: Inject,
171
+ args: [TuiModeDirective]
172
+ }] }, { type: undefined, decorators: [{
173
+ type: Optional
174
+ }, {
175
+ type: Inject,
176
+ args: [TuiSidebarDirective]
177
+ }] }, { type: undefined, decorators: [{
178
+ type: Inject,
179
+ args: [NAVIGATION_LABELS]
180
+ }] }, { type: undefined, decorators: [{
181
+ type: Inject,
182
+ args: [NAVIGATION_ITEMS]
183
+ }] }, { type: undefined, decorators: [{
184
+ type: Inject,
185
+ args: [TUI_DOC_SEARCH_TEXT]
186
+ }] }, { type: i3.Router, decorators: [{
187
+ type: Inject,
188
+ args: [Router]
189
+ }] }, { type: i3.ActivatedRoute, decorators: [{
190
+ type: Inject,
191
+ args: [ActivatedRoute]
192
+ }] }, { type: i10.Observable, decorators: [{
193
+ type: Self
194
+ }, {
195
+ type: Inject,
196
+ args: [TuiDestroyService]
197
+ }] }, { type: i10.Observable, decorators: [{
198
+ type: Inject,
199
+ args: [TUI_DOC_PAGE_LOADED]
200
+ }] }, { type: undefined, decorators: [{
201
+ type: Inject,
202
+ args: [TUI_DOC_ICONS]
203
+ }] }, { type: undefined, decorators: [{
204
+ type: Inject,
205
+ args: [TUI_COMMON_ICONS]
206
+ }] }, { type: Document, decorators: [{
207
+ type: Inject,
208
+ args: [DOCUMENT]
209
+ }] }]; }, propDecorators: { menuOpen: [{
210
+ type: HostBinding,
211
+ args: ['class._open']
212
+ }], filterItems: [], flattenSubPages: [] } });
213
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixRQUFRLEVBQ1IsSUFBSSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUUvRCxPQUFPLEVBQ0gsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixtQkFBbUIsR0FFdEIsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckYsT0FBTyxFQUNILGdCQUFnQixFQUdoQixnQkFBZ0IsR0FDbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0gsYUFBYSxFQUNiLE1BQU0sRUFDTixHQUFHLEVBRUgs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Z3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VW50eXBlZEZvcm1Db250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RpdGxlfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlciwgU2Nyb2xsfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUdWlEb2NQYWdlfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgICBUVUlfRE9DX0lDT05TLFxuICAgIFRVSV9ET0NfUEFHRV9MT0FERUQsXG4gICAgVFVJX0RPQ19TRUFSQ0hfVEVYVCxcbiAgICBUdWlEb2NJY29ucyxcbn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy90b2tlbnMnO1xuaW1wb3J0IHtUdWlEb2NQYWdlc30gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy90eXBlcyc7XG5pbXBvcnQge3R1aVRyYW5zbGl0ZXJhdGVLZXlib2FyZExheW91dH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy91dGlscyc7XG5pbXBvcnQge1R1aVNpZGViYXJEaXJlY3RpdmV9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1tb2JpbGUnO1xuaW1wb3J0IHt0dWlDb250cm9sVmFsdWUsIFR1aURlc3Ryb3lTZXJ2aWNlLCB0dWlQdXJlLCB0dWlVbmlxQnl9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUVUlfQ09NTU9OX0lDT05TLFxuICAgIFR1aUJyaWdodG5lc3MsXG4gICAgVHVpQ29tbW9uSWNvbnMsXG4gICAgVHVpTW9kZURpcmVjdGl2ZSxcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuaW1wb3J0IHtUdWlJbnB1dENvbXBvbmVudH0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQge1xuICAgIGNvbWJpbmVMYXRlc3QsXG4gICAgZmlsdGVyLFxuICAgIG1hcCxcbiAgICBPYnNlcnZhYmxlLFxuICAgIHN0YXJ0V2l0aCxcbiAgICBzd2l0Y2hNYXAsXG4gICAgdGFrZSxcbiAgICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgIE5BVklHQVRJT05fSVRFTVMsXG4gICAgTkFWSUdBVElPTl9MQUJFTFMsXG4gICAgTkFWSUdBVElPTl9QUk9WSURFUlMsXG4gICAgTkFWSUdBVElPTl9USVRMRSxcbn0gZnJvbSAnLi9uYXZpZ2F0aW9uLnByb3ZpZGVycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWRvYy1uYXZpZ2F0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2aWdhdGlvbi50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uYXZpZ2F0aW9uLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IE5BVklHQVRJT05fUFJPVklERVJTLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEb2NOYXZpZ2F0aW9uQ29tcG9uZW50IHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9vcGVuJylcbiAgICBtZW51T3BlbiA9IGZhbHNlO1xuXG4gICAgb3BlblBhZ2VzQXJyOiBib29sZWFuW10gPSBbXTtcbiAgICBvcGVuUGFnZXNHcm91cHNBcnI6IGJvb2xlYW5bXSA9IFtdO1xuICAgIGFjdGl2ZSA9ICcnO1xuXG4gICAgcmVhZG9ubHkgc2VhcmNoID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyk7XG5cbiAgICByZWFkb25seSBmaWx0ZXJlZCQgPSB0dWlDb250cm9sVmFsdWU8c3RyaW5nPih0aGlzLnNlYXJjaCkucGlwZShcbiAgICAgICAgZmlsdGVyKHNlYXJjaCA9PiBzZWFyY2gudHJpbSgpLmxlbmd0aCA+IDIpLFxuICAgICAgICBtYXAoc2VhcmNoID0+IHRoaXMuZmlsdGVySXRlbXModGhpcy5mbGF0dGVuU3ViUGFnZXModGhpcy5pdGVtcyksIHNlYXJjaCkpLFxuICAgICk7XG5cbiAgICByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzPiA9IHRoaXMubW9kZS5jaGFuZ2UkLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aChudWxsKSxcbiAgICAgICAgbWFwKCgpID0+IHRoaXMubW9kZS5tb2RlIHx8ICdvbkxpZ2h0JyksXG4gICAgKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENoYW5nZURldGVjdG9yUmVmKSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBASW5qZWN0KFRpdGxlKSB0aXRsZVNlcnZpY2U6IFRpdGxlLFxuICAgICAgICBASW5qZWN0KE5BVklHQVRJT05fVElUTEUpIHByaXZhdGUgcmVhZG9ubHkgdGl0bGUkOiBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgICAgIEBJbmplY3QoVHVpTW9kZURpcmVjdGl2ZSlcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2RlOiBUdWlNb2RlRGlyZWN0aXZlLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KFR1aVNpZGViYXJEaXJlY3RpdmUpXG4gICAgICAgIHJlYWRvbmx5IHNpZGViYXI6IHVua25vd24sXG4gICAgICAgIEBJbmplY3QoTkFWSUdBVElPTl9MQUJFTFMpIHJlYWRvbmx5IGxhYmVsczogc3RyaW5nW10sXG4gICAgICAgIEBJbmplY3QoTkFWSUdBVElPTl9JVEVNUylcbiAgICAgICAgcmVhZG9ubHkgaXRlbXM6IHJlYWRvbmx5IFR1aURvY1BhZ2VzW10sXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19TRUFSQ0hfVEVYVCkgcmVhZG9ubHkgc2VhcmNoVGV4dDogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFJvdXRlcikgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgQEluamVjdChBY3RpdmF0ZWRSb3V0ZSkgcmVhZG9ubHkgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBAU2VsZigpIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQ6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19QQUdFX0xPQURFRClcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZWFkeVRvU2Nyb2xsJDogT2JzZXJ2YWJsZTxib29sZWFuPixcbiAgICAgICAgQEluamVjdChUVUlfRE9DX0lDT05TKSByZWFkb25seSBkb2NJY29uczogVHVpRG9jSWNvbnMsXG4gICAgICAgIEBJbmplY3QoVFVJX0NPTU1PTl9JQ09OUykgcmVhZG9ubHkgaWNvbnM6IFR1aUNvbW1vbkljb25zLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvYzogRG9jdW1lbnQsXG4gICAgKSB7XG4gICAgICAgIHRpdGxlJC5zdWJzY3JpYmUodGl0bGUgPT4ge1xuICAgICAgICAgICAgY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgdGl0bGVTZXJ2aWNlLnNldFRpdGxlKHRpdGxlKTtcbiAgICAgICAgICAgIHRoaXMub3BlbkFjdGl2ZVBhZ2VHcm91cCgpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpOiBldmVudCBpcyBTY3JvbGwgPT4gZXZlbnQgaW5zdGFuY2VvZiBTY3JvbGwpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRoaXMudGl0bGUkLnBpcGUoc3dpdGNoTWFwKCgpID0+IHRoaXMucmVhZHlUb1Njcm9sbCQucGlwZShmaWx0ZXIoQm9vbGVhbikpKSksXG4gICAgICAgIF0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgICAgIG1hcCgoW2V2ZW50XSkgPT4gZXZlbnQuYW5jaG9yIHx8ICcnKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXI8c3RyaW5nPihCb29sZWFuKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGFuY2hvciA9PiB0aGlzLm5hdmlnYXRlVG9BbmNob3JMaW5rKGFuY2hvcikpO1xuICAgIH1cblxuICAgIGdldCBjYW5PcGVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKHRoaXMuc2VhcmNoLnZhbHVlPy5sZW5ndGggPz8gMCkgPiAyO1xuICAgIH1cblxuICAgIGdldCBpdGVtc1dpdGhvdXRTZWN0aW9ucygpOiBUdWlEb2NQYWdlcyB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zW3RoaXMuaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgfVxuXG4gICAgJHBhZ2VzKHBhZ2VzOiBhbnkpOiByZWFkb25seSBUdWlEb2NQYWdlW10ge1xuICAgICAgICByZXR1cm4gcGFnZXMgYXMgVHVpRG9jUGFnZVtdO1xuICAgIH1cblxuICAgIGlzQWN0aXZlKHJvdXRlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHJvdXRlID09PSB0aGlzLmFjdGl2ZTtcbiAgICB9XG5cbiAgICBvbkdyb3VwQ2xpY2soaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLm9wZW5QYWdlc0dyb3Vwc0FycltpbmRleF0gPSAhdGhpcy5vcGVuUGFnZXNHcm91cHNBcnJbaW5kZXhdO1xuICAgIH1cblxuICAgIGNsb3NlTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZW51T3BlbiA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uQ2xpY2soaW5wdXQ6IFR1aUlucHV0Q29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGlucHV0Lm9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5tZW51T3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnNlYXJjaC5zZXRWYWx1ZSgnJyk7XG4gICAgICAgIHRoaXMub3BlbkFjdGl2ZVBhZ2VHcm91cCgpO1xuICAgIH1cblxuICAgIEB0dWlQdXJlXG4gICAgcHJpdmF0ZSBmaWx0ZXJJdGVtcyhcbiAgICAgICAgaXRlbXM6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVHVpRG9jUGFnZVtdPixcbiAgICAgICAgc2VhcmNoOiBzdHJpbmcsXG4gICAgKTogUmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlEb2NQYWdlW10+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLm1hcChzZWN0aW9uID0+XG4gICAgICAgICAgICB0dWlVbmlxQnkoXG4gICAgICAgICAgICAgICAgc2VjdGlvbi5maWx0ZXIoKHt0aXRsZSwga2V5d29yZHMgPSAnJ30pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoID0gc2VhcmNoLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuICAgICAgICAgICAgICAgICAgICBrZXl3b3JkcyA9IGtleXdvcmRzLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlID0gdGl0bGUudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGUuaW5jbHVkZXMoc2VhcmNoKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5d29yZHMuaW5jbHVkZXMoc2VhcmNoKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGUuaW5jbHVkZXModHVpVHJhbnNsaXRlcmF0ZUtleWJvYXJkTGF5b3V0KHNlYXJjaCkpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXl3b3Jkcy5pbmNsdWRlcyh0dWlUcmFuc2xpdGVyYXRlS2V5Ym9hcmRMYXlvdXQoc2VhcmNoKSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlYXJjaC5yZXBsYWNlKC8tL2dpLCAnJykuaW5jbHVkZXModGl0bGUpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZS5pbmNsdWRlcyhzZWFyY2gucmVwbGFjZSgvXFxzfHR1aS9nLCAnJykpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXl3b3Jkcy5pbmNsdWRlcyhzZWFyY2gucmVwbGFjZSgvXFxzfHR1aS9nLCAnJykpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2guc3BsaXQoL1xccy8pLmZpbmQod29yZCA9PiB0aXRsZS5pbmNsdWRlcyh3b3JkKSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAndGl0bGUnLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZmxhdHRlblN1YlBhZ2VzKFxuICAgICAgICBpdGVtczogcmVhZG9ubHkgVHVpRG9jUGFnZXNbXSxcbiAgICApOiBSZWFkb25seUFycmF5PHJlYWRvbmx5IFR1aURvY1BhZ2VbXT4ge1xuICAgICAgICByZXR1cm4gaXRlbXMucmVkdWNlPFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVHVpRG9jUGFnZVtdPj4oXG4gICAgICAgICAgICAoYXJyYXksIGl0ZW0pID0+IFtcbiAgICAgICAgICAgICAgICAuLi5hcnJheSxcbiAgICAgICAgICAgICAgICBpdGVtLnJlZHVjZTxyZWFkb25seSBUdWlEb2NQYWdlW10+KFxuICAgICAgICAgICAgICAgICAgICAocGFnZXMsIHBhZ2UpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAnc3ViUGFnZXMnIGluIHBhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFsuLi5wYWdlcywgLi4ucGFnZS5zdWJQYWdlc11cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFsuLi5wYWdlcywgcGFnZV0sXG4gICAgICAgICAgICAgICAgICAgIFtdLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW10sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0FjdGl2ZVJvdXRlKHJvdXRlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLmlzQWN0aXZlKHJvdXRlLCB7XG4gICAgICAgICAgICBwYXRoczogJ3N1YnNldCcsXG4gICAgICAgICAgICBxdWVyeVBhcmFtczogJ3N1YnNldCcsXG4gICAgICAgICAgICBmcmFnbWVudDogJ2lnbm9yZWQnLFxuICAgICAgICAgICAgbWF0cml4UGFyYW1zOiAnaWdub3JlZCcsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3BlbkFjdGl2ZVBhZ2VHcm91cCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKChwYWdlcywgcGFnZXNJbmRleCkgPT4ge1xuICAgICAgICAgICAgcGFnZXMuZm9yRWFjaCgocGFnZSwgcGFnZUluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCdyb3V0ZScgaW4gcGFnZSAmJiB0aGlzLmlzQWN0aXZlUm91dGUocGFnZS5yb3V0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuUGFnZXNBcnJbcGFnZXNJbmRleF0gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IHBhZ2Uucm91dGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCdzdWJQYWdlcycgaW4gcGFnZSkge1xuICAgICAgICAgICAgICAgICAgICBwYWdlLnN1YlBhZ2VzLmZvckVhY2goc3ViUGFnZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0FjdGl2ZVJvdXRlKHN1YlBhZ2Uucm91dGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuUGFnZXNBcnJbcGFnZXNJbmRleF0gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3BlblBhZ2VzR3JvdXBzQXJyW3BhZ2VzSW5kZXggKiAxMDAgKyBwYWdlSW5kZXhdID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZSA9IHN1YlBhZ2Uucm91dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG5hdmlnYXRlVG9BbmNob3JMaW5rKGZyYWdtZW50OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgbm9kZXMgPSBmcmFnbWVudCA/IHRoaXMuZG9jLnF1ZXJ5U2VsZWN0b3JBbGwoYCMke2ZyYWdtZW50fWApIDogW107XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBub2Rlcy5sZW5ndGggJiYgbm9kZXNbbm9kZXMubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBlbXVsYXRlIDp0YXJnZXQgZXZlbnRcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5kb2MuY3JlYXRlRWxlbWVudCgnYScpO1xuXG4gICAgICAgIHRhcmdldC5ocmVmID0gYCR7dGhpcy5kb2MubG9jYXRpb24ucGF0aG5hbWV9IyR7ZnJhZ21lbnR9YDtcbiAgICAgICAgdGFyZ2V0LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgIHRhcmdldC5zdHlsZS5wb3NpdGlvbiA9ICdhYnNvbHV0ZSc7XG4gICAgICAgIHRoaXMuZG9jLmJvZHkuYXBwZW5kQ2hpbGQodGFyZ2V0KTtcbiAgICAgICAgdGFyZ2V0LmNsaWNrKCk7XG4gICAgICAgIHRhcmdldC5yZW1vdmUoKTtcbiAgICB9XG59XG4iLCI8dHVpLWlucHV0XG4gICAgI2lucHV0XG4gICAgdHVpVGV4dGZpZWxkU2l6ZT1cIm1cIlxuICAgIGNsYXNzPVwidC1pbnB1dFwiXG4gICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaFwiXG4gICAgW3R1aUF1dG9Gb2N1c109XCIhIXNpZGViYXJcIlxuICAgIFt0dWlUZXh0ZmllbGRDbGVhbmVyXT1cInRydWVcIlxuICAgIFt0dWlUZXh0ZmllbGRJY29uTGVmdF09XCJkb2NJY29ucy5zZWFyY2hcIlxuICAgIFt0dWlUZXh0ZmllbGRMYWJlbE91dHNpZGVdPVwidHJ1ZVwiXG4+XG4gICAge3sgc2VhcmNoVGV4dCB9fVxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjYW5PcGVuXCI+XG4gICAgICAgIDx0dWktZGF0YS1saXN0ICp0dWlEYXRhTGlzdD5cbiAgICAgICAgICAgIDx0dWktb3B0LWdyb3VwXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGZpbHRlcmVkJCB8IGFzeW5jOyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cImxhYmVsc1tpbmRleF0gfHwgJydcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdyb3VwXCJcbiAgICAgICAgICAgICAgICAgICAgdHVpT3B0aW9uXG4gICAgICAgICAgICAgICAgICAgIFtmcmFnbWVudF09XCJpdGVtLmZyYWdtZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrKGlucHV0KVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaXRlbS5pY29uIGFzIGljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L3R1aS1vcHQtZ3JvdXA+XG4gICAgICAgIDwvdHVpLWRhdGEtbGlzdD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvdHVpLWlucHV0PlxuXG48bmF2IGNsYXNzPVwidC1uYXZpZ2F0aW9uXCI+XG4gICAgPHR1aS1zY3JvbGxiYXJcbiAgICAgICAgY2xhc3M9XCJ0LXNjcm9sbGJhclwiXG4gICAgICAgIFt0dWlNb2RlXT1cIm1vZGUkIHwgYXN5bmNcIlxuICAgID5cbiAgICAgICAgPHR1aS1hY2NvcmRpb25cbiAgICAgICAgICAgIFtjbG9zZU90aGVyc109XCJmYWxzZVwiXG4gICAgICAgICAgICBbcm91bmRlZF09XCJmYWxzZVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDx0dWktYWNjb3JkaW9uLWl0ZW1cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgbGFiZWwgb2YgbGFiZWxzOyBpbmRleCBhcyBpbmRleFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNcIlxuICAgICAgICAgICAgICAgIFtib3JkZXJzXT1cIm51bGxcIlxuICAgICAgICAgICAgICAgIFsob3BlbildPVwiISFvcGVuUGFnZXNBcnJbaW5kZXhdXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInQtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz57eyBsYWJlbCB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgdHVpQWNjb3JkaW9uSXRlbUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0LXNlY3Rpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtc1tpbmRleF07IGluZGV4IGFzIHN1YkluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwYWdlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtOiBpdGVtLCBpbmRleDogaW5kZXggKiAxMDAgKyBzdWJJbmRleH1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC90dWktYWNjb3JkaW9uLWl0ZW0+XG4gICAgICAgIDwvdHVpLWFjY29yZGlvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInQtaXRlbXMtY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNXaXRob3V0U2VjdGlvbnM7IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJwYWdlc1wiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtOiBpdGVtLCBpbmRleDogaXRlbXMubGVuZ3RoIC0gMSArIGluZGV4fVwiXG4gICAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgI3BhZ2VzXG4gICAgICAgICAgICBsZXQtaW5kZXg9XCJpbmRleFwiXG4gICAgICAgICAgICBsZXQtaXRlbT1cIml0ZW1cIlxuICAgICAgICA+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICpuZ0lmPVwiIWl0ZW0uc3ViUGFnZXM7IGVsc2Ugc3ViUGFnZXNUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZT1cInQtc3VibGlua19hY3RpdmVcIlxuICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtc3VibGlua1wiXG4gICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5yb3V0ZVwiXG4gICAgICAgICAgICAgICAgW3R1aVNjcm9sbEludG9WaWV3TGlua109XCJpc0FjdGl2ZShpdGVtLnJvdXRlKVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlTWVudSgpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBpdGVtLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cIml0ZW0uaWNvbiBhcyBpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImljb25cIlxuICAgICAgICAgICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgICAgICA8L2E+XG5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc3ViUGFnZXNUZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmVcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXN1YnNlY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZU9wdGlvbnNdPVwie2V4YWN0OiBmYWxzZX1cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtLnN1YlBhZ2VzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXN1YmxpbmsgdC1zdWJsaW5rX3N1YnNlY3Rpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uR3JvdXBDbGljayhpbmRleClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1jaGV2cm9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MudC1jaGV2cm9uX2FjdGl2ZV09XCIhIW9wZW5QYWdlc0dyb3Vwc0FycltpbmRleF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaWNvbnMubW9yZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC90dWktc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgaXRlbS50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaXRlbS5pY29uIGFzIGljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDx0dWktZXhwYW5kXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtZXhwYW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtleHBhbmRlZF09XCIhIW9wZW5QYWdlc0dyb3Vwc0FycltpbmRleF1cIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidC1zZWN0aW9uIHQtc2VjdGlvbl9ib3JkZXJlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzdWJQYWdlIG9mICRwYWdlcyhpdGVtLnN1YlBhZ2VzKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJ0LXN1YmxpbmtfYWN0aXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHVpTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtc3VibGluayB0LXN1Ymxpbmtfc21hbGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZnJhZ21lbnRdPVwic3ViUGFnZS5mcmFnbWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cInN1YlBhZ2Uucm91dGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHVpU2Nyb2xsSW50b1ZpZXdMaW5rXT1cImlzQWN0aXZlKHN1YlBhZ2Uucm91dGUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlTWVudSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHN1YlBhZ2UudGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJzdWJQYWdlLmljb24gYXMgaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC90dWktc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3R1aS1leHBhbmQ+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdHVpLXNjcm9sbGJhcj5cbjwvbmF2PlxuXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -11,8 +11,8 @@ import { TuiDocNavigationComponent } from './navigation.component';
11
11
  import * as i0 from "@angular/core";
12
12
  export class TuiDocNavigationModule {
13
13
  }
14
- TuiDocNavigationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
- TuiDocNavigationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocNavigationModule, declarations: [TuiDocNavigationComponent], imports: [CommonModule,
14
+ TuiDocNavigationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiDocNavigationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
+ TuiDocNavigationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: TuiDocNavigationModule, declarations: [TuiDocNavigationComponent], imports: [CommonModule,
16
16
  ReactiveFormsModule,
17
17
  RouterModule,
18
18
  PolymorpheusModule,
@@ -32,29 +32,27 @@ TuiDocNavigationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0",
32
32
  TuiSvgModule,
33
33
  TuiDataListModule,
34
34
  TuiAutoFocusModule], exports: [TuiDocNavigationComponent] });
35
- TuiDocNavigationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocNavigationModule, imports: [[
36
- CommonModule,
37
- ReactiveFormsModule,
38
- RouterModule,
39
- PolymorpheusModule,
40
- TuiScrollIntoViewLinkModule,
41
- TuiButtonModule,
42
- TuiInputModule,
43
- TuiTextfieldControllerModule,
44
- TuiActiveZoneModule,
45
- TuiLetModule,
46
- TuiModeModule,
47
- TuiLinkModule,
48
- TuiExpandModule,
49
- TuiHostedDropdownModule,
50
- TuiDropdownModule,
51
- TuiAccordionModule,
52
- TuiScrollbarModule,
53
- TuiSvgModule,
54
- TuiDataListModule,
55
- TuiAutoFocusModule,
56
- ]] });
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocNavigationModule, decorators: [{
35
+ TuiDocNavigationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiDocNavigationModule, imports: [CommonModule,
36
+ ReactiveFormsModule,
37
+ RouterModule,
38
+ PolymorpheusModule,
39
+ TuiScrollIntoViewLinkModule,
40
+ TuiButtonModule,
41
+ TuiInputModule,
42
+ TuiTextfieldControllerModule,
43
+ TuiActiveZoneModule,
44
+ TuiLetModule,
45
+ TuiModeModule,
46
+ TuiLinkModule,
47
+ TuiExpandModule,
48
+ TuiHostedDropdownModule,
49
+ TuiDropdownModule,
50
+ TuiAccordionModule,
51
+ TuiScrollbarModule,
52
+ TuiSvgModule,
53
+ TuiDataListModule,
54
+ TuiAutoFocusModule] });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiDocNavigationModule, decorators: [{
58
56
  type: NgModule,
59
57
  args: [{
60
58
  imports: [
@@ -83,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
83
81
  exports: [TuiDocNavigationComponent],
84
82
  }]
85
83
  }] });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFDSCxlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLGFBQWEsRUFDYixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLFlBQVksRUFDWiw0QkFBNEIsR0FDL0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsa0JBQWtCLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRTVELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDOztBQTRCakUsTUFBTSxPQUFPLHNCQUFzQjs7b0hBQXRCLHNCQUFzQjtxSEFBdEIsc0JBQXNCLGlCQUhoQix5QkFBeUIsYUFyQnBDLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQiwyQkFBMkI7UUFDM0IsZUFBZTtRQUNmLGNBQWM7UUFDZCw0QkFBNEI7UUFDNUIsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixhQUFhO1FBQ2IsYUFBYTtRQUNiLGVBQWU7UUFDZix1QkFBdUI7UUFDdkIsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixrQkFBa0IsYUFHWix5QkFBeUI7cUhBRTFCLHNCQUFzQixZQXpCdEI7WUFDTCxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixrQkFBa0I7WUFDbEIsMkJBQTJCO1lBQzNCLGVBQWU7WUFDZixjQUFjO1lBQ2QsNEJBQTRCO1lBQzVCLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osYUFBYTtZQUNiLGFBQWE7WUFDYixlQUFlO1lBQ2YsdUJBQXVCO1lBQ3ZCLGlCQUFpQjtZQUNqQixrQkFBa0I7WUFDbEIsa0JBQWtCO1lBQ2xCLFlBQVk7WUFDWixpQkFBaUI7WUFDakIsa0JBQWtCO1NBQ3JCOzRGQUlRLHNCQUFzQjtrQkExQmxDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsMkJBQTJCO3dCQUMzQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsNEJBQTRCO3dCQUM1QixtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsdUJBQXVCO3dCQUN2QixpQkFBaUI7d0JBQ2pCLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsa0JBQWtCO3FCQUNyQjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDekMsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7aUJBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UmVhY3RpdmVGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1R1aVNjcm9sbEludG9WaWV3TGlua01vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy9kaXJlY3RpdmVzJztcbmltcG9ydCB7VHVpQWN0aXZlWm9uZU1vZHVsZSwgVHVpQXV0b0ZvY3VzTW9kdWxlLCBUdWlMZXRNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBUdWlCdXR0b25Nb2R1bGUsXG4gICAgVHVpRGF0YUxpc3RNb2R1bGUsXG4gICAgVHVpRHJvcGRvd25Nb2R1bGUsXG4gICAgVHVpRXhwYW5kTW9kdWxlLFxuICAgIFR1aUhvc3RlZERyb3Bkb3duTW9kdWxlLFxuICAgIFR1aUxpbmtNb2R1bGUsXG4gICAgVHVpTW9kZU1vZHVsZSxcbiAgICBUdWlTY3JvbGxiYXJNb2R1bGUsXG4gICAgVHVpU3ZnTW9kdWxlLFxuICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG59IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcbmltcG9ydCB7VHVpQWNjb3JkaW9uTW9kdWxlLCBUdWlJbnB1dE1vZHVsZX0gZnJvbSAnQHRhaWdhLXVpL2tpdCc7XG5pbXBvcnQge1BvbHltb3JwaGV1c01vZHVsZX0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuaW1wb3J0IHtUdWlEb2NOYXZpZ2F0aW9uQ29tcG9uZW50fSBmcm9tICcuL25hdmlnYXRpb24uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlLFxuICAgICAgICBQb2x5bW9ycGhldXNNb2R1bGUsXG4gICAgICAgIFR1aVNjcm9sbEludG9WaWV3TGlua01vZHVsZSxcbiAgICAgICAgVHVpQnV0dG9uTW9kdWxlLFxuICAgICAgICBUdWlJbnB1dE1vZHVsZSxcbiAgICAgICAgVHVpVGV4dGZpZWxkQ29udHJvbGxlck1vZHVsZSxcbiAgICAgICAgVHVpQWN0aXZlWm9uZU1vZHVsZSxcbiAgICAgICAgVHVpTGV0TW9kdWxlLFxuICAgICAgICBUdWlNb2RlTW9kdWxlLFxuICAgICAgICBUdWlMaW5rTW9kdWxlLFxuICAgICAgICBUdWlFeHBhbmRNb2R1bGUsXG4gICAgICAgIFR1aUhvc3RlZERyb3Bkb3duTW9kdWxlLFxuICAgICAgICBUdWlEcm9wZG93bk1vZHVsZSxcbiAgICAgICAgVHVpQWNjb3JkaW9uTW9kdWxlLFxuICAgICAgICBUdWlTY3JvbGxiYXJNb2R1bGUsXG4gICAgICAgIFR1aVN2Z01vZHVsZSxcbiAgICAgICAgVHVpRGF0YUxpc3RNb2R1bGUsXG4gICAgICAgIFR1aUF1dG9Gb2N1c01vZHVsZSxcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1R1aURvY05hdmlnYXRpb25Db21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtUdWlEb2NOYXZpZ2F0aW9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jTmF2aWdhdGlvbk1vZHVsZSB7fVxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFDSCxlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLGFBQWEsRUFDYixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLFlBQVksRUFDWiw0QkFBNEIsR0FDL0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsa0JBQWtCLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBRTVELE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHdCQUF3QixDQUFDOztBQTRCakUsTUFBTSxPQUFPLHNCQUFzQjs7b0hBQXRCLHNCQUFzQjtxSEFBdEIsc0JBQXNCLGlCQUhoQix5QkFBeUIsYUFyQnBDLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQiwyQkFBMkI7UUFDM0IsZUFBZTtRQUNmLGNBQWM7UUFDZCw0QkFBNEI7UUFDNUIsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixhQUFhO1FBQ2IsYUFBYTtRQUNiLGVBQWU7UUFDZix1QkFBdUI7UUFDdkIsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixrQkFBa0I7UUFDbEIsWUFBWTtRQUNaLGlCQUFpQjtRQUNqQixrQkFBa0IsYUFHWix5QkFBeUI7cUhBRTFCLHNCQUFzQixZQXhCM0IsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLDJCQUEyQjtRQUMzQixlQUFlO1FBQ2YsY0FBYztRQUNkLDRCQUE0QjtRQUM1QixtQkFBbUI7UUFDbkIsWUFBWTtRQUNaLGFBQWE7UUFDYixhQUFhO1FBQ2IsZUFBZTtRQUNmLHVCQUF1QjtRQUN2QixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixZQUFZO1FBQ1osaUJBQWlCO1FBQ2pCLGtCQUFrQjs0RkFLYixzQkFBc0I7a0JBMUJsQyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLDJCQUEyQjt3QkFDM0IsZUFBZTt3QkFDZixjQUFjO3dCQUNkLDRCQUE0Qjt3QkFDNUIsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixlQUFlO3dCQUNmLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3dCQUNqQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGtCQUFrQjtxQkFDckI7b0JBQ0QsWUFBWSxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3pDLE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUN2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7Um91dGVyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtUdWlTY3JvbGxJbnRvVmlld0xpbmtNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvZGlyZWN0aXZlcyc7XG5pbXBvcnQge1R1aUFjdGl2ZVpvbmVNb2R1bGUsIFR1aUF1dG9Gb2N1c01vZHVsZSwgVHVpTGV0TW9kdWxlfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgVHVpQnV0dG9uTW9kdWxlLFxuICAgIFR1aURhdGFMaXN0TW9kdWxlLFxuICAgIFR1aURyb3Bkb3duTW9kdWxlLFxuICAgIFR1aUV4cGFuZE1vZHVsZSxcbiAgICBUdWlIb3N0ZWREcm9wZG93bk1vZHVsZSxcbiAgICBUdWlMaW5rTW9kdWxlLFxuICAgIFR1aU1vZGVNb2R1bGUsXG4gICAgVHVpU2Nyb2xsYmFyTW9kdWxlLFxuICAgIFR1aVN2Z01vZHVsZSxcbiAgICBUdWlUZXh0ZmllbGRDb250cm9sbGVyTW9kdWxlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aUFjY29yZGlvbk1vZHVsZSwgVHVpSW5wdXRNb2R1bGV9IGZyb20gJ0B0YWlnYS11aS9raXQnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNNb2R1bGV9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VHVpRG9jTmF2aWdhdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9uYXZpZ2F0aW9uLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgUG9seW1vcnBoZXVzTW9kdWxlLFxuICAgICAgICBUdWlTY3JvbGxJbnRvVmlld0xpbmtNb2R1bGUsXG4gICAgICAgIFR1aUJ1dHRvbk1vZHVsZSxcbiAgICAgICAgVHVpSW5wdXRNb2R1bGUsXG4gICAgICAgIFR1aVRleHRmaWVsZENvbnRyb2xsZXJNb2R1bGUsXG4gICAgICAgIFR1aUFjdGl2ZVpvbmVNb2R1bGUsXG4gICAgICAgIFR1aUxldE1vZHVsZSxcbiAgICAgICAgVHVpTW9kZU1vZHVsZSxcbiAgICAgICAgVHVpTGlua01vZHVsZSxcbiAgICAgICAgVHVpRXhwYW5kTW9kdWxlLFxuICAgICAgICBUdWlIb3N0ZWREcm9wZG93bk1vZHVsZSxcbiAgICAgICAgVHVpRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIFR1aUFjY29yZGlvbk1vZHVsZSxcbiAgICAgICAgVHVpU2Nyb2xsYmFyTW9kdWxlLFxuICAgICAgICBUdWlTdmdNb2R1bGUsXG4gICAgICAgIFR1aURhdGFMaXN0TW9kdWxlLFxuICAgICAgICBUdWlBdXRvRm9jdXNNb2R1bGUsXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUdWlEb2NOYXZpZ2F0aW9uQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbVHVpRG9jTmF2aWdhdGlvbkNvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY05hdmlnYXRpb25Nb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,48 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
3
+ import { TUI_DOC_PAGES, TUI_DOC_TITLE } from '@taiga-ui/addon-doc/tokens';
4
+ import { TuiDestroyService, tuiIsPresent } from '@taiga-ui/cdk';
5
+ import { filter, map, mergeMap, takeUntil } from 'rxjs';
6
+ function labelsProviderFactory(pages) {
7
+ return pages
8
+ .map(({ section }) => section)
9
+ .filter(tuiIsPresent)
10
+ .filter((item, index, array) => array.indexOf(item) === index);
11
+ }
12
+ /**
13
+ * Page title
14
+ */
15
+ export const NAVIGATION_TITLE = new InjectionToken(`[NAVIGATION_TITLE]`);
16
+ /**
17
+ * Navigation sections labels for search
18
+ */
19
+ export const NAVIGATION_LABELS = new InjectionToken(`[NAVIGATION_LABELS]`);
20
+ /**
21
+ * Navigation pages
22
+ */
23
+ export const NAVIGATION_ITEMS = new InjectionToken(`[NAVIGATION_ITEMS]`);
24
+ export const NAVIGATION_PROVIDERS = [
25
+ TuiDestroyService,
26
+ {
27
+ provide: NAVIGATION_TITLE,
28
+ deps: [Router, ActivatedRoute, TUI_DOC_TITLE, TuiDestroyService],
29
+ useFactory: (router, activatedRoute, titlePrefix, destroy$) => router.events.pipe(filter(event => event instanceof NavigationEnd), map(() => activatedRoute.firstChild), filter(tuiIsPresent), mergeMap(({ data }) => data), map(({ title }) => `${titlePrefix}${title}`), takeUntil(destroy$)),
30
+ },
31
+ {
32
+ provide: NAVIGATION_LABELS,
33
+ deps: [TUI_DOC_PAGES],
34
+ useFactory: labelsProviderFactory,
35
+ },
36
+ {
37
+ provide: NAVIGATION_ITEMS,
38
+ deps: [TUI_DOC_PAGES],
39
+ useFactory: (pages) => {
40
+ const labels = labelsProviderFactory(pages);
41
+ return [
42
+ ...labels.map(label => pages.filter(({ section }) => section === label)),
43
+ pages.filter(page => !page.section),
44
+ ];
45
+ },
46
+ },
47
+ ];
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24ucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQVcsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdEUsT0FBTyxFQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBYyxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFbEUsU0FBUyxxQkFBcUIsQ0FBQyxLQUFrQjtJQUM3QyxPQUFPLEtBQUs7U0FDUCxHQUFHLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUM7U0FDM0IsTUFBTSxDQUFDLFlBQVksQ0FBQztTQUNwQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FBQztBQUN2RSxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FDOUMsb0JBQW9CLENBQ3ZCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLElBQUksY0FBYyxDQUMvQyxxQkFBcUIsQ0FDeEIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQ3pCLElBQUksY0FBYyxDQUF5QixvQkFBb0IsQ0FBQyxDQUFDO0FBRXJFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFlO0lBQzVDLGlCQUFpQjtJQUNqQjtRQUNJLE9BQU8sRUFBRSxnQkFBZ0I7UUFDekIsSUFBSSxFQUFFLENBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLENBQUM7UUFDaEUsVUFBVSxFQUFFLENBQ1IsTUFBYyxFQUNkLGNBQThCLEVBQzlCLFdBQW1CLEVBQ25CLFFBQTBCLEVBQ1IsRUFBRSxDQUNwQixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLFlBQVksYUFBYSxDQUFDLEVBQy9DLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQ3BDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFDcEIsUUFBUSxDQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQzFCLEdBQUcsQ0FBQyxDQUFDLEVBQUMsS0FBSyxFQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsV0FBVyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQzFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FDdEI7S0FDUjtJQUNEO1FBQ0ksT0FBTyxFQUFFLGlCQUFpQjtRQUMxQixJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDckIsVUFBVSxFQUFFLHFCQUFxQjtLQUNwQztJQUNEO1FBQ0ksT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDckIsVUFBVSxFQUFFLENBQUMsS0FBa0IsRUFBMEIsRUFBRTtZQUN2RCxNQUFNLE1BQU0sR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUU1QyxPQUFPO2dCQUNILEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUM7Z0JBQ3RFLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDdEMsQ0FBQztRQUNOLENBQUM7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VuLCBQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1RVSV9ET0NfUEFHRVMsIFRVSV9ET0NfVElUTEV9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdG9rZW5zJztcbmltcG9ydCB7VHVpRG9jUGFnZXN9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdHlwZXMnO1xuaW1wb3J0IHtUdWlEZXN0cm95U2VydmljZSwgdHVpSXNQcmVzZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCBPYnNlcnZhYmxlLCB0YWtlVW50aWx9IGZyb20gJ3J4anMnO1xuXG5mdW5jdGlvbiBsYWJlbHNQcm92aWRlckZhY3RvcnkocGFnZXM6IFR1aURvY1BhZ2VzKTogcmVhZG9ubHkgc3RyaW5nW10ge1xuICAgIHJldHVybiBwYWdlc1xuICAgICAgICAubWFwKCh7c2VjdGlvbn0pID0+IHNlY3Rpb24pXG4gICAgICAgIC5maWx0ZXIodHVpSXNQcmVzZW50KVxuICAgICAgICAuZmlsdGVyKChpdGVtLCBpbmRleCwgYXJyYXkpID0+IGFycmF5LmluZGV4T2YoaXRlbSkgPT09IGluZGV4KTtcbn1cblxuLyoqXG4gKiBQYWdlIHRpdGxlXG4gKi9cbmV4cG9ydCBjb25zdCBOQVZJR0FUSU9OX1RJVExFID0gbmV3IEluamVjdGlvblRva2VuPE9ic2VydmFibGU8c3RyaW5nPj4oXG4gICAgYFtOQVZJR0FUSU9OX1RJVExFXWAsXG4pO1xuXG4vKipcbiAqIE5hdmlnYXRpb24gc2VjdGlvbnMgbGFiZWxzIGZvciBzZWFyY2hcbiAqL1xuZXhwb3J0IGNvbnN0IE5BVklHQVRJT05fTEFCRUxTID0gbmV3IEluamVjdGlvblRva2VuPHJlYWRvbmx5IHN0cmluZ1tdPihcbiAgICBgW05BVklHQVRJT05fTEFCRUxTXWAsXG4pO1xuXG4vKipcbiAqIE5hdmlnYXRpb24gcGFnZXNcbiAqL1xuZXhwb3J0IGNvbnN0IE5BVklHQVRJT05fSVRFTVM6IEluamVjdGlvblRva2VuPHJlYWRvbmx5IFR1aURvY1BhZ2VzW10+ID1cbiAgICBuZXcgSW5qZWN0aW9uVG9rZW48cmVhZG9ubHkgVHVpRG9jUGFnZXNbXT4oYFtOQVZJR0FUSU9OX0lURU1TXWApO1xuXG5leHBvcnQgY29uc3QgTkFWSUdBVElPTl9QUk9WSURFUlM6IFByb3ZpZGVyW10gPSBbXG4gICAgVHVpRGVzdHJveVNlcnZpY2UsXG4gICAge1xuICAgICAgICBwcm92aWRlOiBOQVZJR0FUSU9OX1RJVExFLFxuICAgICAgICBkZXBzOiBbUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSwgVFVJX0RPQ19USVRMRSwgVHVpRGVzdHJveVNlcnZpY2VdLFxuICAgICAgICB1c2VGYWN0b3J5OiAoXG4gICAgICAgICAgICByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgICAgIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgICAgIHRpdGxlUHJlZml4OiBzdHJpbmcsXG4gICAgICAgICAgICBkZXN0cm95JDogT2JzZXJ2YWJsZTx2b2lkPixcbiAgICAgICAgKTogT2JzZXJ2YWJsZTxzdHJpbmc+ID0+XG4gICAgICAgICAgICByb3V0ZXIuZXZlbnRzLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IGFjdGl2YXRlZFJvdXRlLmZpcnN0Q2hpbGQpLFxuICAgICAgICAgICAgICAgIGZpbHRlcih0dWlJc1ByZXNlbnQpLFxuICAgICAgICAgICAgICAgIG1lcmdlTWFwKCh7ZGF0YX0pID0+IGRhdGEpLFxuICAgICAgICAgICAgICAgIG1hcCgoe3RpdGxlfSkgPT4gYCR7dGl0bGVQcmVmaXh9JHt0aXRsZX1gKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwoZGVzdHJveSQpLFxuICAgICAgICAgICAgKSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogTkFWSUdBVElPTl9MQUJFTFMsXG4gICAgICAgIGRlcHM6IFtUVUlfRE9DX1BBR0VTXSxcbiAgICAgICAgdXNlRmFjdG9yeTogbGFiZWxzUHJvdmlkZXJGYWN0b3J5LFxuICAgIH0sXG4gICAge1xuICAgICAgICBwcm92aWRlOiBOQVZJR0FUSU9OX0lURU1TLFxuICAgICAgICBkZXBzOiBbVFVJX0RPQ19QQUdFU10sXG4gICAgICAgIHVzZUZhY3Rvcnk6IChwYWdlczogVHVpRG9jUGFnZXMpOiByZWFkb25seSBUdWlEb2NQYWdlc1tdID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGxhYmVscyA9IGxhYmVsc1Byb3ZpZGVyRmFjdG9yeShwYWdlcyk7XG5cbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgLi4ubGFiZWxzLm1hcChsYWJlbCA9PiBwYWdlcy5maWx0ZXIoKHtzZWN0aW9ufSkgPT4gc2VjdGlvbiA9PT0gbGFiZWwpKSxcbiAgICAgICAgICAgICAgICBwYWdlcy5maWx0ZXIocGFnZSA9PiAhcGFnZS5zZWN0aW9uKSxcbiAgICAgICAgICAgIF07XG4gICAgICAgIH0sXG4gICAgfSxcbl07XG4iXX0=
@@ -5,9 +5,9 @@ export class TuiDocPageTabConnectorDirective {
5
5
  this.template = template;
6
6
  }
7
7
  }
8
- TuiDocPageTabConnectorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocPageTabConnectorDirective, deps: [{ token: TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
- TuiDocPageTabConnectorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiDocPageTabConnectorDirective, selector: "[pageTab]", inputs: { pageTab: "pageTab" }, ngImport: i0 });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocPageTabConnectorDirective, decorators: [{
8
+ TuiDocPageTabConnectorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiDocPageTabConnectorDirective, deps: [{ token: TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ TuiDocPageTabConnectorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TuiDocPageTabConnectorDirective, selector: "[pageTab]", inputs: { pageTab: "pageTab" }, ngImport: i0 });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiDocPageTabConnectorDirective, decorators: [{
11
11
  type: Directive,
12
12
  args: [{
13
13
  selector: '[pageTab]',
@@ -0,0 +1,56 @@
1
+ import { ChangeDetectionStrategy, Component, ContentChildren, Inject, Input, } from '@angular/core';
2
+ import { TUI_DOC_DEFAULT_TABS } from '@taiga-ui/addon-doc/tokens';
3
+ import { EMPTY_QUERY } from '@taiga-ui/cdk';
4
+ import { PAGE_PROVIDERS, PAGE_SEE_ALSO } from './page.providers';
5
+ import { TuiDocPageTabConnectorDirective } from './page-tab.directive';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@angular/router";
9
+ import * as i3 from "../internal/see-also/see-also.component";
10
+ import * as i4 from "@taiga-ui/kit";
11
+ import * as i5 from "@taiga-ui/cdk";
12
+ import * as i6 from "../internal/source-code/source-code.component";
13
+ export class TuiDocPageComponent {
14
+ constructor(defaultTabs, seeAlso) {
15
+ this.defaultTabs = defaultTabs;
16
+ this.seeAlso = seeAlso;
17
+ this.header = '';
18
+ this.package = '';
19
+ this.type = '';
20
+ this.path = '';
21
+ this.deprecated = false;
22
+ this.tabConnectors = EMPTY_QUERY;
23
+ this.activeItemIndex = 0;
24
+ this.from = / /g;
25
+ this.to = '_';
26
+ }
27
+ get showSeeAlso() {
28
+ return !!this.seeAlso.length && this.activeItemIndex === 0;
29
+ }
30
+ }
31
+ TuiDocPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiDocPageComponent, deps: [{ token: TUI_DOC_DEFAULT_TABS }, { token: PAGE_SEE_ALSO }], target: i0.ɵɵFactoryTarget.Component });
32
+ TuiDocPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TuiDocPageComponent, selector: "tui-doc-page", inputs: { header: "header", package: "package", type: "type", path: "path", deprecated: "deprecated" }, providers: PAGE_PROVIDERS, queries: [{ propertyName: "tabConnectors", predicate: TuiDocPageTabConnectorDirective }], ngImport: i0, template: "<header class=\"t-header\">\n <h1 class=\"t-title\">\n {{ header }}\n <tui-tag\n *ngIf=\"!!deprecated || deprecated === ''\"\n status=\"custom\"\n value=\"deprecated\"\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 [autoColor]=\"true\"\n [value]=\"package\"\n ></tui-tag>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabConnectors; first as first; index as index\">\n <ng-container *ngIf=\"tab.pageTab || defaultTabs[index] as tabName\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"first ? './' : (tabName | tuiReplace: from : to)\"\n [routerLinkActiveOptions]=\"{exact: first}\"\n >\n {{ tabName }}\n </a>\n </ng-container>\n </ng-container>\n </tui-tabs-with-more>\n <tui-doc-source-code\n class=\"t-source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [path]=\"path\"\n [type]=\"type\"\n ></tui-doc-source-code>\n</header>\n<div class=\"t-content\">\n <ng-content></ng-content>\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"t-see-also\"\n [seeAlso]=\"seeAlso\"\n ></tui-doc-see-also>\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container\n *ngIf=\"index === activeItemIndex\"\n [ngTemplateOutlet]=\"tab.template\"\n ></ng-container>\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-height:0;flex-basis:0;flex-grow:1}.t-header{display:flex;font:var(--tui-font-heading-3);flex-wrap:wrap;min-height:7.25rem;color:var(--tui-text-01);box-shadow:inset 0 -1px 0 0 var(--tui-base-03);padding:3.75rem 0 0;box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}:host-context(tui-root._mobile) .t-header{font:var(--tui-font-heading-4);min-height:4.5rem;padding:1.25rem 1.25rem 0;margin:0}.t-title{min-width:100%;font-size:inherit;margin:0}.t-tag{vertical-align:middle;text-transform:uppercase;margin-right:.5rem}.t-tag_deprecated{background-color:var(--tui-error-fill);color:#fff}.t-tag.t-tag_package{color:#000}.t-tabs{flex:1;margin:1.125rem .3125rem 0 0}:host-context(tui-root._mobile) .t-tabs{margin-top:.25rem}.t-content{padding:2rem 0;margin:0 min(10vw,8.75rem)}:host-context(tui-root._mobile) .t-content{padding:2rem 1.25rem;margin:0}.t-see-also{min-width:18.75rem;width:30%;float:right;margin-left:1.5rem}:host-context(tui-root._mobile) .t-see-also{float:none;width:100%;margin:0 0 1.5rem}.t-source-code{align-self:flex-end;line-height:2.75rem;margin-left:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i3.TuiDocSeeAlsoComponent, selector: "tui-doc-see-also", inputs: ["seeAlso"] }, { kind: "component", type: i4.TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["moreContent", "dropdownContent", "underline", "activeItemIndex", "itemsLimit"], outputs: ["activeItemIndexChange"] }, { kind: "component", type: i4.TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { kind: "directive", type: i5.TuiItemDirective, selector: "[tuiItem]" }, { kind: "component", type: i4.TuiTagComponent, selector: "tui-tag, a[tuiTag], button[tuiTag]", inputs: ["value", "editable", "separator", "maxLength", "size", "showLoader", "status", "hoverable", "removable", "disabled", "autoColor", "leftContent"], outputs: ["edited"] }, { kind: "component", type: i6.TuiDocSourceCodeComponent, selector: "tui-doc-source-code", inputs: ["header", "package", "type", "path"] }, { kind: "pipe", type: i5.TuiReplacePipe, name: "tuiReplace" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TuiDocPageComponent, decorators: [{
34
+ type: Component,
35
+ args: [{ selector: 'tui-doc-page', changeDetection: ChangeDetectionStrategy.OnPush, providers: PAGE_PROVIDERS, template: "<header class=\"t-header\">\n <h1 class=\"t-title\">\n {{ header }}\n <tui-tag\n *ngIf=\"!!deprecated || deprecated === ''\"\n status=\"custom\"\n value=\"deprecated\"\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 [autoColor]=\"true\"\n [value]=\"package\"\n ></tui-tag>\n </h1>\n <tui-tabs-with-more\n *ngIf=\"tabConnectors.length\"\n class=\"t-tabs\"\n [(activeItemIndex)]=\"activeItemIndex\"\n >\n <ng-container *ngFor=\"let tab of tabConnectors; first as first; index as index\">\n <ng-container *ngIf=\"tab.pageTab || defaultTabs[index] as tabName\">\n <a\n *tuiItem\n routerLinkActive\n tuiTab\n [routerLink]=\"first ? './' : (tabName | tuiReplace: from : to)\"\n [routerLinkActiveOptions]=\"{exact: first}\"\n >\n {{ tabName }}\n </a>\n </ng-container>\n </ng-container>\n </tui-tabs-with-more>\n <tui-doc-source-code\n class=\"t-source-code\"\n [header]=\"header\"\n [package]=\"package\"\n [path]=\"path\"\n [type]=\"type\"\n ></tui-doc-source-code>\n</header>\n<div class=\"t-content\">\n <ng-content></ng-content>\n <tui-doc-see-also\n *ngIf=\"showSeeAlso\"\n class=\"t-see-also\"\n [seeAlso]=\"seeAlso\"\n ></tui-doc-see-also>\n <ng-container *ngFor=\"let tab of tabConnectors; index as index\">\n <ng-container\n *ngIf=\"index === activeItemIndex\"\n [ngTemplateOutlet]=\"tab.template\"\n ></ng-container>\n </ng-container>\n</div>\n", styles: [":host{display:flex;flex-direction:column;min-height:0;flex-basis:0;flex-grow:1}.t-header{display:flex;font:var(--tui-font-heading-3);flex-wrap:wrap;min-height:7.25rem;color:var(--tui-text-01);box-shadow:inset 0 -1px 0 0 var(--tui-base-03);padding:3.75rem 0 0;box-sizing:border-box;flex-shrink:0;margin:0 min(10vw,8.75rem)}:host-context(tui-root._mobile) .t-header{font:var(--tui-font-heading-4);min-height:4.5rem;padding:1.25rem 1.25rem 0;margin:0}.t-title{min-width:100%;font-size:inherit;margin:0}.t-tag{vertical-align:middle;text-transform:uppercase;margin-right:.5rem}.t-tag_deprecated{background-color:var(--tui-error-fill);color:#fff}.t-tag.t-tag_package{color:#000}.t-tabs{flex:1;margin:1.125rem .3125rem 0 0}:host-context(tui-root._mobile) .t-tabs{margin-top:.25rem}.t-content{padding:2rem 0;margin:0 min(10vw,8.75rem)}:host-context(tui-root._mobile) .t-content{padding:2rem 1.25rem;margin:0}.t-see-also{min-width:18.75rem;width:30%;float:right;margin-left:1.5rem}:host-context(tui-root._mobile) .t-see-also{float:none;width:100%;margin:0 0 1.5rem}.t-source-code{align-self:flex-end;line-height:2.75rem;margin-left:auto}\n"] }]
36
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
37
+ type: Inject,
38
+ args: [TUI_DOC_DEFAULT_TABS]
39
+ }] }, { type: undefined, decorators: [{
40
+ type: Inject,
41
+ args: [PAGE_SEE_ALSO]
42
+ }] }]; }, propDecorators: { header: [{
43
+ type: Input
44
+ }], package: [{
45
+ type: Input
46
+ }], type: [{
47
+ type: Input
48
+ }], path: [{
49
+ type: Input
50
+ }], deprecated: [{
51
+ type: Input
52
+ }], tabConnectors: [{
53
+ type: ContentChildren,
54
+ args: [TuiDocPageTabConnectorDirective]
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9wYWdlL3BhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvcGFnZS9wYWdlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFDTixLQUFLLEdBRVIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUMsY0FBYyxFQUFFLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7OztBQVNyRSxNQUFNLE9BQU8sbUJBQW1CO0lBd0I1QixZQUMyQyxXQUE4QixFQUNyQyxPQUEwQjtRQURuQixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDckMsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUF4QjlELFdBQU0sR0FBRyxFQUFFLENBQUM7UUFHWixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBR2IsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUdWLFNBQUksR0FBRyxFQUFFLENBQUM7UUFHVixlQUFVLEdBQWlCLEtBQUssQ0FBQztRQUd4QixrQkFBYSxHQUErQyxXQUFXLENBQUM7UUFFakYsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFFWCxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osT0FBRSxHQUFHLEdBQUcsQ0FBQztJQUtmLENBQUM7SUFFSixJQUFJLFdBQVc7UUFDWCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLENBQUMsQ0FBQztJQUMvRCxDQUFDOztpSEEvQlEsbUJBQW1CLGtCQXlCaEIsb0JBQW9CLGFBQ3BCLGFBQWE7cUdBMUJoQixtQkFBbUIsK0lBRmpCLGNBQWMsd0RBa0JSLCtCQUErQiw2QkNyQ3BELDAzREEwREE7NEZEckNhLG1CQUFtQjtrQkFQL0IsU0FBUzsrQkFDSSxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsY0FBYzs7MEJBMkJwQixNQUFNOzJCQUFDLG9CQUFvQjs7MEJBQzNCLE1BQU07MkJBQUMsYUFBYTs0Q0F4QnpCLE1BQU07c0JBREwsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSUcsYUFBYTtzQkFEckIsZUFBZTt1QkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9ET0NfREVGQVVMVF9UQUJTfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuaW1wb3J0IHtQQUdFX1BST1ZJREVSUywgUEFHRV9TRUVfQUxTT30gZnJvbSAnLi9wYWdlLnByb3ZpZGVycyc7XG5pbXBvcnQge1R1aURvY1BhZ2VUYWJDb25uZWN0b3JEaXJlY3RpdmV9IGZyb20gJy4vcGFnZS10YWIuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLXBhZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wYWdlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BhZ2Uuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogUEFHRV9QUk9WSURFUlMsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY1BhZ2VDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgaGVhZGVyID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHBhY2thZ2UgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgdHlwZSA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBwYXRoID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIGRlcHJlY2F0ZWQ6IGJvb2xlYW4gfCAnJyA9IGZhbHNlO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUdWlEb2NQYWdlVGFiQ29ubmVjdG9yRGlyZWN0aXZlKVxuICAgIHJlYWRvbmx5IHRhYkNvbm5lY3RvcnM6IFF1ZXJ5TGlzdDxUdWlEb2NQYWdlVGFiQ29ubmVjdG9yRGlyZWN0aXZlPiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gMDtcblxuICAgIHJlYWRvbmx5IGZyb20gPSAvIC9nO1xuICAgIHJlYWRvbmx5IHRvID0gJ18nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19ERUZBVUxUX1RBQlMpIHJlYWRvbmx5IGRlZmF1bHRUYWJzOiByZWFkb25seSBzdHJpbmdbXSxcbiAgICAgICAgQEluamVjdChQQUdFX1NFRV9BTFNPKSByZWFkb25seSBzZWVBbHNvOiByZWFkb25seSBzdHJpbmdbXSxcbiAgICApIHt9XG5cbiAgICBnZXQgc2hvd1NlZUFsc28oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuc2VlQWxzby5sZW5ndGggJiYgdGhpcy5hY3RpdmVJdGVtSW5kZXggPT09IDA7XG4gICAgfVxufVxuIiwiPGhlYWRlciBjbGFzcz1cInQtaGVhZGVyXCI+XG4gICAgPGgxIGNsYXNzPVwidC10aXRsZVwiPlxuICAgICAgICB7eyBoZWFkZXIgfX1cbiAgICAgICAgPHR1aS10YWdcbiAgICAgICAgICAgICpuZ0lmPVwiISFkZXByZWNhdGVkIHx8IGRlcHJlY2F0ZWQgPT09ICcnXCJcbiAgICAgICAgICAgIHN0YXR1cz1cImN1c3RvbVwiXG4gICAgICAgICAgICB2YWx1ZT1cImRlcHJlY2F0ZWRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXRhZyB0LXRhZ19kZXByZWNhdGVkXCJcbiAgICAgICAgPjwvdHVpLXRhZz5cbiAgICAgICAgPHR1aS10YWdcbiAgICAgICAgICAgICpuZ0lmPVwicGFja2FnZVwiXG4gICAgICAgICAgICBzdGF0dXM9XCJjdXN0b21cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXRhZyB0LXRhZ19wYWNrYWdlXCJcbiAgICAgICAgICAgIFthdXRvQ29sb3JdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwicGFja2FnZVwiXG4gICAgICAgID48L3R1aS10YWc+XG4gICAgPC9oMT5cbiAgICA8dHVpLXRhYnMtd2l0aC1tb3JlXG4gICAgICAgICpuZ0lmPVwidGFiQ29ubmVjdG9ycy5sZW5ndGhcIlxuICAgICAgICBjbGFzcz1cInQtdGFic1wiXG4gICAgICAgIFsoYWN0aXZlSXRlbUluZGV4KV09XCJhY3RpdmVJdGVtSW5kZXhcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYkNvbm5lY3RvcnM7IGZpcnN0IGFzIGZpcnN0OyBpbmRleCBhcyBpbmRleFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhYi5wYWdlVGFiIHx8IGRlZmF1bHRUYWJzW2luZGV4XSBhcyB0YWJOYW1lXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKnR1aUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZVxuICAgICAgICAgICAgICAgICAgICB0dWlUYWJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiZmlyc3QgPyAnLi8nIDogKHRhYk5hbWUgfCB0dWlSZXBsYWNlOiBmcm9tIDogdG8pXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntleGFjdDogZmlyc3R9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IHRhYk5hbWUgfX1cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90dWktdGFicy13aXRoLW1vcmU+XG4gICAgPHR1aS1kb2Mtc291cmNlLWNvZGVcbiAgICAgICAgY2xhc3M9XCJ0LXNvdXJjZS1jb2RlXCJcbiAgICAgICAgW2hlYWRlcl09XCJoZWFkZXJcIlxuICAgICAgICBbcGFja2FnZV09XCJwYWNrYWdlXCJcbiAgICAgICAgW3BhdGhdPVwicGF0aFwiXG4gICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgID48L3R1aS1kb2Mtc291cmNlLWNvZGU+XG48L2hlYWRlcj5cbjxkaXYgY2xhc3M9XCJ0LWNvbnRlbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPHR1aS1kb2Mtc2VlLWFsc29cbiAgICAgICAgKm5nSWY9XCJzaG93U2VlQWxzb1wiXG4gICAgICAgIGNsYXNzPVwidC1zZWUtYWxzb1wiXG4gICAgICAgIFtzZWVBbHNvXT1cInNlZUFsc29cIlxuICAgID48L3R1aS1kb2Mtc2VlLWFsc28+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYkNvbm5lY3RvcnM7IGluZGV4IGFzIGluZGV4XCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiaW5kZXggPT09IGFjdGl2ZUl0ZW1JbmRleFwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWIudGVtcGxhdGVcIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==