@ng-doc/ui-kit 22.0.0-beta.1 → 22.0.0

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 (210) hide show
  1. package/README.md +20 -29
  2. package/fesm2022/ng-doc-ui-kit-cdk-combobox-host.mjs +43 -22
  3. package/fesm2022/ng-doc-ui-kit-cdk-combobox-host.mjs.map +1 -1
  4. package/fesm2022/ng-doc-ui-kit-classes-base-input.mjs +24 -13
  5. package/fesm2022/ng-doc-ui-kit-classes-base-input.mjs.map +1 -1
  6. package/fesm2022/ng-doc-ui-kit-classes-overlay-ref.mjs +62 -22
  7. package/fesm2022/ng-doc-ui-kit-classes-overlay-ref.mjs.map +1 -1
  8. package/fesm2022/ng-doc-ui-kit-components-blockquote.mjs +39 -14
  9. package/fesm2022/ng-doc-ui-kit-components-blockquote.mjs.map +1 -1
  10. package/fesm2022/ng-doc-ui-kit-components-button-icon.mjs +30 -18
  11. package/fesm2022/ng-doc-ui-kit-components-button-icon.mjs.map +1 -1
  12. package/fesm2022/ng-doc-ui-kit-components-button-toggle.mjs +12 -9
  13. package/fesm2022/ng-doc-ui-kit-components-button-toggle.mjs.map +1 -1
  14. package/fesm2022/ng-doc-ui-kit-components-button.mjs +15 -24
  15. package/fesm2022/ng-doc-ui-kit-components-button.mjs.map +1 -1
  16. package/fesm2022/ng-doc-ui-kit-components-checkbox.mjs +13 -13
  17. package/fesm2022/ng-doc-ui-kit-components-checkbox.mjs.map +1 -1
  18. package/fesm2022/ng-doc-ui-kit-components-clear-control.mjs +14 -9
  19. package/fesm2022/ng-doc-ui-kit-components-clear-control.mjs.map +1 -1
  20. package/fesm2022/ng-doc-ui-kit-components-combobox.mjs +30 -26
  21. package/fesm2022/ng-doc-ui-kit-components-combobox.mjs.map +1 -1
  22. package/fesm2022/ng-doc-ui-kit-components-data-list-group.mjs +37 -38
  23. package/fesm2022/ng-doc-ui-kit-components-data-list-group.mjs.map +1 -1
  24. package/fesm2022/ng-doc-ui-kit-components-data-list.mjs +32 -39
  25. package/fesm2022/ng-doc-ui-kit-components-data-list.mjs.map +1 -1
  26. package/fesm2022/ng-doc-ui-kit-components-dialog-outlet.mjs +23 -20
  27. package/fesm2022/ng-doc-ui-kit-components-dialog-outlet.mjs.map +1 -1
  28. package/fesm2022/ng-doc-ui-kit-components-dot.mjs +20 -16
  29. package/fesm2022/ng-doc-ui-kit-components-dot.mjs.map +1 -1
  30. package/fesm2022/ng-doc-ui-kit-components-dropdown.mjs +120 -125
  31. package/fesm2022/ng-doc-ui-kit-components-dropdown.mjs.map +1 -1
  32. package/fesm2022/ng-doc-ui-kit-components-expander.mjs +17 -17
  33. package/fesm2022/ng-doc-ui-kit-components-expander.mjs.map +1 -1
  34. package/fesm2022/ng-doc-ui-kit-components-floated-border.mjs +4 -4
  35. package/fesm2022/ng-doc-ui-kit-components-floated-border.mjs.map +1 -1
  36. package/fesm2022/ng-doc-ui-kit-components-floated-content.mjs +16 -17
  37. package/fesm2022/ng-doc-ui-kit-components-floated-content.mjs.map +1 -1
  38. package/fesm2022/ng-doc-ui-kit-components-focus-control.mjs +20 -12
  39. package/fesm2022/ng-doc-ui-kit-components-focus-control.mjs.map +1 -1
  40. package/fesm2022/ng-doc-ui-kit-components-icon.mjs +175 -54
  41. package/fesm2022/ng-doc-ui-kit-components-icon.mjs.map +1 -1
  42. package/fesm2022/ng-doc-ui-kit-components-input-wrapper.mjs +43 -46
  43. package/fesm2022/ng-doc-ui-kit-components-input-wrapper.mjs.map +1 -1
  44. package/fesm2022/ng-doc-ui-kit-components-label.mjs +14 -16
  45. package/fesm2022/ng-doc-ui-kit-components-label.mjs.map +1 -1
  46. package/fesm2022/ng-doc-ui-kit-components-line.mjs +7 -4
  47. package/fesm2022/ng-doc-ui-kit-components-line.mjs.map +1 -1
  48. package/fesm2022/ng-doc-ui-kit-components-list.mjs +24 -8
  49. package/fesm2022/ng-doc-ui-kit-components-list.mjs.map +1 -1
  50. package/fesm2022/ng-doc-ui-kit-components-magnifier-controller.mjs +9 -4
  51. package/fesm2022/ng-doc-ui-kit-components-magnifier-controller.mjs.map +1 -1
  52. package/fesm2022/ng-doc-ui-kit-components-magnifier.mjs +39 -18
  53. package/fesm2022/ng-doc-ui-kit-components-magnifier.mjs.map +1 -1
  54. package/fesm2022/ng-doc-ui-kit-components-option-group.mjs +22 -27
  55. package/fesm2022/ng-doc-ui-kit-components-option-group.mjs.map +1 -1
  56. package/fesm2022/ng-doc-ui-kit-components-option.mjs +28 -22
  57. package/fesm2022/ng-doc-ui-kit-components-option.mjs.map +1 -1
  58. package/fesm2022/ng-doc-ui-kit-components-overlay-container.mjs +56 -52
  59. package/fesm2022/ng-doc-ui-kit-components-overlay-container.mjs.map +1 -1
  60. package/fesm2022/ng-doc-ui-kit-components-overlay-pointer.mjs +19 -21
  61. package/fesm2022/ng-doc-ui-kit-components-overlay-pointer.mjs.map +1 -1
  62. package/fesm2022/ng-doc-ui-kit-components-pane.mjs +91 -69
  63. package/fesm2022/ng-doc-ui-kit-components-pane.mjs.map +1 -1
  64. package/fesm2022/ng-doc-ui-kit-components-selection.mjs +173 -76
  65. package/fesm2022/ng-doc-ui-kit-components-selection.mjs.map +1 -1
  66. package/fesm2022/ng-doc-ui-kit-components-sidenav.mjs +23 -22
  67. package/fesm2022/ng-doc-ui-kit-components-sidenav.mjs.map +1 -1
  68. package/fesm2022/ng-doc-ui-kit-components-spinner.mjs +14 -12
  69. package/fesm2022/ng-doc-ui-kit-components-spinner.mjs.map +1 -1
  70. package/fesm2022/ng-doc-ui-kit-components-tab-group.mjs +86 -61
  71. package/fesm2022/ng-doc-ui-kit-components-tab-group.mjs.map +1 -1
  72. package/fesm2022/ng-doc-ui-kit-components-tab-routes-group.mjs +16 -13
  73. package/fesm2022/ng-doc-ui-kit-components-tab-routes-group.mjs.map +1 -1
  74. package/fesm2022/ng-doc-ui-kit-components-tag.mjs +23 -24
  75. package/fesm2022/ng-doc-ui-kit-components-tag.mjs.map +1 -1
  76. package/fesm2022/ng-doc-ui-kit-components-text.mjs +37 -52
  77. package/fesm2022/ng-doc-ui-kit-components-text.mjs.map +1 -1
  78. package/fesm2022/ng-doc-ui-kit-components-toggle.mjs +82 -57
  79. package/fesm2022/ng-doc-ui-kit-components-toggle.mjs.map +1 -1
  80. package/fesm2022/ng-doc-ui-kit-components-wrapper.mjs +7 -4
  81. package/fesm2022/ng-doc-ui-kit-components-wrapper.mjs.map +1 -1
  82. package/fesm2022/ng-doc-ui-kit-directives-autofocus.mjs +13 -10
  83. package/fesm2022/ng-doc-ui-kit-directives-autofocus.mjs.map +1 -1
  84. package/fesm2022/ng-doc-ui-kit-directives-checked-change.mjs +30 -26
  85. package/fesm2022/ng-doc-ui-kit-directives-checked-change.mjs.map +1 -1
  86. package/fesm2022/ng-doc-ui-kit-directives-data.mjs +8 -5
  87. package/fesm2022/ng-doc-ui-kit-directives-data.mjs.map +1 -1
  88. package/fesm2022/ng-doc-ui-kit-directives-dropdown-handler.mjs +19 -18
  89. package/fesm2022/ng-doc-ui-kit-directives-dropdown-handler.mjs.map +1 -1
  90. package/fesm2022/ng-doc-ui-kit-directives-dropdown-origin.mjs +7 -9
  91. package/fesm2022/ng-doc-ui-kit-directives-dropdown-origin.mjs.map +1 -1
  92. package/fesm2022/ng-doc-ui-kit-directives-event-switcher.mjs +22 -19
  93. package/fesm2022/ng-doc-ui-kit-directives-event-switcher.mjs.map +1 -1
  94. package/fesm2022/ng-doc-ui-kit-directives-focus-catcher.mjs +30 -25
  95. package/fesm2022/ng-doc-ui-kit-directives-focus-catcher.mjs.map +1 -1
  96. package/fesm2022/ng-doc-ui-kit-directives-focusable.mjs +13 -16
  97. package/fesm2022/ng-doc-ui-kit-directives-focusable.mjs.map +1 -1
  98. package/fesm2022/ng-doc-ui-kit-directives-fullscreen.mjs +90 -0
  99. package/fesm2022/ng-doc-ui-kit-directives-fullscreen.mjs.map +1 -0
  100. package/fesm2022/ng-doc-ui-kit-directives-hotkey.mjs +34 -28
  101. package/fesm2022/ng-doc-ui-kit-directives-hotkey.mjs.map +1 -1
  102. package/fesm2022/ng-doc-ui-kit-directives-input-number.mjs +10 -12
  103. package/fesm2022/ng-doc-ui-kit-directives-input-number.mjs.map +1 -1
  104. package/fesm2022/ng-doc-ui-kit-directives-input-string.mjs +9 -12
  105. package/fesm2022/ng-doc-ui-kit-directives-input-string.mjs.map +1 -1
  106. package/fesm2022/ng-doc-ui-kit-directives-radio-group.mjs +7 -4
  107. package/fesm2022/ng-doc-ui-kit-directives-radio-group.mjs.map +1 -1
  108. package/fesm2022/ng-doc-ui-kit-directives-rotator.mjs +16 -22
  109. package/fesm2022/ng-doc-ui-kit-directives-rotator.mjs.map +1 -1
  110. package/fesm2022/ng-doc-ui-kit-directives-tooltip.mjs +105 -101
  111. package/fesm2022/ng-doc-ui-kit-directives-tooltip.mjs.map +1 -1
  112. package/fesm2022/ng-doc-ui-kit-directives.mjs +1 -1
  113. package/fesm2022/ng-doc-ui-kit-interceptors.mjs +24 -21
  114. package/fesm2022/ng-doc-ui-kit-interceptors.mjs.map +1 -1
  115. package/fesm2022/ng-doc-ui-kit-observables.mjs +2 -58
  116. package/fesm2022/ng-doc-ui-kit-observables.mjs.map +1 -1
  117. package/fesm2022/ng-doc-ui-kit-pipes-as-array.mjs +3 -4
  118. package/fesm2022/ng-doc-ui-kit-pipes-as-array.mjs.map +1 -1
  119. package/fesm2022/ng-doc-ui-kit-pipes-bind.mjs +3 -4
  120. package/fesm2022/ng-doc-ui-kit-pipes-bind.mjs.map +1 -1
  121. package/fesm2022/ng-doc-ui-kit-pipes-execute.mjs +3 -4
  122. package/fesm2022/ng-doc-ui-kit-pipes-execute.mjs.map +1 -1
  123. package/fesm2022/ng-doc-ui-kit-pipes-highlighter.mjs +3 -4
  124. package/fesm2022/ng-doc-ui-kit-pipes-highlighter.mjs.map +1 -1
  125. package/fesm2022/ng-doc-ui-kit-services-dialog.mjs +14 -8
  126. package/fesm2022/ng-doc-ui-kit-services-dialog.mjs.map +1 -1
  127. package/fesm2022/ng-doc-ui-kit-services-notify.mjs +13 -8
  128. package/fesm2022/ng-doc-ui-kit-services-notify.mjs.map +1 -1
  129. package/fesm2022/ng-doc-ui-kit-services-overlay-strategy.mjs +15 -11
  130. package/fesm2022/ng-doc-ui-kit-services-overlay-strategy.mjs.map +1 -1
  131. package/fesm2022/ng-doc-ui-kit-services-overlay.mjs +20 -9
  132. package/fesm2022/ng-doc-ui-kit-services-overlay.mjs.map +1 -1
  133. package/fesm2022/ng-doc-ui-kit-services-scroll.mjs +11 -13
  134. package/fesm2022/ng-doc-ui-kit-services-scroll.mjs.map +1 -1
  135. package/fesm2022/ng-doc-ui-kit-tokens.mjs +29 -3
  136. package/fesm2022/ng-doc-ui-kit-tokens.mjs.map +1 -1
  137. package/fesm2022/ng-doc-ui-kit-types.mjs +0 -1
  138. package/fesm2022/ng-doc-ui-kit-types.mjs.map +1 -1
  139. package/package.json +31 -33
  140. package/styles/main.css +275 -38
  141. package/types/ng-doc-ui-kit-cdk-combobox-host.d.ts +16 -8
  142. package/types/ng-doc-ui-kit-classes-base-input.d.ts +12 -1
  143. package/types/ng-doc-ui-kit-classes-overlay-ref.d.ts +27 -4
  144. package/types/ng-doc-ui-kit-components-blockquote.d.ts +22 -5
  145. package/types/ng-doc-ui-kit-components-button-icon.d.ts +23 -5
  146. package/types/ng-doc-ui-kit-components-button-toggle.d.ts +5 -1
  147. package/types/ng-doc-ui-kit-components-button.d.ts +6 -6
  148. package/types/ng-doc-ui-kit-components-checkbox.d.ts +5 -3
  149. package/types/ng-doc-ui-kit-components-clear-control.d.ts +7 -0
  150. package/types/ng-doc-ui-kit-components-combobox.d.ts +19 -9
  151. package/types/ng-doc-ui-kit-components-data-list-group.d.ts +16 -11
  152. package/types/ng-doc-ui-kit-components-data-list.d.ts +21 -11
  153. package/types/ng-doc-ui-kit-components-dialog-outlet.d.ts +11 -6
  154. package/types/ng-doc-ui-kit-components-dot.d.ts +10 -5
  155. package/types/ng-doc-ui-kit-components-dropdown.d.ts +39 -27
  156. package/types/ng-doc-ui-kit-components-expander.d.ts +9 -7
  157. package/types/ng-doc-ui-kit-components-floated-content.d.ts +8 -6
  158. package/types/ng-doc-ui-kit-components-focus-control.d.ts +10 -4
  159. package/types/ng-doc-ui-kit-components-icon.d.ts +49 -14
  160. package/types/ng-doc-ui-kit-components-input-wrapper.d.ts +31 -17
  161. package/types/ng-doc-ui-kit-components-label.d.ts +8 -5
  162. package/types/ng-doc-ui-kit-components-line.d.ts +3 -0
  163. package/types/ng-doc-ui-kit-components-list.d.ts +14 -3
  164. package/types/ng-doc-ui-kit-components-magnifier-controller.d.ts +5 -1
  165. package/types/ng-doc-ui-kit-components-magnifier.d.ts +19 -4
  166. package/types/ng-doc-ui-kit-components-option-group.d.ts +12 -8
  167. package/types/ng-doc-ui-kit-components-option.d.ts +9 -2
  168. package/types/ng-doc-ui-kit-components-overlay-container.d.ts +18 -15
  169. package/types/ng-doc-ui-kit-components-overlay-pointer.d.ts +10 -6
  170. package/types/ng-doc-ui-kit-components-pane.d.ts +25 -9
  171. package/types/ng-doc-ui-kit-components-selection.d.ts +59 -21
  172. package/types/ng-doc-ui-kit-components-sidenav.d.ts +17 -8
  173. package/types/ng-doc-ui-kit-components-spinner.d.ts +7 -3
  174. package/types/ng-doc-ui-kit-components-tab-group.d.ts +43 -22
  175. package/types/ng-doc-ui-kit-components-tab-routes-group.d.ts +4 -2
  176. package/types/ng-doc-ui-kit-components-tag.d.ts +13 -6
  177. package/types/ng-doc-ui-kit-components-text.d.ts +21 -19
  178. package/types/ng-doc-ui-kit-components-toggle.d.ts +13 -7
  179. package/types/ng-doc-ui-kit-components-wrapper.d.ts +3 -0
  180. package/types/ng-doc-ui-kit-directives-autofocus.d.ts +7 -5
  181. package/types/ng-doc-ui-kit-directives-checked-change.d.ts +15 -11
  182. package/types/ng-doc-ui-kit-directives-data.d.ts +6 -4
  183. package/types/ng-doc-ui-kit-directives-dropdown-handler.d.ts +5 -3
  184. package/types/ng-doc-ui-kit-directives-dropdown-origin.d.ts +0 -2
  185. package/types/ng-doc-ui-kit-directives-event-switcher.d.ts +11 -6
  186. package/types/ng-doc-ui-kit-directives-focus-catcher.d.ts +11 -8
  187. package/types/ng-doc-ui-kit-directives-focusable.d.ts +6 -3
  188. package/types/ng-doc-ui-kit-directives-fullscreen.d.ts +39 -0
  189. package/types/ng-doc-ui-kit-directives-hotkey.d.ts +14 -7
  190. package/types/ng-doc-ui-kit-directives-input-number.d.ts +3 -2
  191. package/types/ng-doc-ui-kit-directives-input-string.d.ts +2 -2
  192. package/types/ng-doc-ui-kit-directives-radio-group.d.ts +4 -0
  193. package/types/ng-doc-ui-kit-directives-rotator.d.ts +8 -8
  194. package/types/ng-doc-ui-kit-directives-tooltip.d.ts +35 -23
  195. package/types/ng-doc-ui-kit-directives.d.ts +1 -1
  196. package/types/ng-doc-ui-kit-interceptors.d.ts +18 -2
  197. package/types/ng-doc-ui-kit-interfaces.d.ts +20 -4
  198. package/types/ng-doc-ui-kit-observables.d.ts +2 -19
  199. package/types/ng-doc-ui-kit-services-dialog.d.ts +10 -1
  200. package/types/ng-doc-ui-kit-services-notify.d.ts +9 -1
  201. package/types/ng-doc-ui-kit-services-overlay-strategy.d.ts +5 -3
  202. package/types/ng-doc-ui-kit-services-overlay.d.ts +14 -3
  203. package/types/ng-doc-ui-kit-services-scroll.d.ts +4 -5
  204. package/types/ng-doc-ui-kit-types.d.ts +2 -2
  205. package/fesm2022/ng-doc-ui-kit-decorators.mjs +0 -53
  206. package/fesm2022/ng-doc-ui-kit-decorators.mjs.map +0 -1
  207. package/fesm2022/ng-doc-ui-kit-directives-let.mjs +0 -43
  208. package/fesm2022/ng-doc-ui-kit-directives-let.mjs.map +0 -1
  209. package/types/ng-doc-ui-kit-decorators.d.ts +0 -12
  210. package/types/ng-doc-ui-kit-directives-let.d.ts +0 -22
