@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
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-services-sidebar.mjs","sources":["../../../../libs/app/services/sidebar/sidebar.service.ts","../../../../libs/app/services/sidebar/ng-doc-app-services-sidebar.ts"],"sourcesContent":["import {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';\nimport {DOCUMENT} from '@angular/common';\nimport {Inject, Injectable} from '@angular/core';\nimport {Event, NavigationEnd, Router} from '@angular/router';\nimport {NgDocScrollService} from '@ng-doc/ui-kit/services/scroll';\nimport {UntilDestroy, untilDestroyed} from '@ngneat/until-destroy';\nimport {BehaviorSubject, combineLatest, Observable} from 'rxjs';\nimport {debounceTime, distinctUntilChanged, filter, pluck} from 'rxjs/operators';\n\n/**\n * Service for sidebar, it can be used to hide/show sidebar or to check if sidebar is collapsable.\n */\n@Injectable({\n\tprovidedIn: 'root',\n})\n@UntilDestroy()\nexport class NgDocSidebarService {\n\treadonly breakpoints: string[] = [Breakpoints.XSmall, Breakpoints.Small];\n\tprotected readonly observer: Observable<boolean>;\n\tprotected readonly expanded: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(true);\n\n\tconstructor(\n\t\t@Inject(DOCUMENT)\n\t\tprotected readonly document: Document,\n\t\tprotected readonly breakpointObserver: BreakpointObserver,\n\t\tprotected readonly router: Router,\n\t\tprotected readonly scroll: NgDocScrollService,\n\t) {\n\t\tthis.observer = this.breakpointObserver\n\t\t\t.observe(this.breakpoints)\n\t\t\t.pipe(pluck('matches'), distinctUntilChanged(), untilDestroyed(this));\n\n\t\tcombineLatest([this.router.events, this.isMobileMode()])\n\t\t\t.pipe(\n\t\t\t\tfilter(\n\t\t\t\t\t([event, isMobileMode]: [Event, boolean]) =>\n\t\t\t\t\t\tevent instanceof NavigationEnd && this.expanded.value && isMobileMode,\n\t\t\t\t),\n\t\t\t\tdebounceTime(10),\n\t\t\t)\n\t\t\t.subscribe(() => this.hide());\n\n\t\tthis.isMobileMode()\n\t\t\t.pipe(untilDestroyed(this))\n\t\t\t.subscribe((isMobileMode: boolean) => {\n\t\t\t\tif (isMobileMode) {\n\t\t\t\t\tthis.hide();\n\t\t\t\t} else {\n\t\t\t\t\tthis.show();\n\t\t\t\t\tthis.scroll.unblock();\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\t/**\n\t * Indicates if sidebar is collapsable, based on the screen size.\n\t */\n\tisMobileMode(): Observable<boolean> {\n\t\treturn this.observer;\n\t}\n\n\t/**\n\t * Indicates if sidebar is visible, based on the show/hide methods.\n\t */\n\tisExpanded(): Observable<boolean> {\n\t\treturn this.expanded.asObservable();\n\t}\n\n\t/**\n\t * Show sidebar, and block scrolling.\n\t */\n\tshow(): void {\n\t\tif (!this.expanded.value) {\n\t\t\tthis.expanded.next(true);\n\t\t\tthis.scroll.block();\n\t\t}\n\t}\n\n\t/**\n\t * Hide sidebar, and unblock scrolling.\n\t */\n\thide(): void {\n\t\tif (this.expanded.value) {\n\t\t\tthis.expanded.next(false);\n\t\t\tthis.scroll.unblock();\n\t\t}\n\t}\n\n\t/**\n\t * Toggle sidebar visibility.\n\t */\n\ttoggle(): void {\n\t\tthis.expanded.value ? this.hide() : this.show();\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-doc-app-services-sidebar.mjs","sources":["../../../../libs/app/services/sidebar/sidebar.service.ts","../../../../libs/app/services/sidebar/ng-doc-app-services-sidebar.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { inject, Injectable } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { ngDocZoneOptimize } from '@ng-doc/ui-kit';\nimport { NgDocScrollService } from '@ng-doc/ui-kit/services/scroll';\nimport { WINDOW } from '@ng-web-apis/common';\nimport { UntilDestroy } from '@ngneat/until-destroy';\nimport { BehaviorSubject, fromEvent, Observable, share } from 'rxjs';\nimport { filter, startWith } from 'rxjs/operators';\n\n/**\n * Service for sidebar, it can be used to hide/show sidebar or to check if sidebar is collapsable.\n */\n@Injectable({\n providedIn: 'root',\n})\n@UntilDestroy()\nexport class NgDocSidebarService {\n protected readonly expanded = new BehaviorSubject<boolean>(false);\n protected readonly document = inject(DOCUMENT);\n protected readonly window = inject(WINDOW);\n protected readonly router = inject(Router);\n protected readonly scroll = inject(NgDocScrollService);\n\n constructor() {\n const windowResize = fromEvent(this.window, 'resize').pipe(\n takeUntilDestroyed(),\n startWith(null),\n share(),\n );\n\n windowResize\n .pipe(\n filter(() => this.expanded.value && this.isMobile),\n ngDocZoneOptimize(),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.hide());\n\n windowResize\n .pipe(\n filter(() => !this.expanded.value && !this.isMobile),\n ngDocZoneOptimize(),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.show());\n\n windowResize\n .pipe(\n filter(() => this.expanded.value && !this.isMobile),\n ngDocZoneOptimize(),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.scroll.unblock());\n\n this.router.events\n .pipe(\n filter((event) => event instanceof NavigationEnd && this.expanded.value && this.isMobile),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.hide());\n }\n\n get isMobile(): boolean {\n return this.window.innerWidth < 1024;\n }\n\n /**\n * Indicates if sidebar is visible, based on the show/hide methods.\n */\n isExpanded(): Observable<boolean> {\n return this.expanded.asObservable();\n }\n\n /**\n * Show sidebar, and block scrolling.\n */\n show(): void {\n if (!this.expanded.value) {\n this.expanded.next(true);\n this.isMobile && this.scroll.block();\n }\n }\n\n /**\n * Hide sidebar, and unblock scrolling.\n */\n hide(): void {\n if (this.expanded.value) {\n this.expanded.next(false);\n this.isMobile && this.scroll.unblock();\n }\n }\n\n /**\n * Toggle sidebar visibility.\n */\n toggle(): void {\n this.expanded.value ? this.hide() : this.show();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -15,10 +15,10 @@ class NgDocStoreService {
15
15
  ? deserialize(this.localStorage.getItem(key))
16
16
  : this.localStorage.getItem(key);
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocStoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
19
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocStoreService, providedIn: 'root' }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocStoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
19
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocStoreService, providedIn: 'root' }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocStoreService, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocStoreService, decorators: [{
22
22
  type: Injectable,
23
23
  args: [{
24
24
  providedIn: 'root',
@@ -1,151 +1,52 @@
1
- import { __decorate, __metadata } from 'tslib';
1
+ import { __decorate } from 'tslib';
2
2
  import { DOCUMENT } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { afterNextRender, Injectable, Inject } from '@angular/core';
4
+ import { inject, Injectable } from '@angular/core';
5
5
  import { NG_DOC_STORE_THEME_KEY } from '@ng-doc/app/constants';
6
- import * as i1 from '@ng-doc/app/services/store';
7
6
  import { NgDocStoreService } from '@ng-doc/app/services/store';
8
- import { NG_DOC_THEME } from '@ng-doc/app/tokens';
9
- import { isBrowser } from '@ng-doc/core';
10
- import { WINDOW } from '@ng-web-apis/common';
11
- import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
12
- import { Subject, fromEvent } from 'rxjs';
7
+ import { UntilDestroy } from '@ngneat/until-destroy';
8
+ import { Subject } from 'rxjs';
13
9
 
14
- var NgDocThemeService_1;
15
10
  /**
16
11
  * Service for managing themes.
17
12
  */
18
13
  let NgDocThemeService = class NgDocThemeService {
19
- static { NgDocThemeService_1 = this; }
20
- static { this.autoThemeId = 'ng-doc-auto'; }
21
- constructor(window, document, themes, store) {
22
- this.window = window;
23
- this.document = document;
24
- this.themes = themes;
25
- this.store = store;
26
- this.theme = undefined;
27
- this.theme$ = new Subject();
28
- this.autoTheme = undefined;
29
- afterNextRender(() => {
30
- fromEvent(this.window.matchMedia('(prefers-color-scheme: dark)'), 'change')
31
- .pipe(untilDestroyed(this))
32
- .subscribe(() => this.setAutoTheme());
33
- });
14
+ constructor() {
15
+ this.document = inject(DOCUMENT);
16
+ this.store = inject(NgDocStoreService);
17
+ this.change$ = new Subject();
18
+ this.documentElement = this.document.documentElement;
34
19
  }
35
20
  /**
36
21
  * Returns the current theme.
37
22
  */
38
23
  get currentTheme() {
39
- return this.theme;
24
+ return document.documentElement.getAttribute('data-theme');
40
25
  }
41
- /**
42
- * Returns whether automatic theme switching based on the user's operating system settings is enabled.
43
- */
44
- get isAutoThemeEnabled() {
45
- return this.autoTheme !== undefined;
46
- }
47
- /**
48
- * Enables automatic theme switching based on the user's operating system settings.
49
- * @param light - Theme for light mode.
50
- * @param dark - Theme for dark mode.
51
- */
52
- async enableAutoTheme(light, dark) {
53
- this.autoTheme = [light, dark];
54
- return this.setAutoTheme();
55
- }
56
- /**
57
- * Disables automatic theme switching based on the user's operating system settings.
58
- */
59
- async disableAutoTheme() {
60
- this.autoTheme = undefined;
61
- return this.set(this.store.get(NG_DOC_STORE_THEME_KEY) ?? undefined);
26
+ themeChanges() {
27
+ return this.change$.asObservable();
62
28
  }
63
29
  /**
64
30
  * Sets the theme by id.
65
- * @param id - Theme id.
66
- * @param save - Whether to save the theme in the store to restore it when the page is reloaded. (`true` by default)
31
+ * @param id - Theme id. If not provided, the theme will be removed.
67
32
  */
68
- async set(id, save = true) {
69
- this.removeLink();
70
- if (save) {
71
- this.autoTheme = undefined;
72
- }
73
- if (id && id !== 'ng-doc-day') {
74
- const theme = this.themes.find((theme) => theme.id === id);
75
- if (!theme) {
76
- console.warn(`Theme with id "${id}" is not registered. Make sure that you registered it in the root of your application.`);
77
- return;
78
- }
79
- this.createLinkIfNoExists();
80
- if (this.linkElement) {
81
- this.linkElement.href = theme.path;
82
- save && this.store.set(NG_DOC_STORE_THEME_KEY, theme.id);
83
- this.theme = theme;
84
- return new Promise((resolve, reject) => {
85
- if (this.linkElement) {
86
- this.linkElement.onload = () => {
87
- this.theme$.next(theme);
88
- resolve();
89
- };
90
- this.linkElement.onerror = reject;
91
- }
92
- });
93
- }
94
- }
95
- save && this.store.set(NG_DOC_STORE_THEME_KEY, 'ng-doc-day');
96
- this.theme$.next(undefined);
97
- return Promise.resolve();
98
- }
99
- /**
100
- * Returns an observable that emits when the theme changes.
101
- */
102
- themeChanges() {
103
- return this.theme$.asObservable();
104
- }
105
- removeLink() {
106
- this.theme = undefined;
107
- this.linkElement?.remove();
108
- this.linkElement = undefined;
109
- }
110
- createLinkIfNoExists() {
111
- if (!this.linkElement) {
112
- this.linkElement = this.document.createElement('link');
113
- this.linkElement.setAttribute('rel', 'stylesheet');
114
- this.linkElement.setAttribute('type', 'text/css');
115
- this.document.getElementsByTagName('head')[0].appendChild(this.linkElement);
116
- }
117
- }
118
- async setAutoTheme() {
119
- if (this.autoTheme !== undefined && isBrowser) {
120
- const isDark = this.window.matchMedia('(prefers-color-scheme: dark)').matches;
121
- const [light, dark] = this.autoTheme;
122
- this.store.set(NG_DOC_STORE_THEME_KEY, NgDocThemeService_1.autoThemeId);
123
- return this.set(isDark ? dark?.id : light?.id, false);
124
- }
125
- }
126
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocThemeService, deps: [{ token: WINDOW }, { token: DOCUMENT }, { token: NG_DOC_THEME }, { token: i1.NgDocStoreService }], target: i0.ɵɵFactoryTarget.Injectable }); }
127
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocThemeService, providedIn: 'root' }); }
33
+ set(id) {
34
+ id
35
+ ? this.documentElement.setAttribute('data-theme', id)
36
+ : this.documentElement.removeAttribute('data-theme');
37
+ this.store.set(NG_DOC_STORE_THEME_KEY, id ?? '');
38
+ this.change$.next(id ?? null);
39
+ }
40
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
41
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocThemeService, providedIn: 'root' }); }
128
42
  };
