@ng-doc/ui-kit 22.0.0-beta.2 → 22.1.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 (206) 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 +7 -3
  51. package/fesm2022/ng-doc-ui-kit-components-magnifier-controller.mjs.map +1 -1
  52. package/fesm2022/ng-doc-ui-kit-components-magnifier.mjs +31 -15
  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 +94 -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 +3 -4
  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/package.json +27 -30
  138. package/styles/main.css +271 -34
  139. package/types/ng-doc-ui-kit-cdk-combobox-host.d.ts +16 -8
  140. package/types/ng-doc-ui-kit-classes-base-input.d.ts +12 -1
  141. package/types/ng-doc-ui-kit-classes-overlay-ref.d.ts +27 -4
  142. package/types/ng-doc-ui-kit-components-blockquote.d.ts +22 -5
  143. package/types/ng-doc-ui-kit-components-button-icon.d.ts +23 -5
  144. package/types/ng-doc-ui-kit-components-button-toggle.d.ts +5 -1
  145. package/types/ng-doc-ui-kit-components-button.d.ts +6 -6
  146. package/types/ng-doc-ui-kit-components-checkbox.d.ts +5 -3
  147. package/types/ng-doc-ui-kit-components-clear-control.d.ts +7 -0
  148. package/types/ng-doc-ui-kit-components-combobox.d.ts +19 -9
  149. package/types/ng-doc-ui-kit-components-data-list-group.d.ts +16 -11
  150. package/types/ng-doc-ui-kit-components-data-list.d.ts +21 -11
  151. package/types/ng-doc-ui-kit-components-dialog-outlet.d.ts +11 -6
  152. package/types/ng-doc-ui-kit-components-dot.d.ts +10 -5
  153. package/types/ng-doc-ui-kit-components-dropdown.d.ts +39 -27
  154. package/types/ng-doc-ui-kit-components-expander.d.ts +9 -7
  155. package/types/ng-doc-ui-kit-components-floated-content.d.ts +8 -6
  156. package/types/ng-doc-ui-kit-components-focus-control.d.ts +10 -4
  157. package/types/ng-doc-ui-kit-components-icon.d.ts +49 -14
  158. package/types/ng-doc-ui-kit-components-input-wrapper.d.ts +31 -17
  159. package/types/ng-doc-ui-kit-components-label.d.ts +8 -5
  160. package/types/ng-doc-ui-kit-components-line.d.ts +3 -0
  161. package/types/ng-doc-ui-kit-components-list.d.ts +14 -3
  162. package/types/ng-doc-ui-kit-components-magnifier-controller.d.ts +5 -1
  163. package/types/ng-doc-ui-kit-components-magnifier.d.ts +19 -4
  164. package/types/ng-doc-ui-kit-components-option-group.d.ts +12 -8
  165. package/types/ng-doc-ui-kit-components-option.d.ts +9 -2
  166. package/types/ng-doc-ui-kit-components-overlay-container.d.ts +18 -15
  167. package/types/ng-doc-ui-kit-components-overlay-pointer.d.ts +10 -6
  168. package/types/ng-doc-ui-kit-components-pane.d.ts +25 -9
  169. package/types/ng-doc-ui-kit-components-selection.d.ts +59 -21
  170. package/types/ng-doc-ui-kit-components-sidenav.d.ts +17 -8
  171. package/types/ng-doc-ui-kit-components-spinner.d.ts +7 -3
  172. package/types/ng-doc-ui-kit-components-tab-group.d.ts +48 -22
  173. package/types/ng-doc-ui-kit-components-tab-routes-group.d.ts +4 -2
  174. package/types/ng-doc-ui-kit-components-tag.d.ts +13 -6
  175. package/types/ng-doc-ui-kit-components-text.d.ts +21 -19
  176. package/types/ng-doc-ui-kit-components-toggle.d.ts +13 -7
  177. package/types/ng-doc-ui-kit-components-wrapper.d.ts +3 -0
  178. package/types/ng-doc-ui-kit-directives-autofocus.d.ts +7 -5
  179. package/types/ng-doc-ui-kit-directives-checked-change.d.ts +15 -11
  180. package/types/ng-doc-ui-kit-directives-data.d.ts +6 -4
  181. package/types/ng-doc-ui-kit-directives-dropdown-handler.d.ts +5 -3
  182. package/types/ng-doc-ui-kit-directives-event-switcher.d.ts +11 -6
  183. package/types/ng-doc-ui-kit-directives-focus-catcher.d.ts +11 -8
  184. package/types/ng-doc-ui-kit-directives-focusable.d.ts +6 -3
  185. package/types/ng-doc-ui-kit-directives-fullscreen.d.ts +39 -0
  186. package/types/ng-doc-ui-kit-directives-hotkey.d.ts +14 -7
  187. package/types/ng-doc-ui-kit-directives-input-number.d.ts +3 -2
  188. package/types/ng-doc-ui-kit-directives-input-string.d.ts +2 -2
  189. package/types/ng-doc-ui-kit-directives-radio-group.d.ts +4 -0
  190. package/types/ng-doc-ui-kit-directives-rotator.d.ts +8 -8
  191. package/types/ng-doc-ui-kit-directives-tooltip.d.ts +35 -23
  192. package/types/ng-doc-ui-kit-directives.d.ts +1 -1
  193. package/types/ng-doc-ui-kit-interceptors.d.ts +18 -2
  194. package/types/ng-doc-ui-kit-interfaces.d.ts +20 -4
  195. package/types/ng-doc-ui-kit-observables.d.ts +2 -19
  196. package/types/ng-doc-ui-kit-services-dialog.d.ts +10 -1
  197. package/types/ng-doc-ui-kit-services-notify.d.ts +9 -1
  198. package/types/ng-doc-ui-kit-services-overlay-strategy.d.ts +5 -3
  199. package/types/ng-doc-ui-kit-services-overlay.d.ts +14 -3
  200. package/types/ng-doc-ui-kit-services-scroll.d.ts +4 -5
  201. package/fesm2022/ng-doc-ui-kit-decorators.mjs +0 -53
  202. package/fesm2022/ng-doc-ui-kit-decorators.mjs.map +0 -1
  203. package/fesm2022/ng-doc-ui-kit-directives-let.mjs +0 -43
  204. package/fesm2022/ng-doc-ui-kit-directives-let.mjs.map +0 -1
  205. package/types/ng-doc-ui-kit-decorators.d.ts +0 -12
  206. package/types/ng-doc-ui-kit-directives-let.d.ts +0 -22