@@ -1,47 +1,50 @@
1
- import { HttpResponse } from '@angular/common/http';
2
1
  import * as i0 from '@angular/core';
3
2
  import { Injectable } from '@angular/core';
4
3
  import { tap, shareReplay } from 'rxjs/operators';
5
4
 
5
+ /**
6
+ * Caches `GET` responses of requests that opt in with the `NgDocCacheInterceptor.TOKEN` query
7
+ * parameter. The parameter is removed before the request is sent, and every later request for the
8
+ * same URL shares the first response. A failed request is not cached.
9
+ *
10
+ * It only runs when the application's `HttpClient` uses interceptors from DI
11
+ * (`withInterceptorsFromDi()`). NgDoc's icons no longer depend on it: they are cached by
12
+ * `NgDocIconRegistry`.
13
+ */
6
14
  class NgDocCacheInterceptor {
7
15
  constructor() {
8
16
  this.cache = new Map();
9
17
  }
18
+ /** Name of the query parameter that marks a request as cacheable. */
10
19
  static { this.TOKEN = Math.random().toString(36).slice(-8); }
20
+ /**
21
+ * Returns the cached response for opted-in `GET` requests and passes every other request on.
22
+ * @param request - The outgoing request.
23
+ * @param next - The next handler in the chain.
24
+ * @returns The response stream.
25
+ */
11
26
  intercept(request, next) {
12
- // Only GET requests can be cached
13
- if (request.method !== 'GET') {
14
- return next.handle(request);
15
- }
16
- // Do not cache request when the token is not provided
17
- if (!request.params.has(NgDocCacheInterceptor.TOKEN)) {
27
+ if (request.method !== 'GET' || !request.params.has(NgDocCacheInterceptor.TOKEN)) {
18
28
  return next.handle(request);
19
29
  }
20
- // Return cached response
21
30
  const cachedRequest = this.cache.get(request.url);
22
31
  if (cachedRequest) {
23
32
  return cachedRequest;
24
33
  }
25
- // Clone the request, delete the TOKEN from the params
26
34
  const newRequest = request.clone({
27
35
  params: request.params.delete(NgDocCacheInterceptor.TOKEN),
28
36
  });
29
- // Create a new request handler
30
- const newHandler = next.handle(newRequest).pipe(tap({
31
- error: (event) => {
32
- if (event instanceof HttpResponse) {
33
- this.cache.delete(event.url || '');
34
- }
35
- },
36
- }), shareReplay(1));
37
- // Cache the request and return the new handler
37
+ const newHandler = next.handle(newRequest).pipe(
38
+ // An error arrives as an `HttpErrorResponse`, so the entry is removed by the request URL:
39
+ // the next request for it goes to the network again.
40
+ tap({ error: () => this.cache.delete(request.url) }), shareReplay(1));
38
41
  this.cache.set(request.url, newHandler);
39
42
  return newHandler;
40
43
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocCacheInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
42
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocCacheInterceptor }); }
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocCacheInterceptor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
45
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocCacheInterceptor }); }
43
46
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocCacheInterceptor, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocCacheInterceptor, decorators: [{
45
48
  type: Injectable
46
49
  }] });
