@ng-doc/ui-kit 22.0.0-beta.2 → 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 (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 +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 +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 +43 -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
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { forwardRef, HostListener, Directive } from '@angular/core';
2
+ import { forwardRef, Directive } from '@angular/core';
3
3
  import { isPresent } from '@ng-doc/core/helpers/is-present';
4
4
  import { NgDocBaseInput } from '@ng-doc/ui-kit/classes/base-input';
5
5
  import { toElement } from '@ng-doc/ui-kit/helpers';
@@ -19,27 +19,24 @@ class NgDocInputStringDirective extends NgDocBaseInput {
19
19
  inputEvent() {
20
20
  this.updateModel(this.elementRef.nativeElement.value);
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: NgDocInputStringDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
23
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.6", type: NgDocInputStringDirective, isStandalone: true, selector: "input[ngDocInputString]", host: { listeners: { "blur": "blurEvent()", "input": "inputEvent()" } }, providers: [
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocInputStringDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.2.1", type: NgDocInputStringDirective, isStandalone: true, selector: "input[ngDocInputString]", host: { listeners: { "blur": "blurEvent()", "input": "inputEvent()" } }, providers: [
24
24
  { provide: NgDocBaseInput, useExisting: forwardRef(() => NgDocInputStringDirective) },
25
25
  ], usesInheritance: true, ngImport: i0 }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: NgDocInputStringDirective, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocInputStringDirective, decorators: [{
28
28
  type: Directive,
29
29
  args: [{
30
30
  selector: `input[ngDocInputString]`,
31
31
  providers: [
32
32
  { provide: NgDocBaseInput, useExisting: forwardRef(() => NgDocInputStringDirective) },
33
33
  ],
34
- standalone: true,
34
+ host: {
35
+ '(blur)': 'blurEvent()',
36
+ '(input)': 'inputEvent()',
37
+ },
35
38
  }]
36
- }], ctorParameters: () => [], propDecorators: { blurEvent: [{
37
- type: HostListener,
38
- args: ['blur']
39
- }], inputEvent: [{
40
- type: HostListener,
41
- args: ['input']
42
- }] } });
39
+ }], ctorParameters: () => [] });
43
40
 
