@ng-doc/app 17.6.16 → 18.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/classes/root-page/root-page.d.ts +4 -7
  2. package/components/api-list/api-list.component.d.ts +13 -11
  3. package/components/breadcrumb/breadcrumb.component.d.ts +0 -1
  4. package/components/code/code.component.d.ts +2 -7
  5. package/components/copy-button/copy-button.component.d.ts +12 -0
  6. package/components/copy-button/index.d.ts +1 -0
  7. package/components/demo-displayer/demo-displayer.component.d.ts +0 -5
  8. package/components/heading-anchor/heading-anchor.component.d.ts +9 -0
  9. package/components/heading-anchor/index.d.ts +1 -0
  10. package/components/image-viewer/image-viewer.component.d.ts +16 -0
  11. package/components/image-viewer/index.d.ts +1 -0
  12. package/components/index.d.ts +7 -0
  13. package/components/kind-icon/kind-icon.component.d.ts +2 -1
  14. package/components/mermaid-viewer/index.d.ts +1 -0
  15. package/components/mermaid-viewer/mermaid-viewer.component.d.ts +17 -0
  16. package/components/navbar/navbar.component.d.ts +3 -16
  17. package/components/page/page.component.d.ts +6 -14
  18. package/components/page-header/index.d.ts +1 -0
  19. package/components/page-header/page-header.component.d.ts +6 -0
  20. package/components/page-wrapper/index.d.ts +1 -0
  21. package/components/page-wrapper/page-wrapper.component.d.ts +22 -0
  22. package/components/playground/base-playground.d.ts +1 -1
  23. package/components/playground/playground-demo/playground-demo.component.d.ts +5 -6
  24. package/components/root/root.component.d.ts +4 -13
  25. package/components/search/search.component.d.ts +11 -17
  26. package/components/search-dialog/index.d.ts +1 -0
  27. package/components/search-dialog/search-dialog.component.d.ts +24 -0
  28. package/components/sidebar/sidebar-category/sidebar-category.component.d.ts +9 -10
  29. package/components/sidebar/sidebar-item/sidebar-item.component.d.ts +7 -2
  30. package/components/sidebar/sidebar.component.d.ts +5 -3
  31. package/components/theme-toggle/theme-toggle.component.d.ts +4 -5
  32. package/constants/index.d.ts +0 -1
  33. package/directives/code-highlighter/code-highlighter.directive.d.ts +11 -10
  34. package/esm2022/classes/default-search-engine/default-search-engine.mjs +10 -4
  35. package/esm2022/classes/root-page/root-page.mjs +1 -1
  36. package/esm2022/components/api-list/api-list.component.mjs +46 -64
  37. package/esm2022/components/breadcrumb/breadcrumb.component.mjs +7 -9
  38. package/esm2022/components/code/code.component.mjs +16 -19
  39. package/esm2022/components/copy-button/copy-button.component.mjs +61 -0
  40. package/esm2022/components/copy-button/index.mjs +2 -0
  41. package/esm2022/components/copy-button/ng-doc-app-components-copy-button.mjs +5 -0
  42. package/esm2022/components/demo/demo.component.mjs +5 -5
  43. package/esm2022/components/demo-displayer/demo-displayer.component.mjs +9 -14
  44. package/esm2022/components/demo-pane/demo-pane.component.mjs +5 -5
  45. package/esm2022/components/fullscreen-button/fullscreen-button.component.mjs +3 -3
  46. package/esm2022/components/heading-anchor/heading-anchor.component.mjs +38 -0
  47. package/esm2022/components/heading-anchor/index.mjs +2 -0
  48. package/esm2022/components/heading-anchor/ng-doc-app-components-heading-anchor.mjs +5 -0
  49. package/esm2022/components/image-viewer/image-viewer.component.mjs +80 -0
  50. package/esm2022/components/image-viewer/index.mjs +2 -0
  51. package/esm2022/components/image-viewer/ng-doc-app-components-image-viewer.mjs +5 -0
  52. package/esm2022/components/index.mjs +8 -1
  53. package/esm2022/components/kind-icon/kind-icon.component.mjs +11 -5
  54. package/esm2022/components/link/link.component.mjs +3 -3
  55. package/esm2022/components/mermaid-viewer/index.mjs +2 -0
  56. package/esm2022/components/mermaid-viewer/mermaid-viewer.component.mjs +55 -0
  57. package/esm2022/components/mermaid-viewer/ng-doc-app-components-mermaid-viewer.mjs +5 -0
  58. package/esm2022/components/navbar/navbar.component.mjs +12 -32
  59. package/esm2022/components/page/page.component.mjs +20 -72
  60. package/esm2022/components/page-header/index.mjs +2 -0
  61. package/esm2022/components/page-header/ng-doc-app-components-page-header.mjs +5 -0
  62. package/esm2022/components/page-header/page-header.component.mjs +19 -0
  63. package/esm2022/components/page-link/page-link.component.mjs +5 -5
  64. package/esm2022/components/page-navigation/page-navigation.component.mjs +5 -5
  65. package/esm2022/components/page-wrapper/index.mjs +2 -0
  66. package/esm2022/components/page-wrapper/ng-doc-app-components-page-wrapper.mjs +5 -0
  67. package/esm2022/components/page-wrapper/page-wrapper.component.mjs +87 -0
  68. package/esm2022/components/playground/base-playground.mjs +8 -8
  69. package/esm2022/components/playground/playground-demo/playground-demo.component.mjs +22 -21
  70. package/esm2022/components/playground/playground-properties/playground-properties.component.mjs +8 -6
  71. package/esm2022/components/playground/playground-property/playground-property.component.mjs +4 -4
  72. package/esm2022/components/playground/playground.component.mjs +6 -6
  73. package/esm2022/components/root/root.component.mjs +20 -37
  74. package/esm2022/components/search/search.component.mjs +31 -49
  75. package/esm2022/components/search-dialog/index.mjs +2 -0
  76. package/esm2022/components/search-dialog/ng-doc-app-components-search-dialog.mjs +5 -0
  77. package/esm2022/components/search-dialog/search-dialog.component.mjs +74 -0
  78. package/esm2022/components/search-result/search-result.component.mjs +4 -4
  79. package/esm2022/components/sidebar/sidebar-category/sidebar-category.component.mjs +22 -27
  80. package/esm2022/components/sidebar/sidebar-item/sidebar-item.component.mjs +18 -10
  81. package/esm2022/components/sidebar/sidebar.component.mjs +14 -13
  82. package/esm2022/components/tabs/tabs.component.mjs +4 -4
  83. package/esm2022/components/theme-toggle/theme-toggle.component.mjs +18 -53
  84. package/esm2022/components/toc/toc-element/toc-element.component.mjs +5 -5
  85. package/esm2022/components/toc/toc.component.mjs +37 -35
  86. package/esm2022/constants/index.mjs +1 -2
  87. package/esm2022/defaults/default-processors/default-processors.mjs +7 -4
  88. package/esm2022/directives/code-highlighter/code-highlighter.directive.mjs +18 -36
  89. package/esm2022/directives/route-active/route-active.directive.mjs +3 -3
  90. package/esm2022/helpers/as-boolean.mjs +1 -1
  91. package/esm2022/helpers/create-component.mjs +1 -1
  92. package/esm2022/helpers/generate-toc.mjs +5 -5
  93. package/esm2022/interfaces/navigation.mjs +1 -1
  94. package/esm2022/interfaces/processor-options.mjs +1 -1
  95. package/esm2022/interfaces/toc-item.mjs +1 -1
  96. package/esm2022/interfaces/type-control.mjs +1 -1
  97. package/esm2022/pipes/decode-uri-component/decode-uri-component.pipe.mjs +4 -4
  98. package/esm2022/pipes/extract-value/extract-value.pipe.mjs +3 -3
  99. package/esm2022/pipes/filter-by-text/filter-by-text.pipe.mjs +3 -3
  100. package/esm2022/pipes/sanitize-html/sanitize-html.pipe.mjs +3 -3
  101. package/esm2022/processors/page-processor/index.mjs +2 -2
  102. package/esm2022/processors/page-processor/page-processor.component.mjs +74 -0
  103. package/esm2022/processors/processors/blockquote.processor.mjs +2 -1
  104. package/esm2022/processors/processors/code.processor.mjs +3 -5
  105. package/esm2022/processors/processors/demo.processor.mjs +2 -2
  106. package/esm2022/processors/processors/heading-anchor.processor.mjs +12 -0
  107. package/esm2022/processors/processors/image.processor.mjs +19 -0
  108. package/esm2022/processors/processors/index.mjs +6 -3
  109. package/esm2022/processors/processors/link/index.mjs +2 -0
  110. package/esm2022/processors/processors/link/link.processor.mjs +13 -0
  111. package/esm2022/processors/processors/link/ng-doc-app-processors-processors-link.mjs +5 -0
  112. package/esm2022/processors/processors/mermaid.processor.mjs +11 -0
  113. package/esm2022/processors/processors/playground.processor.mjs +2 -2
  114. package/esm2022/processors/processors/tooltip/index.mjs +2 -0
  115. package/esm2022/processors/processors/tooltip/ng-doc-app-processors-processors-tooltip.mjs +5 -0
  116. package/esm2022/processors/processors/tooltip/tooltip.processor.mjs +56 -0
  117. package/esm2022/providers/index.mjs +2 -1
  118. package/esm2022/providers/mermaid/index.mjs +2 -0
  119. package/esm2022/providers/mermaid/ng-doc-app-providers-mermaid.mjs +5 -0
  120. package/esm2022/providers/mermaid/provide-mermaid.mjs +16 -0
  121. package/esm2022/providers/ng-doc-app/provide-ng-doc-app.mjs +12 -35
  122. package/esm2022/providers/playground-demo/provide-playground-demo.mjs +1 -1
  123. package/esm2022/providers/search-engine/provide-search-engine.mjs +2 -2
  124. package/esm2022/providers/type-control/provide-type-control.mjs +1 -1
  125. package/esm2022/services/highlighter/highlighter.service.mjs +39 -0
  126. package/esm2022/services/highlighter/index.mjs +2 -0
  127. package/esm2022/services/highlighter/ng-doc-app-services-highlighter.mjs +5 -0
  128. package/esm2022/services/index.mjs +2 -2
  129. package/esm2022/services/sidebar/sidebar.service.mjs +35 -50
  130. package/esm2022/services/store/store.service.mjs +3 -3
  131. package/esm2022/services/theme/theme.service.mjs +28 -127
  132. package/esm2022/tokens/index.mjs +4 -2
  133. package/esm2022/tokens/mermaid.mjs +3 -0
  134. package/esm2022/tokens/page-processor.mjs +2 -2
  135. package/esm2022/tokens/route-prefix.mjs +3 -0
  136. package/esm2022/tokens/shiki-theme.mjs +3 -0
  137. package/esm2022/type-controls/boolean-control/boolean-control.component.mjs +3 -3
  138. package/esm2022/type-controls/number-control/number-control.component.mjs +5 -5
  139. package/esm2022/type-controls/string-control/string-control.component.mjs +5 -5
  140. package/esm2022/type-controls/type-alias-control/type-alias-control.component.mjs +5 -5
  141. package/fesm2022/ng-doc-app-classes-default-search-engine.mjs +10 -4
  142. package/fesm2022/ng-doc-app-classes-default-search-engine.mjs.map +1 -1
  143. package/fesm2022/ng-doc-app-classes-root-page.mjs.map +1 -1
  144. package/fesm2022/ng-doc-app-components-api-list.mjs +47 -64
  145. package/fesm2022/ng-doc-app-components-api-list.mjs.map +1 -1
  146. package/fesm2022/ng-doc-app-components-breadcrumb.mjs +6 -8
  147. package/fesm2022/ng-doc-app-components-breadcrumb.mjs.map +1 -1
  148. package/fesm2022/ng-doc-app-components-code.mjs +16 -18
  149. package/fesm2022/ng-doc-app-components-code.mjs.map +1 -1
  150. package/fesm2022/ng-doc-app-components-copy-button.mjs +68 -0
  151. package/fesm2022/ng-doc-app-components-copy-button.mjs.map +1 -0
  152. package/fesm2022/ng-doc-app-components-demo-displayer.mjs +8 -12
  153. package/fesm2022/ng-doc-app-components-demo-displayer.mjs.map +1 -1
  154. package/fesm2022/ng-doc-app-components-demo-pane.mjs +4 -4
  155. package/fesm2022/ng-doc-app-components-demo-pane.mjs.map +1 -1
  156. package/fesm2022/ng-doc-app-components-demo.mjs +4 -4
  157. package/fesm2022/ng-doc-app-components-demo.mjs.map +1 -1
  158. package/fesm2022/ng-doc-app-components-fullscreen-button.mjs +3 -3
  159. package/fesm2022/ng-doc-app-components-heading-anchor.mjs +45 -0
  160. package/fesm2022/ng-doc-app-components-heading-anchor.mjs.map +1 -0
  161. package/fesm2022/ng-doc-app-components-image-viewer.mjs +87 -0
  162. package/fesm2022/ng-doc-app-components-image-viewer.mjs.map +1 -0
  163. package/fesm2022/ng-doc-app-components-kind-icon.mjs +10 -4
  164. package/fesm2022/ng-doc-app-components-kind-icon.mjs.map +1 -1
  165. package/fesm2022/ng-doc-app-components-link.mjs +3 -3
  166. package/fesm2022/ng-doc-app-components-mermaid-viewer.mjs +62 -0
  167. package/fesm2022/ng-doc-app-components-mermaid-viewer.mjs.map +1 -0
  168. package/fesm2022/ng-doc-app-components-navbar.mjs +12 -32
  169. package/fesm2022/ng-doc-app-components-navbar.mjs.map +1 -1
  170. package/fesm2022/ng-doc-app-components-page-header.mjs +26 -0
  171. package/fesm2022/ng-doc-app-components-page-header.mjs.map +1 -0
  172. package/fesm2022/ng-doc-app-components-page-link.mjs +4 -4
  173. package/fesm2022/ng-doc-app-components-page-link.mjs.map +1 -1
  174. package/fesm2022/ng-doc-app-components-page-navigation.mjs +4 -4
  175. package/fesm2022/ng-doc-app-components-page-navigation.mjs.map +1 -1
  176. package/fesm2022/ng-doc-app-components-page-wrapper.mjs +94 -0
  177. package/fesm2022/ng-doc-app-components-page-wrapper.mjs.map +1 -0
  178. package/fesm2022/ng-doc-app-components-page.mjs +19 -71
  179. package/fesm2022/ng-doc-app-components-page.mjs.map +1 -1
  180. package/fesm2022/ng-doc-app-components-playground.mjs +43 -38
  181. package/fesm2022/ng-doc-app-components-playground.mjs.map +1 -1
  182. package/fesm2022/ng-doc-app-components-root.mjs +18 -35
  183. package/fesm2022/ng-doc-app-components-root.mjs.map +1 -1
  184. package/fesm2022/ng-doc-app-components-search-dialog.mjs +81 -0
  185. package/fesm2022/ng-doc-app-components-search-dialog.mjs.map +1 -0
  186. package/fesm2022/ng-doc-app-components-search-result.mjs +3 -3
  187. package/fesm2022/ng-doc-app-components-search-result.mjs.map +1 -1
  188. package/fesm2022/ng-doc-app-components-search.mjs +30 -48
  189. package/fesm2022/ng-doc-app-components-search.mjs.map +1 -1
  190. package/fesm2022/ng-doc-app-components-sidebar.mjs +49 -44
  191. package/fesm2022/ng-doc-app-components-sidebar.mjs.map +1 -1
  192. package/fesm2022/ng-doc-app-components-tabs.mjs +3 -3
  193. package/fesm2022/ng-doc-app-components-tabs.mjs.map +1 -1
  194. package/fesm2022/ng-doc-app-components-theme-toggle.mjs +17 -51
  195. package/fesm2022/ng-doc-app-components-theme-toggle.mjs.map +1 -1
  196. package/fesm2022/ng-doc-app-components-toc.mjs +40 -38
  197. package/fesm2022/ng-doc-app-components-toc.mjs.map +1 -1
  198. package/fesm2022/ng-doc-app-components.mjs +7 -0
  199. package/fesm2022/ng-doc-app-components.mjs.map +1 -1
  200. package/fesm2022/ng-doc-app-constants.mjs +1 -37
  201. package/fesm2022/ng-doc-app-constants.mjs.map +1 -1
  202. package/fesm2022/ng-doc-app-defaults-default-processors.mjs +6 -3
  203. package/fesm2022/ng-doc-app-defaults-default-processors.mjs.map +1 -1
  204. package/fesm2022/ng-doc-app-directives-code-highlighter.mjs +17 -35
  205. package/fesm2022/ng-doc-app-directives-code-highlighter.mjs.map +1 -1
  206. package/fesm2022/ng-doc-app-directives-route-active.mjs +3 -3
  207. package/fesm2022/ng-doc-app-helpers.mjs +4 -4
  208. package/fesm2022/ng-doc-app-helpers.mjs.map +1 -1
  209. package/fesm2022/ng-doc-app-pipes-decode-uri-component.mjs +3 -3
  210. package/fesm2022/ng-doc-app-pipes-decode-uri-component.mjs.map +1 -1
  211. package/fesm2022/ng-doc-app-pipes-extract-value.mjs +3 -3
  212. package/fesm2022/ng-doc-app-pipes-filter-by-text.mjs +3 -3
  213. package/fesm2022/ng-doc-app-pipes-sanitize-html.mjs +3 -3
  214. package/fesm2022/ng-doc-app-processors-page-processor.mjs +20 -14
  215. package/fesm2022/ng-doc-app-processors-page-processor.mjs.map +1 -1
  216. package/fesm2022/ng-doc-app-processors-processors-link.mjs +20 -0
  217. package/fesm2022/ng-doc-app-processors-processors-link.mjs.map +1 -0
  218. package/fesm2022/ng-doc-app-processors-processors-tooltip.mjs +63 -0
  219. package/fesm2022/ng-doc-app-processors-processors-tooltip.mjs.map +1 -0
  220. package/fesm2022/ng-doc-app-processors-processors.mjs +45 -70
  221. package/fesm2022/ng-doc-app-processors-processors.mjs.map +1 -1
  222. package/fesm2022/ng-doc-app-providers-mermaid.mjs +23 -0
  223. package/fesm2022/ng-doc-app-providers-mermaid.mjs.map +1 -0
  224. package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs +11 -34
  225. package/fesm2022/ng-doc-app-providers-ng-doc-app.mjs.map +1 -1
  226. package/fesm2022/ng-doc-app-providers-playground-demo.mjs.map +1 -1
  227. package/fesm2022/ng-doc-app-providers-search-engine.mjs +1 -1
  228. package/fesm2022/ng-doc-app-providers-search-engine.mjs.map +1 -1
  229. package/fesm2022/ng-doc-app-providers-type-control.mjs.map +1 -1
  230. package/fesm2022/ng-doc-app-providers.mjs +1 -0
  231. package/fesm2022/ng-doc-app-providers.mjs.map +1 -1
  232. package/fesm2022/ng-doc-app-services-highlighter.mjs +46 -0
  233. package/fesm2022/ng-doc-app-services-highlighter.mjs.map +1 -0
  234. package/fesm2022/ng-doc-app-services-sidebar.mjs +35 -50
  235. package/fesm2022/ng-doc-app-services-sidebar.mjs.map +1 -1
  236. package/fesm2022/ng-doc-app-services-store.mjs +3 -3
  237. package/fesm2022/ng-doc-app-services-theme.mjs +27 -126
  238. package/fesm2022/ng-doc-app-services-theme.mjs.map +1 -1
  239. package/fesm2022/ng-doc-app-services.mjs +1 -1
  240. package/fesm2022/ng-doc-app-tokens.mjs +8 -4
  241. package/fesm2022/ng-doc-app-tokens.mjs.map +1 -1
  242. package/fesm2022/ng-doc-app-type-controls-boolean-control.mjs +3 -3
  243. package/fesm2022/ng-doc-app-type-controls-number-control.mjs +4 -4
  244. package/fesm2022/ng-doc-app-type-controls-number-control.mjs.map +1 -1
  245. package/fesm2022/ng-doc-app-type-controls-string-control.mjs +4 -4
  246. package/fesm2022/ng-doc-app-type-controls-string-control.mjs.map +1 -1
  247. package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs +4 -4
  248. package/fesm2022/ng-doc-app-type-controls-type-alias-control.mjs.map +1 -1
  249. package/interfaces/navigation.d.ts +7 -1
  250. package/interfaces/processor-options.d.ts +4 -1
  251. package/package.json +104 -29
  252. package/processors/page-processor/index.d.ts +1 -1
  253. package/processors/page-processor/{page-processor.directive.d.ts → page-processor.component.d.ts} +7 -6
  254. package/processors/processors/heading-anchor.processor.d.ts +3 -0
  255. package/processors/processors/image.processor.d.ts +3 -0
  256. package/processors/processors/index.d.ts +5 -2
  257. package/processors/processors/link/index.d.ts +1 -0
  258. package/processors/processors/mermaid.processor.d.ts +3 -0
  259. package/processors/processors/tooltip/index.d.ts +1 -0
  260. package/providers/index.d.ts +1 -0
  261. package/providers/mermaid/index.d.ts +1 -0
  262. package/providers/mermaid/provide-mermaid.d.ts +7 -0
  263. package/providers/ng-doc-app/provide-ng-doc-app.d.ts +5 -10
  264. package/providers/playground-demo/provide-playground-demo.d.ts +1 -1
  265. package/providers/search-engine/provide-search-engine.d.ts +1 -1
  266. package/providers/type-control/provide-type-control.d.ts +1 -1
  267. package/services/highlighter/highlighter.service.d.ts +24 -0
  268. package/services/highlighter/index.d.ts +1 -0
  269. package/services/index.d.ts +1 -1
  270. package/services/sidebar/sidebar.service.d.ts +4 -10
  271. package/services/theme/theme.service.d.ts +9 -37
  272. package/styles/global.css +161 -132
  273. package/styles/main.css +150 -106
  274. package/styles/themes/dark.css +71 -0
  275. package/tokens/index.d.ts +3 -1
  276. package/tokens/mermaid.d.ts +3 -0
  277. package/tokens/page-processor.d.ts +1 -1
  278. package/tokens/route-prefix.d.ts +2 -0
  279. package/tokens/shiki-theme.d.ts +6 -0
  280. package/assets/themes/ng-doc-night.css +0 -111
  281. package/constants/themes.d.ts +0 -33
  282. package/esm2022/constants/themes.mjs +0 -36
  283. package/esm2022/processors/page-processor/page-processor.directive.mjs +0 -68
  284. package/esm2022/processors/processors/link.processor.mjs +0 -13
  285. package/esm2022/processors/processors/tooltip.processor.mjs +0 -56
  286. package/esm2022/tokens/api-list.mjs +0 -3
  287. package/tokens/api-list.d.ts +0 -3
  288. /package/processors/processors/{link.processor.d.ts → link/link.processor.d.ts} +0 -0
  289. /package/processors/processors/{tooltip.processor.d.ts → tooltip/tooltip.processor.d.ts} +0 -0
