@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
@@ -1,221 +0,0 @@
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 { FormControl } 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 } from 'rxjs';
13
- import { filter, map, startWith, switchMap, take, takeUntil } from 'rxjs/operators';
14
- import { NAVIGATION_ITEMS, NAVIGATION_LABELS, NAVIGATION_PROVIDERS, NAVIGATION_TITLE, } from './navigation.providers';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "@taiga-ui/kit";
17
- import * as i2 from "@taiga-ui/core";
18
- import * as i3 from "@angular/forms";
19
- import * as i4 from "@taiga-ui/cdk";
20
- import * as i5 from "@angular/common";
21
- import * as i6 from "@angular/router";
22
- import * as i7 from "@tinkoff/ng-polymorpheus";
23
- import * as i8 from "@taiga-ui/addon-doc/directives";
24
- import * as i9 from "@angular/platform-browser";
25
- import * as i10 from "rxjs";
26
- export class TuiDocNavigationComponent {
27
- constructor(cdr, titleService, title$, mode, sidebar, labels, items, searchText, router, activatedRoute, destroy$, readyToScroll$, docIcons, icons, doc) {
28
- this.title$ = title$;
29
- this.mode = mode;
30
- this.sidebar = sidebar;
31
- this.labels = labels;
32
- this.items = items;
33
- this.searchText = searchText;
34
- this.router = router;
35
- this.activatedRoute = activatedRoute;
36
- this.destroy$ = destroy$;
37
- this.readyToScroll$ = readyToScroll$;
38
- this.docIcons = docIcons;
39
- this.icons = icons;
40
- this.doc = doc;
41
- this.menuOpen = false;
42
- this.openPagesArr = [];
43
- this.openPagesGroupsArr = [];
44
- this.active = '';
45
- this.search = new FormControl('');
46
- this.filtered$ = tuiControlValue(this.search).pipe(filter(search => search.trim().length > 2), map(search => this.filterItems(this.flattenSubPages(this.items), search)));
47
- this.mode$ = this.mode.change$.pipe(startWith(null), map(() => this.mode.mode || 'onLight'));
48
- title$.subscribe(title => {
49
- cdr.markForCheck();
50
- titleService.setTitle(title);
51
- this.openActivePageGroup();
52
- });
53
- combineLatest([
54
- this.router.events.pipe(filter((event) => event instanceof Scroll)),
55
- this.title$.pipe(switchMap(() => this.readyToScroll$.pipe(filter(Boolean)))),
56
- ])
57
- .pipe(take(1), map(([event]) => event.anchor || ''), filter(Boolean), takeUntil(this.destroy$))
58
- .subscribe(anchor => this.navigateToAnchorLink(anchor));
59
- }
60
- get canOpen() {
61
- var _a, _b;
62
- return ((_b = (_a = this.search.value) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) > 2;
63
- }
64
- get itemsWithoutSections() {
65
- return this.items[this.items.length - 1];
66
- }
67
- $pages(pages) {
68
- return pages;
69
- }
70
- isActive(route) {
71
- return route === this.active;
72
- }
73
- onGroupClick(index) {
74
- this.openPagesGroupsArr[index] = !this.openPagesGroupsArr[index];
75
- }
76
- closeMenu() {
77
- this.menuOpen = false;
78
- }
79
- onClick(input) {
80
- input.open = false;
81
- this.menuOpen = false;
82
- this.search.setValue('');
83
- this.openActivePageGroup();
84
- }
85
- filterItems(items, search) {
86
- return items.map(section => tuiUniqBy(section.filter(({ title, keywords = '' }) => {
87
- search = search.toLowerCase().trim();
88
- keywords = keywords.toLowerCase();
89
- title = title.toLowerCase();
90
- return (title.includes(search) ||
91
- keywords.includes(search) ||
92
- title.includes(tuiTransliterateKeyboardLayout(search)) ||
93
- keywords.includes(tuiTransliterateKeyboardLayout(search)) ||
94
- search.replace(/-/gi, '').includes(title) ||
95
- title.includes(search.replace(/\s|tui/g, '')) ||
96
- keywords.includes(search.replace(/\s|tui/g, '')) ||
97
- search.split(/\s/).find(word => title.includes(word)));
98
- }), 'title'));
99
- }
100
- flattenSubPages(items) {
101
- return items.reduce((array, item) => [
102
- ...array,
103
- item.reduce((pages, page) => 'subPages' in page
104
- ? [...pages, ...page.subPages]
105
- : [...pages, page], []),
106
- ], []);
107
- }
108
- isActiveRoute(route) {
109
- return this.router.isActive(route, {
110
- paths: 'subset',
111
- queryParams: 'subset',
112
- fragment: 'ignored',
113
- matrixParams: 'ignored',
114
- });
115
- }
116
- openActivePageGroup() {
117
- this.items.forEach((pages, pagesIndex) => {
118
- pages.forEach((page, pageIndex) => {
119
- if ('route' in page && this.isActiveRoute(page.route)) {
120
- this.openPagesArr[pagesIndex] = true;
121
- this.active = page.route;
122
- }
123
- if ('subPages' in page) {
124
- page.subPages.forEach(subPage => {
125
- if (this.isActiveRoute(subPage.route)) {
126
- this.openPagesArr[pagesIndex] = true;
127
- this.openPagesGroupsArr[pagesIndex * 100 + pageIndex] = true;
128
- this.active = subPage.route;
129
- }
130
- });
131
- }
132
- });
133
- });
134
- }
135
- navigateToAnchorLink(fragment) {
136
- const nodes = fragment ? this.doc.querySelectorAll(`#${fragment}`) : [];
137
- const element = nodes.length && nodes[nodes.length - 1];
138
- if (!element) {
139
- return;
140
- }
141
- // emulate :target event
142
- const target = this.doc.createElement('a');
143
- target.href = `${this.doc.location.pathname}#${fragment}`;
144
- target.style.display = 'none';
145
- target.style.position = 'absolute';
146
- this.doc.body.appendChild(target);
147
- target.click();
148
- target.remove();
149
- }
150
- }
151
- TuiDocNavigationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", 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 });
152
- TuiDocNavigationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", 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:1rem 0 0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;font:var(--tui-font-text-m);margin-left:.5rem}.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"], components: [{ type: i1.TuiInputComponent, selector: "tui-input" }, { type: i2.TuiDataListComponent, selector: "tui-data-list", inputs: ["role", "emptyContent", "size"] }, { type: i2.TuiOptionComponent, selector: "button[tuiOption], a[tuiOption]", inputs: ["size", "role", "disabled", "value"] }, { type: i2.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: i2.TuiScrollbarComponent, selector: "tui-scrollbar", inputs: ["hidden"] }, { type: i1.TuiAccordionComponent, selector: "tui-accordion", inputs: ["closeOthers", "rounded"] }, { type: i1.TuiAccordionItemComponent, selector: "tui-accordion-item", inputs: ["noPadding", "showArrow", "borders", "size", "disabled", "disableHover", "open", "async"], outputs: ["openChange"] }, { type: i2.TuiLinkComponent, selector: "a[tuiLink], button[tuiLink]", inputs: ["pseudo", "icon", "iconAlign", "iconRotated", "mode"], exportAs: ["tuiLink"] }, { type: i2.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], directives: [{ type: i1.TuiInputDirective, selector: "tui-input" }, { type: i2.TuiTextfieldSizeDirective, selector: "[tuiTextfieldSize]", inputs: ["tuiTextfieldSize"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i4.TuiAutoFocusDirective, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { type: i2.TuiTextfieldCleanerDirective, selector: "[tuiTextfieldCleaner]", inputs: ["tuiTextfieldCleaner"] }, { type: i2.TuiTextfieldIconLeftDirective, selector: "[tuiTextfieldIconLeft]", inputs: ["tuiTextfieldIconLeft"] }, { type: i2.TuiTextfieldLabelOutsideDirective, selector: "[tuiTextfieldLabelOutside]", inputs: ["tuiTextfieldLabelOutside"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.TuiDataListDirective, selector: "ng-template[tuiDataList]" }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.TuiOptGroupDirective, selector: "tui-opt-group", inputs: ["label"] }, { type: i6.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i7.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i2.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }, { type: i1.TuiAccordionItemContentDirective, selector: "ng-template[tuiAccordionItemContent]" }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], exportAs: ["routerLinkActive"] }, { type: i8.TuiScrollIntoViewLinkDirective, selector: "[tuiScrollIntoViewLink]", inputs: ["tuiScrollIntoViewLink"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
153
- __decorate([
154
- tuiPure
155
- ], TuiDocNavigationComponent.prototype, "filterItems", null);
156
- __decorate([
157
- tuiPure
158
- ], TuiDocNavigationComponent.prototype, "flattenSubPages", null);
159
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocNavigationComponent, decorators: [{
160
- type: Component,
161
- args: [{
162
- selector: 'tui-doc-navigation',
163
- templateUrl: './navigation.template.html',
164
- styleUrls: ['./navigation.style.less'],
165
- changeDetection: ChangeDetectionStrategy.OnPush,
166
- providers: NAVIGATION_PROVIDERS,
167
- }]
168
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef, decorators: [{
169
- type: Inject,
170
- args: [ChangeDetectorRef]
171
- }] }, { type: i9.Title, decorators: [{
172
- type: Inject,
173
- args: [Title]
174
- }] }, { type: i10.Observable, decorators: [{
175
- type: Inject,
176
- args: [NAVIGATION_TITLE]
177
- }] }, { type: i2.TuiModeDirective, decorators: [{
178
- type: Inject,
179
- args: [TuiModeDirective]
180
- }] }, { type: undefined, decorators: [{
181
- type: Optional
182
- }, {
183
- type: Inject,
184
- args: [TuiSidebarDirective]
185
- }] }, { type: undefined, decorators: [{
186
- type: Inject,
187
- args: [NAVIGATION_LABELS]
188
- }] }, { type: undefined, decorators: [{
189
- type: Inject,
190
- args: [NAVIGATION_ITEMS]
191
- }] }, { type: undefined, decorators: [{
192
- type: Inject,
193
- args: [TUI_DOC_SEARCH_TEXT]
194
- }] }, { type: i6.Router, decorators: [{
195
- type: Inject,
196
- args: [Router]
197
- }] }, { type: i6.ActivatedRoute, decorators: [{
198
- type: Inject,
199
- args: [ActivatedRoute]
200
- }] }, { type: i10.Observable, decorators: [{
201
- type: Self
202
- }, {
203
- type: Inject,
204
- args: [TuiDestroyService]
205
- }] }, { type: i10.Observable, decorators: [{
206
- type: Inject,
207
- args: [TUI_DOC_PAGE_LOADED]
208
- }] }, { type: undefined, decorators: [{
209
- type: Inject,
210
- args: [TUI_DOC_ICONS]
211
- }] }, { type: undefined, decorators: [{
212
- type: Inject,
213
- args: [TUI_COMMON_ICONS]
214
- }] }, { type: Document, decorators: [{
215
- type: Inject,
216
- args: [DOCUMENT]
217
- }] }]; }, propDecorators: { menuOpen: [{
218
- type: HostBinding,
219
- args: ['class._open']
220
- }], filterItems: [], flattenSubPages: [] } });
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLE1BQU0sRUFDTixRQUFRLEVBQ1IsSUFBSSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDaEQsT0FBTyxFQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFL0QsT0FBTyxFQUNILGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsbUJBQW1CLEdBRXRCLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsT0FBTyxFQUFDLDhCQUE4QixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDekUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFDSCxnQkFBZ0IsRUFHaEIsZ0JBQWdCLEdBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLGFBQWEsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxP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TTsyQkFBQyxnQkFBZ0I7OEJBQ2dCLFFBQVE7MEJBQS9DLE1BQU07MkJBQUMsUUFBUTs0Q0F0Q3BCLFFBQVE7c0JBRFAsV0FBVzt1QkFBQyxhQUFhO2dCQThGbEIsV0FBVyxNQTRCWCxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VGl0bGV9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyLCBTY3JvbGx9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1R1aURvY1BhZ2V9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICAgIFRVSV9ET0NfSUNPTlMsXG4gICAgVFVJX0RPQ19QQUdFX0xPQURFRCxcbiAgICBUVUlfRE9DX1NFQVJDSF9URVhULFxuICAgIFR1aURvY0ljb25zLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQge1R1aURvY1BhZ2VzfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3R5cGVzJztcbmltcG9ydCB7dHVpVHJhbnNsaXRlcmF0ZUtleWJvYXJkTGF5b3V0fSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3V0aWxzJztcbmltcG9ydCB7VHVpU2lkZWJhckRpcmVjdGl2ZX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZSc7XG5pbXBvcnQge3R1aUNvbnRyb2xWYWx1ZSwgVHVpRGVzdHJveVNlcnZpY2UsIHR1aVB1cmUsIHR1aVVuaXFCeX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1xuICAgIFRVSV9DT01NT05fSUNPTlMsXG4gICAgVHVpQnJpZ2h0bmVzcyxcbiAgICBUdWlDb21tb25JY29ucyxcbiAgICBUdWlNb2RlRGlyZWN0aXZlLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1R1aUlucHV0Q29tcG9uZW50fSBmcm9tICdAdGFpZ2EtdWkva2l0JztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZSwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gICAgTkFWSUdBVElPTl9JVEVNUyxcbiAgICBOQVZJR0FUSU9OX0xBQkVMUyxcbiAgICBOQVZJR0FUSU9OX1BST1ZJREVSUyxcbiAgICBOQVZJR0FUSU9OX1RJVExFLFxufSBmcm9tICcuL25hdmlnYXRpb24ucHJvdmlkZXJzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLW5hdmlnYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uYXZpZ2F0aW9uLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL25hdmlnYXRpb24uc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogTkFWSUdBVElPTl9QUk9WSURFUlMsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY05hdmlnYXRpb25Db21wb25lbnQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuX29wZW4nKVxuICAgIG1lbnVPcGVuID0gZmFsc2U7XG5cbiAgICBvcGVuUGFnZXNBcnI6IGJvb2xlYW5bXSA9IFtdO1xuICAgIG9wZW5QYWdlc0dyb3Vwc0FycjogYm9vbGVhbltdID0gW107XG4gICAgYWN0aXZlID0gJyc7XG5cbiAgICByZWFkb25seSBzZWFyY2ggPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuXG4gICAgcmVhZG9ubHkgZmlsdGVyZWQkID0gdHVpQ29udHJvbFZhbHVlPHN0cmluZz4odGhpcy5zZWFyY2gpLnBpcGUoXG4gICAgICAgIGZpbHRlcihzZWFyY2ggPT4gc2VhcmNoLnRyaW0oKS5sZW5ndGggPiAyKSxcbiAgICAgICAgbWFwKHNlYXJjaCA9PiB0aGlzLmZpbHRlckl0ZW1zKHRoaXMuZmxhdHRlblN1YlBhZ2VzKHRoaXMuaXRlbXMpLCBzZWFyY2gpKSxcbiAgICApO1xuXG4gICAgcmVhZG9ubHkgbW9kZSQ6IE9ic2VydmFibGU8VHVpQnJpZ2h0bmVzcz4gPSB0aGlzLm1vZGUuY2hhbmdlJC5waXBlKFxuICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLm1vZGUubW9kZSB8fCAnb25MaWdodCcpLFxuICAgICk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChDaGFuZ2VEZXRlY3RvclJlZikgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChUaXRsZSkgdGl0bGVTZXJ2aWNlOiBUaXRsZSxcbiAgICAgICAgQEluamVjdChOQVZJR0FUSU9OX1RJVExFKSBwcml2YXRlIHJlYWRvbmx5IHRpdGxlJDogT2JzZXJ2YWJsZTxzdHJpbmc+LFxuICAgICAgICBASW5qZWN0KFR1aU1vZGVEaXJlY3RpdmUpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kZTogVHVpTW9kZURpcmVjdGl2ZSxcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChUdWlTaWRlYmFyRGlyZWN0aXZlKVxuICAgICAgICByZWFkb25seSBzaWRlYmFyOiB1bmtub3duLFxuICAgICAgICBASW5qZWN0KE5BVklHQVRJT05fTEFCRUxTKSByZWFkb25seSBsYWJlbHM6IHN0cmluZ1tdLFxuICAgICAgICBASW5qZWN0KE5BVklHQVRJT05fSVRFTVMpXG4gICAgICAgIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBUdWlEb2NQYWdlc1tdLFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfU0VBUkNIX1RFWFQpIHJlYWRvbmx5IHNlYXJjaFRleHQ6IHN0cmluZyxcbiAgICAgICAgQEluamVjdChSb3V0ZXIpIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIEBJbmplY3QoQWN0aXZhdGVkUm91dGUpIHJlYWRvbmx5IGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgQFNlbGYoKSBASW5qZWN0KFR1aURlc3Ryb3lTZXJ2aWNlKSBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkOiBPYnNlcnZhYmxlPHZvaWQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfUEFHRV9MT0FERUQpXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcmVhZHlUb1Njcm9sbCQ6IE9ic2VydmFibGU8Ym9vbGVhbj4sXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19JQ09OUykgcmVhZG9ubHkgZG9jSWNvbnM6IFR1aURvY0ljb25zLFxuICAgICAgICBASW5qZWN0KFRVSV9DT01NT05fSUNPTlMpIHJlYWRvbmx5IGljb25zOiBUdWlDb21tb25JY29ucyxcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2M6IERvY3VtZW50LFxuICAgICkge1xuICAgICAgICB0aXRsZSQuc3Vic2NyaWJlKHRpdGxlID0+IHtcbiAgICAgICAgICAgIGNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIHRpdGxlU2VydmljZS5zZXRUaXRsZSh0aXRsZSk7XG4gICAgICAgICAgICB0aGlzLm9wZW5BY3RpdmVQYWdlR3JvdXAoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGV2ZW50KTogZXZlbnQgaXMgU2Nyb2xsID0+IGV2ZW50IGluc3RhbmNlb2YgU2Nyb2xsKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0aGlzLnRpdGxlJC5waXBlKHN3aXRjaE1hcCgoKSA9PiB0aGlzLnJlYWR5VG9TY3JvbGwkLnBpcGUoZmlsdGVyKEJvb2xlYW4pKSkpLFxuICAgICAgICBdKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICBtYXAoKFtldmVudF0pID0+IGV2ZW50LmFuY2hvciB8fCAnJyksXG4gICAgICAgICAgICAgICAgZmlsdGVyPHN0cmluZz4oQm9vbGVhbiksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShhbmNob3IgPT4gdGhpcy5uYXZpZ2F0ZVRvQW5jaG9yTGluayhhbmNob3IpKTtcbiAgICB9XG5cbiAgICBnZXQgY2FuT3BlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLnNlYXJjaC52YWx1ZT8ubGVuZ3RoID8/IDApID4gMjtcbiAgICB9XG5cbiAgICBnZXQgaXRlbXNXaXRob3V0U2VjdGlvbnMoKTogVHVpRG9jUGFnZXMge1xuICAgICAgICByZXR1cm4gdGhpcy5pdGVtc1t0aGlzLml0ZW1zLmxlbmd0aCAtIDFdO1xuICAgIH1cblxuICAgICRwYWdlcyhwYWdlczogYW55KTogcmVhZG9ubHkgVHVpRG9jUGFnZVtdIHtcbiAgICAgICAgcmV0dXJuIHBhZ2VzIGFzIFR1aURvY1BhZ2VbXTtcbiAgICB9XG5cbiAgICBpc0FjdGl2ZShyb3V0ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiByb3V0ZSA9PT0gdGhpcy5hY3RpdmU7XG4gICAgfVxuXG4gICAgb25Hcm91cENsaWNrKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuUGFnZXNHcm91cHNBcnJbaW5kZXhdID0gIXRoaXMub3BlblBhZ2VzR3JvdXBzQXJyW2luZGV4XTtcbiAgICB9XG5cbiAgICBjbG9zZU1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWVudU9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvbkNsaWNrKGlucHV0OiBUdWlJbnB1dENvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBpbnB1dC5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMubWVudU9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5zZWFyY2guc2V0VmFsdWUoJycpO1xuICAgICAgICB0aGlzLm9wZW5BY3RpdmVQYWdlR3JvdXAoKTtcbiAgICB9XG5cbiAgICBAdHVpUHVyZVxuICAgIHByaXZhdGUgZmlsdGVySXRlbXMoXG4gICAgICAgIGl0ZW1zOiBSZWFkb25seUFycmF5PHJlYWRvbmx5IFR1aURvY1BhZ2VbXT4sXG4gICAgICAgIHNlYXJjaDogc3RyaW5nLFxuICAgICk6IFJlYWRvbmx5QXJyYXk8cmVhZG9ubHkgVHVpRG9jUGFnZVtdPiB7XG4gICAgICAgIHJldHVybiBpdGVtcy5tYXAoc2VjdGlvbiA9PlxuICAgICAgICAgICAgdHVpVW5pcUJ5KFxuICAgICAgICAgICAgICAgIHNlY3Rpb24uZmlsdGVyKCh7dGl0bGUsIGtleXdvcmRzID0gJyd9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHNlYXJjaCA9IHNlYXJjaC50b0xvd2VyQ2FzZSgpLnRyaW0oKTtcbiAgICAgICAgICAgICAgICAgICAga2V5d29yZHMgPSBrZXl3b3Jkcy50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aXRsZSA9IHRpdGxlLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlLmluY2x1ZGVzKHNlYXJjaCkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleXdvcmRzLmluY2x1ZGVzKHNlYXJjaCkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlLmluY2x1ZGVzKHR1aVRyYW5zbGl0ZXJhdGVLZXlib2FyZExheW91dChzZWFyY2gpKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5d29yZHMuaW5jbHVkZXModHVpVHJhbnNsaXRlcmF0ZUtleWJvYXJkTGF5b3V0KHNlYXJjaCkpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2gucmVwbGFjZSgvLS9naSwgJycpLmluY2x1ZGVzKHRpdGxlKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGUuaW5jbHVkZXMoc2VhcmNoLnJlcGxhY2UoL1xcc3x0dWkvZywgJycpKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5d29yZHMuaW5jbHVkZXMoc2VhcmNoLnJlcGxhY2UoL1xcc3x0dWkvZywgJycpKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VhcmNoLnNwbGl0KC9cXHMvKS5maW5kKHdvcmQgPT4gdGl0bGUuaW5jbHVkZXMod29yZCkpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgJ3RpdGxlJyxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGZsYXR0ZW5TdWJQYWdlcyhcbiAgICAgICAgaXRlbXM6IHJlYWRvbmx5IFR1aURvY1BhZ2VzW10sXG4gICAgKTogUmVhZG9ubHlBcnJheTxyZWFkb25seSBUdWlEb2NQYWdlW10+IHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zLnJlZHVjZTxSZWFkb25seUFycmF5PHJlYWRvbmx5IFR1aURvY1BhZ2VbXT4+KFxuICAgICAgICAgICAgKGFycmF5LCBpdGVtKSA9PiBbXG4gICAgICAgICAgICAgICAgLi4uYXJyYXksXG4gICAgICAgICAgICAgICAgaXRlbS5yZWR1Y2U8cmVhZG9ubHkgVHVpRG9jUGFnZVtdPihcbiAgICAgICAgICAgICAgICAgICAgKHBhZ2VzLCBwYWdlKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgJ3N1YlBhZ2VzJyBpbiBwYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBbLi4ucGFnZXMsIC4uLnBhZ2Uuc3ViUGFnZXNdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBbLi4ucGFnZXMsIHBhZ2VdLFxuICAgICAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtdLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNBY3RpdmVSb3V0ZShyb3V0ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlci5pc0FjdGl2ZShyb3V0ZSwge1xuICAgICAgICAgICAgcGF0aHM6ICdzdWJzZXQnLFxuICAgICAgICAgICAgcXVlcnlQYXJhbXM6ICdzdWJzZXQnLFxuICAgICAgICAgICAgZnJhZ21lbnQ6ICdpZ25vcmVkJyxcbiAgICAgICAgICAgIG1hdHJpeFBhcmFtczogJ2lnbm9yZWQnLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9wZW5BY3RpdmVQYWdlR3JvdXAoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgocGFnZXMsIHBhZ2VzSW5kZXgpID0+IHtcbiAgICAgICAgICAgIHBhZ2VzLmZvckVhY2goKHBhZ2UsIHBhZ2VJbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICgncm91dGUnIGluIHBhZ2UgJiYgdGhpcy5pc0FjdGl2ZVJvdXRlKHBhZ2Uucm91dGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlblBhZ2VzQXJyW3BhZ2VzSW5kZXhdID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBwYWdlLnJvdXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICgnc3ViUGFnZXMnIGluIHBhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFnZS5zdWJQYWdlcy5mb3JFYWNoKHN1YlBhZ2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBY3RpdmVSb3V0ZShzdWJQYWdlLnJvdXRlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub3BlblBhZ2VzQXJyW3BhZ2VzSW5kZXhdID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9wZW5QYWdlc0dyb3Vwc0FycltwYWdlc0luZGV4ICogMTAwICsgcGFnZUluZGV4XSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hY3RpdmUgPSBzdWJQYWdlLnJvdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBuYXZpZ2F0ZVRvQW5jaG9yTGluayhmcmFnbWVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5vZGVzID0gZnJhZ21lbnQgPyB0aGlzLmRvYy5xdWVyeVNlbGVjdG9yQWxsKGAjJHtmcmFnbWVudH1gKSA6IFtdO1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gbm9kZXMubGVuZ3RoICYmIG5vZGVzW25vZGVzLmxlbmd0aCAtIDFdO1xuXG4gICAgICAgIGlmICghZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZW11bGF0ZSA6dGFyZ2V0IGV2ZW50XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuZG9jLmNyZWF0ZUVsZW1lbnQoJ2EnKTtcblxuICAgICAgICB0YXJnZXQuaHJlZiA9IGAke3RoaXMuZG9jLmxvY2F0aW9uLnBhdGhuYW1lfSMke2ZyYWdtZW50fWA7XG4gICAgICAgIHRhcmdldC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuICAgICAgICB0YXJnZXQuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgICB0aGlzLmRvYy5ib2R5LmFwcGVuZENoaWxkKHRhcmdldCk7XG4gICAgICAgIHRhcmdldC5jbGljaygpO1xuICAgICAgICB0YXJnZXQucmVtb3ZlKCk7XG4gICAgfVxufVxuIiwiPHR1aS1pbnB1dFxuICAgICNpbnB1dFxuICAgIHR1aVRleHRmaWVsZFNpemU9XCJtXCJcbiAgICBjbGFzcz1cInQtaW5wdXRcIlxuICAgIFtmb3JtQ29udHJvbF09XCJzZWFyY2hcIlxuICAgIFt0dWlBdXRvRm9jdXNdPVwiISFzaWRlYmFyXCJcbiAgICBbdHVpVGV4dGZpZWxkQ2xlYW5lcl09XCJ0cnVlXCJcbiAgICBbdHVpVGV4dGZpZWxkSWNvbkxlZnRdPVwiZG9jSWNvbnMuc2VhcmNoXCJcbiAgICBbdHVpVGV4dGZpZWxkTGFiZWxPdXRzaWRlXT1cInRydWVcIlxuPlxuICAgIHt7IHNlYXJjaFRleHQgfX1cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2FuT3BlblwiPlxuICAgICAgICA8dHVpLWRhdGEtbGlzdCAqdHVpRGF0YUxpc3Q+XG4gICAgICAgICAgICA8dHVpLW9wdC1ncm91cFxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJlZCQgfCBhc3luYzsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJsYWJlbHNbaW5kZXhdIHx8ICcnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBncm91cFwiXG4gICAgICAgICAgICAgICAgICAgIHR1aU9wdGlvblxuICAgICAgICAgICAgICAgICAgICBbZnJhZ21lbnRdPVwiaXRlbS5mcmFnbWVudFwiXG4gICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGljayhpbnB1dClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sgaXRlbS50aXRsZSB9fVxuICAgICAgICAgICAgICAgICAgICA8dHVpLXN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cIml0ZW0uaWNvbiBhcyBpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaWNvblwiXG4gICAgICAgICAgICAgICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC90dWktb3B0LWdyb3VwPlxuICAgICAgICA8L3R1aS1kYXRhLWxpc3Q+XG4gICAgPC9uZy1jb250YWluZXI+XG48L3R1aS1pbnB1dD5cblxuPG5hdiBjbGFzcz1cInQtbmF2aWdhdGlvblwiPlxuICAgIDx0dWktc2Nyb2xsYmFyXG4gICAgICAgIGNsYXNzPVwidC1zY3JvbGxiYXJcIlxuICAgICAgICBbdHVpTW9kZV09XCJtb2RlJCB8IGFzeW5jXCJcbiAgICA+XG4gICAgICAgIDx0dWktYWNjb3JkaW9uXG4gICAgICAgICAgICBbY2xvc2VPdGhlcnNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgW3JvdW5kZWRdPVwiZmFsc2VcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8dHVpLWFjY29yZGlvbi1pdGVtXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGxhYmVsIG9mIGxhYmVsczsgaW5kZXggYXMgaW5kZXhcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzXCJcbiAgICAgICAgICAgICAgICBbYm9yZGVyc109XCJudWxsXCJcbiAgICAgICAgICAgICAgICBbKG9wZW4pXT1cIiEhb3BlblBhZ2VzQXJyW2luZGV4XVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0LWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgbGFiZWwgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHR1aUFjY29yZGlvbkl0ZW1Db250ZW50PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidC1zZWN0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXNbaW5kZXhdOyBpbmRleCBhcyBzdWJJbmRleFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicGFnZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogaXRlbSwgaW5kZXg6IGluZGV4ICogMTAwICsgc3ViSW5kZXh9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvdHVpLWFjY29yZGlvbi1pdGVtPlxuICAgICAgICA8L3R1aS1hY2NvcmRpb24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0LWl0ZW1zLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zV2l0aG91dFNlY3Rpb25zOyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwicGFnZXNcIlxuICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogaXRlbSwgaW5kZXg6IGl0ZW1zLmxlbmd0aCAtIDEgKyBpbmRleH1cIlxuICAgICAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICNwYWdlc1xuICAgICAgICAgICAgbGV0LWluZGV4PVwiaW5kZXhcIlxuICAgICAgICAgICAgbGV0LWl0ZW09XCJpdGVtXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiFpdGVtLnN1YlBhZ2VzOyBlbHNlIHN1YlBhZ2VzVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmU9XCJ0LXN1YmxpbmtfYWN0aXZlXCJcbiAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXN1YmxpbmtcIlxuICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cIml0ZW0ucm91dGVcIlxuICAgICAgICAgICAgICAgIFt0dWlTY3JvbGxJbnRvVmlld0xpbmtdPVwiaXNBY3RpdmUoaXRlbS5yb3V0ZSlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZU1lbnUoKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sgaXRlbS50aXRsZSB9fVxuICAgICAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpdGVtLmljb24gYXMgaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpY29uXCJcbiAgICAgICAgICAgICAgICA+PC90dWktc3ZnPlxuICAgICAgICAgICAgPC9hPlxuXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI3N1YlBhZ2VzVGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1zdWJzZWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntleGFjdDogZmFsc2V9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5zdWJQYWdlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB0dWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidC1zdWJsaW5rIHQtc3VibGlua19zdWJzZWN0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkdyb3VwQ2xpY2soaW5kZXgpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHR1aS1zdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtY2hldnJvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnQtY2hldnJvbl9hY3RpdmVdPVwiISFvcGVuUGFnZXNHcm91cHNBcnJbaW5kZXhdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImljb25zLm1vcmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0udGl0bGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKnBvbHltb3JwaGV1c091dGxldD1cIml0ZW0uaWNvbiBhcyBpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInQtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3R1aS1zdmc+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8dHVpLWV4cGFuZFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWV4cGFuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZXhwYW5kZWRdPVwiISFvcGVuUGFnZXNHcm91cHNBcnJbaW5kZXhdXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInQtc2VjdGlvbiB0LXNlY3Rpb25fYm9yZGVyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc3ViUGFnZSBvZiAkcGFnZXMoaXRlbS5zdWJQYWdlcylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwidC1zdWJsaW5rX2FjdGl2ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR1aUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LXN1YmxpbmsgdC1zdWJsaW5rX3NtYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZyYWdtZW50XT1cInN1YlBhZ2UuZnJhZ21lbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJzdWJQYWdlLnJvdXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R1aVNjcm9sbEludG9WaWV3TGlua109XCJpc0FjdGl2ZShzdWJQYWdlLnJvdXRlKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZU1lbnUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzdWJQYWdlLnRpdGxlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0dWktc3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqcG9seW1vcnBoZXVzT3V0bGV0PVwic3ViUGFnZS5pY29uIGFzIGljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdHVpLXN2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC90dWktZXhwYW5kPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3R1aS1zY3JvbGxiYXI+XG48L25hdj5cblxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -1,48 +0,0 @@
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/operators';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdmlnYXRpb24ucHJvdmlkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQVcsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdEUsT0FBTyxFQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRSxTQUFTLHFCQUFxQixDQUFDLEtBQWtCO0lBQzdDLE9BQU8sS0FBSztTQUNQLEdBQUcsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQztTQUMzQixNQUFNLENBQUMsWUFBWSxDQUFDO1NBQ3BCLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQ3ZFLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUM5QyxvQkFBb0IsQ0FDdkIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQy9DLHFCQUFxQixDQUN4QixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FDekIsSUFBSSxjQUFjLENBQXlCLG9CQUFvQixDQUFDLENBQUM7QUFFckUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQWU7SUFDNUMsaUJBQWlCO0lBQ2pCO1FBQ0ksT0FBTyxFQUFFLGdCQUFnQjtRQUN6QixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQztRQUNoRSxVQUFVLEVBQUUsQ0FDUixNQUFjLEVBQ2QsY0FBOEIsRUFDOUIsV0FBbUIsRUFDbkIsUUFBMEIsRUFDUixFQUFFLENBQ3BCLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNkLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLENBQUMsRUFDL0MsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsRUFDcEMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUNwQixRQUFRLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFDMUIsR0FBRyxDQUFDLENBQUMsRUFBQyxLQUFLLEVBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxXQUFXLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFDMUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUN0QjtLQUNSO0lBQ0Q7UUFDSSxPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUNyQixVQUFVLEVBQUUscUJBQXFCO0tBQ3BDO0lBQ0Q7UUFDSSxPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUNyQixVQUFVLEVBQUUsQ0FBQyxLQUFrQixFQUEwQixFQUFFO1lBQ3ZELE1BQU0sTUFBTSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTVDLE9BQU87Z0JBQ0gsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQztnQkFDdEUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUN0QyxDQUFDO1FBQ04sQ0FBQztLQUNKO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIE5hdmlnYXRpb25FbmQsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7VFVJX0RPQ19QQUdFUywgVFVJX0RPQ19USVRMRX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy90b2tlbnMnO1xuaW1wb3J0IHtUdWlEb2NQYWdlc30gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy90eXBlcyc7XG5pbXBvcnQge1R1aURlc3Ryb3lTZXJ2aWNlLCB0dWlJc1ByZXNlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZnVuY3Rpb24gbGFiZWxzUHJvdmlkZXJGYWN0b3J5KHBhZ2VzOiBUdWlEb2NQYWdlcyk6IHJlYWRvbmx5IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gcGFnZXNcbiAgICAgICAgLm1hcCgoe3NlY3Rpb259KSA9PiBzZWN0aW9uKVxuICAgICAgICAuZmlsdGVyKHR1aUlzUHJlc2VudClcbiAgICAgICAgLmZpbHRlcigoaXRlbSwgaW5kZXgsIGFycmF5KSA9PiBhcnJheS5pbmRleE9mKGl0ZW0pID09PSBpbmRleCk7XG59XG5cbi8qKlxuICogUGFnZSB0aXRsZVxuICovXG5leHBvcnQgY29uc3QgTkFWSUdBVElPTl9USVRMRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxPYnNlcnZhYmxlPHN0cmluZz4+KFxuICAgIGBbTkFWSUdBVElPTl9USVRMRV1gLFxuKTtcblxuLyoqXG4gKiBOYXZpZ2F0aW9uIHNlY3Rpb25zIGxhYmVscyBmb3Igc2VhcmNoXG4gKi9cbmV4cG9ydCBjb25zdCBOQVZJR0FUSU9OX0xBQkVMUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxyZWFkb25seSBzdHJpbmdbXT4oXG4gICAgYFtOQVZJR0FUSU9OX0xBQkVMU11gLFxuKTtcblxuLyoqXG4gKiBOYXZpZ2F0aW9uIHBhZ2VzXG4gKi9cbmV4cG9ydCBjb25zdCBOQVZJR0FUSU9OX0lURU1TOiBJbmplY3Rpb25Ub2tlbjxyZWFkb25seSBUdWlEb2NQYWdlc1tdPiA9XG4gICAgbmV3IEluamVjdGlvblRva2VuPHJlYWRvbmx5IFR1aURvY1BhZ2VzW10+KGBbTkFWSUdBVElPTl9JVEVNU11gKTtcblxuZXhwb3J0IGNvbnN0IE5BVklHQVRJT05fUFJPVklERVJTOiBQcm92aWRlcltdID0gW1xuICAgIFR1aURlc3Ryb3lTZXJ2aWNlLFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogTkFWSUdBVElPTl9USVRMRSxcbiAgICAgICAgZGVwczogW1JvdXRlciwgQWN0aXZhdGVkUm91dGUsIFRVSV9ET0NfVElUTEUsIFR1aURlc3Ryb3lTZXJ2aWNlXSxcbiAgICAgICAgdXNlRmFjdG9yeTogKFxuICAgICAgICAgICAgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgICAgICBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgICAgICB0aXRsZVByZWZpeDogc3RyaW5nLFxuICAgICAgICAgICAgZGVzdHJveSQ6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgICAgICk6IE9ic2VydmFibGU8c3RyaW5nPiA9PlxuICAgICAgICAgICAgcm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiBhY3RpdmF0ZWRSb3V0ZS5maXJzdENoaWxkKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIodHVpSXNQcmVzZW50KSxcbiAgICAgICAgICAgICAgICBtZXJnZU1hcCgoe2RhdGF9KSA9PiBkYXRhKSxcbiAgICAgICAgICAgICAgICBtYXAoKHt0aXRsZX0pID0+IGAke3RpdGxlUHJlZml4fSR7dGl0bGV9YCksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICAgICAgICAgICksXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IE5BVklHQVRJT05fTEFCRUxTLFxuICAgICAgICBkZXBzOiBbVFVJX0RPQ19QQUdFU10sXG4gICAgICAgIHVzZUZhY3Rvcnk6IGxhYmVsc1Byb3ZpZGVyRmFjdG9yeSxcbiAgICB9LFxuICAgIHtcbiAgICAgICAgcHJvdmlkZTogTkFWSUdBVElPTl9JVEVNUyxcbiAgICAgICAgZGVwczogW1RVSV9ET0NfUEFHRVNdLFxuICAgICAgICB1c2VGYWN0b3J5OiAocGFnZXM6IFR1aURvY1BhZ2VzKTogcmVhZG9ubHkgVHVpRG9jUGFnZXNbXSA9PiB7XG4gICAgICAgICAgICBjb25zdCBsYWJlbHMgPSBsYWJlbHNQcm92aWRlckZhY3RvcnkocGFnZXMpO1xuXG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIC4uLmxhYmVscy5tYXAobGFiZWwgPT4gcGFnZXMuZmlsdGVyKCh7c2VjdGlvbn0pID0+IHNlY3Rpb24gPT09IGxhYmVsKSksXG4gICAgICAgICAgICAgICAgcGFnZXMuZmlsdGVyKHBhZ2UgPT4gIXBhZ2Uuc2VjdGlvbiksXG4gICAgICAgICAgICBdO1xuICAgICAgICB9LFxuICAgIH0sXG5dO1xuIl19
@@ -1,62 +0,0 @@
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 "@taiga-ui/kit";
8
- import * as i2 from "../internal/source-code/source-code.component";
9
- import * as i3 from "../internal/see-also/see-also.component";
10
- import * as i4 from "@angular/common";
11
- import * as i5 from "@taiga-ui/cdk";
12
- import * as i6 from "@angular/router";
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: "12.2.17", ngImport: i0, type: TuiDocPageComponent, deps: [{ token: TUI_DOC_DEFAULT_TABS }, { token: PAGE_SEE_ALSO }], target: i0.ɵɵFactoryTarget.Component });
32
- TuiDocPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", 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"], components: [{ type: i1.TuiTagComponent, selector: "tui-tag, a[tuiTag], button[tuiTag]", inputs: ["value", "editable", "separator", "maxLength", "size", "showLoader", "status", "hoverable", "removable", "disabled", "autoColor", "leftContent"], outputs: ["edited"] }, { type: i1.TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: ["moreContent", "dropdownContent", "underline", "activeItemIndex", "itemsLimit"], outputs: ["activeItemIndexChange"] }, { type: i1.TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: i2.TuiDocSourceCodeComponent, selector: "tui-doc-source-code", inputs: ["header", "package", "type", "path"] }, { type: i3.TuiDocSeeAlsoComponent, selector: "tui-doc-see-also", inputs: ["seeAlso"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.TuiItemDirective, selector: "[tuiItem]" }, { type: i6.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["routerLink", "target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo"] }, { type: i6.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], exportAs: ["routerLinkActive"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "tuiReplace": i5.TuiReplacePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiDocPageComponent, decorators: [{
34
- type: Component,
35
- args: [{
36
- selector: 'tui-doc-page',
37
- templateUrl: './page.template.html',
38
- styleUrls: ['./page.style.less'],
39
- changeDetection: ChangeDetectionStrategy.OnPush,
40
- providers: PAGE_PROVIDERS,
41
- }]
42
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
43
- type: Inject,
44
- args: [TUI_DOC_DEFAULT_TABS]
45
- }] }, { type: undefined, decorators: [{
46
- type: Inject,
47
- args: [PAGE_SEE_ALSO]
48
- }] }]; }, propDecorators: { header: [{
49
- type: Input
50
- }], package: [{
51
- type: Input
52
- }], type: [{
53
- type: Input
54
- }], path: [{
55
- type: Input
56
- }], deprecated: [{
57
- type: Input
58
- }], tabConnectors: [{
59
- type: ContentChildren,
60
- args: [TuiDocPageTabConnectorDirective]
61
- }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9wYWdlL3BhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL2NvbXBvbmVudHMvcGFnZS9wYWdlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLE1BQU0sRUFDTixLQUFLLEdBRVIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUMsY0FBYyxFQUFFLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7OztBQVNyRSxNQUFNLE9BQU8sbUJBQW1CO0lBd0I1QixZQUMyQyxXQUE4QixFQUNyQyxPQUEwQjtRQURuQixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDckMsWUFBTyxHQUFQLE9BQU8sQ0FBbUI7UUF4QjlELFdBQU0sR0FBRyxFQUFFLENBQUM7UUFHWixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBR2IsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUdWLFNBQUksR0FBRyxFQUFFLENBQUM7UUFHVixlQUFVLEdBQWlCLEtBQUssQ0FBQztRQUd4QixrQkFBYSxHQUErQyxXQUFXLENBQUM7UUFFakYsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFFWCxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osT0FBRSxHQUFHLEdBQUcsQ0FBQztJQUtmLENBQUM7SUFFSixJQUFJLFdBQVc7UUFDWCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLENBQUMsQ0FBQztJQUMvRCxDQUFDOztpSEEvQlEsbUJBQW1CLGtCQXlCaEIsb0JBQW9CLGFBQ3BCLGFBQWE7cUdBMUJoQixtQkFBbUIsK0lBRmpCLGNBQWMsd0RBa0JSLCtCQUErQiw2QkNyQ3BELDAzREEwREE7NEZEckNhLG1CQUFtQjtrQkFQL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsV0FBVyxFQUFFLHNCQUFzQjtvQkFDbkMsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7b0JBQ2hDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUUsY0FBYztpQkFDNUI7OzBCQTBCUSxNQUFNOzJCQUFDLG9CQUFvQjs7MEJBQzNCLE1BQU07MkJBQUMsYUFBYTs0Q0F4QnpCLE1BQU07c0JBREwsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixVQUFVO3NCQURULEtBQUs7Z0JBSUcsYUFBYTtzQkFEckIsZUFBZTt1QkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIFF1ZXJ5TGlzdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9ET0NfREVGQVVMVF9UQUJTfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQge0VNUFRZX1FVRVJZfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuaW1wb3J0IHtQQUdFX1BST1ZJREVSUywgUEFHRV9TRUVfQUxTT30gZnJvbSAnLi9wYWdlLnByb3ZpZGVycyc7XG5pbXBvcnQge1R1aURvY1BhZ2VUYWJDb25uZWN0b3JEaXJlY3RpdmV9IGZyb20gJy4vcGFnZS10YWIuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0dWktZG9jLXBhZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wYWdlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3BhZ2Uuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogUEFHRV9QUk9WSURFUlMsXG59KVxuZXhwb3J0IGNsYXNzIFR1aURvY1BhZ2VDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgaGVhZGVyID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIHBhY2thZ2UgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgdHlwZSA9ICcnO1xuXG4gICAgQElucHV0KClcbiAgICBwYXRoID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIGRlcHJlY2F0ZWQ6IGJvb2xlYW4gfCAnJyA9IGZhbHNlO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUdWlEb2NQYWdlVGFiQ29ubmVjdG9yRGlyZWN0aXZlKVxuICAgIHJlYWRvbmx5IHRhYkNvbm5lY3RvcnM6IFF1ZXJ5TGlzdDxUdWlEb2NQYWdlVGFiQ29ubmVjdG9yRGlyZWN0aXZlPiA9IEVNUFRZX1FVRVJZO1xuXG4gICAgYWN0aXZlSXRlbUluZGV4ID0gMDtcblxuICAgIHJlYWRvbmx5IGZyb20gPSAvIC9nO1xuICAgIHJlYWRvbmx5IHRvID0gJ18nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoVFVJX0RPQ19ERUZBVUxUX1RBQlMpIHJlYWRvbmx5IGRlZmF1bHRUYWJzOiByZWFkb25seSBzdHJpbmdbXSxcbiAgICAgICAgQEluamVjdChQQUdFX1NFRV9BTFNPKSByZWFkb25seSBzZWVBbHNvOiByZWFkb25seSBzdHJpbmdbXSxcbiAgICApIHt9XG5cbiAgICBnZXQgc2hvd1NlZUFsc28oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuc2VlQWxzby5sZW5ndGggJiYgdGhpcy5hY3RpdmVJdGVtSW5kZXggPT09IDA7XG4gICAgfVxufVxuIiwiPGhlYWRlciBjbGFzcz1cInQtaGVhZGVyXCI+XG4gICAgPGgxIGNsYXNzPVwidC10aXRsZVwiPlxuICAgICAgICB7eyBoZWFkZXIgfX1cbiAgICAgICAgPHR1aS10YWdcbiAgICAgICAgICAgICpuZ0lmPVwiISFkZXByZWNhdGVkIHx8IGRlcHJlY2F0ZWQgPT09ICcnXCJcbiAgICAgICAgICAgIHN0YXR1cz1cImN1c3RvbVwiXG4gICAgICAgICAgICB2YWx1ZT1cImRlcHJlY2F0ZWRcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXRhZyB0LXRhZ19kZXByZWNhdGVkXCJcbiAgICAgICAgPjwvdHVpLXRhZz5cbiAgICAgICAgPHR1aS10YWdcbiAgICAgICAgICAgICpuZ0lmPVwicGFja2FnZVwiXG4gICAgICAgICAgICBzdGF0dXM9XCJjdXN0b21cIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LXRhZyB0LXRhZ19wYWNrYWdlXCJcbiAgICAgICAgICAgIFthdXRvQ29sb3JdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdmFsdWVdPVwicGFja2FnZVwiXG4gICAgICAgID48L3R1aS10YWc+XG4gICAgPC9oMT5cbiAgICA8dHVpLXRhYnMtd2l0aC1tb3JlXG4gICAgICAgICpuZ0lmPVwidGFiQ29ubmVjdG9ycy5sZW5ndGhcIlxuICAgICAgICBjbGFzcz1cInQtdGFic1wiXG4gICAgICAgIFsoYWN0aXZlSXRlbUluZGV4KV09XCJhY3RpdmVJdGVtSW5kZXhcIlxuICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYkNvbm5lY3RvcnM7IGZpcnN0IGFzIGZpcnN0OyBpbmRleCBhcyBpbmRleFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhYi5wYWdlVGFiIHx8IGRlZmF1bHRUYWJzW2luZGV4XSBhcyB0YWJOYW1lXCI+XG4gICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgKnR1aUl0ZW1cbiAgICAgICAgICAgICAgICAgICAgcm91dGVyTGlua0FjdGl2ZVxuICAgICAgICAgICAgICAgICAgICB0dWlUYWJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiZmlyc3QgPyAnLi8nIDogKHRhYk5hbWUgfCB0dWlSZXBsYWNlOiBmcm9tIDogdG8pXCJcbiAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cIntleGFjdDogZmlyc3R9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7IHRhYk5hbWUgfX1cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC90dWktdGFicy13aXRoLW1vcmU+XG4gICAgPHR1aS1kb2Mtc291cmNlLWNvZGVcbiAgICAgICAgY2xhc3M9XCJ0LXNvdXJjZS1jb2RlXCJcbiAgICAgICAgW2hlYWRlcl09XCJoZWFkZXJcIlxuICAgICAgICBbcGFja2FnZV09XCJwYWNrYWdlXCJcbiAgICAgICAgW3BhdGhdPVwicGF0aFwiXG4gICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgID48L3R1aS1kb2Mtc291cmNlLWNvZGU+XG48L2hlYWRlcj5cbjxkaXYgY2xhc3M9XCJ0LWNvbnRlbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPHR1aS1kb2Mtc2VlLWFsc29cbiAgICAgICAgKm5nSWY9XCJzaG93U2VlQWxzb1wiXG4gICAgICAgIGNsYXNzPVwidC1zZWUtYWxzb1wiXG4gICAgICAgIFtzZWVBbHNvXT1cInNlZUFsc29cIlxuICAgID48L3R1aS1kb2Mtc2VlLWFsc28+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYkNvbm5lY3RvcnM7IGluZGV4IGFzIGluZGV4XCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICpuZ0lmPVwiaW5kZXggPT09IGFjdGl2ZUl0ZW1JbmRleFwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWIudGVtcGxhdGVcIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbiJdfQ==
@@ -1,45 +0,0 @@
1
- import { Directive, ElementRef, Inject, Input, Self } from '@angular/core';
2
- import { TUI_DOC_PAGE_LOADED } from '@taiga-ui/addon-doc/tokens';
3
- import { TuiDestroyService, tuiGetElementObscures } from '@taiga-ui/cdk';
4
- import { ReplaySubject } from 'rxjs';
5
- import { debounceTime, filter, switchMap, takeUntil } from 'rxjs/operators';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@taiga-ui/cdk";
8
- import * as i2 from "rxjs";
9
- export class TuiScrollIntoViewLinkDirective {
10
- constructor(destroy$, { nativeElement }, readyToScroll$) {
11
- this.readyToScroll$ = readyToScroll$;
12
- this.scroll$ = new ReplaySubject(1);
13
- this.readyToScroll$
14
- .pipe(filter(Boolean), switchMap(() => this.scroll$), debounceTime(750), filter(shallWe => shallWe && !!tuiGetElementObscures(nativeElement)), takeUntil(destroy$))
15
- .subscribe(() => {
16
- nativeElement.scrollIntoView();
17
- });
18
- }
19
- set tuiScrollIntoViewLink(shallWe) {
20
- this.scroll$.next(shallWe);
21
- }
22
- }
23
- TuiScrollIntoViewLinkDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiScrollIntoViewLinkDirective, deps: [{ token: TuiDestroyService, self: true }, { token: ElementRef }, { token: TUI_DOC_PAGE_LOADED }], target: i0.ɵɵFactoryTarget.Directive });
24
- TuiScrollIntoViewLinkDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiScrollIntoViewLinkDirective, selector: "[tuiScrollIntoViewLink]", inputs: { tuiScrollIntoViewLink: "tuiScrollIntoViewLink" }, providers: [TuiDestroyService], ngImport: i0 });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiScrollIntoViewLinkDirective, decorators: [{
26
- type: Directive,
27
- args: [{
28
- selector: '[tuiScrollIntoViewLink]',
29
- providers: [TuiDestroyService],
30
- }]
31
- }], ctorParameters: function () { return [{ type: i1.TuiDestroyService, decorators: [{
32
- type: Self
33
- }, {
34
- type: Inject,
35
- args: [TuiDestroyService]
36
- }] }, { type: i0.ElementRef, decorators: [{
37
- type: Inject,
38
- args: [ElementRef]
39
- }] }, { type: i2.Observable, decorators: [{
40
- type: Inject,
41
- args: [TUI_DOC_PAGE_LOADED]
42
- }] }]; }, propDecorators: { tuiScrollIntoViewLink: [{
43
- type: Input
44
- }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLWludG8tdmlldy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvZGlyZWN0aXZlcy9zY3JvbGwtaW50by12aWV3L3Njcm9sbC1pbnRvLXZpZXcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQWEsYUFBYSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU0xRSxNQUFNLE9BQU8sOEJBQThCO0lBUXZDLFlBQ3VDLFFBQTJCLEVBQzFDLEVBQUMsYUFBYSxFQUEwQixFQUVuRCxjQUFtQztRQUFuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBcUI7UUFOL0IsWUFBTyxHQUFHLElBQUksYUFBYSxDQUFVLENBQUMsQ0FBQyxDQUFDO1FBUXJELElBQUksQ0FBQyxjQUFjO2FBQ2QsSUFBSSxDQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFDZixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUM3QixZQUFZLENBQUMsR0FBRyxDQUFDLEVBQ2pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMscUJBQXFCLENBQUMsYUFBYSxDQUFDLENBQUMsRUFDcEUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUN0QjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWixhQUFhLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBeEJELElBQ0kscUJBQXFCLENBQUMsT0FBZ0I7UUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7NEhBSlEsOEJBQThCLGtCQVNuQixpQkFBaUIseUJBQ3pCLFVBQVUsYUFDVixtQkFBbUI7Z0hBWHRCLDhCQUE4Qiw4R0FGNUIsQ0FBQyxpQkFBaUIsQ0FBQzs0RkFFckIsOEJBQThCO2tCQUoxQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2lCQUNqQzs7MEJBVVEsSUFBSTs7MEJBQUksTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUNoQyxNQUFNOzJCQUFDLFVBQVU7OzBCQUNqQixNQUFNOzJCQUFDLG1CQUFtQjs0Q0FUM0IscUJBQXFCO3NCQUR4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5wdXQsIFNlbGZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfRE9DX1BBR0VfTE9BREVEfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3Rva2Vucyc7XG5pbXBvcnQge1R1aURlc3Ryb3lTZXJ2aWNlLCB0dWlHZXRFbGVtZW50T2JzY3VyZXN9IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmaWx0ZXIsIHN3aXRjaE1hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3R1aVNjcm9sbEludG9WaWV3TGlua10nLFxuICAgIHByb3ZpZGVyczogW1R1aURlc3Ryb3lTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2Nyb2xsSW50b1ZpZXdMaW5rRGlyZWN0aXZlIHtcbiAgICBASW5wdXQoKVxuICAgIHNldCB0dWlTY3JvbGxJbnRvVmlld0xpbmsoc2hhbGxXZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNjcm9sbCQubmV4dChzaGFsbFdlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbCQgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAU2VsZigpIEBJbmplY3QoVHVpRGVzdHJveVNlcnZpY2UpIGRlc3Ryb3kkOiBUdWlEZXN0cm95U2VydmljZSxcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSB7bmF0aXZlRWxlbWVudH06IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9ET0NfUEFHRV9MT0FERUQpXG4gICAgICAgIHJlYWRvbmx5IHJlYWR5VG9TY3JvbGwkOiBPYnNlcnZhYmxlPGJvb2xlYW4+LFxuICAgICkge1xuICAgICAgICB0aGlzLnJlYWR5VG9TY3JvbGwkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoQm9vbGVhbiksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc2Nyb2xsJCksXG4gICAgICAgICAgICAgICAgZGVib3VuY2VUaW1lKDc1MCksXG4gICAgICAgICAgICAgICAgZmlsdGVyKHNoYWxsV2UgPT4gc2hhbGxXZSAmJiAhIXR1aUdldEVsZW1lbnRPYnNjdXJlcyhuYXRpdmVFbGVtZW50KSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIG5hdGl2ZUVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,8 +0,0 @@
1
- import { tuiCreateToken } from '@taiga-ui/cdk';
2
- import { defer, of, timer } from 'rxjs';
3
- import { switchMap } from 'rxjs/operators';
4
- /**
5
- * Stream that emits if loading of page is over (for example, to begin scrollIntoView)
6
- */
7
- export const TUI_DOC_PAGE_LOADED = tuiCreateToken(defer(() => timer(200).pipe(switchMap(() => of(true)))));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1sb2FkZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvdG9rZW5zL3BhZ2UtbG9hZGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGNBQWMsQ0FDN0MsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDMUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpQ3JlYXRlVG9rZW59IGZyb20gJ0B0YWlnYS11aS9jZGsnO1xuaW1wb3J0IHtkZWZlciwgb2YsIHRpbWVyfSBmcm9tICdyeGpzJztcbmltcG9ydCB7c3dpdGNoTWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogU3RyZWFtIHRoYXQgZW1pdHMgaWYgbG9hZGluZyBvZiBwYWdlIGlzIG92ZXIgKGZvciBleGFtcGxlLCB0byBiZWdpbiBzY3JvbGxJbnRvVmlldylcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9ET0NfUEFHRV9MT0FERUQgPSB0dWlDcmVhdGVUb2tlbihcbiAgICBkZWZlcigoKSA9PiB0aW1lcigyMDApLnBpcGUoc3dpdGNoTWFwKCgpID0+IG9mKHRydWUpKSkpLFxuKTtcbiJdfQ==
@@ -1,9 +0,0 @@
1
- import { inject } from '@angular/core';
2
- import { tuiToFlatMapPages } from '@taiga-ui/addon-doc/utils';
3
- import { tuiCreateToken, tuiCreateTokenFromFactory } from '@taiga-ui/cdk';
4
- /**
5
- * Documentation pages
6
- */
7
- export const TUI_DOC_PAGES = tuiCreateToken([]);
8
- export const TUI_DOC_MAP_PAGES = tuiCreateTokenFromFactory(() => tuiToFlatMapPages(inject(TUI_DOC_PAGES)));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvdG9rZW5zL3BhZ2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFckMsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGNBQWMsRUFBRSx5QkFBeUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQWMsRUFBRSxDQUFDLENBQUM7QUFFN0QsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcseUJBQXlCLENBQUMsR0FBRyxFQUFFLENBQzVELGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1R1aURvY1BhZ2VzfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL3R5cGVzJztcbmltcG9ydCB7dHVpVG9GbGF0TWFwUGFnZXN9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdXRpbHMnO1xuaW1wb3J0IHt0dWlDcmVhdGVUb2tlbiwgdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeX0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5cbi8qKlxuICogRG9jdW1lbnRhdGlvbiBwYWdlc1xuICovXG5leHBvcnQgY29uc3QgVFVJX0RPQ19QQUdFUyA9IHR1aUNyZWF0ZVRva2VuPFR1aURvY1BhZ2VzPihbXSk7XG5cbmV4cG9ydCBjb25zdCBUVUlfRE9DX01BUF9QQUdFUyA9IHR1aUNyZWF0ZVRva2VuRnJvbUZhY3RvcnkoKCkgPT5cbiAgICB0dWlUb0ZsYXRNYXBQYWdlcyhpbmplY3QoVFVJX0RPQ19QQUdFUykpLFxuKTtcbiJdfQ==
@@ -1,4 +0,0 @@
1
- export function tuiCoerceValueIsTrue(value) {
2
- return (value === null || value === void 0 ? void 0 : value.toString()) === `true`;
3
- }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29lcmNlLWJvb2xlYW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvdXRpbHMvY29lcmNlLWJvb2xlYW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEtBQXdCO0lBQ3pELE9BQU8sQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsUUFBUSxFQUFFLE1BQUssTUFBTSxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gdHVpQ29lcmNlVmFsdWVJc1RydWUodmFsdWU/OiBib29sZWFuIHwgc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlPy50b1N0cmluZygpID09PSBgdHJ1ZWA7XG59XG4iXX0=
@@ -1,14 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { tuiRawLoad } from './raw-load';
3
- export function tuiRawLoadRecord(example) {
4
- return __awaiter(this, void 0, void 0, function* () {
5
- const processedContent = {};
6
- for (const [key, content] of Object.entries(example)) {
7
- if (content) {
8
- processedContent[key] = yield tuiRawLoad(content);
9
- }
10
- }
11
- return processedContent;
12
- });
13
- }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF3LWxvYWQtcmVjb3JkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tZG9jL3V0aWxzL3Jhdy1sb2FkLXJlY29yZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLFlBQVksQ0FBQztBQUV0QyxNQUFNLFVBQWdCLGdCQUFnQixDQUNsQyxPQUFzQjs7UUFFdEIsTUFBTSxnQkFBZ0IsR0FBMkIsRUFBRSxDQUFDO1FBRXBELEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2xELElBQUksT0FBTyxFQUFFO2dCQUNULGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3JEO1NBQ0o7UUFFRCxPQUFPLGdCQUFnQixDQUFDO0lBQzVCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtUdWlEb2NFeGFtcGxlfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tZG9jL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQge3R1aVJhd0xvYWR9IGZyb20gJy4vcmF3LWxvYWQnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdHVpUmF3TG9hZFJlY29yZChcbiAgICBleGFtcGxlOiBUdWlEb2NFeGFtcGxlLFxuKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG4gICAgY29uc3QgcHJvY2Vzc2VkQ29udGVudDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXG4gICAgZm9yIChjb25zdCBba2V5LCBjb250ZW50XSBvZiBPYmplY3QuZW50cmllcyhleGFtcGxlKSkge1xuICAgICAgICBpZiAoY29udGVudCkge1xuICAgICAgICAgICAgcHJvY2Vzc2VkQ29udGVudFtrZXldID0gYXdhaXQgdHVpUmF3TG9hZChjb250ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwcm9jZXNzZWRDb250ZW50O1xufVxuIl19
@@ -1,7 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- export function tuiRawLoad(content) {
3
- return __awaiter(this, void 0, void 0, function* () {
4
- return content instanceof Promise ? (yield content).default : content;
5
- });
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF3LWxvYWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvdXRpbHMvcmF3LWxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE1BQU0sVUFBZ0IsVUFBVSxDQUFDLE9BQTRCOztRQUN6RCxPQUFPLE9BQU8sWUFBWSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztJQUMxRSxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R1aVJhd0xvYWRlckNvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0dWlSYXdMb2FkKGNvbnRlbnQ6IFR1aVJhd0xvYWRlckNvbnRlbnQpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBjb250ZW50IGluc3RhbmNlb2YgUHJvbWlzZSA/IChhd2FpdCBjb250ZW50KS5kZWZhdWx0IDogY29udGVudDtcbn1cbiJdfQ==
@@ -1,23 +0,0 @@
1
- import { tuiIsPageGroup } from './is-page-group';
2
- export function tuiSortPages(pages, excludeSections = new Set()) {
3
- const sections = Array.from(new Set(pages.map(page => page.section)));
4
- const sortedPages = pages.slice().sort((a, b) => {
5
- var _a, _b;
6
- if (excludeSections.has((_a = a.section) !== null && _a !== void 0 ? _a : ``) ||
7
- excludeSections.has((_b = b.section) !== null && _b !== void 0 ? _b : ``)) {
8
- return 0;
9
- }
10
- const aSectionIndex = sections.indexOf(a.section);
11
- const bSectionIndex = sections.indexOf(b.section);
12
- if (aSectionIndex !== bSectionIndex) {
13
- return aSectionIndex - bSectionIndex;
14
- }
15
- if (a.title > b.title) {
16
- return 1;
17
- }
18
- return a.title.localeCompare(b.title);
19
- });
20
- return sortedPages.map(page => tuiIsPageGroup(page)
21
- ? Object.assign(Object.assign({}, page), { subPages: tuiSortPages(page.subPages, excludeSections) }) : page);
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1wYWdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWRvYy91dGlscy9zb3J0LXBhZ2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLFVBQVUsWUFBWSxDQUN4QixLQUFtQixFQUNuQixrQkFBa0IsSUFBSSxHQUFHLEVBQVU7SUFFbkMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUV0RSxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFOztRQUM1QyxJQUNJLGVBQWUsQ0FBQyxHQUFHLENBQUMsTUFBQSxDQUFDLENBQUMsT0FBTyxtQ0FBSSxFQUFFLENBQUM7WUFDcEMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxNQUFBLENBQUMsQ0FBQyxPQUFPLG1DQUFJLEVBQUUsQ0FBQyxFQUN0QztZQUNFLE9BQU8sQ0FBQyxDQUFDO1NBQ1o7UUFFRCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVsRCxJQUFJLGFBQWEsS0FBSyxhQUFhLEVBQUU7WUFDakMsT0FBTyxhQUFhLEdBQUcsYUFBYSxDQUFDO1NBQ3hDO1FBRUQsSUFBSSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUU7WUFDbkIsT0FBTyxDQUFDLENBQUM7U0FDWjtRQUVELE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQzFCLGNBQWMsQ0FBQyxJQUFJLENBQUM7UUFDaEIsQ0FBQyxpQ0FDUSxJQUFJLEtBQ1AsUUFBUSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxJQUU1RCxDQUFDLENBQUMsSUFBSSxDQUNiLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlEb2NQYWdlLCBUdWlEb2NQYWdlR3JvdXB9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7dHVpSXNQYWdlR3JvdXB9IGZyb20gJy4vaXMtcGFnZS1ncm91cCc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlTb3J0UGFnZXM8VCBleHRlbmRzIFR1aURvY1BhZ2UgfCBUdWlEb2NQYWdlR3JvdXA+KFxuICAgIHBhZ2VzOiByZWFkb25seSBUW10sXG4gICAgZXhjbHVkZVNlY3Rpb25zID0gbmV3IFNldDxzdHJpbmc+KCksXG4pOiByZWFkb25seSBUW10ge1xuICAgIGNvbnN0IHNlY3Rpb25zID0gQXJyYXkuZnJvbShuZXcgU2V0KHBhZ2VzLm1hcChwYWdlID0+IHBhZ2Uuc2VjdGlvbikpKTtcblxuICAgIGNvbnN0IHNvcnRlZFBhZ2VzID0gcGFnZXMuc2xpY2UoKS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGV4Y2x1ZGVTZWN0aW9ucy5oYXMoYS5zZWN0aW9uID8/IGBgKSB8fFxuICAgICAgICAgICAgZXhjbHVkZVNlY3Rpb25zLmhhcyhiLnNlY3Rpb24gPz8gYGApXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhU2VjdGlvbkluZGV4ID0gc2VjdGlvbnMuaW5kZXhPZihhLnNlY3Rpb24pO1xuICAgICAgICBjb25zdCBiU2VjdGlvbkluZGV4ID0gc2VjdGlvbnMuaW5kZXhPZihiLnNlY3Rpb24pO1xuXG4gICAgICAgIGlmIChhU2VjdGlvbkluZGV4ICE9PSBiU2VjdGlvbkluZGV4KSB7XG4gICAgICAgICAgICByZXR1cm4gYVNlY3Rpb25JbmRleCAtIGJTZWN0aW9uSW5kZXg7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYS50aXRsZSA+IGIudGl0bGUpIHtcbiAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGEudGl0bGUubG9jYWxlQ29tcGFyZShiLnRpdGxlKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBzb3J0ZWRQYWdlcy5tYXAocGFnZSA9PlxuICAgICAgICB0dWlJc1BhZ2VHcm91cChwYWdlKVxuICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAuLi5wYWdlLFxuICAgICAgICAgICAgICAgICAgc3ViUGFnZXM6IHR1aVNvcnRQYWdlcyhwYWdlLnN1YlBhZ2VzLCBleGNsdWRlU2VjdGlvbnMpLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHBhZ2UsXG4gICAgKTtcbn1cbiJdfQ==
@@ -1,23 +0,0 @@
1
- function assertTitle(page, map) {
2
- var _a;
3
- if (map.has(page.title) && ((_a = map.get(page.title)) === null || _a === void 0 ? void 0 : _a.route) !== page.route) {
4
- console.error(`Title for page should be unique for prevent inconsistent page names`, page, `<== Collisions between ==>`, map.get(page.title));
5
- }
6
- }
7
- export function tuiToFlatMapPages(pages) {
8
- const map = new Map();
9
- pages.forEach(page => {
10
- if (`subPages` in page) {
11
- page.subPages.forEach(subPage => {
12
- ngDevMode && assertTitle(subPage, map);
13
- map.set(subPage.title, subPage);
14
- });
15
- }
16
- else {
17
- ngDevMode && assertTitle(page, map);
18
- map.set(page.title, page);
19
- }
20
- });
21
- return map;
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tZmxhdC1tYXAtcGFnZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvdXRpbHMvdG8tZmxhdC1tYXAtcGFnZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsU0FBUyxXQUFXLENBQUMsSUFBZ0IsRUFBRSxHQUE0Qjs7SUFDL0QsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFBLE1BQUEsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLDBDQUFFLEtBQUssTUFBSyxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ2xFLE9BQU8sQ0FBQyxLQUFLLENBQ1QscUVBQXFFLEVBQ3JFLElBQUksRUFDSiw0QkFBNEIsRUFDNUIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQ3RCLENBQUM7S0FDTDtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsS0FBa0I7SUFDaEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQXNCLENBQUM7SUFFMUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNqQixJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzVCLFNBQVMsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUN2QyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDLENBQUM7U0FDTjthQUFNO1lBQ0gsU0FBUyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDcEMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzdCO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLEdBQUcsQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7VHVpRG9jUGFnZX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy9pbnRlcmZhY2VzJztcbmltcG9ydCB0eXBlIHtUdWlEb2NQYWdlc30gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWRvYy90eXBlcyc7XG5cbmZ1bmN0aW9uIGFzc2VydFRpdGxlKHBhZ2U6IFR1aURvY1BhZ2UsIG1hcDogTWFwPHN0cmluZywgVHVpRG9jUGFnZT4pOiB2b2lkIHtcbiAgICBpZiAobWFwLmhhcyhwYWdlLnRpdGxlKSAmJiBtYXAuZ2V0KHBhZ2UudGl0bGUpPy5yb3V0ZSAhPT0gcGFnZS5yb3V0ZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgICAgYFRpdGxlIGZvciBwYWdlIHNob3VsZCBiZSB1bmlxdWUgZm9yIHByZXZlbnQgaW5jb25zaXN0ZW50IHBhZ2UgbmFtZXNgLFxuICAgICAgICAgICAgcGFnZSxcbiAgICAgICAgICAgIGA8PT0gQ29sbGlzaW9ucyBiZXR3ZWVuID09PmAsXG4gICAgICAgICAgICBtYXAuZ2V0KHBhZ2UudGl0bGUpLFxuICAgICAgICApO1xuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aVRvRmxhdE1hcFBhZ2VzKHBhZ2VzOiBUdWlEb2NQYWdlcyk6IE1hcDxzdHJpbmcsIFR1aURvY1BhZ2U+IHtcbiAgICBjb25zdCBtYXAgPSBuZXcgTWFwPHN0cmluZywgVHVpRG9jUGFnZT4oKTtcblxuICAgIHBhZ2VzLmZvckVhY2gocGFnZSA9PiB7XG4gICAgICAgIGlmIChgc3ViUGFnZXNgIGluIHBhZ2UpIHtcbiAgICAgICAgICAgIHBhZ2Uuc3ViUGFnZXMuZm9yRWFjaChzdWJQYWdlID0+IHtcbiAgICAgICAgICAgICAgICBuZ0Rldk1vZGUgJiYgYXNzZXJ0VGl0bGUoc3ViUGFnZSwgbWFwKTtcbiAgICAgICAgICAgICAgICBtYXAuc2V0KHN1YlBhZ2UudGl0bGUsIHN1YlBhZ2UpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZ0Rldk1vZGUgJiYgYXNzZXJ0VGl0bGUocGFnZSwgbWFwKTtcbiAgICAgICAgICAgIG1hcC5zZXQocGFnZS50aXRsZSwgcGFnZSk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBtYXA7XG59XG4iXX0=