44
41
  /**
45
42
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-ui-kit-directives-input-string.mjs","sources":["../../../../libs/ui-kit/directives/input-string/input-string.directive.ts","../../../../libs/ui-kit/directives/input-string/ng-doc-ui-kit-directives-input-string.ts"],"sourcesContent":["import { Directive, forwardRef, HostListener } from '@angular/core';\nimport { isPresent } from '@ng-doc/core/helpers/is-present';\nimport { NgDocBaseInput } from '@ng-doc/ui-kit/classes/base-input';\nimport { toElement } from '@ng-doc/ui-kit/helpers';\n\n/** Directive converts any input data or model to text */\n@Directive({\n selector: `input[ngDocInputString]`,\n providers: [\n { provide: NgDocBaseInput, useExisting: forwardRef(() => NgDocInputStringDirective) },\n ],\n standalone: true,\n})\nexport class NgDocInputStringDirective extends NgDocBaseInput<string> {\n constructor() {\n super({\n onIncomingUpdate: (value) => {\n toElement(this.elementRef).value = isPresent(value) ? String(value) : '';\n },\n });\n }\n\n @HostListener('blur')\n blurEvent(): void {\n this.touch();\n }\n\n @HostListener('input')\n inputEvent(): void {\n this.updateModel(this.elementRef.nativeElement.value);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAKA;AAQM,MAAO,yBAA0B,SAAQ,cAAsB,CAAA;AACnE,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,CAAC;AACJ,YAAA,gBAAgB,EAAE,CAAC,KAAK,KAAI;gBAC1B,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;YAC1E,CAAC;AACF,SAAA,CAAC;IACJ;IAGA,SAAS,GAAA;QACP,IAAI,CAAC,KAAK,EAAE;IACd;IAGA,UAAU,GAAA;QACR,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC;IACvD;8GAjBW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,MAAA,EAAA,aAAA,EAAA,OAAA,EAAA,cAAA,EAAA,EAAA,EAAA,SAAA,EALzB;AACT,YAAA,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC,EAAE;AACtF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAGU,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAPrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAA,uBAAA,CAAyB;AACnC,oBAAA,SAAS,EAAE;AACT,wBAAA,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,CAAC,MAAK,yBAA0B,CAAC,EAAE;AACtF,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;sBAUE,YAAY;uBAAC,MAAM;;sBAKnB,YAAY;uBAAC,OAAO;;;AC3BvB;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-ui-kit-directives-input-string.mjs","sources":["../../../../libs/ui-kit/directives/input-string/input-string.directive.ts","../../../../libs/ui-kit/directives/input-string/ng-doc-ui-kit-directives-input-string.ts"],"sourcesContent":["import { Directive, forwardRef } from '@angular/core';\nimport { isPresent } from '@ng-doc/core/helpers/is-present';\nimport { NgDocBaseInput } from '@ng-doc/ui-kit/classes/base-input';\nimport { toElement } from '@ng-doc/ui-kit/helpers';\n\n/** Directive converts any input data or model to text */\n@Directive({\n selector: `input[ngDocInputString]`,\n providers: [\n { provide: NgDocBaseInput, useExisting: forwardRef(() => NgDocInputStringDirective) },\n ],\n host: {\n '(blur)': 'blurEvent()',\n '(input)': 'inputEvent()',\n },\n})\nexport class NgDocInputStringDirective extends NgDocBaseInput<string> {\n constructor() {\n super({\n onIncomingUpdate: (value) => {\n toElement(this.elementRef).value = isPresent(value) ? String(value) : '';\n },\n });\n }\n\n protected blurEvent(): void {\n this.touch();\n }\n\n protected inputEvent(): void {\n this.updateModel(this.elementRef.nativeElement.value);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAKA;AAWM,MAAO,yBAA0B,SAAQ,cAAsB,CAAA;AACnE,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,CAAC;AACJ,YAAA,gBAAgB,EAAE,CAAC,KAAK,KAAI;gBAC1B,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;YAC1E,CAAC;AACF,SAAA,CAAC;IACJ;IAEU,SAAS,GAAA;QACjB,IAAI,CAAC,KAAK,EAAE;IACd;IAEU,UAAU,GAAA;QAClB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC;IACvD;8GAfW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,MAAA,EAAA,aAAA,EAAA,OAAA,EAAA,cAAA,EAAA,EAAA,EAAA,SAAA,EARzB;AACT,YAAA,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,yBAAyB,CAAC,EAAE;AACtF,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAMU,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,CAAA,uBAAA,CAAyB;AACnC,oBAAA,SAAS,EAAE;AACT,wBAAA,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,CAAC,MAAK,yBAA0B,CAAC,EAAE;AACtF,qBAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,QAAQ,EAAE,aAAa;AACvB,wBAAA,SAAS,EAAE,cAAc;AAC1B,qBAAA;AACF,iBAAA;;;ACfD;;AAEG;;;;"}
@@ -2,18 +2,21 @@ import * as i0 from '@angular/core';
2
2
  import { Directive } from '@angular/core';
3
3
  import { DIControl, provideHostControl } from 'di-controls';
4
4
 
5
+ /**
6
+ * Host control for a group of state controls (for example `ng-doc-button-toggle`): the group's
7
+ * model is the value of the checked control, so only one control is checked at a time.
8
+ */
5
9
  class NgDocRadioGroupDirective extends DIControl {
6
10
  constructor() {
7
11
  super();
8
12
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: NgDocRadioGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.6", type: NgDocRadioGroupDirective, isStandalone: true, selector: "[ngDocRadioGroup]", providers: [provideHostControl(NgDocRadioGroupDirective)], usesInheritance: true, ngImport: i0 }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocRadioGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
14
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.2.1", type: NgDocRadioGroupDirective, isStandalone: true, selector: "[ngDocRadioGroup]", providers: [provideHostControl(NgDocRadioGroupDirective)], usesInheritance: true, ngImport: i0 }); }
11
15
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: NgDocRadioGroupDirective, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocRadioGroupDirective, decorators: [{
13
17
  type: Directive,
14
18
  args: [{
15
19
  selector: '[ngDocRadioGroup]',
16
- standalone: true,
17
20
  providers: [provideHostControl(NgDocRadioGroupDirective)],
18
21
  }]
19
22
  }], ctorParameters: () => [] });
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-ui-kit-directives-radio-group.mjs","sources":["../../../../libs/ui-kit/directives/radio-group/radio-group.directive.ts","../../../../libs/ui-kit/directives/radio-group/ng-doc-ui-kit-directives-radio-group.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { DIControl, provideHostControl } from 'di-controls';\n\n@Directive({\n selector: '[ngDocRadioGroup]',\n standalone: true,\n providers: [provideHostControl(NgDocRadioGroupDirective)],\n})\nexport class NgDocRadioGroupDirective<T> extends DIControl<T> {\n constructor() {\n super();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAQM,MAAO,wBAA4B,SAAQ,SAAY,CAAA;AAC3D,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;IACT;8GAHW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,gEAFxB,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAE9C,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBALpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,SAAS,EAAE,CAAC,kBAAkB,CAAA,wBAAA,CAA0B,CAAC;AAC1D,iBAAA;;;ACPD;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-ui-kit-directives-radio-group.mjs","sources":["../../../../libs/ui-kit/directives/radio-group/radio-group.directive.ts","../../../../libs/ui-kit/directives/radio-group/ng-doc-ui-kit-directives-radio-group.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { DIControl, provideHostControl } from 'di-controls';\n\n/**\n * Host control for a group of state controls (for example `ng-doc-button-toggle`): the group's\n * model is the value of the checked control, so only one control is checked at a time.\n */\n@Directive({\n selector: '[ngDocRadioGroup]',\n providers: [provideHostControl(NgDocRadioGroupDirective)],\n})\nexport class NgDocRadioGroupDirective<T> extends DIControl<T> {\n constructor() {\n super();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA;;;AAGG;AAKG,MAAO,wBAA4B,SAAQ,SAAY,CAAA;AAC3D,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;IACT;8GAHW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,gEAFxB,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAE9C,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,SAAS,EAAE,CAAC,kBAAkB,CAAA,wBAAA,CAA0B,CAAC;AAC1D,iBAAA;;;ACVD;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { HostBinding, Input, Directive } from '@angular/core';
2
+ import { input, Directive } from '@angular/core';
3
3
 
4
4
  /**
5
5
  * Directive rotates host with transition
@@ -7,35 +7,29 @@ import { HostBinding, Input, Directive } from '@angular/core';
7
7
  class NgDocRotatorDirective {
8
8
  constructor() {
9
9
  /** Rotator state */
10
- this.rotated = false;
10
+ this.rotated = input(false, { ...(ngDevMode ? { debugName: "rotated" } : /* istanbul ignore next */ {}), alias: 'ngDocRotator' });
11
11
  /** Start position angle */
12
- this.from = 0;
13
- /** End position anle */
14
- this.to = 90;
12
+ this.from = input(0, /* @ts-ignore */
13
+ ...(ngDevMode ? [{ debugName: "from" }] : /* istanbul ignore next */ []));
14
+ /** End position angle */
15
+ this.to = input(90, /* @ts-ignore */
16
+ ...(ngDevMode ? [{ debugName: "to" }] : /* istanbul ignore next */ []));
15
17
  }
16
- get transform() {
17
- return `rotateZ(${this.rotated ? this.to : this.from}deg)`;
18
+ transform() {
19
+ return `rotateZ(${this.rotated() ? this.to() : this.from()}deg)`;
18
20
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: NgDocRotatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
20
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.6", type: NgDocRotatorDirective, isStandalone: true, selector: "[ngDocRotator]", inputs: { rotated: ["ngDocRotator", "rotated"], from: "from", to: "to" }, host: { properties: { "style.transform": "this.transform" } }, ngImport: i0 }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocRotatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
22
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.2.1", type: NgDocRotatorDirective, isStandalone: true, selector: "[ngDocRotator]", inputs: { rotated: { classPropertyName: "rotated", publicName: "ngDocRotator", isSignal: true, isRequired: false, transformFunction: null }, from: { classPropertyName: "from", publicName: "from", isSignal: true, isRequired: false, transformFunction: null }, to: { classPropertyName: "to", publicName: "to", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.transform": "transform()" } }, ngImport: i0 }); }
21
23
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: NgDocRotatorDirective, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocRotatorDirective, decorators: [{
23
25
  type: Directive,
24
26
  args: [{
25
27
  selector: '[ngDocRotator]',
26
- standalone: true,
28
+ host: {
29
+ '[style.transform]': 'transform()',
30
+ },
27
31
  }]
28
- }], propDecorators: { rotated: [{
29
- type: Input,
30
- args: ['ngDocRotator']
31
- }], from: [{
32
- type: Input
33
- }], to: [{
34
- type: Input
35
- }], transform: [{
36
- type: HostBinding,
37
- args: ['style.transform']
38
- }] } });
32
+ }], propDecorators: { rotated: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngDocRotator", required: false }] }], from: [{ type: i0.Input, args: [{ isSignal: true, alias: "from", required: false }] }], to: [{ type: i0.Input, args: [{ isSignal: true, alias: "to", required: false }] }] } });
39
33
 
40
34
  /**
41
35
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-ui-kit-directives-rotator.mjs","sources":["../../../../libs/ui-kit/directives/rotator/rotator.directive.ts","../../../../libs/ui-kit/directives/rotator/ng-doc-ui-kit-directives-rotator.ts"],"sourcesContent":["import { Directive, HostBinding, Input } from '@angular/core';\n\n/**\n * Directive rotates host with transition\n */\n@Directive({\n selector: '[ngDocRotator]',\n standalone: true,\n})\nexport class NgDocRotatorDirective {\n /** Rotator state */\n @Input('ngDocRotator')\n rotated: boolean = false;\n\n /** Start position angle */\n @Input()\n from: number = 0;\n\n /** End position anle */\n @Input()\n to: number = 90;\n\n @HostBinding('style.transform')\n get transform(): string {\n return `rotateZ(${this.rotated ? this.to : this.from}deg)`;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAEA;;AAEG;MAKU,qBAAqB,CAAA;AAJlC,IAAA,WAAA,GAAA;;QAOE,IAAA,CAAA,OAAO,GAAY,KAAK;;QAIxB,IAAA,CAAA,IAAI,GAAW,CAAC;;QAIhB,IAAA,CAAA,EAAE,GAAW,EAAE;AAMhB,IAAA;AAJC,IAAA,IACI,SAAS,GAAA;AACX,QAAA,OAAO,WAAW,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,MAAM;IAC5D;8GAhBW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,SAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;sBAGE,KAAK;uBAAC,cAAc;;sBAIpB;;sBAIA;;sBAGA,WAAW;uBAAC,iBAAiB;;;ACtBhC;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-ui-kit-directives-rotator.mjs","sources":["../../../../libs/ui-kit/directives/rotator/rotator.directive.ts","../../../../libs/ui-kit/directives/rotator/ng-doc-ui-kit-directives-rotator.ts"],"sourcesContent":["import { Directive, input } from '@angular/core';\n\n/**\n * Directive rotates host with transition\n */\n@Directive({\n selector: '[ngDocRotator]',\n host: {\n '[style.transform]': 'transform()',\n },\n})\nexport class NgDocRotatorDirective {\n /** Rotator state */\n readonly rotated = input<boolean>(false, { alias: 'ngDocRotator' });\n\n /** Start position angle */\n readonly from = input<number>(0);\n\n /** End position angle */\n readonly to = input<number>(90);\n\n protected transform(): string {\n return `rotateZ(${this.rotated() ? this.to() : this.from()}deg)`;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAEA;;AAEG;MAOU,qBAAqB,CAAA;AANlC,IAAA,WAAA,GAAA;;QAQW,IAAA,CAAA,OAAO,GAAG,KAAK,CAAU,KAAK,+EAAI,KAAK,EAAE,cAAc,EAAA,CAAG;;QAG1D,IAAA,CAAA,IAAI,GAAG,KAAK,CAAS,CAAC;iFAAC;;QAGvB,IAAA,CAAA,EAAE,GAAG,KAAK,CAAS,EAAE;+EAAC;AAKhC,IAAA;IAHW,SAAS,GAAA;QACjB,OAAO,CAAA,QAAA,EAAW,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM;IAClE;8GAZW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,IAAI,EAAE;AACJ,wBAAA,mBAAmB,EAAE,aAAa;AACnC,qBAAA;AACF,iBAAA;;;ACVD;;AAEG;;;;"}
@@ -1,18 +1,18 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ElementRef, ChangeDetectorRef, ViewContainerRef, NgZone, EventEmitter, DestroyRef, Output, Input, Directive } from '@angular/core';
2
+ import { inject, ElementRef, ChangeDetectorRef, ViewContainerRef, NgZone, DestroyRef, input, output, untracked, Directive } from '@angular/core';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { asArray } from '@ng-doc/core/helpers/as-array';
5
5
  import { isPresent } from '@ng-doc/core/helpers/is-present';
6
6
  import { tooltipCloseAnimation, tooltipOpenAnimation } from '@ng-doc/ui-kit/animations';
7
7
  import { NgDocOverlayContainerComponent } from '@ng-doc/ui-kit/components/overlay-container';
8
8
  import { toElement } from '@ng-doc/ui-kit/helpers';
9
- import { ngDocZoneOptimize, ngDocZoneDetach } from '@ng-doc/ui-kit/observables';
10
9
  import { NgDocOverlayService } from '@ng-doc/ui-kit/services';
11
10
  import { NgDocOverlayStrategy } from '@ng-doc/ui-kit/services/overlay-strategy';
12
11
  import { NgDocOverlayUtils } from '@ng-doc/ui-kit/utils';
13
- import { fromEvent, timer, merge, EMPTY } from 'rxjs';
12
+ import { Subject, fromEvent, timer, merge, EMPTY } from 'rxjs';
14
13
  import { filter, switchMap, takeUntil } from 'rxjs/operators';
15
14
 
15
+ /** Shows its content in a tooltip while the pointer rests on the host. */
16
16
  class NgDocTooltipDirective {
17
17
  constructor() {
18
18
  this.elementRef = inject(ElementRef);
@@ -21,78 +21,122 @@ class NgDocTooltipDirective {
21
21
  this.overlayService = inject(NgDocOverlayService);
22
22
  this.ngZone = inject(NgZone);
23
23
  this.scrollStrategy = inject(NgDocOverlayStrategy);
24
- this.content = '';
25
- this.delay = 500;
26
- this.positions = [
24
+ this.destroyRef = inject(DestroyRef);
25
+ /** What the tooltip renders: a string, a template or a component. */
26
+ this.content = input('', { ...(ngDevMode ? { debugName: "content" } : /* istanbul ignore next */ {}), alias: 'ngDocTooltip' });
27
+ /** Milliseconds the pointer rests on the host before the tooltip opens. */
28
+ this.delay = input(500, /* @ts-ignore */
29
+ ...(ngDevMode ? [{ debugName: "delay" }] : /* istanbul ignore next */ []));
30
+ /** The element the tooltip points at; the host by default. */
31
+ this.displayOrigin = input(/* @ts-ignore */
32
+ ...(ngDevMode ? [undefined, { debugName: "displayOrigin" }] : /* istanbul ignore next */ []));
33
+ /** The element whose hover opens the tooltip; the host by default. Read once, after the view. */
34
+ this.pointerOrigin = input(/* @ts-ignore */
35
+ ...(ngDevMode ? [undefined, { debugName: "pointerOrigin" }] : /* istanbul ignore next */ []));
36
+ this.positions = input([
27
37
  'top-center',
28
38
  'bottom-center',
29
39
  'right-center',
30
40
  'left-center',
31
- ];
32
- this.canOpen = true;
33
- this.panelClass = '';
34
- this.minHeight = '';
35
- this.maxHeight = '';
36
- this.height = '';
37
- this.minWidth = '';
38
- this.maxWidth = '';
39
- this.width = '';
40
- this.beforeOpen = new EventEmitter();
41
- this.afterOpen = new EventEmitter();
42
- this.beforeClose = new EventEmitter();
43
- this.afterClose = new EventEmitter();
41
+ ], /* @ts-ignore */
42
+ ...(ngDevMode ? [{ debugName: "positions" }] : /* istanbul ignore next */ []));
43
+ /** Whether hovering opens the tooltip. */
44
+ this.canOpen = input(true, /* @ts-ignore */
45
+ ...(ngDevMode ? [{ debugName: "canOpen" }] : /* istanbul ignore next */ []));
46
+ this.panelClass = input('', /* @ts-ignore */
47
+ ...(ngDevMode ? [{ debugName: "panelClass" }] : /* istanbul ignore next */ []));
48
+ this.minHeight = input('', /* @ts-ignore */
49
+ ...(ngDevMode ? [{ debugName: "minHeight" }] : /* istanbul ignore next */ []));
50
+ this.maxHeight = input('', /* @ts-ignore */
51
+ ...(ngDevMode ? [{ debugName: "maxHeight" }] : /* istanbul ignore next */ []));
52
+ this.height = input('', /* @ts-ignore */
53
+ ...(ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []));
54
+ this.minWidth = input('', /* @ts-ignore */
55
+ ...(ngDevMode ? [{ debugName: "minWidth" }] : /* istanbul ignore next */ []));
56
+ this.maxWidth = input('', /* @ts-ignore */
57
+ ...(ngDevMode ? [{ debugName: "maxWidth" }] : /* istanbul ignore next */ []));
58
+ this.width = input('', /* @ts-ignore */
59
+ ...(ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []));
60
+ /** Emits when the tooltip starts opening. */
61
+ this.beforeOpen = output();
62
+ /** Emits when the open animation has finished. */
63
+ this.afterOpen = output();
64
+ /** Emits when the tooltip starts closing. */
65
+ this.beforeClose = output();
66
+ /** Emits when the tooltip has closed. */
67
+ this.afterClose = output();
44
68
  this.overlayRef = null;
45
- this.destroyRef = inject(DestroyRef);
69
+ this.opened$ = new Subject();
70
+ // The last opened overlay. hide() clears `overlayRef` at once, while the overlay stays attached
71
+ // until its close animation ends; destroying the directive disposes it.
72
+ this.lastOverlayRef = null;
46
73
  }
47
74
  ngAfterViewInit() {
48
- // Opens tooltip with delay
49
- fromEvent(this.pointerOriginElement, 'mouseenter')
50
- .pipe(filter(() => this.canOpen && !this.isOpened), switchMap(() => timer(this.delay).pipe(takeUntil(fromEvent(this.pointerOriginElement, 'mouseleave')))), ngDocZoneOptimize(this.ngZone), takeUntilDestroyed(this.destroyRef))
51
- .subscribe(() => this.show());
52
- // Closes tooltip when mouseleave was fired, and cancel closing if mouseenter was happened
53
- merge(fromEvent(this.pointerOriginElement, 'mouseleave'), this.beforeOpen.pipe(switchMap(() => isPresent(this.overlayRef)
54
- ? fromEvent(this.overlayRef.overlayRef.overlayElement, 'mouseleave')
55
- : EMPTY)))
56
- .pipe(filter(() => this.isOpened), switchMap(() => timer(50).pipe(takeUntil(fromEvent(this.pointerOriginElement, 'mouseenter')), takeUntil(isPresent(this.overlayRef)
57
- ? fromEvent(this.overlayRef.overlayRef.overlayElement, 'mouseenter')
58
- : EMPTY))), ngDocZoneOptimize(this.ngZone), takeUntilDestroyed(this.destroyRef))
59
- .subscribe(() => this.hide());
75
+ // Pointer events are frequent, so they are observed outside the Angular zone; only opening
76
+ // and closing re-enter it. Opening and closing work through signals and markForCheck, so a
77
+ // zoneless application renders them as well.
78
+ this.ngZone.runOutsideAngular(() => {
79
+ // Opens the tooltip after the delay, unless the pointer leaves first
80
+ fromEvent(this.pointerOriginElement, 'mouseenter')
81
+ .pipe(filter(() => this.canOpen() && !this.isOpened), switchMap(() => timer(this.delay()).pipe(takeUntil(fromEvent(this.pointerOriginElement, 'mouseleave')))), takeUntilDestroyed(this.destroyRef))
82
+ .subscribe(() => this.ngZone.run(() => this.show()));
83
+ // Closes the tooltip when the pointer leaves the host or the tooltip, unless it comes back
84
+ // to either of them within 50 ms
85
+ merge(fromEvent(this.pointerOriginElement, 'mouseleave'), this.opened$.pipe(switchMap((overlayRef) => fromEvent(overlayRef.overlayRef.overlayElement, 'mouseleave'))))
86
+ .pipe(filter(() => this.isOpened), switchMap(() => timer(50).pipe(takeUntil(fromEvent(this.pointerOriginElement, 'mouseenter')), takeUntil(isPresent(this.overlayRef)
87
+ ? fromEvent(this.overlayRef.overlayRef.overlayElement, 'mouseenter')
88
+ : EMPTY))), takeUntilDestroyed(this.destroyRef))
89
+ .subscribe(() => this.ngZone.run(() => this.hide()));
90
+ });
60
91
  }
61
92
  show() {
93
+ // Opening reads the inputs; `untracked` keeps an effect that calls show() from depending on
94
+ // them.
95
+ untracked(() => this.open());
96
+ }
97
+ open() {
62
98
  if (!this.isOpened) {
63
- this.overlayRef = this.overlayService.open(this.content, {
99
+ const overlayRef = this.overlayService.open(this.content(), {
64
100
  origin: this.displayOriginElement,
65
101
  overlayContainer: NgDocOverlayContainerComponent,
66
- positionStrategy: this.overlayService.connectedPositionStrategy(this.displayOriginElement, this.getPositions(this.positions)),
102
+ positionStrategy: this.overlayService.connectedPositionStrategy(this.displayOriginElement, this.getPositions(this.positions())),
67
103
  viewContainerRef: this.viewContainerRef,
68
104
  withPointer: true,
69
105
  contactBorder: true,
70
- panelClass: ['ng-doc-tooltip', ...asArray(this.panelClass)],
71
- height: this.height,
72
- width: this.width,
73
- minHeight: this.minHeight,
74
- minWidth: this.minWidth,
75
- maxHeight: this.maxHeight,
76
- maxWidth: this.maxWidth,
106
+ panelClass: ['ng-doc-tooltip', ...asArray(this.panelClass())],
107
+ height: this.height(),
108
+ width: this.width(),
109
+ minHeight: this.minHeight(),
110
+ minWidth: this.minWidth(),
111
+ maxHeight: this.maxHeight(),
112
+ maxWidth: this.maxWidth(),
77
113
  scrollStrategy: this.scrollStrategy,
78
114
  disposeOnRouteNavigation: true,
79
115
  openAnimation: tooltipOpenAnimation,
80
116
  closeAnimation: tooltipCloseAnimation,
81
117
  });
118
+ this.overlayRef = overlayRef;
119
+ this.lastOverlayRef = overlayRef;
82
120
  this.beforeOpen.emit();
83
- this.overlayRef
84
- ?.afterOpen()
85
- .pipe(ngDocZoneDetach(this.ngZone))
121
+ // The tooltip closes when the pointer leaves it; its element exists only once it is open.
122
+ this.ngZone.runOutsideAngular(() => this.opened$.next(overlayRef));
123
+ // The animations can finish after the directive is destroyed; its outputs must not emit
124
+ // then.
125
+ overlayRef
126
+ .afterOpen()
127
+ .pipe(takeUntilDestroyed(this.destroyRef))
86
128
  .subscribe(() => this.afterOpen.emit());
87
- this.overlayRef
88
- ?.beforeClose()
89
- .pipe(ngDocZoneDetach(this.ngZone))
90
- .subscribe(() => this.beforeClose.emit());
91
- this.overlayRef
92
- ?.afterClose()
93
- .pipe(ngDocZoneDetach(this.ngZone))
129
+ overlayRef
130
+ .beforeClose()
131
+ .pipe(takeUntilDestroyed(this.destroyRef))
132
+ .subscribe(() => {
133
+ this.beforeClose.emit();
134
+ this.hide();
135
+ });
136
+ overlayRef
137
+ .afterClose()
138
+ .pipe(takeUntilDestroyed(this.destroyRef))
94
139
  .subscribe(() => this.afterClose.emit());
95
- this.overlayRef?.beforeClose().subscribe(() => this.hide());
96
140
  this.changeDetectorRef.markForCheck();
97
141
  }
98
142
  }
@@ -107,71 +151,31 @@ class NgDocTooltipDirective {
107
151
  return !!this.overlayRef;
108
152
  }
109
153
  ngOnDestroy() {
110
- if (this.overlayRef) {
111
- this.overlayRef.overlayRef.dispose();
112
- }
154
+ this.lastOverlayRef?.overlayRef.dispose();
113
155
  }
114
156
  get pointerOriginElement() {
115
- return isPresent(this.pointerOrigin)
116
- ? toElement(this.pointerOrigin)
117
- : toElement(this.elementRef);
157
+ const pointerOrigin = this.pointerOrigin();
158
+ return isPresent(pointerOrigin) ? toElement(pointerOrigin) : toElement(this.elementRef);
118
159
  }
119
160
  get displayOriginElement() {
120
- return isPresent(this.displayOrigin)
121
- ? toElement(this.displayOrigin)
122
- : toElement(this.elementRef);
161
+ const displayOrigin = this.displayOrigin();
162
+ return isPresent(displayOrigin) ? toElement(displayOrigin) : toElement(this.elementRef);
123
163
  }
124
164
  getPositions(positions) {
125
165
  return NgDocOverlayUtils.getConnectedPosition(!!positions && asArray(positions).length
126
166
  ? positions
127
167
  : ['bottom-center', 'top-center', 'right-center', 'left-center'], this.displayOriginElement, 0, true);
128
168
  }
129
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: NgDocTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
130
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.6", type: NgDocTooltipDirective, isStandalone: true, selector: "[ngDocTooltip]", inputs: { content: ["ngDocTooltip", "content"], delay: "delay", displayOrigin: "displayOrigin", pointerOrigin: "pointerOrigin", positions: "positions", canOpen: "canOpen", panelClass: "panelClass", minHeight: "minHeight", maxHeight: "maxHeight", height: "height", minWidth: "minWidth", maxWidth: "maxWidth", width: "width" }, outputs: { beforeOpen: "beforeOpen", afterOpen: "afterOpen", beforeClose: "beforeClose", afterClose: "afterClose" }, exportAs: ["ngDocTooltip"], ngImport: i0 }); }
169
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
170
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.2.1", type: NgDocTooltipDirective, isStandalone: true, selector: "[ngDocTooltip]", inputs: { content: { classPropertyName: "content", publicName: "ngDocTooltip", isSignal: true, isRequired: false, transformFunction: null }, delay: { classPropertyName: "delay", publicName: "delay", isSignal: true, isRequired: false, transformFunction: null }, displayOrigin: { classPropertyName: "displayOrigin", publicName: "displayOrigin", isSignal: true, isRequired: false, transformFunction: null }, pointerOrigin: { classPropertyName: "pointerOrigin", publicName: "pointerOrigin", isSignal: true, isRequired: false, transformFunction: null }, positions: { classPropertyName: "positions", publicName: "positions", isSignal: true, isRequired: false, transformFunction: null }, canOpen: { classPropertyName: "canOpen", publicName: "canOpen", isSignal: true, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { beforeOpen: "beforeOpen", afterOpen: "afterOpen", beforeClose: "beforeClose", afterClose: "afterClose" }, exportAs: ["ngDocTooltip"], ngImport: i0 }); }
131
171
  }
132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.6", ngImport: i0, type: NgDocTooltipDirective, decorators: [{
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.2.1", ngImport: i0, type: NgDocTooltipDirective, decorators: [{
133
173
  type: Directive,
134
174
  args: [{
135
175
  selector: '[ngDocTooltip]',
136
176
  exportAs: 'ngDocTooltip',
137
- standalone: true,
138
177
  }]
139
- }], ctorParameters: () => [], propDecorators: { content: [{
140
- type: Input,
141
- args: ['ngDocTooltip']
142
- }], delay: [{
143
- type: Input
144
- }], displayOrigin: [{
145
- type: Input
146
- }], pointerOrigin: [{
147
- type: Input
148
- }], positions: [{
149
- type: Input
150
- }], canOpen: [{
151
- type: Input
152
- }], panelClass: [{
153
- type: Input
154
- }], minHeight: [{
155
- type: Input
156
- }], maxHeight: [{
157
- type: Input
158
- }], height: [{
159
- type: Input
160
- }], minWidth: [{
161
- type: Input
162
- }], maxWidth: [{
163
- type: Input
164
- }], width: [{
165
- type: Input
166
- }], beforeOpen: [{
167
- type: Output
168
- }], afterOpen: [{
169
- type: Output
170
- }], beforeClose: [{
171
- type: Output
172
- }], afterClose: [{
173
- type: Output
174
- }] } });
178
+ }], propDecorators: { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "ngDocTooltip", required: false }] }], delay: [{ type: i0.Input, args: [{ isSignal: true, alias: "delay", required: false }] }], displayOrigin: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayOrigin", required: false }] }], pointerOrigin: [{ type: i0.Input, args: [{ isSignal: true, alias: "pointerOrigin", required: false }] }], positions: [{ type: i0.Input, args: [{ isSignal: true, alias: "positions", required: false }] }], canOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "canOpen", required: false }] }], panelClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelClass", required: false }] }], minHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "minHeight", required: false }] }], maxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxHeight", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], minWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "minWidth", required: false }] }], maxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxWidth", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], beforeOpen: [{ type: i0.Output, args: ["beforeOpen"] }], afterOpen: [{ type: i0.Output, args: ["afterOpen"] }], beforeClose: [{ type: i0.Output, args: ["beforeClose"] }], afterClose: [{ type: i0.Output, args: ["afterClose"] }] } });
175
179
 