@@ -12,10 +12,10 @@ export class NgDocNumberControlComponent extends DIControl {
12
12
  changeModel(value) {
13
13
  this.updateModel(value === null && this.default ? this.default : value);
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocNumberControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: NgDocNumberControlComponent, isStandalone: true, selector: "ng-doc-number-control", inputs: { default: "default" }, usesInheritance: true, ngImport: i0, template: "<ng-doc-input-wrapper diControlSilencer [rightContent]=\"rightContent\">\n\t<input ngDocInputNumber type=\"number\" [ngModel]=\"model()\" (ngModelChange)=\"changeModel($event)\" />\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(default ?? null)\"\n\t\t\t(focusout)=\"touch()\"\n\t\t\t*ngIf=\"model() && model() !== default\">\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-input-wrapper>\n", styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "component", type: NgDocInputWrapperComponent, selector: "ng-doc-input-wrapper", inputs: ["blurContent", "blurContext", "leftContent", "rightContent", "align"] }, { kind: "directive", type: DIControlSilencerDirective, selector: "[diControlSilencer]" }, { kind: "directive", type: NgDocInputNumberDirective, selector: "input[ngDocInputNumber]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocFocusableDirective, selector: "[ngDocFocusable]", inputs: ["ngDocFocusable"], exportAs: ["ngDocFocusable"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocNumberControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: NgDocNumberControlComponent, isStandalone: true, selector: "ng-doc-number-control", inputs: { default: "default" }, usesInheritance: true, ngImport: i0, template: "<ng-doc-input-wrapper diControlSilencer>\n <input ngDocInputNumber type=\"number\" [ngModel]=\"model()\" (ngModelChange)=\"changeModel($event)\" />\n\n <button\n ng-doc-button-icon-transparent\n ngDocInputWrapperRight\n size=\"large\"\n [ngDocFocusable]=\"false\"\n [disabled]=\"disabled\"\n [rounded]=\"false\"\n (click)=\"updateModel(default ?? null)\"\n (focusout)=\"touch()\"\n *ngIf=\"model() && model() !== default\">\n <ng-doc-icon icon=\"x\"></ng-doc-icon>\n </button>\n</ng-doc-input-wrapper>\n", styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "component", type: NgDocInputWrapperComponent, selector: "ng-doc-input-wrapper", inputs: ["blurContent", "blurContext", "align"] }, { kind: "directive", type: DIControlSilencerDirective, selector: "[diControlSilencer]" }, { kind: "directive", type: NgDocInputNumberDirective, selector: "input[ngDocInputNumber]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon], button[ng-doc-button-icon-raised], a[ng-doc-button-icon-raised], button[ng-doc-button-icon-transparent], a[ng-doc-button-icon-transparent]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocFocusableDirective, selector: "[ngDocFocusable]", inputs: ["ngDocFocusable"], exportAs: ["ngDocFocusable"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocNumberControlComponent, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocNumberControlComponent, decorators: [{
19
19
  type: Component,
20
20
  args: [{ selector: 'ng-doc-number-control', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
21
21
  NgDocInputWrapperComponent,
@@ -26,8 +26,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
26
26
  NgDocButtonIconComponent,
27
27
  NgDocFocusableDirective,
28
28
  NgDocIconComponent,
29
- ], template: "<ng-doc-input-wrapper diControlSilencer [rightContent]=\"rightContent\">\n\t<input ngDocInputNumber type=\"number\" [ngModel]=\"model()\" (ngModelChange)=\"changeModel($event)\" />\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(default ?? null)\"\n\t\t\t(focusout)=\"touch()\"\n\t\t\t*ngIf=\"model() && model() !== default\">\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-input-wrapper>\n", styles: [":host{display:block;width:100%}\n"] }]
29
+ ], template: "<ng-doc-input-wrapper diControlSilencer>\n <input ngDocInputNumber type=\"number\" [ngModel]=\"model()\" (ngModelChange)=\"changeModel($event)\" />\n\n <button\n ng-doc-button-icon-transparent\n ngDocInputWrapperRight\n size=\"large\"\n [ngDocFocusable]=\"false\"\n [disabled]=\"disabled\"\n [rounded]=\"false\"\n (click)=\"updateModel(default ?? null)\"\n (focusout)=\"touch()\"\n *ngIf=\"model() && model() !== default\">\n <ng-doc-icon icon=\"x\"></ng-doc-icon>\n </button>\n</ng-doc-input-wrapper>\n", styles: [":host{display:block;width:100%}\n"] }]
30
30
  }], ctorParameters: () => [], propDecorators: { default: [{
31
31
  type: Input
32
32
  }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvdHlwZS1jb250cm9scy9udW1iZXItY29udHJvbC9udW1iZXItY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC90eXBlLWNvbnRyb2xzL251bWJlci1jb250cm9sL251bWJlci1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUNOLHdCQUF3QixFQUN4Qix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QiwwQkFBMEIsR0FDMUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFtQnBFLE1BQU0sT0FBTywyQkFDWixTQUFRLFNBQWlCO0lBTXpCO1FBQ0MsS0FBSyxFQUFFLENBQUM7SUFDVCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQW9CO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RSxDQUFDOzhHQWJXLDJCQUEyQjtrR0FBM0IsMkJBQTJCLHdJQzlCeEMsdWxCQWdCQSwyRkRJRSwwQkFBMEIsaUpBQzFCLDBCQUEwQixnRUFDMUIseUJBQXlCLG1FQUN6QixXQUFXLGl4QkFDWCxJQUFJLDZGQUNKLHdCQUF3QiwySEFDeEIsdUJBQXVCLHVIQUN2QixrQkFBa0I7OzJGQUdQLDJCQUEyQjtrQkFqQnZDLFNBQVM7K0JBQ0MsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIseUJBQXlCO3dCQUN6QixXQUFXO3dCQUNYLElBQUk7d0JBQ0osd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjtxQkFDbEI7d0RBT0QsT0FBTztzQkFETixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ0RvY1R5cGVDb250cm9sIH0gZnJvbSAnQG5nLWRvYy9hcHAvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuXHROZ0RvY0J1dHRvbkljb25Db21wb25lbnQsXG5cdE5nRG9jRm9jdXNhYmxlRGlyZWN0aXZlLFxuXHROZ0RvY0ljb25Db21wb25lbnQsXG5cdE5nRG9jSW5wdXROdW1iZXJEaXJlY3RpdmUsXG5cdE5nRG9jSW5wdXRXcmFwcGVyQ29tcG9uZW50LFxufSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5pbXBvcnQgeyBESUNvbnRyb2wsIERJQ29udHJvbFNpbGVuY2VyRGlyZWN0aXZlIH0gZnJvbSAnZGktY29udHJvbHMnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZy1kb2MtbnVtYmVyLWNvbnRyb2wnLFxuXHR0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9udW1iZXItY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW1xuXHRcdE5nRG9jSW5wdXRXcmFwcGVyQ29tcG9uZW50LFxuXHRcdERJQ29udHJvbFNpbGVuY2VyRGlyZWN0aXZlLFxuXHRcdE5nRG9jSW5wdXROdW1iZXJEaXJlY3RpdmUsXG5cdFx0Rm9ybXNNb2R1bGUsXG5cdFx0TmdJZixcblx0XHROZ0RvY0J1dHRvbkljb25Db21wb25lbnQsXG5cdFx0TmdEb2NGb2N1c2FibGVEaXJlY3RpdmUsXG5cdFx0TmdEb2NJY29uQ29tcG9uZW50LFxuXHRdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0RvY051bWJlckNvbnRyb2xDb21wb25lbnRcblx0ZXh0ZW5kcyBESUNvbnRyb2w8bnVtYmVyPlxuXHRpbXBsZW1lbnRzIE5nRG9jVHlwZUNvbnRyb2w8bnVtYmVyPlxue1xuXHRASW5wdXQoKVxuXHRkZWZhdWx0PzogbnVtYmVyO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRjaGFuZ2VNb2RlbCh2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuXHRcdHRoaXMudXBkYXRlTW9kZWwodmFsdWUgPT09IG51bGwgJiYgdGhpcy5kZWZhdWx0ID8gdGhpcy5kZWZhdWx0IDogdmFsdWUpO1xuXHR9XG59XG4iLCI8bmctZG9jLWlucHV0LXdyYXBwZXIgZGlDb250cm9sU2lsZW5jZXIgW3JpZ2h0Q29udGVudF09XCJyaWdodENvbnRlbnRcIj5cblx0PGlucHV0IG5nRG9jSW5wdXROdW1iZXIgdHlwZT1cIm51bWJlclwiIFtuZ01vZGVsXT1cIm1vZGVsKClcIiAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VNb2RlbCgkZXZlbnQpXCIgLz5cblx0PG5nLXRlbXBsYXRlICNyaWdodENvbnRlbnQ+XG5cdFx0PGJ1dHRvblxuXHRcdFx0bmctZG9jLWJ1dHRvbi1pY29uXG5cdFx0XHRzaXplPVwibGFyZ2VcIlxuXHRcdFx0W25nRG9jRm9jdXNhYmxlXT1cImZhbHNlXCJcblx0XHRcdFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG5cdFx0XHRbcm91bmRlZF09XCJmYWxzZVwiXG5cdFx0XHQoY2xpY2spPVwidXBkYXRlTW9kZWwoZGVmYXVsdCA/PyBudWxsKVwiXG5cdFx0XHQoZm9jdXNvdXQpPVwidG91Y2goKVwiXG5cdFx0XHQqbmdJZj1cIm1vZGVsKCkgJiYgbW9kZWwoKSAhPT0gZGVmYXVsdFwiPlxuXHRcdFx0PG5nLWRvYy1pY29uIGljb249XCJ4XCI+PC9uZy1kb2MtaWNvbj5cblx0XHQ8L2J1dHRvbj5cblx0PC9uZy10ZW1wbGF0ZT5cbjwvbmctZG9jLWlucHV0LXdyYXBwZXI+XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvdHlwZS1jb250cm9scy9udW1iZXItY29udHJvbC9udW1iZXItY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC90eXBlLWNvbnRyb2xzL251bWJlci1jb250cm9sL251bWJlci1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUNOLHdCQUF3QixFQUN4Qix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QiwwQkFBMEIsR0FDMUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFtQnBFLE1BQU0sT0FBTywyQkFDWixTQUFRLFNBQWlCO0lBTXpCO1FBQ0MsS0FBSyxFQUFFLENBQUM7SUFDVCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQW9CO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RSxDQUFDOzhHQWJXLDJCQUEyQjtrR0FBM0IsMkJBQTJCLHdJQzlCeEMsMGhCQWdCQSwyRkRJRSwwQkFBMEIsa0hBQzFCLDBCQUEwQixnRUFDMUIseUJBQXlCLG1FQUN6QixXQUFXLGl4QkFDWCxJQUFJLDZGQUNKLHdCQUF3Qix1UUFDeEIsdUJBQXVCLHVIQUN2QixrQkFBa0I7OzJGQUdQLDJCQUEyQjtrQkFqQnZDLFNBQVM7K0JBQ0MsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUiwwQkFBMEI7d0JBQzFCLDBCQUEwQjt3QkFDMUIseUJBQXlCO3dCQUN6QixXQUFXO3dCQUNYLElBQUk7d0JBQ0osd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjtxQkFDbEI7d0RBT0QsT0FBTztzQkFETixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ0RvY1R5cGVDb250cm9sIH0gZnJvbSAnQG5nLWRvYy9hcHAvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuXHROZ0RvY0J1dHRvbkljb25Db21wb25lbnQsXG5cdE5nRG9jRm9jdXNhYmxlRGlyZWN0aXZlLFxuXHROZ0RvY0ljb25Db21wb25lbnQsXG5cdE5nRG9jSW5wdXROdW1iZXJEaXJlY3RpdmUsXG5cdE5nRG9jSW5wdXRXcmFwcGVyQ29tcG9uZW50LFxufSBmcm9tICdAbmctZG9jL3VpLWtpdCc7XG5pbXBvcnQgeyBESUNvbnRyb2wsIERJQ29udHJvbFNpbGVuY2VyRGlyZWN0aXZlIH0gZnJvbSAnZGktY29udHJvbHMnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZy1kb2MtbnVtYmVyLWNvbnRyb2wnLFxuXHR0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybHM6IFsnLi9udW1iZXItY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW1xuXHRcdE5nRG9jSW5wdXRXcmFwcGVyQ29tcG9uZW50LFxuXHRcdERJQ29udHJvbFNpbGVuY2VyRGlyZWN0aXZlLFxuXHRcdE5nRG9jSW5wdXROdW1iZXJEaXJlY3RpdmUsXG5cdFx0Rm9ybXNNb2R1bGUsXG5cdFx0TmdJZixcblx0XHROZ0RvY0J1dHRvbkljb25Db21wb25lbnQsXG5cdFx0TmdEb2NGb2N1c2FibGVEaXJlY3RpdmUsXG5cdFx0TmdEb2NJY29uQ29tcG9uZW50LFxuXHRdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0RvY051bWJlckNvbnRyb2xDb21wb25lbnRcblx0ZXh0ZW5kcyBESUNvbnRyb2w8bnVtYmVyPlxuXHRpbXBsZW1lbnRzIE5nRG9jVHlwZUNvbnRyb2w8bnVtYmVyPlxue1xuXHRASW5wdXQoKVxuXHRkZWZhdWx0PzogbnVtYmVyO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHRjaGFuZ2VNb2RlbCh2YWx1ZTogbnVtYmVyIHwgbnVsbCk6IHZvaWQge1xuXHRcdHRoaXMudXBkYXRlTW9kZWwodmFsdWUgPT09IG51bGwgJiYgdGhpcy5kZWZhdWx0ID8gdGhpcy5kZWZhdWx0IDogdmFsdWUpO1xuXHR9XG59XG4iLCI8bmctZG9jLWlucHV0LXdyYXBwZXIgZGlDb250cm9sU2lsZW5jZXI+XG4gIDxpbnB1dCBuZ0RvY0lucHV0TnVtYmVyIHR5cGU9XCJudW1iZXJcIiBbbmdNb2RlbF09XCJtb2RlbCgpXCIgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlTW9kZWwoJGV2ZW50KVwiIC8+XG5cbiAgPGJ1dHRvblxuICAgIG5nLWRvYy1idXR0b24taWNvbi10cmFuc3BhcmVudFxuICAgIG5nRG9jSW5wdXRXcmFwcGVyUmlnaHRcbiAgICBzaXplPVwibGFyZ2VcIlxuICAgIFtuZ0RvY0ZvY3VzYWJsZV09XCJmYWxzZVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcm91bmRlZF09XCJmYWxzZVwiXG4gICAgKGNsaWNrKT1cInVwZGF0ZU1vZGVsKGRlZmF1bHQgPz8gbnVsbClcIlxuICAgIChmb2N1c291dCk9XCJ0b3VjaCgpXCJcbiAgICAqbmdJZj1cIm1vZGVsKCkgJiYgbW9kZWwoKSAhPT0gZGVmYXVsdFwiPlxuICAgIDxuZy1kb2MtaWNvbiBpY29uPVwieFwiPjwvbmctZG9jLWljb24+XG4gIDwvYnV0dG9uPlxuPC9uZy1kb2MtaW5wdXQtd3JhcHBlcj5cbiJdfQ==
@@ -15,10 +15,10 @@ export class NgDocStringControlComponent extends DIControl {
15
15
  writeValue(value) {
16
16
  super.writeValue(value);
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocStringControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: NgDocStringControlComponent, isStandalone: true, selector: "ng-doc-string-control", inputs: { default: "default" }, usesInheritance: true, ngImport: i0, template: "<ng-doc-input-wrapper [rightContent]=\"rightContent\" diControlSilencer>\n\t<input ngDocInputString [ngModel]=\"model()\" (ngModelChange)=\"changeModel($event)\" />\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(default ?? null)\"\n\t\t\t(focusout)=\"touch()\"\n\t\t\t*ngIf=\"model() && model() !== default\">\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-input-wrapper>\n", styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NgDocInputWrapperComponent, selector: "ng-doc-input-wrapper", inputs: ["blurContent", "blurContext", "leftContent", "rightContent", "align"] }, { kind: "directive", type: NgDocInputStringDirective, selector: "input[ngDocInputString]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocFocusableDirective, selector: "[ngDocFocusable]", inputs: ["ngDocFocusable"], exportAs: ["ngDocFocusable"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "directive", type: DIControlSilencerDirective, selector: "[diControlSilencer]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocStringControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: NgDocStringControlComponent, isStandalone: true, selector: "ng-doc-string-control", inputs: { default: "default" }, usesInheritance: true, ngImport: i0, template: "<ng-doc-input-wrapper diControlSilencer>\n <input ngDocInputString [ngModel]=\"model()\" (ngModelChange)=\"changeModel($event)\" />\n <button\n ng-doc-button-icon-transparent\n ngDocInputWrapperRight\n size=\"large\"\n [ngDocFocusable]=\"false\"\n [disabled]=\"disabled\"\n [rounded]=\"false\"\n (click)=\"updateModel(default ?? null)\"\n (focusout)=\"touch()\"\n *ngIf=\"model() && model() !== default\">\n <ng-doc-icon icon=\"x\"></ng-doc-icon>\n </button>\n</ng-doc-input-wrapper>\n", styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NgDocInputWrapperComponent, selector: "ng-doc-input-wrapper", inputs: ["blurContent", "blurContext", "align"] }, { kind: "directive", type: NgDocInputStringDirective, selector: "input[ngDocInputString]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon], button[ng-doc-button-icon-raised], a[ng-doc-button-icon-raised], button[ng-doc-button-icon-transparent], a[ng-doc-button-icon-transparent]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocFocusableDirective, selector: "[ngDocFocusable]", inputs: ["ngDocFocusable"], exportAs: ["ngDocFocusable"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "directive", type: DIControlSilencerDirective, selector: "[diControlSilencer]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocStringControlComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocStringControlComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ selector: 'ng-doc-string-control', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
24
24
  FormsModule,
@@ -29,8 +29,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
29
29
  NgDocFocusableDirective,
30
30
  NgDocIconComponent,
31
31
  DIControlSilencerDirective,
32
- ], template: "<ng-doc-input-wrapper [rightContent]=\"rightContent\" diControlSilencer>\n\t<input ngDocInputString [ngModel]=\"model()\" (ngModelChange)=\"changeModel($event)\" />\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(default ?? null)\"\n\t\t\t(focusout)=\"touch()\"\n\t\t\t*ngIf=\"model() && model() !== default\">\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-input-wrapper>\n", styles: [":host{display:block;width:100%}\n"] }]
32
+ ], template: "<ng-doc-input-wrapper diControlSilencer>\n <input ngDocInputString [ngModel]=\"model()\" (ngModelChange)=\"changeModel($event)\" />\n <button\n ng-doc-button-icon-transparent\n ngDocInputWrapperRight\n size=\"large\"\n [ngDocFocusable]=\"false\"\n [disabled]=\"disabled\"\n [rounded]=\"false\"\n (click)=\"updateModel(default ?? null)\"\n (focusout)=\"touch()\"\n *ngIf=\"model() && model() !== default\">\n <ng-doc-icon icon=\"x\"></ng-doc-icon>\n </button>\n</ng-doc-input-wrapper>\n", styles: [":host{display:block;width:100%}\n"] }]
33
33
  }], ctorParameters: () => [], propDecorators: { default: [{
34
34
  type: Input
35
35
  }] } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvdHlwZS1jb250cm9scy9zdHJpbmctY29udHJvbC9zdHJpbmctY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC90eXBlLWNvbnRyb2xzL3N0cmluZy1jb250cm9sL3N0cmluZy1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUNOLHdCQUF3QixFQUN4Qix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QiwwQkFBMEIsR0FDMUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFtQnBFLE1BQU0sT0FBTywyQkFDWixTQUFRLFNBQWlCO0lBTXpCO1FBQ0MsS0FBSyxFQUFFLENBQUM7SUFDVCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQW9CO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRVEsVUFBVSxDQUFDLEtBQW9CO1FBQ3ZDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQzs4R0FqQlcsMkJBQTJCO2tHQUEzQiwyQkFBMkIsd0lDOUJ4Qyx1a0JBZ0JBLDBGRElFLFdBQVcsK21CQUNYLDBCQUEwQixpSkFDMUIseUJBQXlCLG9FQUN6QixJQUFJLDZGQUNKLHdCQUF3QiwySEFDeEIsdUJBQXVCLHVIQUN2QixrQkFBa0IsZ0dBQ2xCLDBCQUEwQjs7MkZBR2YsMkJBQTJCO2tCQWpCdkMsU0FBUzsrQkFDQyx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNSLFdBQVc7d0JBQ1gsMEJBQTBCO3dCQUMxQix5QkFBeUI7d0JBQ3pCLElBQUk7d0JBQ0osd0JBQXdCO3dCQUN4Qix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsMEJBQTBCO3FCQUMxQjt3REFPRCxPQUFPO3NCQUROLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE5nRG9jVHlwZUNvbnRyb2wgfSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG5cdE5nRG9jQnV0dG9uSWNvbkNvbXBvbmVudCxcblx0TmdEb2NGb2N1c2FibGVEaXJlY3RpdmUsXG5cdE5nRG9jSWNvbkNvbXBvbmVudCxcblx0TmdEb2NJbnB1dFN0cmluZ0RpcmVjdGl2ZSxcblx0TmdEb2NJbnB1dFdyYXBwZXJDb21wb25lbnQsXG59IGZyb20gJ0BuZy1kb2MvdWkta2l0JztcbmltcG9ydCB7IERJQ29udHJvbCwgRElDb250cm9sU2lsZW5jZXJEaXJlY3RpdmUgfSBmcm9tICdkaS1jb250cm9scyc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25nLWRvYy1zdHJpbmctY29udHJvbCcsXG5cdHRlbXBsYXRlVXJsOiAnLi9zdHJpbmctY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3N0cmluZy1jb250cm9sLmNvbXBvbmVudC5zY3NzJ10sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbXG5cdFx0Rm9ybXNNb2R1bGUsXG5cdFx0TmdEb2NJbnB1dFdyYXBwZXJDb21wb25lbnQsXG5cdFx0TmdEb2NJbnB1dFN0cmluZ0RpcmVjdGl2ZSxcblx0XHROZ0lmLFxuXHRcdE5nRG9jQnV0dG9uSWNvbkNvbXBvbmVudCxcblx0XHROZ0RvY0ZvY3VzYWJsZURpcmVjdGl2ZSxcblx0XHROZ0RvY0ljb25Db21wb25lbnQsXG5cdFx0RElDb250cm9sU2lsZW5jZXJEaXJlY3RpdmUsXG5cdF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jU3RyaW5nQ29udHJvbENvbXBvbmVudFxuXHRleHRlbmRzIERJQ29udHJvbDxzdHJpbmc+XG5cdGltcGxlbWVudHMgTmdEb2NUeXBlQ29udHJvbDxzdHJpbmc+XG57XG5cdEBJbnB1dCgpXG5cdGRlZmF1bHQ/OiBzdHJpbmc7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0c3VwZXIoKTtcblx0fVxuXG5cdGNoYW5nZU1vZGVsKHZhbHVlOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG5cdFx0dGhpcy51cGRhdGVNb2RlbCh2YWx1ZSA9PT0gbnVsbCAmJiB0aGlzLmRlZmF1bHQgPyB0aGlzLmRlZmF1bHQgOiB2YWx1ZSk7XG5cdH1cblxuXHRvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG5cdFx0c3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG5cdH1cbn1cbiIsIjxuZy1kb2MtaW5wdXQtd3JhcHBlciBbcmlnaHRDb250ZW50XT1cInJpZ2h0Q29udGVudFwiIGRpQ29udHJvbFNpbGVuY2VyPlxuXHQ8aW5wdXQgbmdEb2NJbnB1dFN0cmluZyBbbmdNb2RlbF09XCJtb2RlbCgpXCIgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlTW9kZWwoJGV2ZW50KVwiIC8+XG5cdDxuZy10ZW1wbGF0ZSAjcmlnaHRDb250ZW50PlxuXHRcdDxidXR0b25cblx0XHRcdG5nLWRvYy1idXR0b24taWNvblxuXHRcdFx0c2l6ZT1cImxhcmdlXCJcblx0XHRcdFtuZ0RvY0ZvY3VzYWJsZV09XCJmYWxzZVwiXG5cdFx0XHRbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuXHRcdFx0W3JvdW5kZWRdPVwiZmFsc2VcIlxuXHRcdFx0KGNsaWNrKT1cInVwZGF0ZU1vZGVsKGRlZmF1bHQgPz8gbnVsbClcIlxuXHRcdFx0KGZvY3Vzb3V0KT1cInRvdWNoKClcIlxuXHRcdFx0Km5nSWY9XCJtb2RlbCgpICYmIG1vZGVsKCkgIT09IGRlZmF1bHRcIj5cblx0XHRcdDxuZy1kb2MtaWNvbiBpY29uPVwieFwiPjwvbmctZG9jLWljb24+XG5cdFx0PC9idXR0b24+XG5cdDwvbmctdGVtcGxhdGU+XG48L25nLWRvYy1pbnB1dC13cmFwcGVyPlxuIl19
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWNvbnRyb2wuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hcHAvdHlwZS1jb250cm9scy9zdHJpbmctY29udHJvbC9zdHJpbmctY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC90eXBlLWNvbnRyb2xzL3N0cmluZy1jb250cm9sL3N0cmluZy1jb250cm9sLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUNOLHdCQUF3QixFQUN4Qix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QiwwQkFBMEIsR0FDMUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFtQnBFLE1BQU0sT0FBTywyQkFDWixTQUFRLFNBQWlCO0lBTXpCO1FBQ0MsS0FBSyxFQUFFLENBQUM7SUFDVCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQW9CO1FBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRVEsVUFBVSxDQUFDLEtBQW9CO1FBQ3ZDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQzs4R0FqQlcsMkJBQTJCO2tHQUEzQiwyQkFBMkIsd0lDOUJ4Qyx3Z0JBZUEsMEZES0UsV0FBVywrbUJBQ1gsMEJBQTBCLGtIQUMxQix5QkFBeUIsb0VBQ3pCLElBQUksNkZBQ0osd0JBQXdCLHVRQUN4Qix1QkFBdUIsdUhBQ3ZCLGtCQUFrQixnR0FDbEIsMEJBQTBCOzsyRkFHZiwyQkFBMkI7a0JBakJ2QyxTQUFTOytCQUNDLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1IsV0FBVzt3QkFDWCwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIsSUFBSTt3QkFDSix3QkFBd0I7d0JBQ3hCLHVCQUF1Qjt3QkFDdkIsa0JBQWtCO3dCQUNsQiwwQkFBMEI7cUJBQzFCO3dEQU9ELE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdEb2NUeXBlQ29udHJvbCB9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcblx0TmdEb2NCdXR0b25JY29uQ29tcG9uZW50LFxuXHROZ0RvY0ZvY3VzYWJsZURpcmVjdGl2ZSxcblx0TmdEb2NJY29uQ29tcG9uZW50LFxuXHROZ0RvY0lucHV0U3RyaW5nRGlyZWN0aXZlLFxuXHROZ0RvY0lucHV0V3JhcHBlckNvbXBvbmVudCxcbn0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuaW1wb3J0IHsgRElDb250cm9sLCBESUNvbnRyb2xTaWxlbmNlckRpcmVjdGl2ZSB9IGZyb20gJ2RpLWNvbnRyb2xzJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmctZG9jLXN0cmluZy1jb250cm9sJyxcblx0dGVtcGxhdGVVcmw6ICcuL3N0cmluZy1jb250cm9sLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vc3RyaW5nLWNvbnRyb2wuY29tcG9uZW50LnNjc3MnXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtcblx0XHRGb3Jtc01vZHVsZSxcblx0XHROZ0RvY0lucHV0V3JhcHBlckNvbXBvbmVudCxcblx0XHROZ0RvY0lucHV0U3RyaW5nRGlyZWN0aXZlLFxuXHRcdE5nSWYsXG5cdFx0TmdEb2NCdXR0b25JY29uQ29tcG9uZW50LFxuXHRcdE5nRG9jRm9jdXNhYmxlRGlyZWN0aXZlLFxuXHRcdE5nRG9jSWNvbkNvbXBvbmVudCxcblx0XHRESUNvbnRyb2xTaWxlbmNlckRpcmVjdGl2ZSxcblx0XSxcbn0pXG5leHBvcnQgY2xhc3MgTmdEb2NTdHJpbmdDb250cm9sQ29tcG9uZW50XG5cdGV4dGVuZHMgRElDb250cm9sPHN0cmluZz5cblx0aW1wbGVtZW50cyBOZ0RvY1R5cGVDb250cm9sPHN0cmluZz5cbntcblx0QElucHV0KClcblx0ZGVmYXVsdD86IHN0cmluZztcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0Y2hhbmdlTW9kZWwodmFsdWU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcblx0XHR0aGlzLnVwZGF0ZU1vZGVsKHZhbHVlID09PSBudWxsICYmIHRoaXMuZGVmYXVsdCA/IHRoaXMuZGVmYXVsdCA6IHZhbHVlKTtcblx0fVxuXG5cdG92ZXJyaWRlIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpIHtcblx0XHRzdXBlci53cml0ZVZhbHVlKHZhbHVlKTtcblx0fVxufVxuIiwiPG5nLWRvYy1pbnB1dC13cmFwcGVyIGRpQ29udHJvbFNpbGVuY2VyPlxuICA8aW5wdXQgbmdEb2NJbnB1dFN0cmluZyBbbmdNb2RlbF09XCJtb2RlbCgpXCIgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlTW9kZWwoJGV2ZW50KVwiIC8+XG4gIDxidXR0b25cbiAgICBuZy1kb2MtYnV0dG9uLWljb24tdHJhbnNwYXJlbnRcbiAgICBuZ0RvY0lucHV0V3JhcHBlclJpZ2h0XG4gICAgc2l6ZT1cImxhcmdlXCJcbiAgICBbbmdEb2NGb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3JvdW5kZWRdPVwiZmFsc2VcIlxuICAgIChjbGljayk9XCJ1cGRhdGVNb2RlbChkZWZhdWx0ID8/IG51bGwpXCJcbiAgICAoZm9jdXNvdXQpPVwidG91Y2goKVwiXG4gICAgKm5nSWY9XCJtb2RlbCgpICYmIG1vZGVsKCkgIT09IGRlZmF1bHRcIj5cbiAgICA8bmctZG9jLWljb24gaWNvbj1cInhcIj48L25nLWRvYy1pY29uPlxuICA8L2J1dHRvbj5cbjwvbmctZG9jLWlucHV0LXdyYXBwZXI+XG4iXX0=
@@ -17,10 +17,10 @@ export class NgDocTypeAliasControlComponent extends DIControl {
17
17
  changeModel(value) {
18
18
  this.updateModel(value === null && this.default ? this.default : value);
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocTypeAliasControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: NgDocTypeAliasControlComponent, isStandalone: true, selector: "ng-doc-type-alias-control", inputs: { default: "default" }, usesInheritance: true, ngImport: i0, template: "<ng-doc-combobox\n\t[ngModel]=\"model()\"\n\t[readonly]=\"true\"\n\t[valueContent]=\"valueTemplate\"\n\t[clearButton]=\"false\"\n\t[rightContent]=\"rightContent\"\n\t(ngModelChange)=\"changeModel($event)\">\n\t<ng-doc-list *ngDocData>\n\t\t<ng-container *ngFor=\"let option of options\">\n\t\t\t<ng-container *ngIf=\"isManual ? option : (option | ngDocExtractValue) as value\">\n\t\t\t\t<ng-doc-option [value]=\"value\">\n\t\t\t\t\t<ng-container\n\t\t\t\t\t\t*ngTemplateOutlet=\"valueTemplate; context: { $implicit: value }\"></ng-container>\n\t\t\t\t</ng-doc-option>\n\t\t\t</ng-container>\n\t\t</ng-container>\n\t</ng-doc-list>\n\t<ng-template let-value #valueTemplate>\n\t\t<div ng-doc-text>\n\t\t\t<ng-doc-kind-icon\n\t\t\t\t[kind]=\"typeOf(value)\"\n\t\t\t\t[type]=\"'type'\"\n\t\t\t\t[ngDocTooltip]=\"typeOf(value)\"\n\t\t\t\tpositions=\"left-center\"\n\t\t\t\tngDocTextLeft>\n\t\t\t</ng-doc-kind-icon>\n\t\t\t<div>{{ value }}</div>\n\t\t\t<span ng-doc-text color=\"muted\" size=\"small\" *ngIf=\"value === default\" ngDocTextRight\n\t\t\t\t>[default]</span\n\t\t\t>\n\t\t</div>\n\t</ng-template>\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(default ?? null)\"\n\t\t\t(focusout)=\"touch()\"\n\t\t\t*ngIf=\"model() && model() !== default\">\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-combobox>\n", styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "component", type: NgDocComboboxComponent, selector: "ng-doc-combobox", inputs: ["readonly", "placeholder", "clearButton", "rightContent", "valueContent"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgDocDataDirective, selector: "[ngDocData]" }, { kind: "component", type: NgDocListComponent, selector: "ng-doc-list" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocOptionComponent, selector: "ng-doc-option" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: NgDocKindIconComponent, selector: "ng-doc-kind-icon", inputs: ["kind", "type"] }, { kind: "directive", type: NgDocTextLeftDirective, selector: "[ngDocTextLeft]" }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocFocusableDirective, selector: "[ngDocFocusable]", inputs: ["ngDocFocusable"], exportAs: ["ngDocFocusable"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "pipe", type: NgDocExtractValuePipe, name: "ngDocExtractValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocTypeAliasControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: NgDocTypeAliasControlComponent, isStandalone: true, selector: "ng-doc-type-alias-control", inputs: { default: "default" }, usesInheritance: true, ngImport: i0, template: "<ng-doc-combobox\n [ngModel]=\"model()\"\n [readonly]=\"true\"\n [valueContent]=\"valueTemplate\"\n [clearButton]=\"false\"\n [rightContent]=\"rightContent\"\n (ngModelChange)=\"changeModel($event)\">\n <ng-doc-list *ngDocData>\n <ng-container *ngFor=\"let option of options\">\n <ng-container *ngIf=\"isManual ? option : (option | ngDocExtractValue) as value\">\n <ng-doc-option [value]=\"value\">\n <ng-container\n *ngTemplateOutlet=\"valueTemplate; context: { $implicit: value }\"></ng-container>\n </ng-doc-option>\n </ng-container>\n </ng-container>\n </ng-doc-list>\n <ng-template let-value #valueTemplate>\n <div ng-doc-text>\n <ng-doc-kind-icon\n [kind]=\"typeOf(value)\"\n [type]=\"'type'\"\n [ngDocTooltip]=\"typeOf(value)\"\n positions=\"left-center\"\n ngDocTextLeft>\n </ng-doc-kind-icon>\n <div>{{ value }}</div>\n <span ng-doc-text color=\"muted\" size=\"small\" *ngIf=\"value === default\" ngDocTextRight\n >[default]</span\n >\n </div>\n </ng-template>\n <ng-template #rightContent>\n <button\n ng-doc-button-icon-transparent\n size=\"large\"\n [ngDocFocusable]=\"false\"\n [disabled]=\"disabled\"\n [rounded]=\"false\"\n (click)=\"updateModel(default ?? null)\"\n (focusout)=\"touch()\"\n *ngIf=\"model() && model() !== default\">\n <ng-doc-icon icon=\"x\"></ng-doc-icon>\n </button>\n </ng-template>\n</ng-doc-combobox>\n", styles: [":host{display:block;width:100%}\n"], dependencies: [{ kind: "component", type: NgDocComboboxComponent, selector: "ng-doc-combobox", inputs: ["readonly", "placeholder", "clearButton", "rightContent", "valueContent"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgDocDataDirective, selector: "[ngDocData]" }, { kind: "component", type: NgDocListComponent, selector: "ng-doc-list" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocOptionComponent, selector: "ng-doc-option" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: NgDocKindIconComponent, selector: "ng-doc-kind-icon", inputs: ["kind", "type", "size"] }, { kind: "directive", type: NgDocTextLeftDirective, selector: "[ngDocTextLeft]" }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon], button[ng-doc-button-icon-raised], a[ng-doc-button-icon-raised], button[ng-doc-button-icon-transparent], a[ng-doc-button-icon-transparent]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocFocusableDirective, selector: "[ngDocFocusable]", inputs: ["ngDocFocusable"], exportAs: ["ngDocFocusable"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "pipe", type: NgDocExtractValuePipe, name: "ngDocExtractValue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocTypeAliasControlComponent, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocTypeAliasControlComponent, decorators: [{
24
24
  type: Component,
25
25
  args: [{ selector: 'ng-doc-type-alias-control', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
26
26
  NgDocComboboxComponent,
@@ -40,8 +40,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
40
40
  NgDocFocusableDirective,
41
41
  NgDocIconComponent,
42
42
  NgDocExtractValuePipe,
43
- ], template: "<ng-doc-combobox\n\t[ngModel]=\"model()\"\n\t[readonly]=\"true\"\n\t[valueContent]=\"valueTemplate\"\n\t[clearButton]=\"false\"\n\t[rightContent]=\"rightContent\"\n\t(ngModelChange)=\"changeModel($event)\">\n\t<ng-doc-list *ngDocData>\n\t\t<ng-container *ngFor=\"let option of options\">\n\t\t\t<ng-container *ngIf=\"isManual ? option : (option | ngDocExtractValue) as value\">\n\t\t\t\t<ng-doc-option [value]=\"value\">\n\t\t\t\t\t<ng-container\n\t\t\t\t\t\t*ngTemplateOutlet=\"valueTemplate; context: { $implicit: value }\"></ng-container>\n\t\t\t\t</ng-doc-option>\n\t\t\t</ng-container>\n\t\t</ng-container>\n\t</ng-doc-list>\n\t<ng-template let-value #valueTemplate>\n\t\t<div ng-doc-text>\n\t\t\t<ng-doc-kind-icon\n\t\t\t\t[kind]=\"typeOf(value)\"\n\t\t\t\t[type]=\"'type'\"\n\t\t\t\t[ngDocTooltip]=\"typeOf(value)\"\n\t\t\t\tpositions=\"left-center\"\n\t\t\t\tngDocTextLeft>\n\t\t\t</ng-doc-kind-icon>\n\t\t\t<div>{{ value }}</div>\n\t\t\t<span ng-doc-text color=\"muted\" size=\"small\" *ngIf=\"value === default\" ngDocTextRight\n\t\t\t\t>[default]</span\n\t\t\t>\n\t\t</div>\n\t</ng-template>\n\t<ng-template #rightContent>\n\t\t<button\n\t\t\tng-doc-button-icon\n\t\t\tsize=\"large\"\n\t\t\t[ngDocFocusable]=\"false\"\n\t\t\t[disabled]=\"disabled\"\n\t\t\t[rounded]=\"false\"\n\t\t\t(click)=\"updateModel(default ?? null)\"\n\t\t\t(focusout)=\"touch()\"\n\t\t\t*ngIf=\"model() && model() !== default\">\n\t\t\t<ng-doc-icon icon=\"x\"></ng-doc-icon>\n\t\t</button>\n\t</ng-template>\n</ng-doc-combobox>\n", styles: [":host{display:block;width:100%}\n"] }]
43
+ ], template: "<ng-doc-combobox\n [ngModel]=\"model()\"\n [readonly]=\"true\"\n [valueContent]=\"valueTemplate\"\n [clearButton]=\"false\"\n [rightContent]=\"rightContent\"\n (ngModelChange)=\"changeModel($event)\">\n <ng-doc-list *ngDocData>\n <ng-container *ngFor=\"let option of options\">\n <ng-container *ngIf=\"isManual ? option : (option | ngDocExtractValue) as value\">\n <ng-doc-option [value]=\"value\">\n <ng-container\n *ngTemplateOutlet=\"valueTemplate; context: { $implicit: value }\"></ng-container>\n </ng-doc-option>\n </ng-container>\n </ng-container>\n </ng-doc-list>\n <ng-template let-value #valueTemplate>\n <div ng-doc-text>\n <ng-doc-kind-icon\n [kind]=\"typeOf(value)\"\n [type]=\"'type'\"\n [ngDocTooltip]=\"typeOf(value)\"\n positions=\"left-center\"\n ngDocTextLeft>\n </ng-doc-kind-icon>\n <div>{{ value }}</div>\n <span ng-doc-text color=\"muted\" size=\"small\" *ngIf=\"value === default\" ngDocTextRight\n >[default]</span\n >\n </div>\n </ng-template>\n <ng-template #rightContent>\n <button\n ng-doc-button-icon-transparent\n size=\"large\"\n [ngDocFocusable]=\"false\"\n [disabled]=\"disabled\"\n [rounded]=\"false\"\n (click)=\"updateModel(default ?? null)\"\n (focusout)=\"touch()\"\n *ngIf=\"model() && model() !== default\">\n <ng-doc-icon icon=\"x\"></ng-doc-icon>\n </button>\n </ng-template>\n</ng-doc-combobox>\n", styles: [":host{display:block;width:100%}\n"] }]
44
44
  }], ctorParameters: () => [], propDecorators: { default: [{
45
45
  type: Input
46
46
  }] } });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1hbGlhcy1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL3R5cGUtY29udHJvbHMvdHlwZS1hbGlhcy1jb250cm9sL3R5cGUtYWxpYXMtY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC90eXBlLWNvbnRyb2xzL3R5cGUtYWxpYXMtY29udHJvbC90eXBlLWFsaWFzLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUNOLHdCQUF3QixFQUN4QixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixxQkFBcUIsR0FDckIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUE0QnhDLE1BQU0sT0FBTyw4QkFBa0MsU0FBUSxTQUFZO0lBUWxFO1FBQ0MsS0FBSyxFQUFFLENBQUM7SUFDVCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWM7UUFDcEIsT0FBTyxPQUFPLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLENBQUM7OEdBbEJXLDhCQUE4QjtrR0FBOUIsOEJBQThCLDRJQy9DM0MsNCtDQThDQSwyRkRsQkUsc0JBQXNCLCtJQUN0QixXQUFXLCtWQUNYLGtCQUFrQix3REFDbEIsa0JBQWtCLHdEQUNsQixLQUFLLG1IQUNMLElBQUksNkZBQ0osb0JBQW9CLDBEQUNwQixnQkFBZ0Isb0pBQ2hCLGtCQUFrQixpSEFDbEIsc0JBQXNCLHVGQUN0QixzQkFBc0IsNERBQ3RCLHFCQUFxQiwwVUFDckIsdUJBQXVCLDZEQUN2Qix3QkFBd0IsMkhBQ3hCLHVCQUF1Qix1SEFDdkIsa0JBQWtCLDJGQUNsQixxQkFBcUI7OzJGQUdWLDhCQUE4QjtrQkExQjFDLFNBQVM7K0JBQ0MsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUixzQkFBc0I7d0JBQ3RCLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLEtBQUs7d0JBQ0wsSUFBSTt3QkFDSixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLHFCQUFxQjtxQkFDckI7d0RBSUQsT0FBTztzQkFETixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdEb2NLaW5kSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1kb2MvYXBwL2NvbXBvbmVudHMva2luZC1pY29uJztcbmltcG9ydCB7IE5nRG9jVHlwZUNvbnRyb2wgfSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5nRG9jRXh0cmFjdFZhbHVlUGlwZSB9IGZyb20gJ0BuZy1kb2MvYXBwL3BpcGVzL2V4dHJhY3QtdmFsdWUnO1xuaW1wb3J0IHtcblx0TmdEb2NCdXR0b25JY29uQ29tcG9uZW50LFxuXHROZ0RvY0NvbWJvYm94Q29tcG9uZW50LFxuXHROZ0RvY0RhdGFEaXJlY3RpdmUsXG5cdE5nRG9jRm9jdXNhYmxlRGlyZWN0aXZlLFxuXHROZ0RvY0ljb25Db21wb25lbnQsXG5cdE5nRG9jTGlzdENvbXBvbmVudCxcblx0TmdEb2NPcHRpb25Db21wb25lbnQsXG5cdE5nRG9jVGV4dENvbXBvbmVudCxcblx0TmdEb2NUZXh0TGVmdERpcmVjdGl2ZSxcblx0TmdEb2NUZXh0UmlnaHREaXJlY3RpdmUsXG5cdE5nRG9jVG9vbHRpcERpcmVjdGl2ZSxcbn0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuaW1wb3J0IHsgRElDb250cm9sIH0gZnJvbSAnZGktY29udHJvbHMnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZy1kb2MtdHlwZS1hbGlhcy1jb250cm9sJyxcblx0dGVtcGxhdGVVcmw6ICcuL3R5cGUtYWxpYXMtY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlVXJsczogWycuL3R5cGUtYWxpYXMtY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aW1wb3J0czogW1xuXHRcdE5nRG9jQ29tYm9ib3hDb21wb25lbnQsXG5cdFx0Rm9ybXNNb2R1bGUsXG5cdFx0TmdEb2NEYXRhRGlyZWN0aXZlLFxuXHRcdE5nRG9jTGlzdENvbXBvbmVudCxcblx0XHROZ0Zvcixcblx0XHROZ0lmLFxuXHRcdE5nRG9jT3B0aW9uQ29tcG9uZW50LFxuXHRcdE5nVGVtcGxhdGVPdXRsZXQsXG5cdFx0TmdEb2NUZXh0Q29tcG9uZW50LFxuXHRcdE5nRG9jS2luZEljb25Db21wb25lbnQsXG5cdFx0TmdEb2NUZXh0TGVmdERpcmVjdGl2ZSxcblx0XHROZ0RvY1Rvb2x0aXBEaXJlY3RpdmUsXG5cdFx0TmdEb2NUZXh0UmlnaHREaXJlY3RpdmUsXG5cdFx0TmdEb2NCdXR0b25JY29uQ29tcG9uZW50LFxuXHRcdE5nRG9jRm9jdXNhYmxlRGlyZWN0aXZlLFxuXHRcdE5nRG9jSWNvbkNvbXBvbmVudCxcblx0XHROZ0RvY0V4dHJhY3RWYWx1ZVBpcGUsXG5cdF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jVHlwZUFsaWFzQ29udHJvbENvbXBvbmVudDxUPiBleHRlbmRzIERJQ29udHJvbDxUPiBpbXBsZW1lbnRzIE5nRG9jVHlwZUNvbnRyb2w8VD4ge1xuXHRASW5wdXQoKVxuXHRkZWZhdWx0PzogVDtcblxuXHRvcHRpb25zPzogc3RyaW5nW107XG5cblx0aXNNYW51YWw/OiBib29sZWFuO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHR0eXBlT2YodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuXHRcdHJldHVybiB0eXBlb2YgdmFsdWU7XG5cdH1cblxuXHRjaGFuZ2VNb2RlbCh2YWx1ZTogVCB8IG51bGwpOiB2b2lkIHtcblx0XHR0aGlzLnVwZGF0ZU1vZGVsKHZhbHVlID09PSBudWxsICYmIHRoaXMuZGVmYXVsdCA/IHRoaXMuZGVmYXVsdCA6IHZhbHVlKTtcblx0fVxufVxuIiwiPG5nLWRvYy1jb21ib2JveFxuXHRbbmdNb2RlbF09XCJtb2RlbCgpXCJcblx0W3JlYWRvbmx5XT1cInRydWVcIlxuXHRbdmFsdWVDb250ZW50XT1cInZhbHVlVGVtcGxhdGVcIlxuXHRbY2xlYXJCdXR0b25dPVwiZmFsc2VcIlxuXHRbcmlnaHRDb250ZW50XT1cInJpZ2h0Q29udGVudFwiXG5cdChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZU1vZGVsKCRldmVudClcIj5cblx0PG5nLWRvYy1saXN0ICpuZ0RvY0RhdGE+XG5cdFx0PG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIj5cblx0XHRcdDxuZy1jb250YWluZXIgKm5nSWY9XCJpc01hbnVhbCA/IG9wdGlvbiA6IChvcHRpb24gfCBuZ0RvY0V4dHJhY3RWYWx1ZSkgYXMgdmFsdWVcIj5cblx0XHRcdFx0PG5nLWRvYy1vcHRpb24gW3ZhbHVlXT1cInZhbHVlXCI+XG5cdFx0XHRcdFx0PG5nLWNvbnRhaW5lclxuXHRcdFx0XHRcdFx0Km5nVGVtcGxhdGVPdXRsZXQ9XCJ2YWx1ZVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogdmFsdWUgfVwiPjwvbmctY29udGFpbmVyPlxuXHRcdFx0XHQ8L25nLWRvYy1vcHRpb24+XG5cdFx0XHQ8L25nLWNvbnRhaW5lcj5cblx0XHQ8L25nLWNvbnRhaW5lcj5cblx0PC9uZy1kb2MtbGlzdD5cblx0PG5nLXRlbXBsYXRlIGxldC12YWx1ZSAjdmFsdWVUZW1wbGF0ZT5cblx0XHQ8ZGl2IG5nLWRvYy10ZXh0PlxuXHRcdFx0PG5nLWRvYy1raW5kLWljb25cblx0XHRcdFx0W2tpbmRdPVwidHlwZU9mKHZhbHVlKVwiXG5cdFx0XHRcdFt0eXBlXT1cIid0eXBlJ1wiXG5cdFx0XHRcdFtuZ0RvY1Rvb2x0aXBdPVwidHlwZU9mKHZhbHVlKVwiXG5cdFx0XHRcdHBvc2l0aW9ucz1cImxlZnQtY2VudGVyXCJcblx0XHRcdFx0bmdEb2NUZXh0TGVmdD5cblx0XHRcdDwvbmctZG9jLWtpbmQtaWNvbj5cblx0XHRcdDxkaXY+e3sgdmFsdWUgfX08L2Rpdj5cblx0XHRcdDxzcGFuIG5nLWRvYy10ZXh0IGNvbG9yPVwibXV0ZWRcIiBzaXplPVwic21hbGxcIiAqbmdJZj1cInZhbHVlID09PSBkZWZhdWx0XCIgbmdEb2NUZXh0UmlnaHRcblx0XHRcdFx0PltkZWZhdWx0XTwvc3BhblxuXHRcdFx0PlxuXHRcdDwvZGl2PlxuXHQ8L25nLXRlbXBsYXRlPlxuXHQ8bmctdGVtcGxhdGUgI3JpZ2h0Q29udGVudD5cblx0XHQ8YnV0dG9uXG5cdFx0XHRuZy1kb2MtYnV0dG9uLWljb25cblx0XHRcdHNpemU9XCJsYXJnZVwiXG5cdFx0XHRbbmdEb2NGb2N1c2FibGVdPVwiZmFsc2VcIlxuXHRcdFx0W2Rpc2FibGVkXT1cImRpc2FibGVkXCJcblx0XHRcdFtyb3VuZGVkXT1cImZhbHNlXCJcblx0XHRcdChjbGljayk9XCJ1cGRhdGVNb2RlbChkZWZhdWx0ID8/IG51bGwpXCJcblx0XHRcdChmb2N1c291dCk9XCJ0b3VjaCgpXCJcblx0XHRcdCpuZ0lmPVwibW9kZWwoKSAmJiBtb2RlbCgpICE9PSBkZWZhdWx0XCI+XG5cdFx0XHQ8bmctZG9jLWljb24gaWNvbj1cInhcIj48L25nLWRvYy1pY29uPlxuXHRcdDwvYnV0dG9uPlxuXHQ8L25nLXRlbXBsYXRlPlxuPC9uZy1kb2MtY29tYm9ib3g+XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1hbGlhcy1jb250cm9sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYXBwL3R5cGUtY29udHJvbHMvdHlwZS1hbGlhcy1jb250cm9sL3R5cGUtYWxpYXMtY29udHJvbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC90eXBlLWNvbnRyb2xzL3R5cGUtYWxpYXMtY29udHJvbC90eXBlLWFsaWFzLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEUsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixxQkFBcUIsR0FDdEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUE0QnhDLE1BQU0sT0FBTyw4QkFBa0MsU0FBUSxTQUFZO0lBUWpFO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQWM7UUFDbkIsT0FBTyxPQUFPLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWU7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFFLENBQUM7OEdBbEJVLDhCQUE4QjtrR0FBOUIsOEJBQThCLDRJQy9DM0Msdy9DQThDQSwyRkRsQkksc0JBQXNCLCtJQUN0QixXQUFXLCtWQUNYLGtCQUFrQix3REFDbEIsa0JBQWtCLHdEQUNsQixLQUFLLG1IQUNMLElBQUksNkZBQ0osb0JBQW9CLDBEQUNwQixnQkFBZ0Isb0pBQ2hCLGtCQUFrQixpSEFDbEIsc0JBQXNCLCtGQUN0QixzQkFBc0IsNERBQ3RCLHFCQUFxQiwwVUFDckIsdUJBQXVCLDZEQUN2Qix3QkFBd0IsdVFBQ3hCLHVCQUF1Qix1SEFDdkIsa0JBQWtCLDJGQUNsQixxQkFBcUI7OzJGQUdaLDhCQUE4QjtrQkExQjFDLFNBQVM7K0JBQ0UsMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxzQkFBc0I7d0JBQ3RCLFdBQVc7d0JBQ1gsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLEtBQUs7d0JBQ0wsSUFBSTt3QkFDSixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHNCQUFzQjt3QkFDdEIscUJBQXFCO3dCQUNyQix1QkFBdUI7d0JBQ3ZCLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLHFCQUFxQjtxQkFDdEI7d0RBSUQsT0FBTztzQkFETixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdEb2NLaW5kSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1kb2MvYXBwL2NvbXBvbmVudHMva2luZC1pY29uJztcbmltcG9ydCB7IE5nRG9jVHlwZUNvbnRyb2wgfSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IE5nRG9jRXh0cmFjdFZhbHVlUGlwZSB9IGZyb20gJ0BuZy1kb2MvYXBwL3BpcGVzL2V4dHJhY3QtdmFsdWUnO1xuaW1wb3J0IHtcbiAgTmdEb2NCdXR0b25JY29uQ29tcG9uZW50LFxuICBOZ0RvY0NvbWJvYm94Q29tcG9uZW50LFxuICBOZ0RvY0RhdGFEaXJlY3RpdmUsXG4gIE5nRG9jRm9jdXNhYmxlRGlyZWN0aXZlLFxuICBOZ0RvY0ljb25Db21wb25lbnQsXG4gIE5nRG9jTGlzdENvbXBvbmVudCxcbiAgTmdEb2NPcHRpb25Db21wb25lbnQsXG4gIE5nRG9jVGV4dENvbXBvbmVudCxcbiAgTmdEb2NUZXh0TGVmdERpcmVjdGl2ZSxcbiAgTmdEb2NUZXh0UmlnaHREaXJlY3RpdmUsXG4gIE5nRG9jVG9vbHRpcERpcmVjdGl2ZSxcbn0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuaW1wb3J0IHsgRElDb250cm9sIH0gZnJvbSAnZGktY29udHJvbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1kb2MtdHlwZS1hbGlhcy1jb250cm9sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3R5cGUtYWxpYXMtY29udHJvbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3R5cGUtYWxpYXMtY29udHJvbC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nRG9jQ29tYm9ib3hDb21wb25lbnQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTmdEb2NEYXRhRGlyZWN0aXZlLFxuICAgIE5nRG9jTGlzdENvbXBvbmVudCxcbiAgICBOZ0ZvcixcbiAgICBOZ0lmLFxuICAgIE5nRG9jT3B0aW9uQ29tcG9uZW50LFxuICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgTmdEb2NUZXh0Q29tcG9uZW50LFxuICAgIE5nRG9jS2luZEljb25Db21wb25lbnQsXG4gICAgTmdEb2NUZXh0TGVmdERpcmVjdGl2ZSxcbiAgICBOZ0RvY1Rvb2x0aXBEaXJlY3RpdmUsXG4gICAgTmdEb2NUZXh0UmlnaHREaXJlY3RpdmUsXG4gICAgTmdEb2NCdXR0b25JY29uQ29tcG9uZW50LFxuICAgIE5nRG9jRm9jdXNhYmxlRGlyZWN0aXZlLFxuICAgIE5nRG9jSWNvbkNvbXBvbmVudCxcbiAgICBOZ0RvY0V4dHJhY3RWYWx1ZVBpcGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIE5nRG9jVHlwZUFsaWFzQ29udHJvbENvbXBvbmVudDxUPiBleHRlbmRzIERJQ29udHJvbDxUPiBpbXBsZW1lbnRzIE5nRG9jVHlwZUNvbnRyb2w8VD4ge1xuICBASW5wdXQoKVxuICBkZWZhdWx0PzogVDtcblxuICBvcHRpb25zPzogc3RyaW5nW107XG5cbiAgaXNNYW51YWw/OiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICB0eXBlT2YodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWU7XG4gIH1cblxuICBjaGFuZ2VNb2RlbCh2YWx1ZTogVCB8IG51bGwpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsKHZhbHVlID09PSBudWxsICYmIHRoaXMuZGVmYXVsdCA/IHRoaXMuZGVmYXVsdCA6IHZhbHVlKTtcbiAgfVxufVxuIiwiPG5nLWRvYy1jb21ib2JveFxuICBbbmdNb2RlbF09XCJtb2RlbCgpXCJcbiAgW3JlYWRvbmx5XT1cInRydWVcIlxuICBbdmFsdWVDb250ZW50XT1cInZhbHVlVGVtcGxhdGVcIlxuICBbY2xlYXJCdXR0b25dPVwiZmFsc2VcIlxuICBbcmlnaHRDb250ZW50XT1cInJpZ2h0Q29udGVudFwiXG4gIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZU1vZGVsKCRldmVudClcIj5cbiAgPG5nLWRvYy1saXN0ICpuZ0RvY0RhdGE+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc01hbnVhbCA/IG9wdGlvbiA6IChvcHRpb24gfCBuZ0RvY0V4dHJhY3RWYWx1ZSkgYXMgdmFsdWVcIj5cbiAgICAgICAgPG5nLWRvYy1vcHRpb24gW3ZhbHVlXT1cInZhbHVlXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ2YWx1ZVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogdmFsdWUgfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWRvYy1vcHRpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1kb2MtbGlzdD5cbiAgPG5nLXRlbXBsYXRlIGxldC12YWx1ZSAjdmFsdWVUZW1wbGF0ZT5cbiAgICA8ZGl2IG5nLWRvYy10ZXh0PlxuICAgICAgPG5nLWRvYy1raW5kLWljb25cbiAgICAgICAgW2tpbmRdPVwidHlwZU9mKHZhbHVlKVwiXG4gICAgICAgIFt0eXBlXT1cIid0eXBlJ1wiXG4gICAgICAgIFtuZ0RvY1Rvb2x0aXBdPVwidHlwZU9mKHZhbHVlKVwiXG4gICAgICAgIHBvc2l0aW9ucz1cImxlZnQtY2VudGVyXCJcbiAgICAgICAgbmdEb2NUZXh0TGVmdD5cbiAgICAgIDwvbmctZG9jLWtpbmQtaWNvbj5cbiAgICAgIDxkaXY+e3sgdmFsdWUgfX08L2Rpdj5cbiAgICAgIDxzcGFuIG5nLWRvYy10ZXh0IGNvbG9yPVwibXV0ZWRcIiBzaXplPVwic21hbGxcIiAqbmdJZj1cInZhbHVlID09PSBkZWZhdWx0XCIgbmdEb2NUZXh0UmlnaHRcbiAgICAgICAgPltkZWZhdWx0XTwvc3BhblxuICAgICAgPlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI3JpZ2h0Q29udGVudD5cbiAgICA8YnV0dG9uXG4gICAgICBuZy1kb2MtYnV0dG9uLWljb24tdHJhbnNwYXJlbnRcbiAgICAgIHNpemU9XCJsYXJnZVwiXG4gICAgICBbbmdEb2NGb2N1c2FibGVdPVwiZmFsc2VcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtyb3VuZGVkXT1cImZhbHNlXCJcbiAgICAgIChjbGljayk9XCJ1cGRhdGVNb2RlbChkZWZhdWx0ID8/IG51bGwpXCJcbiAgICAgIChmb2N1c291dCk9XCJ0b3VjaCgpXCJcbiAgICAgICpuZ0lmPVwibW9kZWwoKSAmJiBtb2RlbCgpICE9PSBkZWZhdWx0XCI+XG4gICAgICA8bmctZG9jLWljb24gaWNvbj1cInhcIj48L25nLWRvYy1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy1kb2MtY29tYm9ib3g+XG4iXX0=