129
- NgDocThemeService = NgDocThemeService_1 = __decorate([
130
- UntilDestroy(),
131
- __metadata("design:paramtypes", [Window,
132
- Document, Array, NgDocStoreService])
43
+ NgDocThemeService = __decorate([
44
+ UntilDestroy()
133
45
  ], NgDocThemeService);
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocThemeService, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocThemeService, decorators: [{
135
47
  type: Injectable,
136
- args: [{
137
- providedIn: 'root',
138
- }]
139
- }], ctorParameters: () => [{ type: Window, decorators: [{
140
- type: Inject,
141
- args: [WINDOW]
142
- }] }, { type: Document, decorators: [{
143
- type: Inject,
144
- args: [DOCUMENT]
145
- }] }, { type: undefined, decorators: [{
146
- type: Inject,
147
- args: [NG_DOC_THEME]
148
- }] }, { type: i1.NgDocStoreService }] });
48
+ args: [{ providedIn: 'root' }]
49
+ }] });
149
50
 
150
51
  /**
151
52
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-services-theme.mjs","sources":["../../../../libs/app/services/theme/theme.service.ts","../../../../libs/app/services/theme/ng-doc-app-services-theme.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { afterNextRender, Inject, Injectable } from '@angular/core';\nimport { NG_DOC_STORE_THEME_KEY } from '@ng-doc/app/constants';\nimport { NgDocTheme } from '@ng-doc/app/interfaces';\nimport { NgDocStoreService } from '@ng-doc/app/services/store';\nimport { NG_DOC_THEME } from '@ng-doc/app/tokens';\nimport { isBrowser } from '@ng-doc/core';\nimport { WINDOW } from '@ng-web-apis/common';\nimport { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';\nimport { fromEvent, Observable, Subject } from 'rxjs';\n\n/**\n * Service for managing themes.\n */\n@Injectable({\n\tprovidedIn: 'root',\n})\n@UntilDestroy()\nexport class NgDocThemeService {\n\tstatic readonly autoThemeId: string = 'ng-doc-auto';\n\n\tprivate linkElement?: HTMLLinkElement;\n\tprivate theme: NgDocTheme | undefined = undefined;\n\tprivate readonly theme$: Subject<NgDocTheme | undefined> = new Subject<NgDocTheme | undefined>();\n\tprivate autoTheme: [NgDocTheme | undefined, NgDocTheme | undefined] | undefined = undefined;\n\n\tconstructor(\n\t\t@Inject(WINDOW)\n\t\tprivate readonly window: Window,\n\t\t@Inject(DOCUMENT)\n\t\tprivate readonly document: Document,\n\t\t@Inject(NG_DOC_THEME)\n\t\tprivate readonly themes: NgDocTheme[],\n\t\tprivate readonly store: NgDocStoreService,\n\t) {\n\t\tafterNextRender(() => {\n\t\t\tfromEvent<MediaQueryList>(this.window.matchMedia('(prefers-color-scheme: dark)'), 'change')\n\t\t\t\t.pipe(untilDestroyed(this))\n\t\t\t\t.subscribe(() => this.setAutoTheme());\n\t\t});\n\t}\n\n\t/**\n\t * Returns the current theme.\n\t */\n\tget currentTheme(): NgDocTheme | undefined {\n\t\treturn this.theme;\n\t}\n\n\t/**\n\t * Returns whether automatic theme switching based on the user's operating system settings is enabled.\n\t */\n\tget isAutoThemeEnabled(): boolean {\n\t\treturn this.autoTheme !== undefined;\n\t}\n\n\t/**\n\t * Enables automatic theme switching based on the user's operating system settings.\n\t * @param light - Theme for light mode.\n\t * @param dark - Theme for dark mode.\n\t */\n\tasync enableAutoTheme(\n\t\tlight: NgDocTheme | undefined,\n\t\tdark: NgDocTheme | undefined,\n\t): Promise<void> {\n\t\tthis.autoTheme = [light, dark];\n\n\t\treturn this.setAutoTheme();\n\t}\n\n\t/**\n\t * Disables automatic theme switching based on the user's operating system settings.\n\t */\n\tasync disableAutoTheme(): Promise<void> {\n\t\tthis.autoTheme = undefined;\n\n\t\treturn this.set(this.store.get(NG_DOC_STORE_THEME_KEY) ?? undefined);\n\t}\n\n\t/**\n\t * Sets the theme by id.\n\t * @param id - Theme id.\n\t * @param save - Whether to save the theme in the store to restore it when the page is reloaded. (`true` by default)\n\t */\n\tasync set(id?: string, save: boolean = true): Promise<void> {\n\t\tthis.removeLink();\n\n\t\tif (save) {\n\t\t\tthis.autoTheme = undefined;\n\t\t}\n\n\t\tif (id && id !== 'ng-doc-day') {\n\t\t\tconst theme: NgDocTheme | undefined = this.themes.find(\n\t\t\t\t(theme: NgDocTheme) => theme.id === id,\n\t\t\t);\n\n\t\t\tif (!theme) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`Theme with id \"${id}\" is not registered. Make sure that you registered it in the root of your application.`,\n\t\t\t\t);\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.createLinkIfNoExists();\n\n\t\t\tif (this.linkElement) {\n\t\t\t\tthis.linkElement.href = theme.path;\n\t\t\t\tsave && this.store.set(NG_DOC_STORE_THEME_KEY, theme.id);\n\t\t\t\tthis.theme = theme;\n\n\t\t\t\treturn new Promise<void>((resolve: () => void, reject: (err: Event | string) => void) => {\n\t\t\t\t\tif (this.linkElement) {\n\t\t\t\t\t\tthis.linkElement.onload = () => {\n\t\t\t\t\t\t\tthis.theme$.next(theme);\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t};\n\t\t\t\t\t\tthis.linkElement.onerror = reject;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tsave && this.store.set(NG_DOC_STORE_THEME_KEY, 'ng-doc-day');\n\n\t\tthis.theme$.next(undefined);\n\n\t\treturn Promise.resolve();\n\t}\n\n\t/**\n\t * Returns an observable that emits when the theme changes.\n\t */\n\tthemeChanges(): Observable<NgDocTheme | undefined> {\n\t\treturn this.theme$.asObservable();\n\t}\n\n\tprivate removeLink(): void {\n\t\tthis.theme = undefined;\n\t\tthis.linkElement?.remove();\n\t\tthis.linkElement = undefined;\n\t}\n\n\tprivate createLinkIfNoExists(): void {\n\t\tif (!this.linkElement) {\n\t\t\tthis.linkElement = this.document.createElement('link');\n\t\t\tthis.linkElement.setAttribute('rel', 'stylesheet');\n\t\t\tthis.linkElement.setAttribute('type', 'text/css');\n\t\t\tthis.document.getElementsByTagName('head')[0].appendChild(this.linkElement);\n\t\t}\n\t}\n\n\tprivate async setAutoTheme(): Promise<void> {\n\t\tif (this.autoTheme !== undefined && isBrowser) {\n\t\t\tconst isDark: boolean = this.window.matchMedia('(prefers-color-scheme: dark)').matches;\n\t\t\tconst [light, dark] = this.autoTheme;\n\t\t\tthis.store.set(NG_DOC_STORE_THEME_KEY, NgDocThemeService.autoThemeId);\n\n\t\t\treturn this.set(isDark ? dark?.id : light?.id, false);\n\t\t}\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-doc-app-services-theme.mjs","sources":["../../../../libs/app/services/theme/theme.service.ts","../../../../libs/app/services/theme/ng-doc-app-services-theme.ts"],"sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport { inject, Injectable } from '@angular/core';\nimport { NG_DOC_STORE_THEME_KEY } from '@ng-doc/app/constants';\nimport { NgDocStoreService } from '@ng-doc/app/services/store';\nimport { UntilDestroy } from '@ngneat/until-destroy';\nimport { Observable, Subject } from 'rxjs';\n\n/**\n * Service for managing themes.\n */\n@Injectable({ providedIn: 'root' })\n@UntilDestroy()\nexport class NgDocThemeService {\n protected readonly document = inject(DOCUMENT);\n protected readonly store = inject(NgDocStoreService);\n protected readonly change$ = new Subject<string | null>();\n protected readonly documentElement = this.document.documentElement;\n\n /**\n * Returns the current theme.\n */\n get currentTheme(): string | null {\n return document.documentElement.getAttribute('data-theme');\n }\n\n themeChanges(): Observable<string | null> {\n return this.change$.asObservable();\n }\n\n /**\n * Sets the theme by id.\n * @param id - Theme id. If not provided, the theme will be removed.\n */\n set(id?: string): void {\n id\n ? this.documentElement.setAttribute('data-theme', id)\n : this.documentElement.removeAttribute('data-theme');\n\n this.store.set(NG_DOC_STORE_THEME_KEY, id ?? '');\n this.change$.next(id ?? null);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAOA;;AAEG;AAGU,IAAA,iBAAiB,GAAvB,MAAM,iBAAiB,CAAA;AAAvB,IAAA,WAAA,GAAA;AACc,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC5B,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAClC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAiB,CAAC;AACvC,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;AAyBpE,KAAA;AAvBC;;AAEG;AACH,IAAA,IAAI,YAAY,GAAA;QACd,OAAO,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;KAC5D;IAED,YAAY,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;KACpC;AAED;;;AAGG;AACH,IAAA,GAAG,CAAC,EAAW,EAAA;QACb,EAAE;cACE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,CAAC;cACnD,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAEvD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;KAC/B;8GA5BU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFJ,MAAM,EAAA,CAAA,CAAA,EAAA;;AAEnB,iBAAiB,GAAA,UAAA,CAAA;AAD7B,IAAA,YAAY,EAAE;AACF,CAAA,EAAA,iBAAiB,CA6B7B,CAAA;2FA7BY,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAF7B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ACVlC;;AAEG;;;;"}
@@ -1,6 +1,6 @@
1
+ export * from '@ng-doc/app/services/highlighter';
1
2
  export * from '@ng-doc/app/services/sidebar';
2
3
  export * from '@ng-doc/app/services/store';
3
- export * from '@ng-doc/app/services/theme';
4
4
 
5
5
  /**
6
6
  * Generated bundle index. Do not edit.
@@ -1,10 +1,10 @@
1
1
  import { InjectionToken } from '@angular/core';
2
- import { asArray } from '@ng-doc/core';
3
-
4
- const NG_DOC_API_LIST_TOKEN = new InjectionToken('API_LIST_TOKEN');
2
+ import { asArray } from '@ng-doc/core/helpers/as-array';
5
3
 
6
4
  const NG_DOC_CONTEXT = new InjectionToken('NG_DOC_CONTEXT');
7
5
 
6
+ const NG_DOC_MERMAID = new InjectionToken('NG_DOC_MERMAID');
7
+
8
8
  const NG_DOC_PAGE_PROCESSOR = new InjectionToken('NG_DOC_PAGE_PROCESSOR');
9
9
  const NG_DOC_PAGE_CUSTOM_PROCESSOR = new InjectionToken('NG_DOC_PAGE_CUSTOM_PROCESSOR');
10
10
  /**
@@ -33,6 +33,10 @@ function providePageProcessor(processors) {
33
33
 
34
34
  const NG_DOC_PAGE_SKELETON = new InjectionToken('NG_DOC_PAGE_SKELETON');
35
35
 
36
+ const NG_DOC_ROUTE_PREFIX = new InjectionToken('NG_DOC_ROUTE_PREFIX');
37
+
38
+ const NG_DOC_SHIKI_THEME = new InjectionToken('NG_DOC_SHIKI_THEME');
39
+
36
40
  /**
37
41
  * Token that can be used to provide custom theme.
38
42
  * You must compile your theme to CSS and add it to `assets` so that NgDoc can load it dynamically.
@@ -66,5 +70,5 @@ const NG_DOC_TYPE_CONTROL = new InjectionToken('NG_DOC_TYPE_CONTROL');
66
70
  * Generated bundle index. Do not edit.
67
71
  */
68
72
 
69
- export { NG_DOC_API_LIST_TOKEN, NG_DOC_CONTEXT, NG_DOC_DEFAULT_THEME_ID, NG_DOC_PAGE_CUSTOM_PROCESSOR, NG_DOC_PAGE_PROCESSOR, NG_DOC_PAGE_SKELETON, NG_DOC_THEME, NG_DOC_TYPE_CONTROL, provideMainPageProcessor, providePageProcessor };
73
+ export { NG_DOC_CONTEXT, NG_DOC_DEFAULT_THEME_ID, NG_DOC_MERMAID, NG_DOC_PAGE_CUSTOM_PROCESSOR, NG_DOC_PAGE_PROCESSOR, NG_DOC_PAGE_SKELETON, NG_DOC_ROUTE_PREFIX, NG_DOC_SHIKI_THEME, NG_DOC_THEME, NG_DOC_TYPE_CONTROL, provideMainPageProcessor, providePageProcessor };
70
74
  //# sourceMappingURL=ng-doc-app-tokens.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-tokens.mjs","sources":["../../../../libs/app/tokens/api-list.ts","../../../../libs/app/tokens/context.ts","../../../../libs/app/tokens/page-processor.ts","../../../../libs/app/tokens/page-skeleton.ts","../../../../libs/app/tokens/theme.ts","../../../../libs/app/tokens/type-control.ts","../../../../libs/app/tokens/ng-doc-app-tokens.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { NgDocApiList } from '@ng-doc/core/interfaces';\n\nexport const NG_DOC_API_LIST_TOKEN: InjectionToken<NgDocApiList[]> = new InjectionToken<\n\tNgDocApiList[]\n>('API_LIST_TOKEN');\n","import { InjectionToken } from '@angular/core';\nimport { NgDocContext } from '@ng-doc/app/interfaces';\n\nexport const NG_DOC_CONTEXT: InjectionToken<NgDocContext> = new InjectionToken<NgDocContext>(\n\t'NG_DOC_CONTEXT',\n);\n","import { InjectionToken, Provider } from '@angular/core';\nimport { NgDocPageProcessor } from '@ng-doc/app/interfaces';\nimport { asArray } from '@ng-doc/core';\n\nexport const NG_DOC_PAGE_PROCESSOR: InjectionToken<NgDocPageProcessor<unknown>> =\n\tnew InjectionToken<NgDocPageProcessor<unknown>>('NG_DOC_PAGE_PROCESSOR');\nexport const NG_DOC_PAGE_CUSTOM_PROCESSOR: InjectionToken<NgDocPageProcessor<unknown>> =\n\tnew InjectionToken<NgDocPageProcessor<unknown>>('NG_DOC_PAGE_CUSTOM_PROCESSOR');\n\n/**\n * Provide a main processor to replace html nodes with an Angular component.\n * Main processors are run before custom processors.\n * @param processors - The processor to provide.\n */\nexport function provideMainPageProcessor<T>(\n\tprocessors: NgDocPageProcessor<T> | Array<NgDocPageProcessor<T>>,\n): Provider[] {\n\treturn asArray(processors).map((processor) => ({\n\t\tprovide: NG_DOC_PAGE_PROCESSOR,\n\t\tuseValue: processor,\n\t\tmulti: true,\n\t}));\n}\n\n/**\n * Provide a processor to replace html nodes with an Angular component.\n * @param processors - The processor to provide.\n */\nexport function providePageProcessor<T>(\n\tprocessors: NgDocPageProcessor<T> | Array<NgDocPageProcessor<T>>,\n): Provider[] {\n\treturn asArray(processors).map((processor) => ({\n\t\tprovide: NG_DOC_PAGE_CUSTOM_PROCESSOR,\n\t\tuseValue: processor,\n\t\tmulti: true,\n\t}));\n}\n","import { InjectionToken } from '@angular/core';\nimport { NgDocPageSkeleton } from '@ng-doc/app/interfaces';\n\nexport const NG_DOC_PAGE_SKELETON: InjectionToken<NgDocPageSkeleton> =\n\tnew InjectionToken<NgDocPageSkeleton>('NG_DOC_PAGE_SKELETON');\n","import { InjectionToken } from '@angular/core';\nimport { NgDocTheme } from '@ng-doc/app/interfaces';\n\n/**\n * Token that can be used to provide custom theme.\n * You must compile your theme to CSS and add it to `assets` so that NgDoc can load it dynamically.\n *\n * You always should provide custom themes in root of your application with `multi: true` parameter.\n *\n * For example\n * ```typescript\n * @NgModule({\n * declarations: [AppComponent],\n * imports: [],\n * providers: [\n * {provide: NG_DOC_THEME, useValue: {id: 'CustomTheme', path: '/assets/themes/custom.css'}, multi: true}\n * ],\n * bootstrap: [AppComponent],\n * })\n * export class AppModule {}\n * ```\n */\nexport const NG_DOC_THEME: InjectionToken<NgDocTheme> = new InjectionToken<NgDocTheme>(\n\t`NG_DOC_THEME`,\n);\n\n/**\n * Default theme for application if user didn't change it manually.\n *\n * You can provide this token in the root of you application, to set theme by default.\n */\nexport const NG_DOC_DEFAULT_THEME_ID: InjectionToken<string> = new InjectionToken<string>(\n\t`NG_DOC_DEFAULT_THEME`,\n);\n","import { InjectionToken } from '@angular/core';\nimport { NgDocTypeControl } from '@ng-doc/app/interfaces';\n\nexport const NG_DOC_TYPE_CONTROL: InjectionToken<NgDocTypeControl> =\n\tnew InjectionToken<NgDocTypeControl>('NG_DOC_TYPE_CONTROL');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAGa,qBAAqB,GAAmC,IAAI,cAAc,CAErF,gBAAgB;;MCFL,cAAc,GAAiC,IAAI,cAAc,CAC7E,gBAAgB;;MCAJ,qBAAqB,GACjC,IAAI,cAAc,CAA8B,uBAAuB,EAAE;MAC7D,4BAA4B,GACxC,IAAI,cAAc,CAA8B,8BAA8B,EAAE;AAEjF;;;;AAIG;AACG,SAAU,wBAAwB,CACvC,UAAgE,EAAA;AAEhE,IAAA,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM;AAC9C,QAAA,OAAO,EAAE,qBAAqB;AAC9B,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,KAAK,EAAE,IAAI;AACX,KAAA,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;AAGG;AACG,SAAU,oBAAoB,CACnC,UAAgE,EAAA;AAEhE,IAAA,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM;AAC9C,QAAA,OAAO,EAAE,4BAA4B;AACrC,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,KAAK,EAAE,IAAI;AACX,KAAA,CAAC,CAAC,CAAC;AACL;;MCjCa,oBAAoB,GAChC,IAAI,cAAc,CAAoB,sBAAsB;;ACD7D;;;;;;;;;;;;;;;;;;AAkBG;MACU,YAAY,GAA+B,IAAI,cAAc,CACzE,CAAc,YAAA,CAAA,EACb;AAEF;;;;AAIG;MACU,uBAAuB,GAA2B,IAAI,cAAc,CAChF,CAAsB,oBAAA,CAAA;;MC7BV,mBAAmB,GAC/B,IAAI,cAAc,CAAmB,qBAAqB;;ACJ3D;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-tokens.mjs","sources":["../../../../libs/app/tokens/context.ts","../../../../libs/app/tokens/mermaid.ts","../../../../libs/app/tokens/page-processor.ts","../../../../libs/app/tokens/page-skeleton.ts","../../../../libs/app/tokens/route-prefix.ts","../../../../libs/app/tokens/shiki-theme.ts","../../../../libs/app/tokens/theme.ts","../../../../libs/app/tokens/type-control.ts","../../../../libs/app/tokens/ng-doc-app-tokens.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { NgDocContext } from '@ng-doc/app/interfaces';\n\nexport const NG_DOC_CONTEXT: InjectionToken<NgDocContext> = new InjectionToken<NgDocContext>(\n\t'NG_DOC_CONTEXT',\n);\n","import { InjectionToken } from '@angular/core';\nimport type { Mermaid } from 'mermaid';\n\nexport const NG_DOC_MERMAID = new InjectionToken<Mermaid>('NG_DOC_MERMAID');\n","import { InjectionToken, Provider } from '@angular/core';\nimport { NgDocPageProcessor } from '@ng-doc/app/interfaces';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\n\nexport const NG_DOC_PAGE_PROCESSOR: InjectionToken<NgDocPageProcessor<unknown>> =\n new InjectionToken<NgDocPageProcessor<unknown>>('NG_DOC_PAGE_PROCESSOR');\nexport const NG_DOC_PAGE_CUSTOM_PROCESSOR: InjectionToken<NgDocPageProcessor<unknown>> =\n new InjectionToken<NgDocPageProcessor<unknown>>('NG_DOC_PAGE_CUSTOM_PROCESSOR');\n\n/**\n * Provide a main processor to replace html nodes with an Angular component.\n * Main processors are run before custom processors.\n * @param processors - The processor to provide.\n */\nexport function provideMainPageProcessor(\n processors: NgDocPageProcessor<unknown> | Array<NgDocPageProcessor<unknown>>,\n): Provider[] {\n return asArray(processors).map((processor) => ({\n provide: NG_DOC_PAGE_PROCESSOR,\n useValue: processor,\n multi: true,\n }));\n}\n\n/**\n * Provide a processor to replace html nodes with an Angular component.\n * @param processors - The processor to provide.\n */\nexport function providePageProcessor<T>(\n processors: NgDocPageProcessor<T> | Array<NgDocPageProcessor<T>>,\n): Provider[] {\n return asArray(processors).map((processor) => ({\n provide: NG_DOC_PAGE_CUSTOM_PROCESSOR,\n useValue: processor,\n multi: true,\n }));\n}\n","import { InjectionToken } from '@angular/core';\nimport { NgDocPageSkeleton } from '@ng-doc/app/interfaces';\n\nexport const NG_DOC_PAGE_SKELETON: InjectionToken<NgDocPageSkeleton> =\n\tnew InjectionToken<NgDocPageSkeleton>('NG_DOC_PAGE_SKELETON');\n","import { InjectionToken } from '@angular/core';\n\nexport const NG_DOC_ROUTE_PREFIX = new InjectionToken<string>('NG_DOC_ROUTE_PREFIX');\n","import { InjectionToken } from '@angular/core';\n\nexport interface NgDocShikiTheme {\n light: string;\n dark: string;\n}\n\nexport const NG_DOC_SHIKI_THEME = new InjectionToken<NgDocShikiTheme>('NG_DOC_SHIKI_THEME');\n","import { InjectionToken } from '@angular/core';\nimport { NgDocTheme } from '@ng-doc/app/interfaces';\n\n/**\n * Token that can be used to provide custom theme.\n * You must compile your theme to CSS and add it to `assets` so that NgDoc can load it dynamically.\n *\n * You always should provide custom themes in root of your application with `multi: true` parameter.\n *\n * For example\n * ```typescript\n * @NgModule({\n * declarations: [AppComponent],\n * imports: [],\n * providers: [\n * {provide: NG_DOC_THEME, useValue: {id: 'CustomTheme', path: '/assets/themes/custom.css'}, multi: true}\n * ],\n * bootstrap: [AppComponent],\n * })\n * export class AppModule {}\n * ```\n */\nexport const NG_DOC_THEME: InjectionToken<NgDocTheme> = new InjectionToken<NgDocTheme>(\n\t`NG_DOC_THEME`,\n);\n\n/**\n * Default theme for application if user didn't change it manually.\n *\n * You can provide this token in the root of you application, to set theme by default.\n */\nexport const NG_DOC_DEFAULT_THEME_ID: InjectionToken<string> = new InjectionToken<string>(\n\t`NG_DOC_DEFAULT_THEME`,\n);\n","import { InjectionToken } from '@angular/core';\nimport { NgDocTypeControl } from '@ng-doc/app/interfaces';\n\nexport const NG_DOC_TYPE_CONTROL: InjectionToken<NgDocTypeControl> =\n\tnew InjectionToken<NgDocTypeControl>('NG_DOC_TYPE_CONTROL');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAGa,cAAc,GAAiC,IAAI,cAAc,CAC7E,gBAAgB;;MCDJ,cAAc,GAAG,IAAI,cAAc,CAAU,gBAAgB;;MCC7D,qBAAqB,GAChC,IAAI,cAAc,CAA8B,uBAAuB,EAAE;MAC9D,4BAA4B,GACvC,IAAI,cAAc,CAA8B,8BAA8B,EAAE;AAElF;;;;AAIG;AACG,SAAU,wBAAwB,CACtC,UAA4E,EAAA;AAE5E,IAAA,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM;AAC7C,QAAA,OAAO,EAAE,qBAAqB;AAC9B,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,KAAK,EAAE,IAAI;AACZ,KAAA,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;AAGG;AACG,SAAU,oBAAoB,CAClC,UAAgE,EAAA;AAEhE,IAAA,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,MAAM;AAC7C,QAAA,OAAO,EAAE,4BAA4B;AACrC,QAAA,QAAQ,EAAE,SAAS;AACnB,QAAA,KAAK,EAAE,IAAI;AACZ,KAAA,CAAC,CAAC,CAAC;AACN;;MCjCa,oBAAoB,GAChC,IAAI,cAAc,CAAoB,sBAAsB;;MCFhD,mBAAmB,GAAG,IAAI,cAAc,CAAS,qBAAqB;;MCKtE,kBAAkB,GAAG,IAAI,cAAc,CAAkB,oBAAoB;;ACJ1F;;;;;;;;;;;;;;;;;;AAkBG;MACU,YAAY,GAA+B,IAAI,cAAc,CACzE,CAAc,YAAA,CAAA,EACb;AAEF;;;;AAIG;MACU,uBAAuB,GAA2B,IAAI,cAAc,CAChF,CAAsB,oBAAA,CAAA;;MC7BV,mBAAmB,GAC/B,IAAI,cAAc,CAAmB,qBAAqB;;ACJ3D;;AAEG;;;;"}
@@ -16,10 +16,10 @@ class NgDocBooleanControlComponent extends DIControl {
16
16
  updateModel(obj) {
17
17
  super.updateModel(obj ? obj : !this.defaultValue ? this.defaultValue : false);
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocBooleanControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: NgDocBooleanControlComponent, isStandalone: true, selector: "ng-doc-boolean-control", providers: [provideHostControl(NgDocBooleanControlComponent)], usesInheritance: true, ngImport: i0, template: "<ng-doc-checkbox [ngDocTooltip]=\"tooltipTemplate\" [canOpen]=\"!!description\">\n\t{{ name }}\n\t<ng-template #tooltipTemplate>\n\t\t<div [innerHTML]=\"description | ngDocSanitizeHtml\"></div>\n\t</ng-template>\n</ng-doc-checkbox>\n", styles: [":host{display:inline-flex;width:100%}\n"], dependencies: [{ kind: "component", type: NgDocCheckboxComponent, selector: "ng-doc-checkbox", inputs: ["color"] }, { 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: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocBooleanControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: NgDocBooleanControlComponent, isStandalone: true, selector: "ng-doc-boolean-control", providers: [provideHostControl(NgDocBooleanControlComponent)], usesInheritance: true, ngImport: i0, template: "<ng-doc-checkbox [ngDocTooltip]=\"tooltipTemplate\" [canOpen]=\"!!description\">\n\t{{ name }}\n\t<ng-template #tooltipTemplate>\n\t\t<div [innerHTML]=\"description | ngDocSanitizeHtml\"></div>\n\t</ng-template>\n</ng-doc-checkbox>\n", styles: [":host{display:inline-flex;width:100%}\n"], dependencies: [{ kind: "component", type: NgDocCheckboxComponent, selector: "ng-doc-checkbox", inputs: ["color"] }, { 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: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocBooleanControlComponent, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocBooleanControlComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: 'ng-doc-boolean-control', providers: [provideHostControl(NgDocBooleanControlComponent)], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgDocCheckboxComponent, NgDocTooltipDirective, NgDocSanitizeHtmlPipe], template: "<ng-doc-checkbox [ngDocTooltip]=\"tooltipTemplate\" [canOpen]=\"!!description\">\n\t{{ name }}\n\t<ng-template #tooltipTemplate>\n\t\t<div [innerHTML]=\"description | ngDocSanitizeHtml\"></div>\n\t</ng-template>\n</ng-doc-checkbox>\n", styles: [":host{display:inline-flex;width:100%}\n"] }]
25
25
  }], ctorParameters: () => [] });
@@ -13,10 +13,10 @@ class NgDocNumberControlComponent extends DIControl {
13
13
  changeModel(value) {
14
14
  this.updateModel(value === null && this.default ? this.default : value);
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocNumberControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- 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 }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocNumberControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ 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 }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocNumberControlComponent, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocNumberControlComponent, decorators: [{
20
20
  type: Component,
21
21
  args: [{ selector: 'ng-doc-number-control', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
22
22
  NgDocInputWrapperComponent,
@@ -27,7 +27,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
27
27
  NgDocButtonIconComponent,
28
28
  NgDocFocusableDirective,
29
29
  NgDocIconComponent,
30
- ], 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"] }]
30
+ ], 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"] }]
31
31
  }], ctorParameters: () => [], propDecorators: { default: [{
32
32
  type: Input
33
33
  }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-type-controls-number-control.mjs","sources":["../../../../libs/app/type-controls/number-control/number-control.component.ts","../../../../libs/app/type-controls/number-control/number-control.component.html","../../../../libs/app/type-controls/number-control/ng-doc-app-type-controls-number-control.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NgDocTypeControl } from '@ng-doc/app/interfaces';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocFocusableDirective,\n\tNgDocIconComponent,\n\tNgDocInputNumberDirective,\n\tNgDocInputWrapperComponent,\n} from '@ng-doc/ui-kit';\nimport { DIControl, DIControlSilencerDirective } from 'di-controls';\n\n@Component({\n\tselector: 'ng-doc-number-control',\n\ttemplateUrl: './number-control.component.html',\n\tstyleUrls: ['./number-control.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgDocInputWrapperComponent,\n\t\tDIControlSilencerDirective,\n\t\tNgDocInputNumberDirective,\n\t\tFormsModule,\n\t\tNgIf,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocFocusableDirective,\n\t\tNgDocIconComponent,\n\t],\n})\nexport class NgDocNumberControlComponent\n\textends DIControl<number>\n\timplements NgDocTypeControl<number>\n{\n\t@Input()\n\tdefault?: number;\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tchangeModel(value: number | null): void {\n\t\tthis.updateModel(value === null && this.default ? this.default : value);\n\t}\n}\n","<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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AA8BM,MAAO,2BACZ,SAAQ,SAAiB,CAAA;AAMzB,IAAA,WAAA,GAAA;AACC,QAAA,KAAK,EAAE,CAAC;KACR;AAED,IAAA,WAAW,CAAC,KAAoB,EAAA;QAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;KACxE;8GAbW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,wIC9BxC,ulBAgBA,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDIE,0BAA0B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,aAAA,EAAA,cAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC1B,0BAA0B,EAC1B,QAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,yBAAyB,EACzB,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,ixBACX,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACJ,wBAAwB,EACxB,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,uHACvB,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGP,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAjBvC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,mBAGhB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACP,OAAA,EAAA;wBACR,0BAA0B;wBAC1B,0BAA0B;wBAC1B,yBAAyB;wBACzB,WAAW;wBACX,IAAI;wBACJ,wBAAwB;wBACxB,uBAAuB;wBACvB,kBAAkB;AAClB,qBAAA,EAAA,QAAA,EAAA,ulBAAA,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA,CAAA;wDAOD,OAAO,EAAA,CAAA;sBADN,KAAK;;;AElCP;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-app-type-controls-number-control.mjs","sources":["../../../../libs/app/type-controls/number-control/number-control.component.ts","../../../../libs/app/type-controls/number-control/number-control.component.html","../../../../libs/app/type-controls/number-control/ng-doc-app-type-controls-number-control.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NgDocTypeControl } from '@ng-doc/app/interfaces';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocFocusableDirective,\n\tNgDocIconComponent,\n\tNgDocInputNumberDirective,\n\tNgDocInputWrapperComponent,\n} from '@ng-doc/ui-kit';\nimport { DIControl, DIControlSilencerDirective } from 'di-controls';\n\n@Component({\n\tselector: 'ng-doc-number-control',\n\ttemplateUrl: './number-control.component.html',\n\tstyleUrls: ['./number-control.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgDocInputWrapperComponent,\n\t\tDIControlSilencerDirective,\n\t\tNgDocInputNumberDirective,\n\t\tFormsModule,\n\t\tNgIf,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocFocusableDirective,\n\t\tNgDocIconComponent,\n\t],\n})\nexport class NgDocNumberControlComponent\n\textends DIControl<number>\n\timplements NgDocTypeControl<number>\n{\n\t@Input()\n\tdefault?: number;\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tchangeModel(value: number | null): void {\n\t\tthis.updateModel(value === null && this.default ? this.default : value);\n\t}\n}\n","<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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AA8BM,MAAO,2BACZ,SAAQ,SAAiB,CAAA;AAMzB,IAAA,WAAA,GAAA;AACC,QAAA,KAAK,EAAE,CAAC;KACR;AAED,IAAA,WAAW,CAAC,KAAoB,EAAA;QAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;KACxE;8GAbW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,wIC9BxC,0hBAgBA,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDIE,0BAA0B,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAC1B,0BAA0B,EAC1B,QAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,yBAAyB,EACzB,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,WAAW,ixBACX,IAAI,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACJ,wBAAwB,EACxB,QAAA,EAAA,+LAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,uHACvB,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGP,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAjBvC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,mBAGhB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACP,OAAA,EAAA;wBACR,0BAA0B;wBAC1B,0BAA0B;wBAC1B,yBAAyB;wBACzB,WAAW;wBACX,IAAI;wBACJ,wBAAwB;wBACxB,uBAAuB;wBACvB,kBAAkB;AAClB,qBAAA,EAAA,QAAA,EAAA,0hBAAA,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA,CAAA;wDAOD,OAAO,EAAA,CAAA;sBADN,KAAK;;;AElCP;;AAEG;;;;"}
@@ -16,10 +16,10 @@ class NgDocStringControlComponent extends DIControl {
16
16
  writeValue(value) {
17
17
  super.writeValue(value);
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocStringControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
- 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 }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocStringControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
20
+ 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 }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocStringControlComponent, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocStringControlComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: 'ng-doc-string-control', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
25
25
  FormsModule,
@@ -30,7 +30,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
30
30
  NgDocFocusableDirective,
31
31
  NgDocIconComponent,
32
32
  DIControlSilencerDirective,
33
- ], 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"] }]
33
+ ], 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"] }]
34
34
  }], ctorParameters: () => [], propDecorators: { default: [{
35
35
  type: Input
36
36
  }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-type-controls-string-control.mjs","sources":["../../../../libs/app/type-controls/string-control/string-control.component.ts","../../../../libs/app/type-controls/string-control/string-control.component.html","../../../../libs/app/type-controls/string-control/ng-doc-app-type-controls-string-control.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NgDocTypeControl } from '@ng-doc/app/interfaces';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocFocusableDirective,\n\tNgDocIconComponent,\n\tNgDocInputStringDirective,\n\tNgDocInputWrapperComponent,\n} from '@ng-doc/ui-kit';\nimport { DIControl, DIControlSilencerDirective } from 'di-controls';\n\n@Component({\n\tselector: 'ng-doc-string-control',\n\ttemplateUrl: './string-control.component.html',\n\tstyleUrls: ['./string-control.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tFormsModule,\n\t\tNgDocInputWrapperComponent,\n\t\tNgDocInputStringDirective,\n\t\tNgIf,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocFocusableDirective,\n\t\tNgDocIconComponent,\n\t\tDIControlSilencerDirective,\n\t],\n})\nexport class NgDocStringControlComponent\n\textends DIControl<string>\n\timplements NgDocTypeControl<string>\n{\n\t@Input()\n\tdefault?: string;\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tchangeModel(value: string | null): void {\n\t\tthis.updateModel(value === null && this.default ? this.default : value);\n\t}\n\n\toverride writeValue(value: string | null) {\n\t\tsuper.writeValue(value);\n\t}\n}\n","<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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-doc-app-type-controls-string-control.mjs","sources":["../../../../libs/app/type-controls/string-control/string-control.component.ts","../../../../libs/app/type-controls/string-control/string-control.component.html","../../../../libs/app/type-controls/string-control/ng-doc-app-type-controls-string-control.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NgDocTypeControl } from '@ng-doc/app/interfaces';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocFocusableDirective,\n\tNgDocIconComponent,\n\tNgDocInputStringDirective,\n\tNgDocInputWrapperComponent,\n} from '@ng-doc/ui-kit';\nimport { DIControl, DIControlSilencerDirective } from 'di-controls';\n\n@Component({\n\tselector: 'ng-doc-string-control',\n\ttemplateUrl: './string-control.component.html',\n\tstyleUrls: ['./string-control.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tFormsModule,\n\t\tNgDocInputWrapperComponent,\n\t\tNgDocInputStringDirective,\n\t\tNgIf,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocFocusableDirective,\n\t\tNgDocIconComponent,\n\t\tDIControlSilencerDirective,\n\t],\n})\nexport class NgDocStringControlComponent\n\textends DIControl<string>\n\timplements NgDocTypeControl<string>\n{\n\t@Input()\n\tdefault?: string;\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tchangeModel(value: string | null): void {\n\t\tthis.updateModel(value === null && this.default ? this.default : value);\n\t}\n\n\toverride writeValue(value: string | null) {\n\t\tsuper.writeValue(value);\n\t}\n}\n","<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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AA8BM,MAAO,2BACZ,SAAQ,SAAiB,CAAA;AAMzB,IAAA,WAAA,GAAA;AACC,QAAA,KAAK,EAAE,CAAC;KACR;AAED,IAAA,WAAW,CAAC,KAAoB,EAAA;QAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;KACxE;AAEQ,IAAA,UAAU,CAAC,KAAoB,EAAA;AACvC,QAAA,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACxB;8GAjBW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,wIC9BxC,wgBAeA,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDKE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,0BAA0B,EAC1B,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,yBAAyB,EACzB,QAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,6FACJ,wBAAwB,EAAA,QAAA,EAAA,+LAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACxB,uBAAuB,EACvB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,kBAAkB,gGAClB,0BAA0B,EAAA,QAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAGf,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAjBvC,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,mBAGhB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EACP,OAAA,EAAA;wBACR,WAAW;wBACX,0BAA0B;wBAC1B,yBAAyB;wBACzB,IAAI;wBACJ,wBAAwB;wBACxB,uBAAuB;wBACvB,kBAAkB;wBAClB,0BAA0B;AAC1B,qBAAA,EAAA,QAAA,EAAA,wgBAAA,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA,CAAA;wDAOD,OAAO,EAAA,CAAA;sBADN,KAAK;;;AElCP;;AAEG;;;;"}
@@ -18,10 +18,10 @@ class NgDocTypeAliasControlComponent extends DIControl {
18
18
  changeModel(value) {
19
19
  this.updateModel(value === null && this.default ? this.default : value);
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocTypeAliasControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- 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 }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocTypeAliasControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
+ 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 }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: NgDocTypeAliasControlComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocTypeAliasControlComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'ng-doc-type-alias-control', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
27
27
  NgDocComboboxComponent,
@@ -41,7 +41,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
41
41
  NgDocFocusableDirective,
42
42
  NgDocIconComponent,
43
43
  NgDocExtractValuePipe,
44
- ], 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"] }]
44
+ ], 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"] }]
45
45
  }], ctorParameters: () => [], propDecorators: { default: [{
46
46
  type: Input
47
47
  }] } });