176
180
  /**
177
181
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-ui-kit-directives-tooltip.mjs","sources":["../../../../libs/ui-kit/directives/tooltip/tooltip.directive.ts","../../../../libs/ui-kit/directives/tooltip/ng-doc-ui-kit-directives-tooltip.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectorRef,\n DestroyRef,\n Directive,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n NgZone,\n OnDestroy,\n Output,\n ViewContainerRef,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { isPresent } from '@ng-doc/core/helpers/is-present';\nimport { tooltipCloseAnimation, tooltipOpenAnimation } from '@ng-doc/ui-kit/animations';\nimport { NgDocOverlayRef } from '@ng-doc/ui-kit/classes/overlay-ref';\nimport { NgDocOverlayContainerComponent } from '@ng-doc/ui-kit/components/overlay-container';\nimport { toElement } from '@ng-doc/ui-kit/helpers';\nimport { ngDocZoneDetach, ngDocZoneOptimize } from '@ng-doc/ui-kit/observables';\nimport { NgDocOverlayService } from '@ng-doc/ui-kit/services';\nimport { NgDocOverlayStrategy } from '@ng-doc/ui-kit/services/overlay-strategy';\nimport { BaseElement, NgDocContent, NgDocOverlayPosition } from '@ng-doc/ui-kit/types';\nimport { NgDocOverlayUtils } from '@ng-doc/ui-kit/utils';\nimport { EMPTY, fromEvent, merge, timer } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\n\n@Directive({\n selector: '[ngDocTooltip]',\n exportAs: 'ngDocTooltip',\n standalone: true,\n})\nexport class NgDocTooltipDirective implements AfterViewInit, OnDestroy {\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly viewContainerRef = inject(ViewContainerRef);\n private readonly overlayService = inject(NgDocOverlayService);\n private readonly ngZone = inject(NgZone);\n private readonly scrollStrategy = inject(NgDocOverlayStrategy);\n\n @Input('ngDocTooltip')\n content: NgDocContent = '';\n\n @Input()\n delay: number = 500;\n\n @Input()\n displayOrigin?: BaseElement<HTMLElement>;\n\n @Input()\n pointerOrigin?: BaseElement<HTMLElement>;\n\n @Input()\n positions: NgDocOverlayPosition | NgDocOverlayPosition[] = [\n 'top-center',\n 'bottom-center',\n 'right-center',\n 'left-center',\n ];\n\n @Input()\n canOpen: boolean = true;\n\n @Input()\n panelClass: string | string[] = '';\n\n @Input()\n minHeight: number | string = '';\n\n @Input()\n maxHeight: number | string = '';\n\n @Input()\n height: number | string = '';\n\n @Input()\n minWidth: number | string = '';\n\n @Input()\n maxWidth: number | string = '';\n\n @Input()\n width: number | string = '';\n\n @Output()\n beforeOpen: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n afterOpen: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n beforeClose: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n afterClose: EventEmitter<void> = new EventEmitter<void>();\n\n overlayRef: NgDocOverlayRef | null = null;\n\n private readonly destroyRef = inject(DestroyRef);\n\n constructor() {}\n\n ngAfterViewInit(): void {\n // Opens tooltip with delay\n fromEvent(this.pointerOriginElement, 'mouseenter')\n .pipe(\n filter(() => this.canOpen && !this.isOpened),\n switchMap(() =>\n timer(this.delay).pipe(takeUntil(fromEvent(this.pointerOriginElement, 'mouseleave'))),\n ),\n ngDocZoneOptimize(this.ngZone),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(() => this.show());\n\n // Closes tooltip when mouseleave was fired, and cancel closing if mouseenter was happened\n merge(\n fromEvent(this.pointerOriginElement, 'mouseleave'),\n this.beforeOpen.pipe(\n switchMap(() =>\n isPresent(this.overlayRef)\n ? fromEvent(this.overlayRef.overlayRef.overlayElement, 'mouseleave')\n : EMPTY,\n ),\n ),\n )\n .pipe(\n filter(() => this.isOpened),\n switchMap(() =>\n timer(50).pipe(\n takeUntil(fromEvent(this.pointerOriginElement, 'mouseenter')),\n takeUntil(\n isPresent(this.overlayRef)\n ? fromEvent(this.overlayRef.overlayRef.overlayElement, 'mouseenter')\n : EMPTY,\n ),\n ),\n ),\n ngDocZoneOptimize(this.ngZone),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(() => this.hide());\n }\n\n show(): void {\n if (!this.isOpened) {\n this.overlayRef = this.overlayService.open(this.content, {\n origin: this.displayOriginElement,\n overlayContainer: NgDocOverlayContainerComponent,\n positionStrategy: this.overlayService.connectedPositionStrategy(\n this.displayOriginElement,\n this.getPositions(this.positions),\n ),\n viewContainerRef: this.viewContainerRef,\n withPointer: true,\n contactBorder: true,\n panelClass: ['ng-doc-tooltip', ...asArray(this.panelClass)],\n height: this.height,\n width: this.width,\n minHeight: this.minHeight,\n minWidth: this.minWidth,\n maxHeight: this.maxHeight,\n maxWidth: this.maxWidth,\n scrollStrategy: this.scrollStrategy,\n disposeOnRouteNavigation: true,\n openAnimation: tooltipOpenAnimation,\n closeAnimation: tooltipCloseAnimation,\n });\n this.beforeOpen.emit();\n\n this.overlayRef\n ?.afterOpen()\n .pipe(ngDocZoneDetach(this.ngZone))\n .subscribe(() => this.afterOpen.emit());\n\n this.overlayRef\n ?.beforeClose()\n .pipe(ngDocZoneDetach(this.ngZone))\n .subscribe(() => this.beforeClose.emit());\n\n this.overlayRef\n ?.afterClose()\n .pipe(ngDocZoneDetach(this.ngZone))\n .subscribe(() => this.afterClose.emit());\n\n this.overlayRef?.beforeClose().subscribe(() => this.hide());\n\n this.changeDetectorRef.markForCheck();\n }\n }\n\n hide(): void {\n if (this.isOpened) {\n this.overlayRef?.close();\n this.overlayRef = null;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n get isOpened(): boolean {\n return !!this.overlayRef;\n }\n\n ngOnDestroy(): void {\n if (this.overlayRef) {\n this.overlayRef.overlayRef.dispose();\n }\n }\n\n private get pointerOriginElement(): HTMLElement {\n return isPresent(this.pointerOrigin)\n ? toElement(this.pointerOrigin)\n : toElement(this.elementRef);\n }\n\n private get displayOriginElement(): HTMLElement {\n return isPresent(this.displayOrigin)\n ? toElement(this.displayOrigin)\n : toElement(this.elementRef);\n }\n\n private getPositions(\n positions: NgDocOverlayPosition | NgDocOverlayPosition[],\n ): NgDocOverlayPosition[] {\n return NgDocOverlayUtils.getConnectedPosition(\n !!positions && asArray(positions).length\n ? positions\n : ['bottom-center', 'top-center', 'right-center', 'left-center'],\n this.displayOriginElement,\n 0,\n true,\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;MAkCa,qBAAqB,CAAA;AAoEhC,IAAA,WAAA,GAAA;AAnEiB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAA0B,UAAU,CAAC;AACxD,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC7C,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAC5C,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;AACvB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,oBAAoB,CAAC;QAG9D,IAAA,CAAA,OAAO,GAAiB,EAAE;QAG1B,IAAA,CAAA,KAAK,GAAW,GAAG;AASnB,QAAA,IAAA,CAAA,SAAS,GAAkD;YACzD,YAAY;YACZ,eAAe;YACf,cAAc;YACd,aAAa;SACd;QAGD,IAAA,CAAA,OAAO,GAAY,IAAI;QAGvB,IAAA,CAAA,UAAU,GAAsB,EAAE;QAGlC,IAAA,CAAA,SAAS,GAAoB,EAAE;QAG/B,IAAA,CAAA,SAAS,GAAoB,EAAE;QAG/B,IAAA,CAAA,MAAM,GAAoB,EAAE;QAG5B,IAAA,CAAA,QAAQ,GAAoB,EAAE;QAG9B,IAAA,CAAA,QAAQ,GAAoB,EAAE;QAG9B,IAAA,CAAA,KAAK,GAAoB,EAAE;AAG3B,QAAA,IAAA,CAAA,UAAU,GAAuB,IAAI,YAAY,EAAQ;AAGzD,QAAA,IAAA,CAAA,SAAS,GAAuB,IAAI,YAAY,EAAQ;AAGxD,QAAA,IAAA,CAAA,WAAW,GAAuB,IAAI,YAAY,EAAQ;AAG1D,QAAA,IAAA,CAAA,UAAU,GAAuB,IAAI,YAAY,EAAQ;QAEzD,IAAA,CAAA,UAAU,GAA2B,IAAI;AAExB,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAEjC;IAEf,eAAe,GAAA;;AAEb,QAAA,SAAS,CAAC,IAAI,CAAC,oBAAoB,EAAE,YAAY;aAC9C,IAAI,CACH,MAAM,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC5C,SAAS,CAAC,MACR,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC,CAAC,CACtF,EACD,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAC9B,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;aAEpC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;;QAG/B,KAAK,CACH,SAAS,CAAC,IAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC,EAClD,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,SAAS,CAAC,MACR,SAAS,CAAC,IAAI,CAAC,UAAU;AACvB,cAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY;AACnE,cAAE,KAAK,CACV,CACF;AAEA,aAAA,IAAI,CACH,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAC3B,SAAS,CAAC,MACR,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CACZ,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC,EAC7D,SAAS,CACP,SAAS,CAAC,IAAI,CAAC,UAAU;AACvB,cAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY;AACnE,cAAE,KAAK,CACV,CACF,CACF,EACD,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAC9B,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;aAEpC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACjC;IAEA,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACvD,MAAM,EAAE,IAAI,CAAC,oBAAoB;AACjC,gBAAA,gBAAgB,EAAE,8BAA8B;AAChD,gBAAA,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAC7D,IAAI,CAAC,oBAAoB,EACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAClC;gBACD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;AACvC,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,aAAa,EAAE,IAAI;gBACnB,UAAU,EAAE,CAAC,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC3D,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,cAAc,EAAE,IAAI,CAAC,cAAc;AACnC,gBAAA,wBAAwB,EAAE,IAAI;AAC9B,gBAAA,aAAa,EAAE,oBAAoB;AACnC,gBAAA,cAAc,EAAE,qBAAqB;AACtC,aAAA,CAAC;AACF,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AAEtB,YAAA,IAAI,CAAC;AACH,kBAAE,SAAS;AACV,iBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;iBACjC,SAAS,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AAEzC,YAAA,IAAI,CAAC;AACH,kBAAE,WAAW;AACZ,iBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;iBACjC,SAAS,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AAE3C,YAAA,IAAI,CAAC;AACH,kBAAE,UAAU;AACX,iBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;iBACjC,SAAS,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AAE1C,YAAA,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;AAE3D,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;QACvC;IACF;IAEA,IAAI,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE;AACxB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,YAAA,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;QACvC;IACF;AAEA,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU;IAC1B;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE;QACtC;IACF;AAEA,IAAA,IAAY,oBAAoB,GAAA;AAC9B,QAAA,OAAO,SAAS,CAAC,IAAI,CAAC,aAAa;AACjC,cAAE,SAAS,CAAC,IAAI,CAAC,aAAa;AAC9B,cAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;IAChC;AAEA,IAAA,IAAY,oBAAoB,GAAA;AAC9B,QAAA,OAAO,SAAS,CAAC,IAAI,CAAC,aAAa;AACjC,cAAE,SAAS,CAAC,IAAI,CAAC,aAAa;AAC9B,cAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;IAChC;AAEQ,IAAA,YAAY,CAClB,SAAwD,EAAA;AAExD,QAAA,OAAO,iBAAiB,CAAC,oBAAoB,CAC3C,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;AAChC,cAAE;AACF,cAAE,CAAC,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,CAAC,EAClE,IAAI,CAAC,oBAAoB,EACzB,CAAC,EACD,IAAI,CACL;IACH;8GAxMW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,SAAA,CAAA,EAAA,KAAA,EAAA,OAAA,EAAA,aAAA,EAAA,eAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBALjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;sBASE,KAAK;uBAAC,cAAc;;sBAGpB;;sBAGA;;sBAGA;;sBAGA;;sBAQA;;sBAGA;;sBAGA;;sBAGA;;sBAGA;;sBAGA;;sBAGA;;sBAGA;;sBAGA;;sBAGA;;sBAGA;;sBAGA;;;AC/FH;;AAEG;;;;"}
1
+ {"version":3,"file":"ng-doc-ui-kit-directives-tooltip.mjs","sources":["../../../../libs/ui-kit/directives/tooltip/tooltip.directive.ts","../../../../libs/ui-kit/directives/tooltip/ng-doc-ui-kit-directives-tooltip.ts"],"sourcesContent":["import {\n AfterViewInit,\n ChangeDetectorRef,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n input,\n NgZone,\n OnDestroy,\n output,\n untracked,\n ViewContainerRef,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { asArray } from '@ng-doc/core/helpers/as-array';\nimport { isPresent } from '@ng-doc/core/helpers/is-present';\nimport { tooltipCloseAnimation, tooltipOpenAnimation } from '@ng-doc/ui-kit/animations';\nimport { NgDocOverlayRef } from '@ng-doc/ui-kit/classes/overlay-ref';\nimport { NgDocOverlayContainerComponent } from '@ng-doc/ui-kit/components/overlay-container';\nimport { toElement } from '@ng-doc/ui-kit/helpers';\nimport { NgDocOverlayService } from '@ng-doc/ui-kit/services';\nimport { NgDocOverlayStrategy } from '@ng-doc/ui-kit/services/overlay-strategy';\nimport { BaseElement, NgDocContent, NgDocOverlayPosition } from '@ng-doc/ui-kit/types';\nimport { NgDocOverlayUtils } from '@ng-doc/ui-kit/utils';\nimport { EMPTY, fromEvent, merge, Subject, timer } from 'rxjs';\nimport { filter, switchMap, takeUntil } from 'rxjs/operators';\n\n/** Shows its content in a tooltip while the pointer rests on the host. */\n@Directive({\n selector: '[ngDocTooltip]',\n exportAs: 'ngDocTooltip',\n})\nexport class NgDocTooltipDirective implements AfterViewInit, OnDestroy {\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly viewContainerRef = inject(ViewContainerRef);\n private readonly overlayService = inject(NgDocOverlayService);\n private readonly ngZone = inject(NgZone);\n private readonly scrollStrategy = inject(NgDocOverlayStrategy);\n private readonly destroyRef = inject(DestroyRef);\n\n /** What the tooltip renders: a string, a template or a component. */\n readonly content = input<NgDocContent>('', { alias: 'ngDocTooltip' });\n\n /** Milliseconds the pointer rests on the host before the tooltip opens. */\n readonly delay = input<number>(500);\n\n /** The element the tooltip points at; the host by default. */\n readonly displayOrigin = input<BaseElement<HTMLElement>>();\n\n /** The element whose hover opens the tooltip; the host by default. Read once, after the view. */\n readonly pointerOrigin = input<BaseElement<HTMLElement>>();\n\n readonly positions = input<NgDocOverlayPosition | NgDocOverlayPosition[]>([\n 'top-center',\n 'bottom-center',\n 'right-center',\n 'left-center',\n ]);\n\n /** Whether hovering opens the tooltip. */\n readonly canOpen = input<boolean>(true);\n\n readonly panelClass = input<string | string[]>('');\n\n readonly minHeight = input<number | string>('');\n\n readonly maxHeight = input<number | string>('');\n\n readonly height = input<number | string>('');\n\n readonly minWidth = input<number | string>('');\n\n readonly maxWidth = input<number | string>('');\n\n readonly width = input<number | string>('');\n\n /** Emits when the tooltip starts opening. */\n readonly beforeOpen = output<void>();\n\n /** Emits when the open animation has finished. */\n readonly afterOpen = output<void>();\n\n /** Emits when the tooltip starts closing. */\n readonly beforeClose = output<void>();\n\n /** Emits when the tooltip has closed. */\n readonly afterClose = output<void>();\n\n overlayRef: NgDocOverlayRef | null = null;\n\n private readonly opened$: Subject<NgDocOverlayRef> = new Subject<NgDocOverlayRef>();\n\n // The last opened overlay. hide() clears `overlayRef` at once, while the overlay stays attached\n // until its close animation ends; destroying the directive disposes it.\n private lastOverlayRef: NgDocOverlayRef | null = null;\n\n ngAfterViewInit(): void {\n // Pointer events are frequent, so they are observed outside the Angular zone; only opening\n // and closing re-enter it. Opening and closing work through signals and markForCheck, so a\n // zoneless application renders them as well.\n this.ngZone.runOutsideAngular(() => {\n // Opens the tooltip after the delay, unless the pointer leaves first\n fromEvent(this.pointerOriginElement, 'mouseenter')\n .pipe(\n filter(() => this.canOpen() && !this.isOpened),\n switchMap(() =>\n timer(this.delay()).pipe(takeUntil(fromEvent(this.pointerOriginElement, 'mouseleave'))),\n ),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(() => this.ngZone.run(() => this.show()));\n\n // Closes the tooltip when the pointer leaves the host or the tooltip, unless it comes back\n // to either of them within 50 ms\n merge(\n fromEvent(this.pointerOriginElement, 'mouseleave'),\n this.opened$.pipe(\n switchMap((overlayRef: NgDocOverlayRef) =>\n fromEvent(overlayRef.overlayRef.overlayElement, 'mouseleave'),\n ),\n ),\n )\n .pipe(\n filter(() => this.isOpened),\n switchMap(() =>\n timer(50).pipe(\n takeUntil(fromEvent(this.pointerOriginElement, 'mouseenter')),\n takeUntil(\n isPresent(this.overlayRef)\n ? fromEvent(this.overlayRef.overlayRef.overlayElement, 'mouseenter')\n : EMPTY,\n ),\n ),\n ),\n takeUntilDestroyed(this.destroyRef),\n )\n .subscribe(() => this.ngZone.run(() => this.hide()));\n });\n }\n\n show(): void {\n // Opening reads the inputs; `untracked` keeps an effect that calls show() from depending on\n // them.\n untracked(() => this.open());\n }\n\n private open(): void {\n if (!this.isOpened) {\n const overlayRef: NgDocOverlayRef = this.overlayService.open(this.content(), {\n origin: this.displayOriginElement,\n overlayContainer: NgDocOverlayContainerComponent,\n positionStrategy: this.overlayService.connectedPositionStrategy(\n this.displayOriginElement,\n this.getPositions(this.positions()),\n ),\n viewContainerRef: this.viewContainerRef,\n withPointer: true,\n contactBorder: true,\n panelClass: ['ng-doc-tooltip', ...asArray(this.panelClass())],\n height: this.height(),\n width: this.width(),\n minHeight: this.minHeight(),\n minWidth: this.minWidth(),\n maxHeight: this.maxHeight(),\n maxWidth: this.maxWidth(),\n scrollStrategy: this.scrollStrategy,\n disposeOnRouteNavigation: true,\n openAnimation: tooltipOpenAnimation,\n closeAnimation: tooltipCloseAnimation,\n });\n\n this.overlayRef = overlayRef;\n this.lastOverlayRef = overlayRef;\n this.beforeOpen.emit();\n // The tooltip closes when the pointer leaves it; its element exists only once it is open.\n this.ngZone.runOutsideAngular(() => this.opened$.next(overlayRef));\n\n // The animations can finish after the directive is destroyed; its outputs must not emit\n // then.\n overlayRef\n .afterOpen()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.afterOpen.emit());\n overlayRef\n .beforeClose()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n this.beforeClose.emit();\n this.hide();\n });\n overlayRef\n .afterClose()\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.afterClose.emit());\n\n this.changeDetectorRef.markForCheck();\n }\n }\n\n hide(): void {\n if (this.isOpened) {\n this.overlayRef?.close();\n this.overlayRef = null;\n this.changeDetectorRef.markForCheck();\n }\n }\n\n get isOpened(): boolean {\n return !!this.overlayRef;\n }\n\n ngOnDestroy(): void {\n this.lastOverlayRef?.overlayRef.dispose();\n }\n\n private get pointerOriginElement(): HTMLElement {\n const pointerOrigin: BaseElement<HTMLElement> | undefined = this.pointerOrigin();\n\n return isPresent(pointerOrigin) ? toElement(pointerOrigin) : toElement(this.elementRef);\n }\n\n private get displayOriginElement(): HTMLElement {\n const displayOrigin: BaseElement<HTMLElement> | undefined = this.displayOrigin();\n\n return isPresent(displayOrigin) ? toElement(displayOrigin) : toElement(this.elementRef);\n }\n\n private getPositions(\n positions: NgDocOverlayPosition | NgDocOverlayPosition[],\n ): NgDocOverlayPosition[] {\n return NgDocOverlayUtils.getConnectedPosition(\n !!positions && asArray(positions).length\n ? positions\n : ['bottom-center', 'top-center', 'right-center', 'left-center'],\n this.displayOriginElement,\n 0,\n true,\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -6,10 +6,10 @@ export * from '@ng-doc/ui-kit/directives/dropdown-origin';
6
6
  export * from '@ng-doc/ui-kit/directives/event-switcher';
7
7
  export * from '@ng-doc/ui-kit/directives/focus-catcher';
8
8
  export * from '@ng-doc/ui-kit/directives/focusable';
9
+ export * from '@ng-doc/ui-kit/directives/fullscreen';
9
10
  export * from '@ng-doc/ui-kit/directives/hotkey';
10
11
  export * from '@ng-doc/ui-kit/directives/input-number';
11
12
  export * from '@ng-doc/ui-kit/directives/input-string';
12
- export * from '@ng-doc/ui-kit/directives/let';
13
13
  export * from '@ng-doc/ui-kit/directives/radio-group';
14
14
  export * from '@ng-doc/ui-kit/directives/rotator';
15
15
  export * from '@ng-doc/ui-kit/directives/tooltip';