@@ -4,7 +4,7 @@ import { objectKeys } from '@ng-doc/core/helpers/object-keys';
4
4
  import { create, insertMultiple } from '@orama/orama';
5
5
  import { afterInsert, searchWithHighlight } from '@orama/plugin-match-highlight';
6
6
  import { from } from 'rxjs';
7
- import { map, switchMap, shareReplay } from 'rxjs/operators';
7
+ import { switchMap, map, shareReplay } from 'rxjs/operators';
8
8
 
9
9
  /**
10
10
  * Search engine for the documentation, it loads the index and provides a search method.
@@ -19,13 +19,18 @@ class NgDocDefaultSearchEngine extends NgDocSearchEngine {
19
19
  section: 'string',
20
20
  content: 'string',
21
21
  },
22
+ plugins: [
23
+ {
24
+ name: 'highlight',
25
+ afterInsert,
26
+ },
27
+ ],
22
28
  components: {
23
- afterInsert: [afterInsert],
24
29
  tokenizer: {
25
30
  stemmer: options?.stemmer,
26
31
  },
27
32
  },
28
- })).pipe(map((db) => db), switchMap((db) => this.request(`assets/ng-doc/indexes.json`).pipe(switchMap((pages) => insertMultiple(db, pages)), map(() => db))), shareReplay(1));
33
+ })).pipe(switchMap((db) => this.request(`assets/ng-doc/indexes.json`).pipe(switchMap((pages) => insertMultiple(db, pages)), map(() => db))), shareReplay(1));
29
34
  }
30
35
  /**
31
36
  * Search the documentation for the given query.
@@ -35,7 +40,8 @@ class NgDocDefaultSearchEngine extends NgDocSearchEngine {
35
40
  return this.db$.pipe(switchMap((db) => searchWithHighlight(db, {
36
41
  term: query,
37
42
  boost: { title: 4, section: 2 },
38
- properties: ['section', 'content'],
43
+ threshold: 0.3,
44
+ properties: ['title', 'section', 'content'],
39
45
  tolerance: this.options?.tolerance,
40
46
  exact: this.options?.exact,
41
47
  limit: this.options?.limit ?? 10,
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-classes-default-search-engine.mjs","sources":["../../../../libs/app/classes/default-search-engine/default-search-engine.ts","../../../../libs/app/classes/default-search-engine/ng-doc-app-classes-default-search-engine.ts"],"sourcesContent":["import { NgDocSearchEngine } from '@ng-doc/app/classes/search-engine';\nimport { NgDocSearchResult } from '@ng-doc/app/interfaces';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { objectKeys } from '@ng-doc/core/helpers/object-keys';\nimport { NgDocPageIndex } from '@ng-doc/core/interfaces';\nimport { NgDocHighlightPosition } from '@ng-doc/ui-kit';\nimport { create, insertMultiple, Orama } from '@orama/orama';\nimport { Document } from '@orama/orama/dist/types';\nimport {\n\tafterInsert,\n\tOramaWithHighlight,\n\tSearchResultWithHighlight,\n\tsearchWithHighlight,\n} from '@orama/plugin-match-highlight';\nimport * as stemmer from '@orama/stemmers';\nimport { from, Observable } from 'rxjs';\nimport { map, shareReplay, switchMap } from 'rxjs/operators';\n\n/**\n * Options for the `NgDocDefaultSearchEngine`.\n */\nexport interface NgDocDefaultSearchEngineOptions {\n\t/**\n\t * The language to use for the search engine.\n\t */\n\tstemmer?: typeof stemmer.stemmer;\n\t/**\n\t * Specifies the maximum distance (following the Levenshtein algorithm) between the term and the searchable property.\n\t * (doesn't work with `exact` option)\n\t */\n\ttolerance?: number;\n\t/**\n\t * If `true`, finds all the document with an exact match of the term property.\n\t */\n\texact?: boolean;\n\t/**\n\t * Number of results to return (default: 10).\n\t */\n\tlimit?: number;\n}\n\ninterface SearchSchema extends Document {\n\ttitle: 'string';\n\tsectionTitle: 'string';\n\tcontent: 'string';\n}\n\n/**\n * Search engine for the documentation, it loads the index and provides a search method.\n */\nexport class NgDocDefaultSearchEngine extends NgDocSearchEngine {\n\tprivate db$: Observable<OramaWithHighlight>;\n\n\tconstructor(private options?: NgDocDefaultSearchEngineOptions) {\n\t\tsuper();\n\t\tthis.db$ = from(\n\t\t\tcreate({\n\t\t\t\tschema: {\n\t\t\t\t\ttitle: 'string',\n\t\t\t\t\tsection: 'string',\n\t\t\t\t\tcontent: 'string',\n\t\t\t\t},\n\t\t\t\tcomponents: {\n\t\t\t\t\tafterInsert: [afterInsert],\n\t\t\t\t\ttokenizer: {\n\t\t\t\t\t\tstemmer: options?.stemmer,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}),\n\t\t).pipe(\n\t\t\tmap((db: Orama) => db as OramaWithHighlight),\n\t\t\tswitchMap((db: OramaWithHighlight) =>\n\t\t\t\tthis.request<NgDocPageIndex[]>(`assets/ng-doc/indexes.json`).pipe(\n\t\t\t\t\tswitchMap((pages: NgDocPageIndex[]) =>\n\t\t\t\t\t\tinsertMultiple(db, pages as unknown as SearchSchema[]),\n\t\t\t\t\t),\n\t\t\t\t\tmap(() => db),\n\t\t\t\t),\n\t\t\t),\n\t\t\tshareReplay(1),\n\t\t) as Observable<OramaWithHighlight>;\n\t}\n\n\t/**\n\t * Search the documentation for the given query.\n\t * @param query The query to search for.\n\t */\n\tsearch(query: string): Observable<NgDocSearchResult[]> {\n\t\treturn this.db$.pipe(\n\t\t\tswitchMap((db: OramaWithHighlight) =>\n\t\t\t\tsearchWithHighlight(db, {\n\t\t\t\t\tterm: query,\n\t\t\t\t\tboost: { title: 4, section: 2 },\n\t\t\t\t\tproperties: ['section', 'content'],\n\t\t\t\t\ttolerance: this.options?.tolerance,\n\t\t\t\t\texact: this.options?.exact,\n\t\t\t\t\tlimit: this.options?.limit ?? 10,\n\t\t\t\t}),\n\t\t\t),\n\t\t\tmap((result: SearchResultWithHighlight) =>\n\t\t\t\tresult.hits.map((hit: SearchResultWithHighlight['hits'][0]) => {\n\t\t\t\t\tconst keys: Array<keyof NgDocPageIndex> = objectKeys(hit.positions) as unknown as Array<\n\t\t\t\t\t\tkeyof NgDocPageIndex\n\t\t\t\t\t>;\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\tindex: hit.document as unknown as NgDocPageIndex,\n\t\t\t\t\t\tpositions: keys.reduce(\n\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\tacc: Record<keyof NgDocPageIndex, NgDocHighlightPosition[]>,\n\t\t\t\t\t\t\t\tkey: keyof NgDocPageIndex,\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t\tacc[key] = [...asArray(acc[key]), ...Object.values(hit.positions[key]).flat()];\n\n\t\t\t\t\t\t\t\treturn acc;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{} as any,\n\t\t\t\t\t\t) as Partial<Record<keyof NgDocPageIndex, NgDocHighlightPosition[]>>,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t),\n\t\t);\n\t}\n\n\tprivate request<T>(url: string): Observable<T> {\n\t\treturn from(fetch(url)).pipe(switchMap((response: Response) => response.json() as Promise<T>));\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AA+CA;;AAEG;AACG,MAAO,wBAAyB,SAAQ,iBAAiB,CAAA;AAG9D,IAAA,WAAA,CAAoB,OAAyC,EAAA;AAC5D,QAAA,KAAK,EAAE,CAAC;QADW,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkC;AAE5D,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CACd,MAAM,CAAC;AACN,YAAA,MAAM,EAAE;AACP,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,OAAO,EAAE,QAAQ;AACjB,aAAA;AACD,YAAA,UAAU,EAAE;gBACX,WAAW,EAAE,CAAC,WAAW,CAAC;AAC1B,gBAAA,SAAS,EAAE;oBACV,OAAO,EAAE,OAAO,EAAE,OAAO;AACzB,iBAAA;AACD,aAAA;AACD,SAAA,CAAC,CACF,CAAC,IAAI,CACL,GAAG,CAAC,CAAC,EAAS,KAAK,EAAwB,CAAC,EAC5C,SAAS,CAAC,CAAC,EAAsB,KAChC,IAAI,CAAC,OAAO,CAAmB,CAAA,0BAAA,CAA4B,CAAC,CAAC,IAAI,CAChE,SAAS,CAAC,CAAC,KAAuB,KACjC,cAAc,CAAC,EAAE,EAAE,KAAkC,CAAC,CACtD,EACD,GAAG,CAAC,MAAM,EAAE,CAAC,CACb,CACD,EACD,WAAW,CAAC,CAAC,CAAC,CACoB,CAAC;KACpC;AAED;;;AAGG;AACH,IAAA,MAAM,CAAC,KAAa,EAAA;AACnB,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CACnB,SAAS,CAAC,CAAC,EAAsB,KAChC,mBAAmB,CAAC,EAAE,EAAE;AACvB,YAAA,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;AAC/B,YAAA,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;AAClC,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS;AAClC,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK;AAC1B,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;AAChC,SAAA,CAAC,CACF,EACD,GAAG,CAAC,CAAC,MAAiC,KACrC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAyC,KAAI;YAC7D,MAAM,IAAI,GAAgC,UAAU,CAAC,GAAG,CAAC,SAAS,CAEjE,CAAC;YAEF,OAAO;gBACN,KAAK,EAAE,GAAG,CAAC,QAAqC;gBAChD,SAAS,EAAE,IAAI,CAAC,MAAM,CACrB,CACC,GAA2D,EAC3D,GAAyB,KACtB;;;AAGH,oBAAA,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAE/E,oBAAA,OAAO,GAAG,CAAC;iBACX,EACD,EAAS,CAC0D;aACpE,CAAC;SACF,CAAC,CACF,CACD,CAAC;KACF;AAEO,IAAA,OAAO,CAAI,GAAW,EAAA;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAkB,KAAK,QAAQ,CAAC,IAAI,EAAgB,CAAC,CAAC,CAAC;KAC/F;AACD;;ACjID;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-classes-default-search-engine.mjs","sources":["../../../../libs/app/classes/default-search-engine/default-search-engine.ts","../../../../libs/app/classes/default-search-engine/ng-doc-app-classes-default-search-engine.ts"],"sourcesContent":["import { NgDocSearchEngine } from '@ng-doc/app/classes/search-engine';\nimport { NgDocSearchResult } from '@ng-doc/app/interfaces';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { objectKeys } from '@ng-doc/core/helpers/object-keys';\nimport { NgDocPageIndex } from '@ng-doc/core/interfaces';\nimport { NgDocHighlightPosition } from '@ng-doc/ui-kit';\nimport { create, insertMultiple, Orama } from '@orama/orama';\nimport {\n afterInsert,\n OramaWithHighlight,\n searchWithHighlight,\n} from '@orama/plugin-match-highlight';\nimport * as stemmer from '@orama/stemmers';\nimport { from, Observable } from 'rxjs';\nimport { map, shareReplay, switchMap } from 'rxjs/operators';\n\ntype OramaDb = OramaWithHighlight<\n Orama<{\n title: 'string';\n section: 'string';\n content: 'string';\n }>\n>;\n\n/**\n * Options for the `NgDocDefaultSearchEngine`.\n */\nexport interface NgDocDefaultSearchEngineOptions {\n /**\n * The language to use for the search engine.\n */\n stemmer?: typeof stemmer.stemmer;\n /**\n * Specifies the maximum distance (following the Levenshtein algorithm) between the term and the searchable property.\n * (doesn't work with `exact` option)\n */\n tolerance?: number;\n /**\n * If `true`, finds all the document with an exact match of the term property.\n */\n exact?: boolean;\n /**\n * Number of results to return (default: 10).\n */\n limit?: number;\n}\n\n/**\n * Search engine for the documentation, it loads the index and provides a search method.\n */\nexport class NgDocDefaultSearchEngine extends NgDocSearchEngine {\n private db$: Observable<OramaDb>;\n\n constructor(private options?: NgDocDefaultSearchEngineOptions) {\n super();\n\n this.db$ = from(\n create({\n schema: {\n title: 'string',\n section: 'string',\n content: 'string',\n },\n plugins: [\n {\n name: 'highlight',\n afterInsert,\n },\n ],\n components: {\n tokenizer: {\n stemmer: options?.stemmer,\n },\n },\n }),\n ).pipe(\n switchMap((db) =>\n this.request<NgDocPageIndex[]>(`assets/ng-doc/indexes.json`).pipe(\n switchMap((pages: NgDocPageIndex[]) => insertMultiple(db, pages as any)),\n map(() => db as unknown as OramaDb),\n ),\n ),\n shareReplay(1),\n ) as Observable<OramaDb>;\n }\n\n /**\n * Search the documentation for the given query.\n * @param query The query to search for.\n */\n search(query: string): Observable<NgDocSearchResult[]> {\n return this.db$.pipe(\n switchMap((db) =>\n searchWithHighlight(db, {\n term: query,\n boost: { title: 4, section: 2 },\n threshold: 0.3,\n properties: ['title', 'section', 'content'],\n tolerance: this.options?.tolerance,\n exact: this.options?.exact,\n limit: this.options?.limit ?? 10,\n }),\n ),\n map((result) =>\n result.hits.map((hit) => {\n const keys: Array<keyof NgDocPageIndex> = objectKeys(hit.positions) as unknown as Array<\n keyof NgDocPageIndex\n >;\n\n return {\n index: hit.document as unknown as NgDocPageIndex,\n positions: keys.reduce(\n (\n acc: Record<keyof NgDocPageIndex, NgDocHighlightPosition[]>,\n key: keyof NgDocPageIndex,\n ) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n acc[key] = [...asArray(acc[key]), ...Object.values(hit.positions[key]).flat()];\n\n return acc;\n },\n {} as any,\n ) as Partial<Record<keyof NgDocPageIndex, NgDocHighlightPosition[]>>,\n };\n }),\n ),\n );\n }\n\n private request<T>(url: string): Observable<T> {\n return from(fetch(url)).pipe(switchMap((response: Response) => response.json() as Promise<T>));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AA+CA;;AAEG;AACG,MAAO,wBAAyB,SAAQ,iBAAiB,CAAA;AAG7D,IAAA,WAAA,CAAoB,OAAyC,EAAA;AAC3D,QAAA,KAAK,EAAE,CAAC;QADU,IAAO,CAAA,OAAA,GAAP,OAAO,CAAkC;AAG3D,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CACb,MAAM,CAAC;AACL,YAAA,MAAM,EAAE;AACN,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,OAAO,EAAE,QAAQ;AAClB,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA;AACE,oBAAA,IAAI,EAAE,WAAW;oBACjB,WAAW;AACZ,iBAAA;AACF,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,SAAS,EAAE;oBACT,OAAO,EAAE,OAAO,EAAE,OAAO;AAC1B,iBAAA;AACF,aAAA;SACF,CAAC,CACH,CAAC,IAAI,CACJ,SAAS,CAAC,CAAC,EAAE,KACX,IAAI,CAAC,OAAO,CAAmB,CAAA,0BAAA,CAA4B,CAAC,CAAC,IAAI,CAC/D,SAAS,CAAC,CAAC,KAAuB,KAAK,cAAc,CAAC,EAAE,EAAE,KAAY,CAAC,CAAC,EACxE,GAAG,CAAC,MAAM,EAAwB,CAAC,CACpC,CACF,EACD,WAAW,CAAC,CAAC,CAAC,CACQ,CAAC;KAC1B;AAED;;;AAGG;AACH,IAAA,MAAM,CAAC,KAAa,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAClB,SAAS,CAAC,CAAC,EAAE,KACX,mBAAmB,CAAC,EAAE,EAAE;AACtB,YAAA,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;AAC/B,YAAA,SAAS,EAAE,GAAG;AACd,YAAA,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;AAC3C,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS;AAClC,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK;AAC1B,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;AACjC,SAAA,CAAC,CACH,EACD,GAAG,CAAC,CAAC,MAAM,KACT,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI;YACtB,MAAM,IAAI,GAAgC,UAAU,CAAC,GAAG,CAAC,SAAS,CAEjE,CAAC;YAEF,OAAO;gBACL,KAAK,EAAE,GAAG,CAAC,QAAqC;gBAChD,SAAS,EAAE,IAAI,CAAC,MAAM,CACpB,CACE,GAA2D,EAC3D,GAAyB,KACvB;;;AAGF,oBAAA,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAE/E,oBAAA,OAAO,GAAG,CAAC;iBACZ,EACD,EAAS,CACyD;aACrE,CAAC;SACH,CAAC,CACH,CACF,CAAC;KACH;AAEO,IAAA,OAAO,CAAI,GAAW,EAAA;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAkB,KAAK,QAAQ,CAAC,IAAI,EAAgB,CAAC,CAAC,CAAC;KAChG;AACF;;ACrID;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-classes-root-page.mjs","sources":["../../../../libs/app/classes/root-page/root-page.ts","../../../../libs/app/classes/root-page/ng-doc-app-classes-root-page.ts"],"sourcesContent":["import {NgDocDemoAssets} from '@ng-doc/app/interfaces';\nimport {NgDocPage, NgDocPageType} from '@ng-doc/core';\n\n/**\n * Base class for NgDoc page\n */\nexport abstract class NgDocRootPage {\n\t/**\n\t * Route prefix\n\t */\n\tabstract readonly routePrefix?: string;\n\n\t/**\n\t * The type of the page\n\t */\n\tabstract readonly pageType: NgDocPageType;\n\t/**\n\t * Html content of the page\n\t */\n\tabstract readonly pageContent: string;\n\n\t/**\n\t * Edit URL that can be used to edit the page source file in the repository\n\t */\n\tabstract readonly editSourceFileUrl?: string;\n\n\t/**\n\t * View URL that can be used to view the page source file in the repository\n\t */\n\tabstract readonly viewSourceFileUrl?: string;\n\n\t/**\n\t * The page dependencies file\n\t */\n\tabstract readonly page?: NgDocPage;\n\n\t/**\n\t * The page demo assets that have code examples of the demo components\n\t */\n\tabstract readonly demoAssets?: NgDocDemoAssets;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAGA;;AAEG;MACmB,aAAa,CAAA;AAkClC;;ACxCD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-classes-root-page.mjs","sources":["../../../../libs/app/classes/root-page/root-page.ts","../../../../libs/app/classes/root-page/ng-doc-app-classes-root-page.ts"],"sourcesContent":["import { NgDocDemoAssets } from '@ng-doc/app/interfaces';\nimport { NgDocPage } from '@ng-doc/core/interfaces';\nimport { NgDocPageType } from '@ng-doc/core/types';\n\n/**\n * Base class for NgDoc page\n */\nexport abstract class NgDocRootPage {\n /**\n * The type of the page\n */\n abstract readonly pageType: NgDocPageType;\n /**\n * Html content of the page\n */\n abstract readonly pageContent: string;\n\n /**\n * Edit URL that can be used to edit the page source file in the repository\n */\n abstract readonly editSourceFileUrl?: string;\n\n /**\n * View URL that can be used to view the page source file in the repository\n */\n abstract readonly viewSourceFileUrl?: string;\n\n /**\n * The page dependencies file\n */\n readonly page?: NgDocPage;\n\n /**\n * The page demo assets that have code examples of the demo components\n */\n readonly demoAssets?: NgDocDemoAssets;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAIA;;AAEG;MACmB,aAAa,CAAA;AA6BlC;;ACpCD;;AAEG;;;;"}
@@ -1,82 +1,67 @@
1
- import { __decorate, __metadata } from 'tslib';
2
1
  import { NgIf, NgFor, NgTemplateOutlet, AsyncPipe } from '@angular/common';
2
+ import { HttpClient } from '@angular/common/http';
3
3
  import * as i0 from '@angular/core';
4
- import { Component, ChangeDetectionStrategy, Inject, Input } from '@angular/core';
4
+ import { input, inject, computed, Component, ChangeDetectionStrategy } from '@angular/core';
5
+ import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
6
  import * as i1 from '@angular/forms';
6
- import { FormsModule, ReactiveFormsModule, FormBuilder } from '@angular/forms';
7
- import * as i2 from '@angular/router';
8
- import { RouterLink, ActivatedRoute, Router } from '@angular/router';
7
+ import { FormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms';
8
+ import { ActivatedRoute, Router, RouterLink } from '@angular/router';
9
9
  import { NgDocKindIconComponent } from '@ng-doc/app/components/kind-icon';
10
- import { NG_DOC_API_LIST_TOKEN } from '@ng-doc/app/tokens';
11
10
  import { asArray } from '@ng-doc/core/helpers/as-array';
12
- import { NgDocTextComponent, NgDocLabelComponent, NgDocInputWrapperComponent, NgDocIconComponent, NgDocInputStringDirective, NgDocAutofocusDirective, NgDocComboboxComponent, NgDocDataDirective, NgDocListComponent, NgDocOptionComponent, NgDocTextLeftDirective, NgDocTooltipDirective } from '@ng-doc/ui-kit';
13
- import { ngDocMakePure } from '@ng-doc/ui-kit/decorators';
14
- import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
15
- import { debounceTime, startWith, map } from 'rxjs/operators';
11
+ import { NgDocTextComponent, NgDocInputWrapperComponent, NgDocIconComponent, NgDocInputStringDirective, NgDocAutofocusDirective, NgDocTooltipDirective, NgDocRadioGroupDirective, NgDocButtonToggleComponent, NgDocLabelComponent, NgDocComboboxComponent, NgDocDataDirective, NgDocListComponent, NgDocOptionComponent, NgDocTextLeftDirective, NgDocButtonComponent } from '@ng-doc/ui-kit';
12
+ import { startWith } from 'rxjs/operators';
16
13
 
17
- let NgDocApiListComponent = class NgDocApiListComponent {
18
- constructor(apiList, formBuilder, route, router) {
19
- this.apiList = apiList;
20
- this.formBuilder = formBuilder;
21
- this.route = route;
22
- this.router = router;
23
- this.title = 'API Reference';
14
+ class NgDocApiListComponent {
15
+ constructor() {
16
+ this.title = input('API References');
17
+ this.segment = input();
18
+ this.formBuilder = inject(FormBuilder);
19
+ this.route = inject(ActivatedRoute);
20
+ this.router = inject(Router);
21
+ this.httpClient = inject(HttpClient);
24
22
  this.formGroup = this.formBuilder.group({
25
23
  filter: [''],
26
24
  scope: [''],
27
25
  type: [''],
28
26
  });
29
- this.route.queryParamMap.pipe(untilDestroyed(this)).subscribe((paramMap) => this.formGroup.setValue({
27
+ this.filter = toSignal(this.formGroup.valueChanges.pipe(startWith(this.formGroup.value)), {
28
+ initialValue: this.formGroup.value,
29
+ });
30
+ this.apiList = toSignal(this.httpClient.get(asArray('assets/ng-doc', this.segment(), 'api-list.json').join('/')), { initialValue: [] });
31
+ this.scopes = computed(() => asArray(new Set(this.apiList().flatMap((api) => api.title))).sort());
32
+ this.types = computed(() => asArray(new Set(this.apiList()
33
+ .flatMap((api) => api.items)
34
+ .flatMap((item) => item.type))).sort());
35
+ this.route.queryParamMap.pipe(takeUntilDestroyed()).subscribe((paramMap) => this.formGroup.setValue({
30
36
  filter: paramMap.get('filter') || null,
31
37
  scope: paramMap.get('scope') || null,
32
38
  type: paramMap.get('type') || null,
33
39
  }));
34
40
  this.formGroup.valueChanges
35
- .pipe(untilDestroyed(this))
41
+ .pipe(takeUntilDestroyed())
36
42
  .subscribe((formValue) => this.router.navigate([], {
37
43
  relativeTo: this.route,
38
44
  queryParams: formValue,
39
45
  queryParamsHandling: 'merge',
40
46
  }));
41
- this.api$ = this.formGroup.valueChanges.pipe(debounceTime(100), startWith(null), map(() => this.formGroup.value), map((form) => this.apiList
42
- .filter((api) => !form?.scope || api.title === form?.scope)
43
- .map((api) => ({
44
- ...api,
45
- items: api.items
46
- .filter((item) => item.name.toLowerCase().includes(form?.filter?.toLowerCase() ?? '') &&
47
- (!form?.type || item.type === form?.type))
48
- .sort((a, b) => a.type.localeCompare(b.type) || a.name.localeCompare(b.name)),
49
- }))
50
- .filter((api) => api.items.length)), untilDestroyed(this));
51
- }
52
- get scopes() {
53
- return asArray(new Set(this.apiList.flatMap((api) => api.title))).sort();
54
- }
55
- get types() {
56
- return asArray(new Set(this.apiList
57
- .flatMap((api) => api.items)
58
- .flatMap((item) => item.type))).sort();
47
+ this.filteredApiList = computed(() => {
48
+ const { filter, scope, type } = this.filter();
49
+ return this.apiList()
50
+ .filter((api) => !scope || api.title === scope)
51
+ .map((api) => ({
52
+ ...api,
53
+ items: api.items
54
+ .filter((item) => item.name.toLowerCase().includes(filter?.toLowerCase() ?? '') &&
55
+ (!type || item.type === type))
56
+ .sort((a, b) => a.type.localeCompare(b.type) || a.name.localeCompare(b.name)),
57
+ }))
58
+ .filter((api) => api.items.length);
59
+ });
59
60
  }
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocApiListComponent, deps: [{ token: NG_DOC_API_LIST_TOKEN }, { token: i1.FormBuilder }, { token: i2.ActivatedRoute }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
61
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: NgDocApiListComponent, isStandalone: true, selector: "ng-doc-api-list", inputs: { title: "title" }, ngImport: i0, template: "<h1 ng-doc-text>{{ title }}</h1>\n<div class=\"ng-doc-api-list-wrapper\" *ngIf=\"api$ | async as api\">\n\t<form class=\"ng-doc-api-filter\" [formGroup]=\"formGroup\">\n\t\t<label class=\"ng-doc-api-filter-item\" ng-doc-label=\"Filter\">\n\t\t\t<ng-doc-input-wrapper [leftContent]=\"leftContent\">\n\t\t\t\t<ng-template #leftContent>\n\t\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t\t</ng-template>\n\t\t\t\t<input\n\t\t\t\t\tngDocInputString\n\t\t\t\t\t[formControl]=\"formGroup.controls.filter\"\n\t\t\t\t\tplaceholder=\"Type the name\"\n\t\t\t\t\tngDocAutofocus />\n\t\t\t</ng-doc-input-wrapper>\n\t\t</label>\n\n\t\t<label class=\"ng-doc-api-filter-item\" ng-doc-label=\"Scope\" *ngIf=\"scopes.length\">\n\t\t\t<ng-doc-combobox\n\t\t\t\t[formControl]=\"formGroup.controls.scope\"\n\t\t\t\t[valueContent]=\"comboboxScopeItem\"\n\t\t\t\t[readonly]=\"true\"\n\t\t\t\tplaceholder=\"Choose the scope\">\n\t\t\t\t<ng-doc-list *ngDocData>\n\t\t\t\t\t<ng-doc-option *ngFor=\"let scope of scopes\" [value]=\"scope\">\n\t\t\t\t\t\t<ng-container\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"comboboxScopeItem; context: { $implicit: scope }\"></ng-container>\n\t\t\t\t\t</ng-doc-option>\n\t\t\t\t</ng-doc-list>\n\t\t\t\t<ng-template let-value #comboboxScopeItem>\n\t\t\t\t\t{{ value }}\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-combobox>\n\t\t</label>\n\n\t\t<label class=\"ng-doc-api-filter-item\" ng-doc-label=\"Type\">\n\t\t\t<ng-doc-combobox\n\t\t\t\t[formControl]=\"formGroup.controls.type\"\n\t\t\t\t[valueContent]=\"comboboxTypeItem\"\n\t\t\t\t[readonly]=\"true\"\n\t\t\t\tplaceholder=\"Choose the entity type\">\n\t\t\t\t<ng-doc-list *ngDocData>\n\t\t\t\t\t<ng-doc-option *ngFor=\"let type of types\" [value]=\"type\">\n\t\t\t\t\t\t<ng-container\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"comboboxTypeItem; context: { $implicit: type }\"></ng-container>\n\t\t\t\t\t</ng-doc-option>\n\t\t\t\t</ng-doc-list>\n\t\t\t\t<ng-template let-value #comboboxTypeItem>\n\t\t\t\t\t<div ng-doc-text>\n\t\t\t\t\t\t<ng-doc-kind-icon\n\t\t\t\t\t\t\t[kind]=\"value\"\n\t\t\t\t\t\t\t[ngDocTooltip]=\"value\"\n\t\t\t\t\t\t\t[positions]=\"['left-center', 'right-center']\"\n\t\t\t\t\t\t\tngDocTextLeft>\n\t\t\t\t\t\t</ng-doc-kind-icon>\n\t\t\t\t\t\t{{ value }}\n\t\t\t\t\t</div>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-combobox>\n\t\t</label>\n\t</form>\n\t<div class=\"ng-doc-api-list\">\n\t\t<div class=\"ng-doc-api-scope\" *ngFor=\"let scope of api\">\n\t\t\t<h3 class=\"ng-doc-scope-title\" ng-doc-text>{{ scope.title }}</h3>\n\t\t\t<ul class=\"ng-doc-scope-items\" *ngIf=\"scope.items.length\">\n\t\t\t\t<li class=\"ng-doc-scope-item\" *ngFor=\"let apiReference of scope.items\">\n\t\t\t\t\t<a class=\"ng-doc-scope-item-link\" [routerLink]=\"[apiReference.route]\">\n\t\t\t\t\t\t<ng-doc-kind-icon [kind]=\"apiReference.type\" [ngDocTooltip]=\"apiReference.type\">\n\t\t\t\t\t\t</ng-doc-kind-icon>\n\t\t\t\t\t\t{{ apiReference.name }}\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>\n", styles: [":host h1{margin-top:0}:host .ng-doc-api-list-wrapper .ng-doc-api-filter{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 3);flex-wrap:wrap;gap:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-filter .ng-doc-api-filter-item{width:200px}:host .ng-doc-api-list-wrapper .ng-doc-api-list{margin-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope{display:flex;flex-direction:column}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items{margin-top:calc(var(--ng-doc-base-gutter) * 3);list-style:none;padding:0}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item{margin:var(--ng-doc-base-gutter) 0;float:left;width:33%;overflow:hidden;min-width:330px;text-overflow:ellipsis;white-space:nowrap}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link{display:flex;align-items:center;color:var(--ng-doc-text);text-decoration:none}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link:hover{text-decoration:underline}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link ng-doc-kind-icon{margin-right:var(--ng-doc-base-gutter);text-decoration:none!important}:host ng-doc-input-wrapper ng-doc-icon{--ng-doc-icon-color: var(--ng-doc-text-muted)}\n"], dependencies: [{ kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: NgDocLabelComponent, selector: "label[ng-doc-label]", inputs: ["ng-doc-label", "align"] }, { kind: "component", type: NgDocInputWrapperComponent, selector: "ng-doc-input-wrapper", inputs: ["blurContent", "blurContext", "leftContent", "rightContent", "align"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "directive", type: NgDocInputStringDirective, selector: "input[ngDocInputString]" }, { kind: "directive", type: NgDocAutofocusDirective, selector: "[ngDocAutofocus]", inputs: ["selectAll"] }, { kind: "component", type: NgDocComboboxComponent, selector: "ng-doc-combobox", inputs: ["readonly", "placeholder", "clearButton", "rightContent", "valueContent"] }, { kind: "directive", type: NgDocDataDirective, selector: "[ngDocData]" }, { kind: "component", type: NgDocListComponent, selector: "ng-doc-list" }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocOptionComponent, selector: "ng-doc-option" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: NgDocKindIconComponent, selector: "ng-doc-kind-icon", inputs: ["kind", "type"] }, { kind: "directive", type: NgDocTextLeftDirective, selector: "[ngDocTextLeft]" }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
62
- };
63
- __decorate([
64
- ngDocMakePure,
65
- __metadata("design:type", Array),
66
- __metadata("design:paramtypes", [])
67
- ], NgDocApiListComponent.prototype, "scopes", null);
68
- __decorate([
69
- ngDocMakePure,
70
- __metadata("design:type", Array),
71
- __metadata("design:paramtypes", [])
72
- ], NgDocApiListComponent.prototype, "types", null);
73
- NgDocApiListComponent = __decorate([
74
- UntilDestroy(),
75
- __metadata("design:paramtypes", [Array, FormBuilder,
76
- ActivatedRoute,
77
- Router])
78
- ], NgDocApiListComponent);
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocApiListComponent, decorators: [{
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocApiListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
62
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.1", type: NgDocApiListComponent, isStandalone: true, selector: "ng-doc-api-list", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, segment: { classPropertyName: "segment", publicName: "segment", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<h1 ng-doc-text>{{ title() }}</h1>\n<div class=\"ng-doc-api-list-wrapper\">\n <form [formGroup]=\"formGroup\">\n @if (types().length) {\n <h3>Declaration types</h3>\n <ul class=\"ng-doc-filter-list\" ngDocRadioGroup formControlName=\"type\">\n @for (type of types(); track type) {\n <li>\n <button class=\"ng-doc-filter-button\" ng-doc-button-toggle [value]=\"type\">\n <ng-doc-kind-icon [kind]=\"type\" size=\"medium\"></ng-doc-kind-icon>\n {{ type }}\n </button>\n </li>\n }\n </ul>\n }\n\n @if (scopes().length) {\n <h3>Scopes</h3>\n <ul class=\"ng-doc-filter-list\" ngDocRadioGroup formControlName=\"scope\">\n @for (scope of scopes(); track scope) {\n <li>\n <button class=\"ng-doc-filter-button\" ng-doc-button-toggle [value]=\"scope\">\n {{ scope }}\n </button>\n </li>\n }\n </ul>\n }\n\n <h3>Filter</h3>\n <ng-doc-input-wrapper class=\"ng-doc-api-list-filter-input\">\n <ng-doc-icon icon=\"search\" ngDocInputWrapperLeft></ng-doc-icon>\n <input\n ngDocInputString\n formControlName=\"filter\"\n placeholder=\"Declaration name...\"\n ngDocAutofocus />\n </ng-doc-input-wrapper>\n </form>\n\n <div class=\"ng-doc-api-list\">\n <div class=\"ng-doc-api-scope\" *ngFor=\"let scope of filteredApiList()\">\n <h3 class=\"ng-doc-scope-title\" ng-doc-text>{{ scope.title }}</h3>\n <ul class=\"ng-doc-scope-items\" *ngIf=\"scope.items.length\">\n <li class=\"ng-doc-scope-item\" *ngFor=\"let apiReference of scope.items\">\n <a class=\"ng-doc-scope-item-link\" [routerLink]=\"[apiReference.route]\">\n <ng-doc-kind-icon\n [kind]=\"apiReference.type\"\n size=\"medium\"\n [ngDocTooltip]=\"apiReference.type\">\n </ng-doc-kind-icon>\n {{ apiReference.name }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n</div>\n", styles: [":host h1{margin-top:0}:host .ng-doc-filter-list{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--ng-doc-base-gutter);list-style:none;padding:0}@container api-list-wrapper (max-width: 775px){:host .ng-doc-filter-list{grid-template-columns:repeat(4,1fr)}}@container api-list-wrapper (max-width: 600px){:host .ng-doc-filter-list{grid-template-columns:repeat(3,1fr)}}@container api-list-wrapper (max-width: 500px){:host .ng-doc-filter-list{grid-template-columns:repeat(2,1fr)}}@container api-list-wrapper (max-width: 350px){:host .ng-doc-filter-list{grid-template-columns:repeat(1,1fr)}}:host .ng-doc-filter-list .ng-doc-filter-button{justify-content:flex-start;text-wrap:nowrap;width:100%}:host .ng-doc-filter-list .ng-doc-filter-button ng-doc-kind-icon{margin-right:var(--ng-doc-base-gutter)}:host .ng-doc-api-list-filter-input{max-width:450px}:host .ng-doc-api-list-wrapper{container:api-list-wrapper/inline-size}:host .ng-doc-api-list-wrapper .ng-doc-api-filter{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 3);flex-wrap:wrap;gap:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-filter .ng-doc-api-filter-item{width:200px}:host .ng-doc-api-list-wrapper .ng-doc-api-list{margin-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope{display:flex;flex-direction:column}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items{margin-top:calc(var(--ng-doc-base-gutter) * 3);list-style:none;padding:0}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item{float:left;width:33%;overflow:hidden;min-width:330px;text-overflow:ellipsis;white-space:nowrap}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link{display:flex;align-items:center;border-left:1px solid var(--ng-doc-border-color);padding:var(--ng-doc-base-gutter);color:var(--ng-doc-text);background:color-mix(in srgb,var(--ng-doc-scope-item-link-background),transparent 90%);text-decoration:none}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link:hover{color:var(--ng-doc-heading-color);border-left-color:var(--ng-doc-primary);--ng-doc-scope-item-link-background: var(--ng-doc-primary)}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link ng-doc-kind-icon{margin-right:var(--ng-doc-base-gutter);text-decoration:none!important}:host ng-doc-input-wrapper ng-doc-icon{--ng-doc-icon-color: var(--ng-doc-text-muted)}\n"], dependencies: [{ kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: NgDocInputWrapperComponent, selector: "ng-doc-input-wrapper", inputs: ["blurContent", "blurContext", "align"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "customIcon", "size"] }, { kind: "directive", type: NgDocInputStringDirective, selector: "input[ngDocInputString]" }, { kind: "directive", type: NgDocAutofocusDirective, selector: "[ngDocAutofocus]", inputs: ["selectAll"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: NgDocKindIconComponent, selector: "ng-doc-kind-icon", inputs: ["kind", "type", "size"] }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgDocRadioGroupDirective, selector: "[ngDocRadioGroup]" }, { kind: "component", type: NgDocButtonToggleComponent, selector: "[ng-doc-button-toggle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
63
+ }
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocApiListComponent, decorators: [{
80
65
  type: Component,
81
66
  args: [{ selector: 'ng-doc-api-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
82
67
  NgDocTextComponent,
@@ -99,13 +84,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
99
84
  NgDocTooltipDirective,
100
85
  RouterLink,
101
86
  AsyncPipe,
102
- ], template: "<h1 ng-doc-text>{{ title }}</h1>\n<div class=\"ng-doc-api-list-wrapper\" *ngIf=\"api$ | async as api\">\n\t<form class=\"ng-doc-api-filter\" [formGroup]=\"formGroup\">\n\t\t<label class=\"ng-doc-api-filter-item\" ng-doc-label=\"Filter\">\n\t\t\t<ng-doc-input-wrapper [leftContent]=\"leftContent\">\n\t\t\t\t<ng-template #leftContent>\n\t\t\t\t\t<ng-doc-icon icon=\"search\"></ng-doc-icon>\n\t\t\t\t</ng-template>\n\t\t\t\t<input\n\t\t\t\t\tngDocInputString\n\t\t\t\t\t[formControl]=\"formGroup.controls.filter\"\n\t\t\t\t\tplaceholder=\"Type the name\"\n\t\t\t\t\tngDocAutofocus />\n\t\t\t</ng-doc-input-wrapper>\n\t\t</label>\n\n\t\t<label class=\"ng-doc-api-filter-item\" ng-doc-label=\"Scope\" *ngIf=\"scopes.length\">\n\t\t\t<ng-doc-combobox\n\t\t\t\t[formControl]=\"formGroup.controls.scope\"\n\t\t\t\t[valueContent]=\"comboboxScopeItem\"\n\t\t\t\t[readonly]=\"true\"\n\t\t\t\tplaceholder=\"Choose the scope\">\n\t\t\t\t<ng-doc-list *ngDocData>\n\t\t\t\t\t<ng-doc-option *ngFor=\"let scope of scopes\" [value]=\"scope\">\n\t\t\t\t\t\t<ng-container\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"comboboxScopeItem; context: { $implicit: scope }\"></ng-container>\n\t\t\t\t\t</ng-doc-option>\n\t\t\t\t</ng-doc-list>\n\t\t\t\t<ng-template let-value #comboboxScopeItem>\n\t\t\t\t\t{{ value }}\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-combobox>\n\t\t</label>\n\n\t\t<label class=\"ng-doc-api-filter-item\" ng-doc-label=\"Type\">\n\t\t\t<ng-doc-combobox\n\t\t\t\t[formControl]=\"formGroup.controls.type\"\n\t\t\t\t[valueContent]=\"comboboxTypeItem\"\n\t\t\t\t[readonly]=\"true\"\n\t\t\t\tplaceholder=\"Choose the entity type\">\n\t\t\t\t<ng-doc-list *ngDocData>\n\t\t\t\t\t<ng-doc-option *ngFor=\"let type of types\" [value]=\"type\">\n\t\t\t\t\t\t<ng-container\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"comboboxTypeItem; context: { $implicit: type }\"></ng-container>\n\t\t\t\t\t</ng-doc-option>\n\t\t\t\t</ng-doc-list>\n\t\t\t\t<ng-template let-value #comboboxTypeItem>\n\t\t\t\t\t<div ng-doc-text>\n\t\t\t\t\t\t<ng-doc-kind-icon\n\t\t\t\t\t\t\t[kind]=\"value\"\n\t\t\t\t\t\t\t[ngDocTooltip]=\"value\"\n\t\t\t\t\t\t\t[positions]=\"['left-center', 'right-center']\"\n\t\t\t\t\t\t\tngDocTextLeft>\n\t\t\t\t\t\t</ng-doc-kind-icon>\n\t\t\t\t\t\t{{ value }}\n\t\t\t\t\t</div>\n\t\t\t\t</ng-template>\n\t\t\t</ng-doc-combobox>\n\t\t</label>\n\t</form>\n\t<div class=\"ng-doc-api-list\">\n\t\t<div class=\"ng-doc-api-scope\" *ngFor=\"let scope of api\">\n\t\t\t<h3 class=\"ng-doc-scope-title\" ng-doc-text>{{ scope.title }}</h3>\n\t\t\t<ul class=\"ng-doc-scope-items\" *ngIf=\"scope.items.length\">\n\t\t\t\t<li class=\"ng-doc-scope-item\" *ngFor=\"let apiReference of scope.items\">\n\t\t\t\t\t<a class=\"ng-doc-scope-item-link\" [routerLink]=\"[apiReference.route]\">\n\t\t\t\t\t\t<ng-doc-kind-icon [kind]=\"apiReference.type\" [ngDocTooltip]=\"apiReference.type\">\n\t\t\t\t\t\t</ng-doc-kind-icon>\n\t\t\t\t\t\t{{ apiReference.name }}\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</div>\n", styles: [":host h1{margin-top:0}:host .ng-doc-api-list-wrapper .ng-doc-api-filter{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 3);flex-wrap:wrap;gap:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-filter .ng-doc-api-filter-item{width:200px}:host .ng-doc-api-list-wrapper .ng-doc-api-list{margin-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope{display:flex;flex-direction:column}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items{margin-top:calc(var(--ng-doc-base-gutter) * 3);list-style:none;padding:0}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item{margin:var(--ng-doc-base-gutter) 0;float:left;width:33%;overflow:hidden;min-width:330px;text-overflow:ellipsis;white-space:nowrap}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link{display:flex;align-items:center;color:var(--ng-doc-text);text-decoration:none}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link:hover{text-decoration:underline}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link ng-doc-kind-icon{margin-right:var(--ng-doc-base-gutter);text-decoration:none!important}:host ng-doc-input-wrapper ng-doc-icon{--ng-doc-icon-color: var(--ng-doc-text-muted)}\n"] }]
103
- }], ctorParameters: () => [{ type: undefined, decorators: [{
104
- type: Inject,
105
- args: [NG_DOC_API_LIST_TOKEN]
106
- }] }, { type: i1.FormBuilder }, { type: i2.ActivatedRoute }, { type: i2.Router }], propDecorators: { title: [{
107
- type: Input
108
- }], scopes: [], types: [] } });
87
+ NgDocButtonComponent,
88
+ NgDocRadioGroupDirective,
89
+ NgDocButtonToggleComponent,
90
+ ], template: "<h1 ng-doc-text>{{ title() }}</h1>\n<div class=\"ng-doc-api-list-wrapper\">\n <form [formGroup]=\"formGroup\">\n @if (types().length) {\n <h3>Declaration types</h3>\n <ul class=\"ng-doc-filter-list\" ngDocRadioGroup formControlName=\"type\">\n @for (type of types(); track type) {\n <li>\n <button class=\"ng-doc-filter-button\" ng-doc-button-toggle [value]=\"type\">\n <ng-doc-kind-icon [kind]=\"type\" size=\"medium\"></ng-doc-kind-icon>\n {{ type }}\n </button>\n </li>\n }\n </ul>\n }\n\n @if (scopes().length) {\n <h3>Scopes</h3>\n <ul class=\"ng-doc-filter-list\" ngDocRadioGroup formControlName=\"scope\">\n @for (scope of scopes(); track scope) {\n <li>\n <button class=\"ng-doc-filter-button\" ng-doc-button-toggle [value]=\"scope\">\n {{ scope }}\n </button>\n </li>\n }\n </ul>\n }\n\n <h3>Filter</h3>\n <ng-doc-input-wrapper class=\"ng-doc-api-list-filter-input\">\n <ng-doc-icon icon=\"search\" ngDocInputWrapperLeft></ng-doc-icon>\n <input\n ngDocInputString\n formControlName=\"filter\"\n placeholder=\"Declaration name...\"\n ngDocAutofocus />\n </ng-doc-input-wrapper>\n </form>\n\n <div class=\"ng-doc-api-list\">\n <div class=\"ng-doc-api-scope\" *ngFor=\"let scope of filteredApiList()\">\n <h3 class=\"ng-doc-scope-title\" ng-doc-text>{{ scope.title }}</h3>\n <ul class=\"ng-doc-scope-items\" *ngIf=\"scope.items.length\">\n <li class=\"ng-doc-scope-item\" *ngFor=\"let apiReference of scope.items\">\n <a class=\"ng-doc-scope-item-link\" [routerLink]=\"[apiReference.route]\">\n <ng-doc-kind-icon\n [kind]=\"apiReference.type\"\n size=\"medium\"\n [ngDocTooltip]=\"apiReference.type\">\n </ng-doc-kind-icon>\n {{ apiReference.name }}\n </a>\n </li>\n </ul>\n </div>\n </div>\n</div>\n", styles: [":host h1{margin-top:0}:host .ng-doc-filter-list{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--ng-doc-base-gutter);list-style:none;padding:0}@container api-list-wrapper (max-width: 775px){:host .ng-doc-filter-list{grid-template-columns:repeat(4,1fr)}}@container api-list-wrapper (max-width: 600px){:host .ng-doc-filter-list{grid-template-columns:repeat(3,1fr)}}@container api-list-wrapper (max-width: 500px){:host .ng-doc-filter-list{grid-template-columns:repeat(2,1fr)}}@container api-list-wrapper (max-width: 350px){:host .ng-doc-filter-list{grid-template-columns:repeat(1,1fr)}}:host .ng-doc-filter-list .ng-doc-filter-button{justify-content:flex-start;text-wrap:nowrap;width:100%}:host .ng-doc-filter-list .ng-doc-filter-button ng-doc-kind-icon{margin-right:var(--ng-doc-base-gutter)}:host .ng-doc-api-list-filter-input{max-width:450px}:host .ng-doc-api-list-wrapper{container:api-list-wrapper/inline-size}:host .ng-doc-api-list-wrapper .ng-doc-api-filter{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 3);flex-wrap:wrap;gap:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-filter .ng-doc-api-filter-item{width:200px}:host .ng-doc-api-list-wrapper .ng-doc-api-list{margin-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope{display:flex;flex-direction:column}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items{margin-top:calc(var(--ng-doc-base-gutter) * 3);list-style:none;padding:0}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item{float:left;width:33%;overflow:hidden;min-width:330px;text-overflow:ellipsis;white-space:nowrap}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link{display:flex;align-items:center;border-left:1px solid var(--ng-doc-border-color);padding:var(--ng-doc-base-gutter);color:var(--ng-doc-text);background:color-mix(in srgb,var(--ng-doc-scope-item-link-background),transparent 90%);text-decoration:none}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link:hover{color:var(--ng-doc-heading-color);border-left-color:var(--ng-doc-primary);--ng-doc-scope-item-link-background: var(--ng-doc-primary)}:host .ng-doc-api-list-wrapper .ng-doc-api-list .ng-doc-api-scope .ng-doc-scope-items .ng-doc-scope-item .ng-doc-scope-item-link ng-doc-kind-icon{margin-right:var(--ng-doc-base-gutter);text-decoration:none!important}:host ng-doc-input-wrapper ng-doc-icon{--ng-doc-icon-color: var(--ng-doc-text-muted)}\n"] }]
91
+ }], ctorParameters: () => [] });
109
92
 
110
93
  /**
111
94
  * Generated bundle index. Do not edit.