47
50
 
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-ui-kit-interceptors.mjs","sources":["../../../../libs/ui-kit/interceptors/cache.interceptor.ts","../../../../libs/ui-kit/interceptors/ng-doc-ui-kit-interceptors.ts"],"sourcesContent":["import {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n HttpResponse,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { shareReplay, tap } from 'rxjs/operators';\n\n@Injectable()\nexport class NgDocCacheInterceptor implements HttpInterceptor {\n static readonly TOKEN: string = Math.random().toString(36).slice(-8);\n private cache: Map<string, Observable<HttpEvent<unknown>>> = new Map<\n string,\n Observable<HttpEvent<unknown>>\n >();\n\n intercept<T>(request: HttpRequest<T>, next: HttpHandler): Observable<HttpEvent<T>> {\n // Only GET requests can be cached\n if (request.method !== 'GET') {\n return next.handle(request);\n }\n\n // Do not cache request when the token is not provided\n if (!request.params.has(NgDocCacheInterceptor.TOKEN)) {\n return next.handle(request);\n }\n\n // Return cached response\n const cachedRequest: Observable<HttpEvent<T>> | undefined = this.cache.get(\n request.url,\n ) as Observable<HttpEvent<T>>;\n\n if (cachedRequest) {\n return cachedRequest;\n }\n\n // Clone the request, delete the TOKEN from the params\n const newRequest: HttpRequest<T> = request.clone({\n params: request.params.delete(NgDocCacheInterceptor.TOKEN),\n });\n\n // Create a new request handler\n const newHandler: Observable<HttpEvent<T>> = next.handle(newRequest).pipe(\n tap({\n error: (event: HttpEvent<Error>) => {\n if (event instanceof HttpResponse) {\n this.cache.delete(event.url || '');\n }\n },\n }),\n shareReplay(1),\n );\n\n // Cache the request and return the new handler\n this.cache.set(request.url, newHandler);\n\n return newHandler;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAYa,qBAAqB,CAAA;AADlC,IAAA,WAAA,GAAA;AAGU,QAAA,IAAA,CAAA,KAAK,GAAgD,IAAI,GAAG,EAGjE;AA4CJ,IAAA;AAhDiB,IAAA,SAAA,IAAA,CAAA,KAAK,GAAW,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAMrE,SAAS,CAAI,OAAuB,EAAE,IAAiB,EAAA;;AAErD,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE;AAC5B,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7B;;AAGA,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE;AACpD,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7B;;AAGA,QAAA,MAAM,aAAa,GAAyC,IAAI,CAAC,KAAK,CAAC,GAAG,CACxE,OAAO,CAAC,GAAG,CACgB;QAE7B,IAAI,aAAa,EAAE;AACjB,YAAA,OAAO,aAAa;QACtB;;AAGA,QAAA,MAAM,UAAU,GAAmB,OAAO,CAAC,KAAK,CAAC;YAC/C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC;AAC3D,SAAA,CAAC;;AAGF,QAAA,MAAM,UAAU,GAA6B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CACvE,GAAG,CAAC;AACF,YAAA,KAAK,EAAE,CAAC,KAAuB,KAAI;AACjC,gBAAA,IAAI,KAAK,YAAY,YAAY,EAAE;oBACjC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC;gBACpC;YACF,CAAC;AACF,SAAA,CAAC,EACF,WAAW,CAAC,CAAC,CAAC,CACf;;QAGD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC;AAEvC,QAAA,OAAO,UAAU;IACnB;8GAhDW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAArB,qBAAqB,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC;;;ACXD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-ui-kit-interceptors.mjs","sources":["../../../../libs/ui-kit/interceptors/cache.interceptor.ts","../../../../libs/ui-kit/interceptors/ng-doc-ui-kit-interceptors.ts"],"sourcesContent":["import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { shareReplay, tap } from 'rxjs/operators';\n\n/**\n * Caches `GET` responses of requests that opt in with the `NgDocCacheInterceptor.TOKEN` query\n * parameter. The parameter is removed before the request is sent, and every later request for the\n * same URL shares the first response. A failed request is not cached.\n *\n * It only runs when the application's `HttpClient` uses interceptors from DI\n * (`withInterceptorsFromDi()`). NgDoc's icons no longer depend on it: they are cached by\n * `NgDocIconRegistry`.\n */\n@Injectable()\nexport class NgDocCacheInterceptor implements HttpInterceptor {\n /** Name of the query parameter that marks a request as cacheable. */\n static readonly TOKEN: string = Math.random().toString(36).slice(-8);\n\n private readonly cache: Map<string, Observable<HttpEvent<unknown>>> = new Map();\n\n /**\n * Returns the cached response for opted-in `GET` requests and passes every other request on.\n * @param request - The outgoing request.\n * @param next - The next handler in the chain.\n * @returns The response stream.\n */\n intercept<T>(request: HttpRequest<T>, next: HttpHandler): Observable<HttpEvent<T>> {\n if (request.method !== 'GET' || !request.params.has(NgDocCacheInterceptor.TOKEN)) {\n return next.handle(request);\n }\n\n const cachedRequest = this.cache.get(request.url) as Observable<HttpEvent<T>> | undefined;\n\n if (cachedRequest) {\n return cachedRequest;\n }\n\n const newRequest: HttpRequest<T> = request.clone({\n params: request.params.delete(NgDocCacheInterceptor.TOKEN),\n });\n const newHandler: Observable<HttpEvent<T>> = next.handle(newRequest).pipe(\n // An error arrives as an `HttpErrorResponse`, so the entry is removed by the request URL:\n // the next request for it goes to the network again.\n tap({ error: () => this.cache.delete(request.url) }),\n shareReplay(1),\n );\n\n this.cache.set(request.url, newHandler);\n\n return newHandler;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAKA;;;;;;;;AAQG;MAEU,qBAAqB,CAAA;AADlC,IAAA,WAAA,GAAA;AAKmB,QAAA,IAAA,CAAA,KAAK,GAAgD,IAAI,GAAG,EAAE;AAiChF,IAAA;;AAnCiB,IAAA,SAAA,IAAA,CAAA,KAAK,GAAW,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAIrE;;;;;AAKG;IACH,SAAS,CAAI,OAAuB,EAAE,IAAiB,EAAA;AACrD,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE;AAChF,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7B;AAEA,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAyC;QAEzF,IAAI,aAAa,EAAE;AACjB,YAAA,OAAO,aAAa;QACtB;AAEA,QAAA,MAAM,UAAU,GAAmB,OAAO,CAAC,KAAK,CAAC;YAC/C,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC;AAC3D,SAAA,CAAC;QACF,MAAM,UAAU,GAA6B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI;;;QAGvE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EACpD,WAAW,CAAC,CAAC,CAAC,CACf;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC;AAEvC,QAAA,OAAO,UAAU;IACnB;8GApCW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAArB,qBAAqB,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC;;;ACdD;;AAEG;;;;"}
@@ -1,6 +1,5 @@
1
- import { Observable, of, pipe } from 'rxjs';
1
+ import { Observable, of } from 'rxjs';
2
2
  import { startWith, switchMap, map, catchError, tap } from 'rxjs/operators';
3
- import { inject, NgZone } from '@angular/core';
4
3
 
5
4
  /**
6
5
  * @param subscribable
@@ -35,64 +34,9 @@ function observableState(retry) {
35
34
  };
36
35
  }
37
36
 
38
- class NgDocZoneDetachSourceOperator {
39
- constructor(ngZone) {
40
- this.ngZone = ngZone;
41
- }
42
- call(observer, source) {
43
- return this.ngZone.runOutsideAngular(() => source.subscribe(observer));
44
- }
45
- }
46
- /**
47
- *
48
- * @param ngZone
49
- */
50
- function zoneDetachSource(ngZone) {
51
- return (source) => source.lift(new NgDocZoneDetachSourceOperator(ngZone));
52
- }
53
- /**
54
- *
55
- * @param ngZone
56
- */
57
- function zoneDetach(ngZone) {
58
- return (source) => new Observable((subscriber) => source.subscribe({
59
- next: (value) => ngZone.runOutsideAngular(() => subscriber.next(value)),
60
- error: (error) => ngZone.runOutsideAngular(() => subscriber.error(error)),
61
- complete: () => ngZone.runOutsideAngular(() => subscriber.complete()),
62
- }));
63
- }
64
- /**
65
- *
66
- * @param ngZone
67
- */
68
- function ngDocZoneAttach(ngZone) {
69
- ngZone = ngZone || inject(NgZone);
70
- return (source) => new Observable((subscriber) => source.subscribe({
71
- next: (value) => ngZone.run(() => subscriber.next(value)),
72
- error: (error) => ngZone.run(() => subscriber.error(error)),
73
- complete: () => ngZone.run(() => subscriber.complete()),
74
- }));
75
- }
76
- /**
77
- *
78
- * @param ngZone
79
- */
80
- function ngDocZoneDetach(ngZone) {
81
- ngZone = ngZone || inject(NgZone);
82
- return pipe(zoneDetach(ngZone), zoneDetachSource(ngZone));
83
- }
84
- /**
85
- *
86
- * @param ngZone
87
- */
88
- function ngDocZoneOptimize(ngZone) {
89
- ngZone = ngZone || inject(NgZone);
90
- return pipe(zoneDetach(ngZone), zoneDetachSource(ngZone), ngDocZoneAttach(ngZone));
91
- }
92
-
93
37
  /**
94
38
  * Generated bundle index. Do not edit.
95
39
  */
96
40
 
97
- export { fromSubscribe, ngDocZoneAttach, ngDocZoneDetach, ngDocZoneOptimize, observableState };
41
+ export { fromSubscribe, observableState };
98
42
  //# sourceMappingURL=ng-doc-ui-kit-observables.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-ui-kit-observables.mjs","sources":["../../../../libs/ui-kit/observables/from-subscribe.ts","../../../../libs/ui-kit/observables/observable-state.ts","../../../../libs/ui-kit/observables/zone.ts","../../../../libs/ui-kit/observables/ng-doc-ui-kit-observables.ts"],"sourcesContent":["import { NgDocSubscribable } from '@ng-doc/ui-kit/types';\nimport { Observable, Subscriber, Unsubscribable } from 'rxjs';\n\n/**\n * @param subscribable\n */\nexport function fromSubscribe<T>(subscribable: NgDocSubscribable<T>): Observable<T> {\n return new Observable<T>((observer: Subscriber<T>) => {\n const subscription: Unsubscribable = subscribable.subscribe(\n (next: T) => observer.next(next),\n (error: unknown) => observer.error(error),\n () => observer.complete(),\n );\n return () => subscription.unsubscribe();\n });\n}\n","import type { Observable, OperatorFunction } from 'rxjs';\nimport { of } from 'rxjs';\nimport { catchError, map, startWith, switchMap, tap } from 'rxjs/operators';\n\nexport type StatedObservable<T, E = Error> = Observable<ObservableState<T, E>>;\n\nexport interface ObservableState<T, E = Error> {\n\tresult: T | null;\n\terror: E | null;\n\tpending: boolean;\n}\n\n/**\n *\n * @param retry\n */\nexport function observableState<T, E = Error>(\n\tretry?: Observable<unknown>,\n): OperatorFunction<T, ObservableState<T, E>> {\n\treturn (source: Observable<T>) => {\n\t\tlet state: ObservableState<T, E> = {\n\t\t\tresult: null,\n\t\t\terror: null,\n\t\t\tpending: false,\n\t\t};\n\n\t\treturn (retry ? retry.pipe(startWith(null)) : of(null)).pipe(\n\t\t\tswitchMap(() =>\n\t\t\t\tsource.pipe(\n\t\t\t\t\t// Map result of observable\n\t\t\t\t\tmap((result: T) => ({ result, pending: false })),\n\t\t\t\t\t// Map error of observable\n\t\t\t\t\tcatchError((error: E) => of({ result: null, error, pending: false })),\n\t\t\t\t\t// Start from pending state and clear error\n\t\t\t\t\tstartWith({ error: null, pending: true }),\n\t\t\t\t\t// Merge the current state with new state\n\t\t\t\t\ttap(\n\t\t\t\t\t\t(updatedState: Partial<ObservableState<T, E>>) =>\n\t\t\t\t\t\t\t(state = { ...state, ...updatedState }),\n\t\t\t\t\t),\n\t\t\t\t\tmap(() => state),\n\t\t\t\t),\n\t\t\t),\n\t\t);\n\t};\n}\n","import { inject, NgZone } from '@angular/core';\nimport {\n MonoTypeOperatorFunction,\n Observable,\n Observer,\n Operator,\n pipe,\n Subscriber,\n TeardownLogic,\n} from 'rxjs';\n\nclass NgDocZoneDetachSourceOperator<T> implements Operator<T, T> {\n constructor(private readonly ngZone: NgZone) {}\n\n call(observer: Observer<T>, source: Observable<T>): TeardownLogic {\n return this.ngZone.runOutsideAngular(() => source.subscribe(observer));\n }\n}\n\n/**\n *\n * @param ngZone\n */\nfunction zoneDetachSource<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return (source: Observable<T>) => source.lift(new NgDocZoneDetachSourceOperator<T>(ngZone));\n}\n\n/**\n *\n * @param ngZone\n */\nfunction zoneDetach<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return (source: Observable<T>) =>\n new Observable((subscriber: Subscriber<T>) =>\n source.subscribe({\n next: (value: T) => ngZone.runOutsideAngular(() => subscriber.next(value)),\n error: (error: unknown) => ngZone.runOutsideAngular(() => subscriber.error(error)),\n complete: () => ngZone.runOutsideAngular(() => subscriber.complete()),\n }),\n );\n}\n\n/**\n *\n * @param ngZone\n */\nexport function ngDocZoneAttach<T>(ngZone?: NgZone): MonoTypeOperatorFunction<T> {\n ngZone = ngZone || inject(NgZone);\n\n return (source: Observable<T>) =>\n new Observable((subscriber: Subscriber<T>) =>\n source.subscribe({\n next: (value: T) => ngZone.run(() => subscriber.next(value)),\n error: (error: unknown) => ngZone.run(() => subscriber.error(error)),\n complete: () => ngZone.run(() => subscriber.complete()),\n }),\n );\n}\n\n/**\n *\n * @param ngZone\n */\nexport function ngDocZoneDetach<T>(ngZone?: NgZone): MonoTypeOperatorFunction<T> {\n ngZone = ngZone || inject(NgZone);\n\n return pipe(zoneDetach(ngZone), zoneDetachSource(ngZone));\n}\n\n/**\n *\n * @param ngZone\n */\nexport function ngDocZoneOptimize<T>(ngZone?: NgZone): MonoTypeOperatorFunction<T> {\n ngZone = ngZone || inject(NgZone);\n\n return pipe(zoneDetach(ngZone), zoneDetachSource(ngZone), ngDocZoneAttach(ngZone));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA;;AAEG;AACG,SAAU,aAAa,CAAI,YAAkC,EAAA;AACjE,IAAA,OAAO,IAAI,UAAU,CAAI,CAAC,QAAuB,KAAI;AACnD,QAAA,MAAM,YAAY,GAAmB,YAAY,CAAC,SAAS,CACzD,CAAC,IAAO,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAChC,CAAC,KAAc,KAAK,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EACzC,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAC1B;AACD,QAAA,OAAO,MAAM,YAAY,CAAC,WAAW,EAAE;AACzC,IAAA,CAAC,CAAC;AACJ;;ACHA;;;AAGG;AACG,SAAU,eAAe,CAC9B,KAA2B,EAAA;IAE3B,OAAO,CAAC,MAAqB,KAAI;AAChC,QAAA,IAAI,KAAK,GAA0B;AAClC,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,OAAO,EAAE,KAAK;SACd;AAED,QAAA,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,CAC3D,SAAS,CAAC,MACT,MAAM,CAAC,IAAI;;AAEV,QAAA,GAAG,CAAC,CAAC,MAAS,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;;QAEhD,UAAU,CAAC,CAAC,KAAQ,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;;QAErE,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;AAEzC,QAAA,GAAG,CACF,CAAC,YAA4C,MAC3C,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC,CACxC,EACD,GAAG,CAAC,MAAM,KAAK,CAAC,CAChB,CACD,CACD;AACF,IAAA,CAAC;AACF;;AClCA,MAAM,6BAA6B,CAAA;AACjC,IAAA,WAAA,CAA6B,MAAc,EAAA;QAAd,IAAA,CAAA,MAAM,GAAN,MAAM;IAAW;IAE9C,IAAI,CAAC,QAAqB,EAAE,MAAqB,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxE;AACD;AAED;;;AAGG;AACH,SAAS,gBAAgB,CAAI,MAAc,EAAA;AACzC,IAAA,OAAO,CAAC,MAAqB,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,6BAA6B,CAAI,MAAM,CAAC,CAAC;AAC7F;AAEA;;;AAGG;AACH,SAAS,UAAU,CAAI,MAAc,EAAA;AACnC,IAAA,OAAO,CAAC,MAAqB,KAC3B,IAAI,UAAU,CAAC,CAAC,UAAyB,KACvC,MAAM,CAAC,SAAS,CAAC;AACf,QAAA,IAAI,EAAE,CAAC,KAAQ,KAAK,MAAM,CAAC,iBAAiB,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1E,QAAA,KAAK,EAAE,CAAC,KAAc,KAAK,MAAM,CAAC,iBAAiB,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAClF,QAAA,QAAQ,EAAE,MAAM,MAAM,CAAC,iBAAiB,CAAC,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;AACtE,KAAA,CAAC,CACH;AACL;AAEA;;;AAGG;AACG,SAAU,eAAe,CAAI,MAAe,EAAA;AAChD,IAAA,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;AAEjC,IAAA,OAAO,CAAC,MAAqB,KAC3B,IAAI,UAAU,CAAC,CAAC,UAAyB,KACvC,MAAM,CAAC,SAAS,CAAC;AACf,QAAA,IAAI,EAAE,CAAC,KAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC5D,QAAA,KAAK,EAAE,CAAC,KAAc,KAAK,MAAM,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACpE,QAAA,QAAQ,EAAE,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;AACxD,KAAA,CAAC,CACH;AACL;AAEA;;;AAGG;AACG,SAAU,eAAe,CAAI,MAAe,EAAA;AAChD,IAAA,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;AAEjC,IAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAC3D;AAEA;;;AAGG;AACG,SAAU,iBAAiB,CAAI,MAAe,EAAA;AAClD,IAAA,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;AAEjC,IAAA,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;AACpF;;AC7EA;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-ui-kit-observables.mjs","sources":["../../../../libs/ui-kit/observables/from-subscribe.ts","../../../../libs/ui-kit/observables/observable-state.ts","../../../../libs/ui-kit/observables/ng-doc-ui-kit-observables.ts"],"sourcesContent":["import { NgDocSubscribable } from '@ng-doc/ui-kit/types';\nimport { Observable, Subscriber, Unsubscribable } from 'rxjs';\n\n/**\n * @param subscribable\n */\nexport function fromSubscribe<T>(subscribable: NgDocSubscribable<T>): Observable<T> {\n return new Observable<T>((observer: Subscriber<T>) => {\n const subscription: Unsubscribable = subscribable.subscribe(\n (next: T) => observer.next(next),\n (error: unknown) => observer.error(error),\n () => observer.complete(),\n );\n return () => subscription.unsubscribe();\n });\n}\n","import type { Observable, OperatorFunction } from 'rxjs';\nimport { of } from 'rxjs';\nimport { catchError, map, startWith, switchMap, tap } from 'rxjs/operators';\n\nexport type StatedObservable<T, E = Error> = Observable<ObservableState<T, E>>;\n\nexport interface ObservableState<T, E = Error> {\n\tresult: T | null;\n\terror: E | null;\n\tpending: boolean;\n}\n\n/**\n *\n * @param retry\n */\nexport function observableState<T, E = Error>(\n\tretry?: Observable<unknown>,\n): OperatorFunction<T, ObservableState<T, E>> {\n\treturn (source: Observable<T>) => {\n\t\tlet state: ObservableState<T, E> = {\n\t\t\tresult: null,\n\t\t\terror: null,\n\t\t\tpending: false,\n\t\t};\n\n\t\treturn (retry ? retry.pipe(startWith(null)) : of(null)).pipe(\n\t\t\tswitchMap(() =>\n\t\t\t\tsource.pipe(\n\t\t\t\t\t// Map result of observable\n\t\t\t\t\tmap((result: T) => ({ result, pending: false })),\n\t\t\t\t\t// Map error of observable\n\t\t\t\t\tcatchError((error: E) => of({ result: null, error, pending: false })),\n\t\t\t\t\t// Start from pending state and clear error\n\t\t\t\t\tstartWith({ error: null, pending: true }),\n\t\t\t\t\t// Merge the current state with new state\n\t\t\t\t\ttap(\n\t\t\t\t\t\t(updatedState: Partial<ObservableState<T, E>>) =>\n\t\t\t\t\t\t\t(state = { ...state, ...updatedState }),\n\t\t\t\t\t),\n\t\t\t\t\tmap(() => state),\n\t\t\t\t),\n\t\t\t),\n\t\t);\n\t};\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAGA;;AAEG;AACG,SAAU,aAAa,CAAI,YAAkC,EAAA;AACjE,IAAA,OAAO,IAAI,UAAU,CAAI,CAAC,QAAuB,KAAI;AACnD,QAAA,MAAM,YAAY,GAAmB,YAAY,CAAC,SAAS,CACzD,CAAC,IAAO,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAChC,CAAC,KAAc,KAAK,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EACzC,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAC1B;AACD,QAAA,OAAO,MAAM,YAAY,CAAC,WAAW,EAAE;AACzC,IAAA,CAAC,CAAC;AACJ;;ACHA;;;AAGG;AACG,SAAU,eAAe,CAC9B,KAA2B,EAAA;IAE3B,OAAO,CAAC,MAAqB,KAAI;AAChC,QAAA,IAAI,KAAK,GAA0B;AAClC,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,OAAO,EAAE,KAAK;SACd;AAED,QAAA,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,CAC3D,SAAS,CAAC,MACT,MAAM,CAAC,IAAI;;AAEV,QAAA,GAAG,CAAC,CAAC,MAAS,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;;QAEhD,UAAU,CAAC,CAAC,KAAQ,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;;QAErE,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;AAEzC,QAAA,GAAG,CACF,CAAC,YAA4C,MAC3C,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,GAAG,YAAY,EAAE,CAAC,CACxC,EACD,GAAG,CAAC,MAAM,KAAK,CAAC,CAChB,CACD,CACD;AACF,IAAA,CAAC;AACF;;AC7CA;;AAEG;;;;"}
@@ -6,14 +6,13 @@ class NgDocAsArrayPipe {
6
6
  transform(value) {
7
7
  return asArray(value);
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocAsArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
10
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: NgDocAsArrayPipe, isStandalone: true, name: "asArray" }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocAsArrayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
10
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: NgDocAsArrayPipe, isStandalone: true, name: "asArray" }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocAsArrayPipe, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocAsArrayPipe, decorators: [{
13
13
  type: Pipe,
14
14
  args: [{
15
15
  name: 'asArray',
16
- standalone: true,
17
16
  }]
18
17
  }] });
19
18
 
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-ui-kit-pipes-as-array.mjs","sources":["../../../../libs/ui-kit/pipes/as-array/as-array.pipe.ts","../../../../libs/ui-kit/pipes/as-array/ng-doc-ui-kit-pipes-as-array.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\n\n@Pipe({\n\tname: 'asArray',\n\tstandalone: true,\n})\nexport class NgDocAsArrayPipe implements PipeTransform {\n\ttransform<T>(value: T | T[] | Iterable<T> | null | undefined): T[] {\n\t\treturn asArray(value);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAOa,gBAAgB,CAAA;AAC5B,IAAA,SAAS,CAAI,KAA+C,EAAA;AAC3D,QAAA,OAAO,OAAO,CAAC,KAAK,CAAC;IACtB;8GAHY,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACL,oBAAA,IAAI,EAAE,SAAS;AACf,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA;;;ACND;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-ui-kit-pipes-as-array.mjs","sources":["../../../../libs/ui-kit/pipes/as-array/as-array.pipe.ts","../../../../libs/ui-kit/pipes/as-array/ng-doc-ui-kit-pipes-as-array.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\n\n@Pipe({\n name: 'asArray',\n})\nexport class NgDocAsArrayPipe implements PipeTransform {\n transform<T>(value: T | T[] | Iterable<T> | null | undefined): T[] {\n return asArray(value);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAMa,gBAAgB,CAAA;AAC3B,IAAA,SAAS,CAAI,KAA+C,EAAA;AAC1D,QAAA,OAAO,OAAO,CAAC,KAAK,CAAC;IACvB;8GAHW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,SAAS;AAChB,iBAAA;;;ACLD;;AAEG;;;;"}
@@ -5,14 +5,13 @@ class NgDocBindPipe {
5
5
  transform(fn, _this) {
6
6
  return fn.bind(_this);
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocBindPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
9
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: NgDocBindPipe, isStandalone: true, name: "bind" }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocBindPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
9
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: NgDocBindPipe, isStandalone: true, name: "bind" }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocBindPipe, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocBindPipe, decorators: [{
12
12
  type: Pipe,
13
13
  args: [{
14
14
  name: 'bind',
15
- standalone: true,
16
15
  }]
17
16
  }] });
18
17
 
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-ui-kit-pipes-bind.mjs","sources":["../../../../libs/ui-kit/pipes/bind/bind.pipe.ts","../../../../libs/ui-kit/pipes/bind/ng-doc-ui-kit-pipes-bind.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { FunctionType } from '@ng-doc/core';\n\n@Pipe({\n name: 'bind',\n standalone: true,\n})\nexport class NgDocBindPipe implements PipeTransform {\n transform<R>(fn: FunctionType<R>, _this: unknown): FunctionType<R> {\n return fn.bind(_this);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAOa,aAAa,CAAA;IACxB,SAAS,CAAI,EAAmB,EAAE,KAAc,EAAA;AAC9C,QAAA,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;IACvB;8GAHW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;ACND;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-ui-kit-pipes-bind.mjs","sources":["../../../../libs/ui-kit/pipes/bind/bind.pipe.ts","../../../../libs/ui-kit/pipes/bind/ng-doc-ui-kit-pipes-bind.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { FunctionType } from '@ng-doc/core';\n\n@Pipe({\n name: 'bind',\n})\nexport class NgDocBindPipe implements PipeTransform {\n transform<R>(fn: FunctionType<R>, _this: unknown): FunctionType<R> {\n return fn.bind(_this);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAMa,aAAa,CAAA;IACxB,SAAS,CAAI,EAAmB,EAAE,KAAc,EAAA;AAC9C,QAAA,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;IACvB;8GAHW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,CAAA;;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,MAAM;AACb,iBAAA;;;ACLD;;AAEG;;;;"}
@@ -5,14 +5,13 @@ class NgDocExecutePipe {
5
5
  transform(fn, ...args) {
6
6
  return fn(...args);
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocExecutePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
9
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: NgDocExecutePipe, isStandalone: true, name: "execute" }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocExecutePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
9
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: NgDocExecutePipe, isStandalone: true, name: "execute" }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocExecutePipe, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocExecutePipe, decorators: [{
12
12
  type: Pipe,
13
13
  args: [{
14
14
  name: 'execute',
15
- standalone: true,
16
15
  }]
17
16
  }] });
18
17
 
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-ui-kit-pipes-execute.mjs","sources":["../../../../libs/ui-kit/pipes/execute/execute.pipe.ts","../../../../libs/ui-kit/pipes/execute/ng-doc-ui-kit-pipes-execute.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { FunctionType } from '@ng-doc/core';\n\n@Pipe({\n\tname: 'execute',\n\tstandalone: true,\n})\nexport class NgDocExecutePipe implements PipeTransform {\n\ttransform<F extends FunctionType>(fn: F, ...args: Parameters<F>): ReturnType<F> {\n\t\treturn fn(...args);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAOa,gBAAgB,CAAA;AAC5B,IAAA,SAAS,CAAyB,EAAK,EAAE,GAAG,IAAmB,EAAA;AAC9D,QAAA,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IACnB;8GAHY,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACL,oBAAA,IAAI,EAAE,SAAS;AACf,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA;;;ACND;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-ui-kit-pipes-execute.mjs","sources":["../../../../libs/ui-kit/pipes/execute/execute.pipe.ts","../../../../libs/ui-kit/pipes/execute/ng-doc-ui-kit-pipes-execute.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { FunctionType } from '@ng-doc/core';\n\n@Pipe({\n name: 'execute',\n})\nexport class NgDocExecutePipe implements PipeTransform {\n transform<F extends FunctionType>(fn: F, ...args: Parameters<F>): ReturnType<F> {\n return fn(...args);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAMa,gBAAgB,CAAA;AAC3B,IAAA,SAAS,CAAyB,EAAK,EAAE,GAAG,IAAmB,EAAA;AAC7D,QAAA,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IACpB;8GAHW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,SAAS;AAChB,iBAAA;;;ACLD;;AAEG;;;;"}
@@ -12,14 +12,13 @@ class NgDocHighlighterPipe {
12
12
  });
13
13
  return input;
14
14
  }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocHighlighterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
16
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: NgDocHighlighterPipe, isStandalone: true, name: "ngDocHighlighterPipe" }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocHighlighterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
16
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.2.1", ngImport: i0, type: NgDocHighlighterPipe, isStandalone: true, name: "ngDocHighlighterPipe" }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocHighlighterPipe, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocHighlighterPipe, decorators: [{
19
19
  type: Pipe,
20
20
  args: [{
21
21
  name: 'ngDocHighlighterPipe',
22
- standalone: true,
23
22
  }]
24
23
  }] });
25
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-ui-kit-pipes-highlighter.mjs","sources":["../../../../libs/ui-kit/pipes/highlighter/highlighter.pipe.ts","../../../../libs/ui-kit/pipes/highlighter/ng-doc-ui-kit-pipes-highlighter.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\nexport interface NgDocHighlightPosition {\n\tstart: number;\n\tlength: number;\n}\n\n@Pipe({\n\tname: 'ngDocHighlighterPipe',\n\tstandalone: true,\n})\nexport class NgDocHighlighterPipe implements PipeTransform {\n\ttransform(input: string, positions: NgDocHighlightPosition[]): string {\n\t\tpositions\n\t\t\t.sort((a: NgDocHighlightPosition, b: NgDocHighlightPosition) => b.start - a.start)\n\t\t\t.forEach((position: NgDocHighlightPosition) => {\n\t\t\t\tconst { start, length } = position;\n\t\t\t\tconst end = start + length;\n\n\t\t\t\tinput = `${input.slice(0, start)}<mark class=\"ng-doc-mark\">${input.slice(\n\t\t\t\t\tstart,\n\t\t\t\t\tend,\n\t\t\t\t)}</mark>${input.slice(end)}`;\n\t\t\t});\n\n\t\treturn input;\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAWa,oBAAoB,CAAA;IAChC,SAAS,CAAC,KAAa,EAAE,SAAmC,EAAA;QAC3D;AACE,aAAA,IAAI,CAAC,CAAC,CAAyB,EAAE,CAAyB,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;AAChF,aAAA,OAAO,CAAC,CAAC,QAAgC,KAAI;AAC7C,YAAA,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ;AAClC,YAAA,MAAM,GAAG,GAAG,KAAK,GAAG,MAAM;YAE1B,KAAK,GAAG,CAAA,EAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA,0BAAA,EAA6B,KAAK,CAAC,KAAK,CACvE,KAAK,EACL,GAAG,CACH,CAAA,OAAA,EAAU,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAE;AAC9B,QAAA,CAAC,CAAC;AAEH,QAAA,OAAO,KAAK;IACb;8GAfY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACL,oBAAA,IAAI,EAAE,sBAAsB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA;;;ACVD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-ui-kit-pipes-highlighter.mjs","sources":["../../../../libs/ui-kit/pipes/highlighter/highlighter.pipe.ts","../../../../libs/ui-kit/pipes/highlighter/ng-doc-ui-kit-pipes-highlighter.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\n\nexport interface NgDocHighlightPosition {\n start: number;\n length: number;\n}\n\n@Pipe({\n name: 'ngDocHighlighterPipe',\n})\nexport class NgDocHighlighterPipe implements PipeTransform {\n transform(input: string, positions: NgDocHighlightPosition[]): string {\n positions\n .sort((a: NgDocHighlightPosition, b: NgDocHighlightPosition) => b.start - a.start)\n .forEach((position: NgDocHighlightPosition) => {\n const { start, length } = position;\n const end = start + length;\n\n input = `${input.slice(0, start)}<mark class=\"ng-doc-mark\">${input.slice(\n start,\n end,\n )}</mark>${input.slice(end)}`;\n });\n\n return input;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAUa,oBAAoB,CAAA;IAC/B,SAAS,CAAC,KAAa,EAAE,SAAmC,EAAA;QAC1D;AACG,aAAA,IAAI,CAAC,CAAC,CAAyB,EAAE,CAAyB,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK;AAChF,aAAA,OAAO,CAAC,CAAC,QAAgC,KAAI;AAC5C,YAAA,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ;AAClC,YAAA,MAAM,GAAG,GAAG,KAAK,GAAG,MAAM;YAE1B,KAAK,GAAG,CAAA,EAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA,0BAAA,EAA6B,KAAK,CAAC,KAAK,CACtE,KAAK,EACL,GAAG,CACJ,CAAA,OAAA,EAAU,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAE;AAC/B,QAAA,CAAC,CAAC;AAEJ,QAAA,OAAO,KAAK;IACd;8GAfW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,sBAAsB;AAC7B,iBAAA;;;ACTD;;AAEG;;;;"}
@@ -1,14 +1,22 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, Injectable } from '@angular/core';
2
+ import { InjectionToken, inject, Service } from '@angular/core';
3
3
  import { asArray } from '@ng-doc/core/helpers/as-array';
4
4
  import { NgDocOverlayContainerComponent } from '@ng-doc/ui-kit/components/overlay-container';
5
5
  import { NgDocOverlayService } from '@ng-doc/ui-kit/services/overlay';
6
6
 
7
+ /** The `data` of the dialog config, for the dialog content to inject. */
7
8
  const NG_DOC_DIALOG_DATA = new InjectionToken('NG_DOC_DIALOG_DATA');
9
+ /** Opens dialogs: overlays centered in the viewport that block page scrolling. */
8
10
  class NgDocDialogService {
9
11
  constructor() {
10
12
  this.overlayService = inject(NgDocOverlayService);
11
13
  }
14
+ /**
15
+ * Opens a dialog.
16
+ * @param content - What the dialog renders: a string, a template or a component.
17
+ * @param config - Overlay options; `data` is provided to the content as `NG_DOC_DIALOG_DATA`.
18
+ * @returns The handle of the opened dialog.
19
+ */
12
20
  open(content, config) {
13
21
  return this.overlayService.open(content, {
14
22
  overlayContainer: NgDocOverlayContainerComponent,
@@ -19,17 +27,15 @@ class NgDocDialogService {
19
27
  panelClass: ['ng-doc-dialog', ...asArray(config?.panelClass)],
20
28
  }, [{ provide: NG_DOC_DIALOG_DATA, useValue: config?.data }]);
21
29
  }
30
+ /** @returns A new global position strategy, to position a dialog through its config. */
22
31
  positionStrategy() {
23
32
  return this.overlayService.globalPositionStrategy();
24
33
  }
25
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
26
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocDialogService, providedIn: 'root' }); }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocDialogService, deps: [], target: i0.ɵɵFactoryTarget.Service }); }
35
+ static { this.ɵprov = i0.ɵɵngDeclareService({ minVersion: "22.0.0", version: "22.2.1", ngImport: i0, type: NgDocDialogService }); }
27
36
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocDialogService, decorators: [{
29
- type: Injectable,
30
- args: [{
31
- providedIn: 'root',
32
- }]
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocDialogService, decorators: [{
38
+ type: Service
33
39
  }] });
34
40
 
35
41
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-ui-kit-services-dialog.mjs","sources":["../../../../libs/ui-kit/services/dialog/dialog.service.ts","../../../../libs/ui-kit/services/dialog/ng-doc-ui-kit-services-dialog.ts"],"sourcesContent":["import { GlobalPositionStrategy } from '@angular/cdk/overlay';\nimport { inject, Injectable, InjectionToken } from '@angular/core';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { NgDocOverlayRef } from '@ng-doc/ui-kit/classes';\nimport { NgDocOverlayContainerComponent } from '@ng-doc/ui-kit/components/overlay-container';\nimport { NgDocOverlayService } from '@ng-doc/ui-kit/services/overlay';\nimport { NgDocContent } from '@ng-doc/ui-kit/types';\n\nimport { NgDocDialogConfig } from './dialog.config';\n\nexport const NG_DOC_DIALOG_DATA = new InjectionToken<unknown>('NG_DOC_DIALOG_DATA');\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NgDocDialogService {\n protected overlayService: NgDocOverlayService = inject(NgDocOverlayService);\n\n open<R = unknown>(content: NgDocContent, config?: NgDocDialogConfig): NgDocOverlayRef<R> {\n return this.overlayService.open(\n content,\n {\n overlayContainer: NgDocOverlayContainerComponent,\n positionStrategy:\n config?.positionStrategy ??\n this.overlayService.globalPositionStrategy().centerHorizontally().centerVertically(),\n scrollStrategy: config?.scrollStrategy ?? this.overlayService.scrollStrategy().block(),\n ...config,\n panelClass: ['ng-doc-dialog', ...asArray(config?.panelClass)],\n },\n [{ provide: NG_DOC_DIALOG_DATA, useValue: config?.data }],\n );\n }\n\n positionStrategy(): GlobalPositionStrategy {\n return this.overlayService.globalPositionStrategy();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAUa,kBAAkB,GAAG,IAAI,cAAc,CAAU,oBAAoB;MAKrE,kBAAkB,CAAA;AAH/B,IAAA,WAAA,GAAA;AAIY,QAAA,IAAA,CAAA,cAAc,GAAwB,MAAM,CAAC,mBAAmB,CAAC;AAqB5E,IAAA;IAnBC,IAAI,CAAc,OAAqB,EAAE,MAA0B,EAAA;AACjE,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAC7B,OAAO,EACP;AACE,YAAA,gBAAgB,EAAE,8BAA8B;YAChD,gBAAgB,EACd,MAAM,EAAE,gBAAgB;gBACxB,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,EAAE;AACtF,YAAA,cAAc,EAAE,MAAM,EAAE,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE;AACtF,YAAA,GAAG,MAAM;YACT,UAAU,EAAE,CAAC,eAAe,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAC9D,SAAA,EACD,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAC1D;IACH;IAEA,gBAAgB,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE;IACrD;8GArBW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,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,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA;;2FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACdD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-ui-kit-services-dialog.mjs","sources":["../../../../libs/ui-kit/services/dialog/dialog.service.ts","../../../../libs/ui-kit/services/dialog/ng-doc-ui-kit-services-dialog.ts"],"sourcesContent":["import { GlobalPositionStrategy } from '@angular/cdk/overlay';\nimport { inject, InjectionToken, Service } from '@angular/core';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { NgDocOverlayRef } from '@ng-doc/ui-kit/classes';\nimport { NgDocOverlayContainerComponent } from '@ng-doc/ui-kit/components/overlay-container';\nimport { NgDocOverlayService } from '@ng-doc/ui-kit/services/overlay';\nimport { NgDocContent } from '@ng-doc/ui-kit/types';\n\nimport { NgDocDialogConfig } from './dialog.config';\n\n/** The `data` of the dialog config, for the dialog content to inject. */\nexport const NG_DOC_DIALOG_DATA = new InjectionToken<unknown>('NG_DOC_DIALOG_DATA');\n\n/** Opens dialogs: overlays centered in the viewport that block page scrolling. */\n@Service()\nexport class NgDocDialogService {\n protected overlayService: NgDocOverlayService = inject(NgDocOverlayService);\n\n /**\n * Opens a dialog.\n * @param content - What the dialog renders: a string, a template or a component.\n * @param config - Overlay options; `data` is provided to the content as `NG_DOC_DIALOG_DATA`.\n * @returns The handle of the opened dialog.\n */\n open<R = unknown>(content: NgDocContent, config?: NgDocDialogConfig): NgDocOverlayRef<R> {\n return this.overlayService.open(\n content,\n {\n overlayContainer: NgDocOverlayContainerComponent,\n positionStrategy:\n config?.positionStrategy ??\n this.overlayService.globalPositionStrategy().centerHorizontally().centerVertically(),\n scrollStrategy: config?.scrollStrategy ?? this.overlayService.scrollStrategy().block(),\n ...config,\n panelClass: ['ng-doc-dialog', ...asArray(config?.panelClass)],\n },\n [{ provide: NG_DOC_DIALOG_DATA, useValue: config?.data }],\n );\n }\n\n /** @returns A new global position strategy, to position a dialog through its config. */\n positionStrategy(): GlobalPositionStrategy {\n return this.overlayService.globalPositionStrategy();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAUA;MACa,kBAAkB,GAAG,IAAI,cAAc,CAAU,oBAAoB;AAElF;MAEa,kBAAkB,CAAA;AAD/B,IAAA,WAAA,GAAA;AAEY,QAAA,IAAA,CAAA,cAAc,GAAwB,MAAM,CAAC,mBAAmB,CAAC;AA4B5E,IAAA;AA1BC;;;;;AAKG;IACH,IAAI,CAAc,OAAqB,EAAE,MAA0B,EAAA;AACjE,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAC7B,OAAO,EACP;AACE,YAAA,gBAAgB,EAAE,8BAA8B;YAChD,gBAAgB,EACd,MAAM,EAAE,gBAAgB;gBACxB,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,EAAE;AACtF,YAAA,cAAc,EAAE,MAAM,EAAE,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE;AACtF,YAAA,GAAG,MAAM;YACT,UAAU,EAAE,CAAC,eAAe,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAC9D,SAAA,EACD,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAC1D;IACH;;IAGA,gBAAgB,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE;IACrD;8GA5BW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,OAAA,EAAA,CAAA,CAAA;+GAAlB,kBAAkB,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B;;;ACdD;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, Injectable } from '@angular/core';
2
+ import { inject, Service } from '@angular/core';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { notificationCloseAnimation, notificationOpenAnimation } from '@ng-doc/ui-kit/animations';
5
5
  import { NgDocOverlayContainerComponent } from '@ng-doc/ui-kit/components/overlay-container';
@@ -7,6 +7,10 @@ import { NgDocOverlayService } from '@ng-doc/ui-kit/services/overlay';
7
7
  import { Subject, timer } from 'rxjs';
8
8
  import { tap, switchMap } from 'rxjs/operators';
9
9
 
10
+ /**
11
+ * Shows short notifications at the bottom of the viewport. A new notification replaces the
12
+ * current one, and each closes after two seconds.
13
+ */
10
14
  class NgDocNotifyService {
11
15
  constructor() {
12
16
  this.overlayService = inject(NgDocOverlayService);
@@ -15,6 +19,10 @@ class NgDocNotifyService {
15
19
  .pipe(tap(() => this.overlayRef?.close()), tap((content) => this.openOverlay(content)), switchMap(() => timer(2000)), takeUntilDestroyed())
16
20
  .subscribe(() => this.overlayRef?.close());
17
21
  }
22
+ /**
23
+ * Shows a notification.
24
+ * @param content - Content of the notification.
25
+ */
18
26
  notify(content) {
19
27
  this.notify$.next(content);
20
28
  }
@@ -30,14 +38,11 @@ class NgDocNotifyService {
30
38
  closeAnimation: notificationCloseAnimation,
31
39
  });
32
40
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocNotifyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
34
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocNotifyService, providedIn: 'root' }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocNotifyService, deps: [], target: i0.ɵɵFactoryTarget.Service }); }
42
+ static { this.ɵprov = i0.ɵɵngDeclareService({ minVersion: "22.0.0", version: "22.2.1", ngImport: i0, type: NgDocNotifyService }); }
35
43
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocNotifyService, decorators: [{
37
- type: Injectable,
38
- args: [{
39
- providedIn: 'root',
40
- }]
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocNotifyService, decorators: [{
45
+ type: Service
41
46
  }], ctorParameters: () => [] });
42
47
 
43
48
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-ui-kit-services-notify.mjs","sources":["../../../../libs/ui-kit/services/notify/notify.service.ts","../../../../libs/ui-kit/services/notify/ng-doc-ui-kit-services-notify.ts"],"sourcesContent":["import { inject, Injectable } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { notificationCloseAnimation, notificationOpenAnimation } from '@ng-doc/ui-kit/animations';\nimport { NgDocOverlayRef } from '@ng-doc/ui-kit/classes';\nimport { NgDocOverlayContainerComponent } from '@ng-doc/ui-kit/components/overlay-container';\nimport { NgDocOverlayService } from '@ng-doc/ui-kit/services/overlay';\nimport { NgDocContent } from '@ng-doc/ui-kit/types';\nimport { Subject, timer } from 'rxjs';\nimport { switchMap, tap } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NgDocNotifyService {\n private readonly overlayService = inject(NgDocOverlayService);\n\n private overlayRef?: NgDocOverlayRef;\n private readonly notify$: Subject<NgDocContent> = new Subject<NgDocContent>();\n\n constructor() {\n this.notify$\n .pipe(\n tap(() => this.overlayRef?.close()),\n tap((content: NgDocContent) => this.openOverlay(content)),\n switchMap(() => timer(2000)),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.overlayRef?.close());\n }\n\n notify(content: NgDocContent): void {\n this.notify$.next(content);\n }\n\n private openOverlay(content: NgDocContent): void {\n this.overlayRef = this.overlayService.open(content, {\n overlayContainer: NgDocOverlayContainerComponent,\n panelClass: 'ng-doc-notify',\n positionStrategy: this.overlayService\n .globalPositionStrategy()\n .bottom('10px')\n .centerHorizontally(),\n openAnimation: notificationOpenAnimation,\n closeAnimation: notificationCloseAnimation,\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;MAaa,kBAAkB,CAAA;AAM7B,IAAA,WAAA,GAAA;AALiB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAG5C,QAAA,IAAA,CAAA,OAAO,GAA0B,IAAI,OAAO,EAAgB;AAG3E,QAAA,IAAI,CAAC;AACF,aAAA,IAAI,CACH,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EACnC,GAAG,CAAC,CAAC,OAAqB,KAAK,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EACzD,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,EAC5B,kBAAkB,EAAE;aAErB,SAAS,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;IAC9C;AAEA,IAAA,MAAM,CAAC,OAAqB,EAAA;AAC1B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;IAC5B;AAEQ,IAAA,WAAW,CAAC,OAAqB,EAAA;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE;AAClD,YAAA,gBAAgB,EAAE,8BAA8B;AAChD,YAAA,UAAU,EAAE,eAAe;YAC3B,gBAAgB,EAAE,IAAI,CAAC;AACpB,iBAAA,sBAAsB;iBACtB,MAAM,CAAC,MAAM;AACb,iBAAA,kBAAkB,EAAE;AACvB,YAAA,aAAa,EAAE,yBAAyB;AACxC,YAAA,cAAc,EAAE,0BAA0B;AAC3C,SAAA,CAAC;IACJ;8GAhCW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAlB,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,kBAAkB,cAFjB,MAAM,EAAA,CAAA,CAAA;;2FAEP,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAH9B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;ACZD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-ui-kit-services-notify.mjs","sources":["../../../../libs/ui-kit/services/notify/notify.service.ts","../../../../libs/ui-kit/services/notify/ng-doc-ui-kit-services-notify.ts"],"sourcesContent":["import { inject, Service } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { notificationCloseAnimation, notificationOpenAnimation } from '@ng-doc/ui-kit/animations';\nimport { NgDocOverlayRef } from '@ng-doc/ui-kit/classes';\nimport { NgDocOverlayContainerComponent } from '@ng-doc/ui-kit/components/overlay-container';\nimport { NgDocOverlayService } from '@ng-doc/ui-kit/services/overlay';\nimport { NgDocContent } from '@ng-doc/ui-kit/types';\nimport { Subject, timer } from 'rxjs';\nimport { switchMap, tap } from 'rxjs/operators';\n\n/**\n * Shows short notifications at the bottom of the viewport. A new notification replaces the\n * current one, and each closes after two seconds.\n */\n@Service()\nexport class NgDocNotifyService {\n private readonly overlayService = inject(NgDocOverlayService);\n\n private overlayRef?: NgDocOverlayRef;\n private readonly notify$: Subject<NgDocContent> = new Subject<NgDocContent>();\n\n constructor() {\n this.notify$\n .pipe(\n tap(() => this.overlayRef?.close()),\n tap((content: NgDocContent) => this.openOverlay(content)),\n switchMap(() => timer(2000)),\n takeUntilDestroyed(),\n )\n .subscribe(() => this.overlayRef?.close());\n }\n\n /**\n * Shows a notification.\n * @param content - Content of the notification.\n */\n notify(content: NgDocContent): void {\n this.notify$.next(content);\n }\n\n private openOverlay(content: NgDocContent): void {\n this.overlayRef = this.overlayService.open(content, {\n overlayContainer: NgDocOverlayContainerComponent,\n panelClass: 'ng-doc-notify',\n positionStrategy: this.overlayService\n .globalPositionStrategy()\n .bottom('10px')\n .centerHorizontally(),\n openAnimation: notificationOpenAnimation,\n closeAnimation: notificationCloseAnimation,\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAUA;;;AAGG;MAEU,kBAAkB,CAAA;AAM7B,IAAA,WAAA,GAAA;AALiB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAG5C,QAAA,IAAA,CAAA,OAAO,GAA0B,IAAI,OAAO,EAAgB;AAG3E,QAAA,IAAI,CAAC;AACF,aAAA,IAAI,CACH,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC,EACnC,GAAG,CAAC,CAAC,OAAqB,KAAK,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EACzD,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,EAC5B,kBAAkB,EAAE;aAErB,SAAS,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;IAC9C;AAEA;;;AAGG;AACH,IAAA,MAAM,CAAC,OAAqB,EAAA;AAC1B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;IAC5B;AAEQ,IAAA,WAAW,CAAC,OAAqB,EAAA;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE;AAClD,YAAA,gBAAgB,EAAE,8BAA8B;AAChD,YAAA,UAAU,EAAE,eAAe;YAC3B,gBAAgB,EAAE,IAAI,CAAC;AACpB,iBAAA,sBAAsB;iBACtB,MAAM,CAAC,MAAM;AACb,iBAAA,kBAAkB,EAAE;AACvB,YAAA,aAAa,EAAE,yBAAyB;AACxC,YAAA,cAAc,EAAE,0BAA0B;AAC3C,SAAA,CAAC;IACJ;8GApCW,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,OAAA,EAAA,CAAA,CAAA;+GAAlB,kBAAkB,EAAA,CAAA,CAAA;;2FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B;;;ACdD;;AAEG;;;;"}
@@ -1,10 +1,13 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, DOCUMENT, NgZone, Injectable } from '@angular/core';
2
+ import { inject, DOCUMENT, NgZone, Service } from '@angular/core';
3
3
  import { toElement } from '@ng-doc/ui-kit/helpers';
4
- import { ngDocZoneDetach } from '@ng-doc/ui-kit/observables';
5
4
  import { Subject, fromEvent } from 'rxjs';
6
5
  import { throttleTime, map, filter, takeUntil } from 'rxjs/operators';
7
6
 
7
+ /**
8
+ * A scroll strategy that closes the overlay when an element that contains its origin scrolls.
9
+ * Tooltips use it.
10
+ */
8
11
  class NgDocOverlayStrategy {
9
12
  constructor() {
10
13
  this.documentRef = inject(DOCUMENT);
@@ -16,11 +19,13 @@ class NgDocOverlayStrategy {
16
19
  this.overlayRef = overlayRef;
17
20
  }
18
21
  enable() {
19
- fromEvent(this.documentRef, 'scroll', { capture: true })
20
- .pipe(ngDocZoneDetach(this.ngZone), throttleTime(10), map((scrollEvent) => scrollEvent.target instanceof Document
22
+ // Scroll events are frequent: listen outside the Angular zone so that they do not trigger
23
+ // change detection in a zone.js application. Only the detachment re-enters it.
24
+ this.ngZone.runOutsideAngular(() => fromEvent(this.documentRef, 'scroll', { capture: true })
25
+ .pipe(throttleTime(10), map((scrollEvent) => scrollEvent.target instanceof Document
21
26
  ? scrollEvent.target.scrollingElement
22
27
  : scrollEvent.target), filter((target) => target instanceof Node ? target.contains(this.origin) || !this.origin : false), takeUntil(this.destroy$))
23
- .subscribe(() => this.detach());
28
+ .subscribe(() => this.detach()));
24
29
  }
25
30
  get origin() {
26
31
  const config = this.overlayRef?.getConfig();
@@ -39,13 +44,12 @@ class NgDocOverlayStrategy {
39
44
  });
40
45
  }
41
46
  }
42
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocOverlayStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
43
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocOverlayStrategy, providedIn: 'root' }); }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocOverlayStrategy, deps: [], target: i0.ɵɵFactoryTarget.Service }); }
48
+ static { this.ɵprov = i0.ɵɵngDeclareService({ minVersion: "22.0.0", version: "22.2.1", ngImport: i0, type: NgDocOverlayStrategy }); }
44
49
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocOverlayStrategy, decorators: [{
46
- type: Injectable,
47
- args: [{ providedIn: 'root' }]
48
- }], ctorParameters: () => [] });
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocOverlayStrategy, decorators: [{
51
+ type: Service
52
+ }] });
49
53
 