@@ -4,17 +4,28 @@ import { DIControl } from 'di-controls';
4
4
  import { DIControlConfig } from 'di-controls/controls';
5
5
  import { Subject } from 'rxjs';
6
6
 
7
+ /**
8
+ * Base class of the directives that turn a native `input` into a UI Kit control
9
+ * (`ngDocInputString`, `ngDocInputNumber`). Input wrappers and comboboxes query it to read the
10
+ * state of their input.
11
+ */
7
12
  declare abstract class NgDocBaseInput<T> extends DIControl<T> {
8
13
  readonly elementRef: ElementRef<HTMLInputElement>;
14
+ /** Emits after the input updates its model from a user edit. */
9
15
  readonly changes: Subject<void>;
10
16
  protected readonly document: Document;
11
17
  protected constructor(config?: DIControlConfig<T, T>);
12
- get hostClasses(): string;
18
+ /** Placeholder of the native input. */
13
19
  get placeholder(): string;
20
+ /** Whether the native input has focus. */
14
21
  get isFocused(): boolean;
22
+ /** Whether the native input is read-only. */
15
23
  get isReadonly(): boolean;
24
+ /** Current text of the native input. */
16
25
  get value(): string;
26
+ /** Focuses the native input. */
17
27
  focus(): void;
28
+ /** Replays the `-blink` animation class on the native input. */
18
29
  blink(): void;
19
30
  updateModel(value: T | null): void;
20
31
  static ɵfac: i0.ɵɵFactoryDeclaration<NgDocBaseInput<any>, never>;
@@ -1,20 +1,34 @@
1
1
  import { OverlayRef, ConnectedOverlayPositionChange } from '@angular/cdk/overlay';
2
2
  import { Location } from '@angular/common';
3
- import { NgZone } from '@angular/core';
3
+ import { Injector } from '@angular/core';
4
4
  import { Router } from '@angular/router';
5
5
  import { NgDocOverlayContainer, NgDocOverlayConfig } from '@ng-doc/ui-kit/interfaces';
6
6
  import { Observable } from 'rxjs';
7
7
 
8
+ /**
9
+ * A handle to an opened overlay (a dropdown, a tooltip or a dialog).
10
+ *
11
+ * `NgDocOverlayService.open()` creates it, and the overlay content can inject it to close itself.
12
+ */
8
13
  declare class NgDocOverlayRef<T = unknown> {
9
14
  readonly overlayRef: OverlayRef;
10
15
  private readonly overlayConfig;
11
16
  readonly overlayContainer: NgDocOverlayContainer;
12
- private readonly ngZone;
17
+ private readonly injector;
13
18
  private readonly router?;
14
19
  private readonly location?;
15
20
  private overlayResult;
16
21
  private opened;
17
- constructor(overlayRef: OverlayRef, overlayConfig: NgDocOverlayConfig, overlayContainer: NgDocOverlayContainer, ngZone: NgZone, router?: Router | undefined, location?: Location | undefined);
22
+ /**
23
+ * @param overlayRef - The CDK overlay that hosts the container.
24
+ * @param overlayConfig - The configuration the overlay was opened with.
25
+ * @param overlayContainer - The container component rendered inside the overlay.
26
+ * @param injector - Injector the overlay uses to follow application renders. It must be able to
27
+ * inject NgZone; the component or environment injector of the opener is enough.
28
+ * @param router - Closes the overlay after a navigation when `disposeOnRouteNavigation` is set.
29
+ * @param location - Closes the overlay on a location change when `disposeOnNavigation` is set.
30
+ */
31
+ constructor(overlayRef: OverlayRef, overlayConfig: NgDocOverlayConfig, overlayContainer: NgDocOverlayContainer, injector: Injector, router?: Router | undefined, location?: Location | undefined);
18
32
  /** Sets focus to overlay */
19
33
  focus(): void;
20
34
  /** Overlay has focus */
@@ -25,7 +39,7 @@ declare class NgDocOverlayRef<T = unknown> {
25
39
  get hasAttached(): boolean;
26
40
  /**
27
41
  * Closes overlay
28
- * @param closeResult
42
+ * @param closeResult - The value `beforeClose()` and `afterClose()` emit.
29
43
  */
30
44
  close(closeResult?: T): void;
31
45
  beforeOpen(): Observable<void>;
@@ -33,6 +47,15 @@ declare class NgDocOverlayRef<T = unknown> {
33
47
  beforeClose(): Observable<T | null>;
34
48
  afterClose(): Observable<T | null>;
35
49
  positionChanges(): Observable<ConnectedOverlayPositionChange>;
50
+ /**
51
+ * Repositions the overlay when its origin moves or resizes.
52
+ *
53
+ * The origin is measured after application renders rather than when the zone becomes stable,
54
+ * which never happens in a zoneless application. The debounce timer starts outside the Angular zone so that it
55
+ * does not trigger another change detection (and another render) in a zone.js application.
56
+ * @param origin - The element the overlay is connected to.
57
+ */
58
+ private followOrigin;
36
59
  private outsideClickChecker;
37
60
  }
38
61
 
@@ -1,11 +1,28 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { Signal } from '@angular/core';
1
3
  import { NgDocBlockquoteType } from '@ng-doc/ui-kit/types';
2
- import * as i0 from '@angular/core';
3
4
 
5
+ /**
6
+ * A callout. A Markdown blockquote whose first word is a bold type name, such as Note, renders
7
+ * as this component.
8
+ *
9
+ * The `note`, `warning`, `alert` and `success` types show their icon and their name as a title
10
+ * ("Note", "Warning", ...). A callout with a custom `icon` shows no type title, only its `label`
11
+ * when it has one. The `default` type has neither an icon nor a title.
12
+ */
4
13
  declare class NgDocBlockquoteComponent {
5
- type: NgDocBlockquoteType;
6
- icon?: string;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDocBlockquoteComponent, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocBlockquoteComponent, "blockquote[ng-doc-blockquote]", never, { "type": { "alias": "type"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; }, {}, never, ["*"], true, never>;
14
+ /** Callout type; it selects the colour, the icon and the title. */
15
+ readonly type: _angular_core.InputSignal<NgDocBlockquoteType>;
16
+ /** Name of an icon that replaces the type's icon; the type title is not shown then. */
17
+ readonly icon: _angular_core.InputSignal<string | undefined>;
18
+ /** A title that replaces the type title, for example "Deprecated". */
19
+ readonly label: _angular_core.InputSignal<string | undefined>;
20
+ /** The icon that is shown, if any. */
21
+ protected readonly iconName: Signal<string | undefined>;
22
+ /** The title that is shown, if any. */
23
+ protected readonly title: Signal<string | undefined>;
24
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocBlockquoteComponent, never>;
25
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocBlockquoteComponent, "blockquote[ng-doc-blockquote]", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
9
26
  }
10
27
 
11
28
  export { NgDocBlockquoteComponent };
@@ -1,11 +1,29 @@
1
+ import * as _angular_core from '@angular/core';
1
2
  import { NgDocSize } from '@ng-doc/ui-kit/types';
2
- import * as i0 from '@angular/core';
3
3
 
4
+ /**
5
+ * A square button that holds a single icon.
6
+ *
7
+ * The `large` size is the 36px header button. Set `[rounded]="false"` for the rounded-square
8
+ * shape of the NgDoc header.
9
+ * @example
10
+ * ```html
11
+ * <button ng-doc-button-icon size="large" [rounded]="false" aria-label="Open menu">
12
+ * <ng-doc-icon icon="menu" />
13
+ * </button>
14
+ * ```
15
+ */
4
16
  declare class NgDocButtonIconComponent {
5
- size: NgDocSize;
6
- rounded: boolean;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDocButtonIconComponent, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocButtonIconComponent, "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]", never, { "size": { "alias": "size"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; }, {}, never, ["*"], true, never>;
17
+ /**
18
+ * Size of the button: `small` (24px), `medium` (32px) or `large` (36px).
19
+ */
20
+ readonly size: _angular_core.InputSignal<NgDocSize>;
21
+ /**
22
+ * Whether the button is a circle. When `false`, it is a rounded square.
23
+ */
24
+ readonly rounded: _angular_core.InputSignalWithTransform<boolean, unknown>;
25
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocButtonIconComponent, never>;
26
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocButtonIconComponent, "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]", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
9
27
  }
10
28
 
11
29
  export { NgDocButtonIconComponent };
@@ -1,9 +1,13 @@
1
1
  import { DIStateControl } from 'di-controls';
2
2
  import * as i0 from '@angular/core';
3
3
 
4
+ /**
5
+ * Button that checks its `value` in the host control (for example `ngDocRadioGroup`) when
6
+ * clicked, and unchecks it when clicked again.
7
+ */
4
8
  declare class NgDocButtonToggleComponent<T> extends DIStateControl<T> {
5
9
  constructor();
6
- clickEvent(): void;
10
+ protected clickEvent(): void;
7
11
  static ɵfac: i0.ɵɵFactoryDeclaration<NgDocButtonToggleComponent<any>, never>;
8
12
  static ɵcmp: i0.ɵɵComponentDeclaration<NgDocButtonToggleComponent<any>, "[ng-doc-button-toggle]", never, {}, {}, never, ["*"], true, never>;
9
13
  }
@@ -1,5 +1,5 @@
1
+ import * as _angular_core from '@angular/core';
1
2
  import { NgDocSize, NgDocColor } from '@ng-doc/ui-kit/types';
2
- import * as i0 from '@angular/core';
3
3
 
4
4
  /**
5
5
  * `NgDocButtonComponent` is a reusable button component with customizable properties.
@@ -14,19 +14,19 @@ declare class NgDocButtonComponent {
14
14
  * Size of the button. Can be 'small', 'medium', or 'large'.
15
15
  * Default is 'small'.
16
16
  */
17
- size: NgDocSize;
17
+ readonly size: _angular_core.InputSignal<NgDocSize>;
18
18
  /**
19
19
  * Color of the button. Can be 'primary', 'secondary', etc.
20
20
  * Default is 'primary'.
21
21
  */
22
- color: NgDocColor;
22
+ readonly color: _angular_core.InputSignal<NgDocColor>;
23
23
  /**
24
24
  * Whether the button is rounded or not.
25
25
  * Default is false.
26
26
  */
27
- rounded: boolean;
28
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDocButtonComponent, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocButtonComponent, "button[ng-doc-button], a[ng-doc-button], button[ng-doc-button-flat], a[ng-doc-button-flat], button[ng-doc-button-text], a[ng-doc-button-text]", never, { "size": { "alias": "size"; "required": false; }; "color": { "alias": "color"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; }, {}, never, ["*"], true, never>;
27
+ readonly rounded: _angular_core.InputSignalWithTransform<boolean, unknown>;
28
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocButtonComponent, never>;
29
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocButtonComponent, "button[ng-doc-button], a[ng-doc-button], button[ng-doc-button-flat], a[ng-doc-button-flat], button[ng-doc-button-text], a[ng-doc-button-text]", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
30
30
  }
31
31
 
32
32
  export { NgDocButtonComponent };
@@ -1,12 +1,14 @@
1
+ import * as i0 from '@angular/core';
1
2
  import { NgDocColor } from '@ng-doc/ui-kit/types';
2
3
  import { DIStateControl } from 'di-controls';
3
- import * as i0 from '@angular/core';
4
4
 
5
+ /** A checkbox control; project its label. */
5
6
  declare class NgDocCheckboxComponent<T> extends DIStateControl<T> {
6
- color: NgDocColor;
7
+ /** Colour of the checked box. */
8
+ readonly color: i0.InputSignal<NgDocColor>;
7
9
  constructor();
8
10
  static ɵfac: i0.ɵɵFactoryDeclaration<NgDocCheckboxComponent<any>, never>;
9
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocCheckboxComponent<any>, "ng-doc-checkbox", never, { "color": { "alias": "color"; "required": false; }; }, {}, never, ["ng-doc-icon", "*"], true, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgDocCheckboxComponent<any>, "ng-doc-checkbox", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, ["ng-doc-icon", "*"], true, never>;
10
12
  }
11
13
 
12
14
  export { NgDocCheckboxComponent };
@@ -3,11 +3,18 @@ import { AfterContentInit } from '@angular/core';
3
3
  import { NgDocInputHost } from '@ng-doc/ui-kit/classes/input-host';
4
4
  import { DIControl } from 'di-controls';
5
5
 
6
+ /**
7
+ * Button that clears the value of its host control and of the input of the surrounding input
8
+ * host. It is shown only while there is a value to clear.
9
+ */
6
10
  declare class NgDocClearControlComponent<T> extends DIControl<T> implements AfterContentInit {
7
11
  protected readonly inputHost: NgDocInputHost<T> | null;
12
+ private readonly clearControlDestroyRef;
8
13
  constructor();
9
14
  ngAfterContentInit(): void;
15
+ /** Whether there is a value to clear. */
10
16
  get isVisible(): boolean;
17
+ /** Clears the value. */
11
18
  clear(): void;
12
19
  static ɵfac: i0.ɵɵFactoryDeclaration<NgDocClearControlComponent<any>, never>;
13
20
  static ɵcmp: i0.ɵɵComponentDeclaration<NgDocClearControlComponent<any>, "ng-doc-clear-control", never, {}, {}, never, never, true, never>;
@@ -1,21 +1,31 @@
1
- import * as i0 from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
2
  import { TemplateRef } from '@angular/core';
3
3
  import { NgDocListHost } from '@ng-doc/ui-kit/classes/list-host';
4
4
  import { NgDocContextWithImplicit } from '@ng-doc/ui-kit/interfaces';
5
5
  import { NgDocContent } from '@ng-doc/ui-kit/types';
6
6
  import { DIControl } from 'di-controls';
7
7
 
8
+ /**
9
+ * A select with an optional text field. Its options are an `ng-doc-list` in a template marked
10
+ * with the `ngDocData` directive.
11
+ */
8
12
  declare class NgDocComboboxComponent<T> extends DIControl<T> implements NgDocListHost {
9
- readonly: boolean;
10
- placeholder: string;
11
- clearButton: boolean;
12
- rightContent: NgDocContent;
13
- valueContent: NgDocContent<NgDocContextWithImplicit<T | null>>;
14
- data: TemplateRef<never> | null;
13
+ /** Whether the text field is read-only: the value is picked from the list only. */
14
+ readonly readonly: _angular_core.InputSignal<boolean>;
15
+ /** Placeholder of the text field. */
16
+ readonly placeholder: _angular_core.InputSignal<string>;
17
+ /** Whether the clear button is shown. */
18
+ readonly clearButton: _angular_core.InputSignal<boolean>;
19
+ /** Content shown at the right of the field. */
20
+ readonly rightContent: _angular_core.InputSignal<NgDocContent>;
21
+ /** Content that shows the value while the field is not being edited. */
22
+ readonly valueContent: _angular_core.InputSignal<NgDocContent<NgDocContextWithImplicit<T | null>>>;
23
+ /** The template of the options, marked with the `ngDocData` directive. */
24
+ readonly data: _angular_core.Signal<TemplateRef<any> | undefined>;
15
25
  constructor();
16
26
  get listHostOrigin(): HTMLElement;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDocComboboxComponent<any>, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocComboboxComponent<any>, "ng-doc-combobox", never, { "readonly": { "alias": "readonly"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "clearButton": { "alias": "clearButton"; "required": false; }; "rightContent": { "alias": "rightContent"; "required": false; }; "valueContent": { "alias": "valueContent"; "required": false; }; }, {}, ["data"], never, true, never>;
27
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocComboboxComponent<any>, never>;
28
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocComboboxComponent<any>, "ng-doc-combobox", never, { "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "clearButton": { "alias": "clearButton"; "required": false; "isSignal": true; }; "rightContent": { "alias": "rightContent"; "required": false; "isSignal": true; }; "valueContent": { "alias": "valueContent"; "required": false; "isSignal": true; }; }, {}, ["data"], never, true, never>;
19
29
  }
20
30
 
21
31
  export { NgDocComboboxComponent };
@@ -1,18 +1,23 @@
1
- import * as i0 from '@angular/core';
2
- import { OnChanges, SimpleChanges } from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
+ import { Signal } from '@angular/core';
3
3
  import { NgDocDataListComponent } from '@ng-doc/ui-kit/components/data-list';
4
4
  import { NgDocContextWithImplicit } from '@ng-doc/ui-kit/interfaces';
5
5
  import { NgDocGroupFn, NgDocContent } from '@ng-doc/ui-kit/types';
6
6
 
7
- declare class NgDocDataListGroupComponent<T, G> extends NgDocDataListComponent<T> implements OnChanges {
8
- itemGroupFn?: NgDocGroupFn<T, G>;
9
- groupContent: NgDocContent<NgDocContextWithImplicit<G>>;
10
- groups: Map<G, T[]>;
11
- groupItems: G[];
12
- getGroupContext($implicit: G): NgDocContextWithImplicit<G>;
13
- ngOnChanges({ items, itemGroupFn }: SimpleChanges): void;
14
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDocDataListGroupComponent<any, any>, never>;
15
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocDataListGroupComponent<any, any>, "ng-doc-data-list-group", never, { "itemGroupFn": { "alias": "itemGroupFn"; "required": false; }; "groupContent": { "alias": "groupContent"; "required": false; }; }, {}, never, never, true, never>;
7
+ /**
8
+ * Data list whose options are grouped by `itemGroupFn`, with a header per group.
9
+ */
10
+ declare class NgDocDataListGroupComponent<T, G> extends NgDocDataListComponent<T> {
11
+ /** Returns the group of an item. Without it, no option is shown. */
12
+ readonly itemGroupFn: _angular_core.InputSignal<NgDocGroupFn<T, G> | undefined>;
13
+ /** Content of a group header; its context is the group. */
14
+ readonly groupContent: _angular_core.InputSignal<NgDocContent<NgDocContextWithImplicit<G>>>;
15
+ /** Items by group, in the order in which the groups first appear. */
16
+ readonly groups: Signal<Map<G, T[]>>;
17
+ /** The groups, in the order in which they first appear. */
18
+ readonly groupItems: Signal<G[]>;
19
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocDataListGroupComponent<any, any>, never>;
20
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocDataListGroupComponent<any, any>, "ng-doc-data-list-group", never, { "itemGroupFn": { "alias": "itemGroupFn"; "required": false; "isSignal": true; }; "groupContent": { "alias": "groupContent"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16
21
  }
17
22
 
18
23
  export { NgDocDataListGroupComponent };
@@ -1,20 +1,30 @@
1
- import * as i0 from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
2
  import { TrackByFunction } from '@angular/core';
3
3
  import { NgDocContextWithImplicit } from '@ng-doc/ui-kit/interfaces';
4
4
  import { NgDocContent, NgDocBooleanHandler, NgDocDefineValueFunction } from '@ng-doc/ui-kit/types';
5
5
 
6
+ /**
7
+ * Keyboard-navigable list of options built from `items`.
8
+ */
6
9
  declare class NgDocDataListComponent<T> {
7
- autofocus: boolean;
8
- items: readonly T[] | null;
9
- itemContent: NgDocContent<NgDocContextWithImplicit<T>>;
10
- emptyContent: NgDocContent;
11
- itemDisabledFn: NgDocBooleanHandler<T>;
12
- defineValueFn: NgDocDefineValueFunction<unknown, unknown>;
13
- trackByFn: TrackByFunction<T>;
14
- getContext($implicit: T): NgDocContextWithImplicit<T>;
10
+ /** Whether the list takes focus when it opens. */
11
+ readonly autofocus: _angular_core.InputSignal<boolean>;
12
+ /** Items to show. */
13
+ readonly items: _angular_core.InputSignal<readonly T[] | null>;
14
+ /** Content of an option; its context is the item. */
15
+ readonly itemContent: _angular_core.InputSignal<NgDocContent<NgDocContextWithImplicit<T>>>;
16
+ /** Content shown when there are no items. */
17
+ readonly emptyContent: _angular_core.InputSignal<NgDocContent>;
18
+ /** Returns `true` for items whose option is disabled. */
19
+ readonly itemDisabledFn: _angular_core.InputSignal<NgDocBooleanHandler<T>>;
20
+ /** Maps an item to the value its option selects. */
21
+ readonly defineValueFn: _angular_core.InputSignal<NgDocDefineValueFunction<unknown, unknown>>;
22
+ /** Identifies items across changes of `items`. */
23
+ readonly trackByFn: _angular_core.InputSignal<TrackByFunction<T>>;
24
+ /** Returns the items as an array. */
15
25
  getItems(): T[];
16
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDocDataListComponent<any>, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocDataListComponent<any>, "ng-doc-data-list", never, { "autofocus": { "alias": "autofocus"; "required": false; }; "items": { "alias": "items"; "required": false; }; "itemContent": { "alias": "itemContent"; "required": false; }; "emptyContent": { "alias": "emptyContent"; "required": false; }; "itemDisabledFn": { "alias": "itemDisabledFn"; "required": false; }; "defineValueFn": { "alias": "defineValueFn"; "required": false; }; "trackByFn": { "alias": "trackByFn"; "required": false; }; }, {}, never, never, true, never>;
26
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocDataListComponent<any>, never>;
27
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocDataListComponent<any>, "ng-doc-data-list", never, { "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "itemContent": { "alias": "itemContent"; "required": false; "isSignal": true; }; "emptyContent": { "alias": "emptyContent"; "required": false; "isSignal": true; }; "itemDisabledFn": { "alias": "itemDisabledFn"; "required": false; "isSignal": true; }; "defineValueFn": { "alias": "defineValueFn"; "required": false; "isSignal": true; }; "trackByFn": { "alias": "trackByFn"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18
28
  }
19
29
 
20
30
  export { NgDocDataListComponent };
@@ -1,21 +1,26 @@
1
- import * as i0 from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
2
  import { AfterContentInit, TemplateRef, DestroyRef } from '@angular/core';
3
3
  import { RouterOutlet, Router, ActivatedRoute } from '@angular/router';
4
4
  import { NgDocOverlayRef } from '@ng-doc/ui-kit/classes/overlay-ref';
5
5
  import { NgDocDialogConfig, NgDocDialogService } from '@ng-doc/ui-kit/services/dialog';
6
6
 
7
+ /**
8
+ * Shows the projected router outlet in a dialog while one of its routes is active, and navigates
9
+ * back to the parent route when the dialog closes.
10
+ */
7
11
  declare class DialogOutletComponent implements AfterContentInit {
8
- config?: NgDocDialogConfig;
9
- outletContent: TemplateRef<never>;
10
- routerOutlet?: RouterOutlet;
12
+ /** Options of the dialog. */
13
+ readonly config: _angular_core.InputSignal<NgDocDialogConfig<unknown> | undefined>;
14
+ readonly outletContent: _angular_core.Signal<TemplateRef<never>>;
15
+ readonly routerOutlet: _angular_core.Signal<RouterOutlet | undefined>;
11
16
  dialogRef?: NgDocOverlayRef;
12
17
  protected readonly router: Router;
13
18
  protected readonly route: ActivatedRoute;
14
19
  protected readonly dialogService: NgDocDialogService;
15
20
  protected readonly destroyRef: DestroyRef;
16
21
  ngAfterContentInit(): void;
17
- static ɵfac: i0.ɵɵFactoryDeclaration<DialogOutletComponent, never>;
18
- static ɵcmp: i0.ɵɵComponentDeclaration<DialogOutletComponent, "ng-doc-dialog-outlet", never, { "config": { "alias": "config"; "required": false; }; }, {}, ["routerOutlet"], ["*"], true, never>;
22
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DialogOutletComponent, never>;
23
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DialogOutletComponent, "ng-doc-dialog-outlet", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, {}, ["routerOutlet"], ["*"], true, never>;
19
24
  }
20
25
 
21
26
  export { DialogOutletComponent };
@@ -1,11 +1,16 @@
1
+ import * as _angular_core from '@angular/core';
1
2
  import { NgDocColor, NgDocSize } from '@ng-doc/ui-kit/types';
2
- import * as i0 from '@angular/core';
3
3
 
4
+ /**
5
+ * A small coloured dot, for example to mark a state next to a label.
6
+ */
4
7
  declare class NgDocDotComponent {
5
- color?: NgDocColor;
6
- size?: NgDocSize;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDocDotComponent, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocDotComponent, "ng-doc-dot", never, { "color": { "alias": "color"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
8
+ /** Colour of the dot. */
9
+ readonly color: _angular_core.InputSignal<NgDocColor | undefined>;
10
+ /** Size of the dot: 4px (`small`), 8px (`medium`) or 16px (`large`). */
11
+ readonly size: _angular_core.InputSignal<NgDocSize | undefined>;
12
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocDotComponent, never>;
13
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocDotComponent, "ng-doc-dot", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
9
14
  }
10
15
 
11
16
  export { NgDocDotComponent };
@@ -1,44 +1,56 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnChanges, OnDestroy, ChangeDetectorRef, ViewContainerRef, SimpleChanges } from '@angular/core';
1
3
  import { Point } from '@angular/cdk/drag-drop';
2
4
  import { CdkOverlayOrigin } from '@angular/cdk/overlay';
3
- import * as i0 from '@angular/core';
4
- import { OnChanges, OnDestroy, ChangeDetectorRef, ViewContainerRef, NgZone, EventEmitter, SimpleChanges } from '@angular/core';
5
5
  import { NgDocOverlayHost } from '@ng-doc/ui-kit/classes/overlay-host';
6
6
  import { NgDocOverlayRef } from '@ng-doc/ui-kit/classes/overlay-ref';
7
7
  import { NgDocOverlayProperties } from '@ng-doc/ui-kit/interfaces';
8
8
  import { NgDocOverlayService } from '@ng-doc/ui-kit/services/overlay';
9
9
  import { NgDocContent, NgDocOverlayPosition } from '@ng-doc/ui-kit/types';
10
10
 
11
+ /**
12
+ * Renders its content in an overlay connected to an origin: the `origin` input, or the
13
+ * surrounding `ngDocDropdownOrigin`.
14
+ */
11
15
  declare class NgDocDropdownComponent implements OnChanges, OnDestroy {
12
16
  protected changeDetectorRef: ChangeDetectorRef;
13
17
  protected overlayService: NgDocOverlayService;
14
18
  protected viewContainerRef: ViewContainerRef;
15
- protected ngZone: NgZone;
16
19
  protected overlayHost: NgDocOverlayHost | null;
17
- content: NgDocContent;
18
- origin: CdkOverlayOrigin | Point | null;
19
- closeIfOutsideClick: boolean;
20
- closeIfInnerClick: boolean;
21
- withArrow: boolean;
22
- borderOffset: number;
23
- panelClass: string | string[];
24
- contactBorder: boolean;
25
- hasBackdrop: boolean;
26
- positions: NgDocOverlayPosition | NgDocOverlayPosition[];
27
- minHeight: number | string;
28
- maxHeight: number | string;
29
- height: number | string;
30
- minWidth: number | string;
31
- maxWidth: number | string;
32
- width: number | string;
33
- beforeOpen: EventEmitter<void>;
34
- afterOpen: EventEmitter<void>;
35
- beforeClose: EventEmitter<void>;
36
- afterClose: EventEmitter<void>;
20
+ private readonly destroyRef;
21
+ /** What the dropdown renders: a string, a template or a component. */
22
+ readonly content: _angular_core.InputSignal<NgDocContent>;
23
+ /**
24
+ * The origin to connect to. When it changes to `null`, the dropdown stays connected to the
25
+ * previous origin.
26
+ */
27
+ readonly origin: _angular_core.InputSignal<CdkOverlayOrigin | Point | null>;
28
+ readonly closeIfOutsideClick: _angular_core.InputSignal<boolean>;
29
+ readonly closeIfInnerClick: _angular_core.InputSignal<boolean>;
30
+ readonly withArrow: _angular_core.InputSignal<boolean>;
31
+ readonly borderOffset: _angular_core.InputSignal<number>;
32
+ readonly panelClass: _angular_core.InputSignal<string | string[]>;
33
+ readonly contactBorder: _angular_core.InputSignal<boolean>;
34
+ readonly hasBackdrop: _angular_core.InputSignal<boolean>;
35
+ readonly positions: _angular_core.InputSignal<NgDocOverlayPosition | NgDocOverlayPosition[]>;
36
+ readonly minHeight: _angular_core.InputSignal<string | number>;
37
+ readonly maxHeight: _angular_core.InputSignal<string | number>;
38
+ readonly height: _angular_core.InputSignal<string | number>;
39
+ readonly minWidth: _angular_core.InputSignal<string | number>;
40
+ readonly maxWidth: _angular_core.InputSignal<string | number>;
41
+ readonly width: _angular_core.InputSignal<string | number>;
42
+ /** Emits when the dropdown starts opening. */
43
+ readonly beforeOpen: _angular_core.OutputEmitterRef<void>;
44
+ /** Emits when the open animation has finished. */
45
+ readonly afterOpen: _angular_core.OutputEmitterRef<void>;
46
+ /** Emits when the dropdown starts closing. */
47
+ readonly beforeClose: _angular_core.OutputEmitterRef<void>;
48
+ /** Emits when the dropdown has closed. */
49
+ readonly afterClose: _angular_core.OutputEmitterRef<void>;
37
50
  overlay: NgDocOverlayRef | null;
51
+ private readonly lastOrigin;
38
52
  overlayProperties: NgDocOverlayProperties;
39
- constructor();
40
53
  ngOnChanges({ origin }: SimpleChanges): void;
41
- get tabIndex(): number;
42
54
  focus(): void;
43
55
  get isFocused(): boolean;
44
56
  open(): void;
@@ -51,8 +63,8 @@ declare class NgDocDropdownComponent implements OnChanges, OnDestroy {
51
63
  private getConfig;
52
64
  private getOverlayProperties;
53
65
  ngOnDestroy(): void;
54
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDocDropdownComponent, never>;
55
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocDropdownComponent, "ng-doc-dropdown", never, { "content": { "alias": "content"; "required": false; }; "origin": { "alias": "origin"; "required": false; }; "closeIfOutsideClick": { "alias": "closeIfOutsideClick"; "required": false; }; "closeIfInnerClick": { "alias": "closeIfInnerClick"; "required": false; }; "withArrow": { "alias": "withArrow"; "required": false; }; "borderOffset": { "alias": "borderOffset"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; "contactBorder": { "alias": "contactBorder"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "positions": { "alias": "positions"; "required": false; }; "minHeight": { "alias": "minHeight"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "height": { "alias": "height"; "required": false; }; "minWidth": { "alias": "minWidth"; "required": false; }; "maxWidth": { "alias": "maxWidth"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "beforeOpen": "beforeOpen"; "afterOpen": "afterOpen"; "beforeClose": "beforeClose"; "afterClose": "afterClose"; }, never, never, true, never>;
66
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocDropdownComponent, never>;
67
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocDropdownComponent, "ng-doc-dropdown", never, { "content": { "alias": "content"; "required": false; "isSignal": true; }; "origin": { "alias": "origin"; "required": false; "isSignal": true; }; "closeIfOutsideClick": { "alias": "closeIfOutsideClick"; "required": false; "isSignal": true; }; "closeIfInnerClick": { "alias": "closeIfInnerClick"; "required": false; "isSignal": true; }; "withArrow": { "alias": "withArrow"; "required": false; "isSignal": true; }; "borderOffset": { "alias": "borderOffset"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "contactBorder": { "alias": "contactBorder"; "required": false; "isSignal": true; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; "isSignal": true; }; "positions": { "alias": "positions"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "minWidth": { "alias": "minWidth"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; }, { "beforeOpen": "beforeOpen"; "afterOpen": "afterOpen"; "beforeClose": "beforeClose"; "afterClose": "afterClose"; }, never, never, true, never>;
56
68
  }
57
69
 
58
70
  export { NgDocDropdownComponent };
@@ -1,19 +1,21 @@
1
- import * as i0 from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
2
  import { AnimationCallbackEvent } from '@angular/core';
3
3
  import { NgDocContent } from '@ng-doc/ui-kit/types';
4
4
 
5
5
  /** Component helps to expand or collapse content */
6
6
  declare class NgDocExpanderComponent {
7
- /** Change expand state */
8
- expanded: boolean;
7
+ /** Whether the content is shown. */
8
+ readonly expanded: _angular_core.ModelSignal<boolean>;
9
9
  /** Expander content */
10
- content: NgDocContent;
11
- collapseMod: 'remove' | 'hide';
10
+ readonly content: _angular_core.InputSignal<NgDocContent>;
11
+ /** `remove` removes the collapsed content from the DOM; `hide` keeps it, inert and hidden. */
12
+ readonly collapseMod: _angular_core.InputSignal<"remove" | "hide">;
13
+ /** Shows or hides the content. */
12
14
  toggle(): void;
13
15
  protected enter(container: HTMLElement, event: AnimationCallbackEvent): void;
14
16
  protected leave(container: HTMLElement, event: AnimationCallbackEvent): void;
15
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDocExpanderComponent, never>;
16
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocExpanderComponent, "ng-doc-expander", never, { "expanded": { "alias": "expanded"; "required": false; }; "content": { "alias": "content"; "required": true; }; "collapseMod": { "alias": "collapseMod"; "required": false; }; }, {}, never, never, true, never>;
17
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocExpanderComponent, never>;
18
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocExpanderComponent, "ng-doc-expander", never, { "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": true; "isSignal": true; }; "collapseMod": { "alias": "collapseMod"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; }, never, never, true, never>;
17
19
  }
18
20
 
19
21
  export { NgDocExpanderComponent };
@@ -1,13 +1,15 @@
1
+ import * as _angular_core from '@angular/core';
1
2
  import { BaseElement, NgDocHorizontalAlign } from '@ng-doc/ui-kit/types';
2
- import * as i0 from '@angular/core';
3
3
 
4
+ /** Content that floats over the edge of its container, aligned to one side. */
4
5
  declare class NgDocFloatedContentComponent {
5
- bindTo?: BaseElement<HTMLElement>;
6
- propertyName: string;
7
- alignTo: NgDocHorizontalAlign;
6
+ readonly bindTo: _angular_core.InputSignal<BaseElement<HTMLElement> | undefined>;
7
+ readonly propertyName: _angular_core.InputSignal<string>;
8
+ /** The side the content is aligned to. */
9
+ readonly alignTo: _angular_core.InputSignal<NgDocHorizontalAlign>;
8
10
  readonly element: HTMLElement;
9
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDocFloatedContentComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocFloatedContentComponent, "[ng-doc-floated-content]", never, { "bindTo": { "alias": "bindTo"; "required": false; }; "propertyName": { "alias": "propertyName"; "required": false; }; "alignTo": { "alias": "alignTo"; "required": false; }; }, {}, never, ["*"], true, never>;
11
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgDocFloatedContentComponent, never>;
12
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgDocFloatedContentComponent, "[ng-doc-floated-content]", never, { "bindTo": { "alias": "bindTo"; "required": false; "isSignal": true; }; "propertyName": { "alias": "propertyName"; "required": false; "isSignal": true; }; "alignTo": { "alias": "alignTo"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
11
13
  }
12
14
 
13
15
  export { NgDocFloatedContentComponent };
@@ -1,13 +1,19 @@
1
1
  import * as i0 from '@angular/core';
2
2
 
3
+ /**
4
+ * Surrounds its content with two focus traps. Tabbing out of the content moves the focus to the
5
+ * element before or after `focusHost` in the document, instead of leaving it on the traps.
6
+ */
3
7
  declare class NgDocFocusControlComponent {
4
- private documentRef;
5
- focusHost: HTMLElement | null;
6
- constructor();
8
+ private readonly documentRef;
9
+ /** Element from which the focus moves on when it leaves the content. */
10
+ readonly focusHost: i0.InputSignal<HTMLElement | null>;
11
+ /** Focuses the focusable element before `focusHost`. */
7
12
  focusPrev(): void;
13
+ /** Focuses the focusable element after `focusHost`. */
8
14
  focusNext(): void;
9
15
  static ɵfac: i0.ɵɵFactoryDeclaration<NgDocFocusControlComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<NgDocFocusControlComponent, "ng-doc-focus-control", never, { "focusHost": { "alias": "focusHost"; "required": false; }; }, {}, never, ["*"], true, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgDocFocusControlComponent, "ng-doc-focus-control", never, { "focusHost": { "alias": "focusHost"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
11
17
  }
12
18
 
13
19
  export { NgDocFocusControlComponent };