50
54
  /**
51
55
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-ui-kit-services-overlay-strategy.mjs","sources":["../../../../libs/ui-kit/services/overlay-strategy/overlay-strategy.ts","../../../../libs/ui-kit/services/overlay-strategy/ng-doc-ui-kit-services-overlay-strategy.ts"],"sourcesContent":["import { OverlayRef, ScrollStrategy } from '@angular/cdk/overlay';\nimport { DOCUMENT, inject, Injectable, NgZone } from '@angular/core';\nimport { toElement } from '@ng-doc/ui-kit/helpers';\nimport { NgDocOverlayConfig } from '@ng-doc/ui-kit/interfaces';\nimport { ngDocZoneDetach } from '@ng-doc/ui-kit/observables';\nimport { fromEvent, Subject } from 'rxjs';\nimport { filter, map, takeUntil, throttleTime } from 'rxjs/operators';\n\n@Injectable({ providedIn: 'root' })\nexport class NgDocOverlayStrategy implements ScrollStrategy {\n private documentRef = inject<Document>(DOCUMENT);\n private ngZone = inject(NgZone);\n\n private overlayRef: OverlayRef | null = null;\n private destroy$: Subject<void> = new Subject<void>();\n\n /** Inserted by Angular inject() migration for backwards compatibility */\n constructor(...args: unknown[]);\n\n constructor() {}\n\n attach(overlayRef: OverlayRef): void {\n this.overlayRef = overlayRef;\n }\n\n enable(): void {\n fromEvent(this.documentRef, 'scroll', { capture: true })\n .pipe(\n ngDocZoneDetach(this.ngZone),\n throttleTime(10),\n map((scrollEvent: Event) =>\n scrollEvent.target instanceof Document\n ? scrollEvent.target.scrollingElement\n : scrollEvent.target,\n ),\n filter((target: EventTarget | null) =>\n target instanceof Node ? target.contains(this.origin) || !this.origin : false,\n ),\n takeUntil(this.destroy$),\n )\n .subscribe(() => this.detach());\n }\n\n private get origin(): HTMLElement | null {\n const config: NgDocOverlayConfig | undefined =\n this.overlayRef?.getConfig() as NgDocOverlayConfig;\n return config?.viewContainerRef\n ? (toElement(config.viewContainerRef.element) as HTMLElement)\n : null;\n }\n\n disable(): void {\n this.destroy$.next();\n }\n\n detach(): void {\n this.disable();\n if (this.overlayRef?.hasAttached()) {\n this.ngZone.run(() => {\n this.overlayRef?.detach();\n });\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MASa,oBAAoB,CAAA;AAU/B,IAAA,WAAA,GAAA;AATQ,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAW,QAAQ,CAAC;AACxC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAEvB,IAAA,CAAA,UAAU,GAAsB,IAAI;AACpC,QAAA,IAAA,CAAA,QAAQ,GAAkB,IAAI,OAAO,EAAQ;IAKtC;AAEf,IAAA,MAAM,CAAC,UAAsB,EAAA;AAC3B,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;IAC9B;IAEA,MAAM,GAAA;AACJ,QAAA,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aACpD,IAAI,CACH,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAC5B,YAAY,CAAC,EAAE,CAAC,EAChB,GAAG,CAAC,CAAC,WAAkB,KACrB,WAAW,CAAC,MAAM,YAAY;AAC5B,cAAE,WAAW,CAAC,MAAM,CAAC;cACnB,WAAW,CAAC,MAAM,CACvB,EACD,MAAM,CAAC,CAAC,MAA0B,KAChC,MAAM,YAAY,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAC9E,EACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;aAEzB,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IACnC;AAEA,IAAA,IAAY,MAAM,GAAA;QAChB,MAAM,MAAM,GACV,IAAI,CAAC,UAAU,EAAE,SAAS,EAAwB;QACpD,OAAO,MAAM,EAAE;cACV,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO;cAC1C,IAAI;IACV;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;IACtB;IAEA,MAAM,GAAA;QACJ,IAAI,CAAC,OAAO,EAAE;AACd,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE;AAClC,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE;AAC3B,YAAA,CAAC,CAAC;QACJ;IACF;8GArDW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAApB,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,oBAAoB,cADP,MAAM,EAAA,CAAA,CAAA;;2FACnB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACRlC;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-ui-kit-services-overlay-strategy.mjs","sources":["../../../../libs/ui-kit/services/overlay-strategy/overlay-strategy.ts","../../../../libs/ui-kit/services/overlay-strategy/ng-doc-ui-kit-services-overlay-strategy.ts"],"sourcesContent":["import { OverlayRef, ScrollStrategy } from '@angular/cdk/overlay';\nimport { DOCUMENT, inject, NgZone, Service } from '@angular/core';\nimport { toElement } from '@ng-doc/ui-kit/helpers';\nimport { NgDocOverlayConfig } from '@ng-doc/ui-kit/interfaces';\nimport { fromEvent, Subject } from 'rxjs';\nimport { filter, map, takeUntil, throttleTime } from 'rxjs/operators';\n\n/**\n * A scroll strategy that closes the overlay when an element that contains its origin scrolls.\n * Tooltips use it.\n */\n@Service()\nexport class NgDocOverlayStrategy implements ScrollStrategy {\n private documentRef = inject<Document>(DOCUMENT);\n private ngZone = inject(NgZone);\n\n private overlayRef: OverlayRef | null = null;\n private destroy$: Subject<void> = new Subject<void>();\n\n attach(overlayRef: OverlayRef): void {\n this.overlayRef = overlayRef;\n }\n\n enable(): void {\n // Scroll events are frequent: listen outside the Angular zone so that they do not trigger\n // change detection in a zone.js application. Only the detachment re-enters it.\n this.ngZone.runOutsideAngular(() =>\n fromEvent(this.documentRef, 'scroll', { capture: true })\n .pipe(\n throttleTime(10),\n map((scrollEvent: Event) =>\n scrollEvent.target instanceof Document\n ? scrollEvent.target.scrollingElement\n : scrollEvent.target,\n ),\n filter((target: EventTarget | null) =>\n target instanceof Node ? target.contains(this.origin) || !this.origin : false,\n ),\n takeUntil(this.destroy$),\n )\n .subscribe(() => this.detach()),\n );\n }\n\n private get origin(): HTMLElement | null {\n const config: NgDocOverlayConfig | undefined =\n this.overlayRef?.getConfig() as NgDocOverlayConfig;\n return config?.viewContainerRef\n ? (toElement(config.viewContainerRef.element) as HTMLElement)\n : null;\n }\n\n disable(): void {\n this.destroy$.next();\n }\n\n detach(): void {\n this.disable();\n if (this.overlayRef?.hasAttached()) {\n this.ngZone.run(() => {\n this.overlayRef?.detach();\n });\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAOA;;;AAGG;MAEU,oBAAoB,CAAA;AADjC,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAW,QAAQ,CAAC;AACxC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAEvB,IAAA,CAAA,UAAU,GAAsB,IAAI;AACpC,QAAA,IAAA,CAAA,QAAQ,GAAkB,IAAI,OAAO,EAAQ;AA+CtD,IAAA;AA7CC,IAAA,MAAM,CAAC,UAAsB,EAAA;AAC3B,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;IAC9B;IAEA,MAAM,GAAA;;;QAGJ,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAC5B,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACpD,aAAA,IAAI,CACH,YAAY,CAAC,EAAE,CAAC,EAChB,GAAG,CAAC,CAAC,WAAkB,KACrB,WAAW,CAAC,MAAM,YAAY;AAC5B,cAAE,WAAW,CAAC,MAAM,CAAC;cACnB,WAAW,CAAC,MAAM,CACvB,EACD,MAAM,CAAC,CAAC,MAA0B,KAChC,MAAM,YAAY,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAC9E,EACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;aAEzB,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAClC;IACH;AAEA,IAAA,IAAY,MAAM,GAAA;QAChB,MAAM,MAAM,GACV,IAAI,CAAC,UAAU,EAAE,SAAS,EAAwB;QACpD,OAAO,MAAM,EAAE;cACV,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO;cAC1C,IAAI;IACV;IAEA,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;IACtB;IAEA,MAAM,GAAA;QACJ,IAAI,CAAC,OAAO,EAAE;AACd,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE;AAClC,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAK;AACnB,gBAAA,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE;AAC3B,YAAA,CAAC,CAAC;QACJ;IACF;8GAnDW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,OAAA,EAAA,CAAA,CAAA;+GAApB,oBAAoB,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC;;;ACXD;;AAEG;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { Overlay } from '@angular/cdk/overlay';
2
2
  import { ComponentPortal } from '@angular/cdk/portal';
3
3
  import * as i0 from '@angular/core';
4
- import { inject, NgZone, Injector, Injectable } from '@angular/core';
4
+ import { inject, Injector, Service } from '@angular/core';
5
5
  import { Router } from '@angular/router';
6
6
  import { asArray } from '@ng-doc/core/helpers/as-array';
7
7
  import { NgDocOverlayRef } from '@ng-doc/ui-kit/classes';
@@ -9,13 +9,25 @@ import { NgDocOverlayUtils } from '@ng-doc/ui-kit/utils';
9
9
  import { PolymorpheusComponent } from '@taiga-ui/polymorpheus';
10
10
  import { take } from 'rxjs/operators';
11
11
 
12
+ /**
13
+ * Opens NgDoc overlays: a container component inside a CDK overlay.
14
+ *
15
+ * It is provided in the root injector. A component can also list it in its `providers`, so the
16
+ * overlays it opens use that component's injector (the dropdown does).
17
+ */
12
18
  class NgDocOverlayService {
13
19
  constructor() {
14
20
  this.overlay = inject(Overlay);
15
- this.ngZone = inject(NgZone);
16
21
  this.injector = inject(Injector);
17
22
  this.router = inject(Router);
18
23
  }
24
+ /**
25
+ * Opens an overlay.
26
+ * @param content - What the container renders: a string, a template or a component.
27
+ * @param config - The overlay configuration, including the container component.
28
+ * @param providers - Extra providers for a component content; `NgDocOverlayRef` is always added.
29
+ * @returns The handle of the opened overlay.
30
+ */
19
31
  open(content, config, providers = []) {
20
32
  const overlayRef = this.createOverlay(config);
21
33
  return this.attachTooltipContainer(content, overlayRef, config, providers);
@@ -23,7 +35,7 @@ class NgDocOverlayService {
23
35
  attachTooltipContainer(content, overlay, config, providers) {
24
36
  const containerPortal = new ComponentPortal(config.overlayContainer, config.viewContainerRef, config.viewContainerRef?.injector);
25
37
  const containerRef = overlay.attach(containerPortal);
26
- const overlayRef = new NgDocOverlayRef(overlay, config, containerRef.instance, this.ngZone, this.router);
38
+ const overlayRef = new NgDocOverlayRef(overlay, config, containerRef.instance, this.injector, this.router);
27
39
  if (content instanceof PolymorpheusComponent) {
28
40
  content = new PolymorpheusComponent(content.component, this.createInjector(overlayRef, providers, config.viewContainerRef?.injector));
29
41
  }
@@ -67,13 +79,12 @@ class NgDocOverlayService {
67
79
  parent: injector || this.injector,
68
80
  });
69
81
  }
70
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocOverlayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
71
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocOverlayService, providedIn: 'root' }); }
82
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocOverlayService, deps: [], target: i0.ɵɵFactoryTarget.Service }); }
83
+ static { this.ɵprov = i0.ɵɵngDeclareService({ minVersion: "22.0.0", version: "22.2.1", ngImport: i0, type: NgDocOverlayService }); }
72
84
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: NgDocOverlayService, decorators: [{
74
- type: Injectable,
75
- args: [{ providedIn: 'root' }]
76
- }], ctorParameters: () => [] });
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocOverlayService, decorators: [{
86
+ type: Service
87
+ }] });
77
88
 
78
89
  /**
79
90
  * Generated bundle index. Do not edit.