@radix-ng/primitives 0.16.0 → 0.18.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 (203) hide show
  1. package/checkbox/src/checkbox-input.directive.d.ts +2 -1
  2. package/compodoc/documentation.json +7419 -2200
  3. package/esm2022/accordion/index.mjs +4 -4
  4. package/esm2022/accordion/src/accordion-content.directive.mjs +3 -3
  5. package/esm2022/accordion/src/accordion-header.directive.mjs +3 -3
  6. package/esm2022/accordion/src/accordion-item.directive.mjs +3 -3
  7. package/esm2022/accordion/src/accordion-root.directive.mjs +3 -3
  8. package/esm2022/accordion/src/accordion-trigger.directive.mjs +3 -3
  9. package/esm2022/alert-dialog/index.mjs +4 -4
  10. package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +3 -3
  11. package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +3 -3
  12. package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +3 -3
  13. package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +3 -3
  14. package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +3 -3
  15. package/esm2022/alert-dialog/src/alert-dialog.service.mjs +3 -3
  16. package/esm2022/aspect-ratio/src/aspect-ratio.directive.mjs +3 -3
  17. package/esm2022/avatar/src/avatar-fallback.directive.mjs +3 -3
  18. package/esm2022/avatar/src/avatar-image.directive.mjs +3 -3
  19. package/esm2022/avatar/src/avatar-root.directive.mjs +3 -3
  20. package/esm2022/checkbox/src/checkbox-button.directive.mjs +3 -3
  21. package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +3 -3
  22. package/esm2022/checkbox/src/checkbox-input.directive.mjs +7 -4
  23. package/esm2022/checkbox/src/checkbox.directive.mjs +3 -3
  24. package/esm2022/collapsible/src/collapsible-content.directive.mjs +3 -3
  25. package/esm2022/collapsible/src/collapsible-root.directive.mjs +3 -3
  26. package/esm2022/collapsible/src/collapsible-trigger.directive.mjs +3 -3
  27. package/esm2022/context-menu/index.mjs +4 -4
  28. package/esm2022/context-menu/src/context-menu-content.directive.mjs +3 -3
  29. package/esm2022/context-menu/src/context-menu-item-checkbox.directive.mjs +3 -3
  30. package/esm2022/context-menu/src/context-menu-item-indicator.directive.mjs +3 -3
  31. package/esm2022/context-menu/src/context-menu-item-radio-group.directive.mjs +3 -3
  32. package/esm2022/context-menu/src/context-menu-item-radio.directive.mjs +3 -3
  33. package/esm2022/context-menu/src/context-menu-item-selectable.mjs +3 -3
  34. package/esm2022/context-menu/src/context-menu-item.directive.mjs +3 -3
  35. package/esm2022/context-menu/src/context-menu-label.directive.mjs +3 -3
  36. package/esm2022/context-menu/src/context-menu-separator.directive.mjs +3 -3
  37. package/esm2022/context-menu/src/context-menu-trigger.directive.mjs +3 -3
  38. package/esm2022/core/src/auto-focus.directive.mjs +3 -3
  39. package/esm2022/dialog/index.mjs +4 -4
  40. package/esm2022/dialog/src/dialog-close.directive.mjs +3 -3
  41. package/esm2022/dialog/src/dialog-content.directive.mjs +3 -3
  42. package/esm2022/dialog/src/dialog-description.directive.mjs +3 -3
  43. package/esm2022/dialog/src/dialog-dismiss.directive.mjs +3 -3
  44. package/esm2022/dialog/src/dialog-title.directive.mjs +3 -3
  45. package/esm2022/dialog/src/dialog-trigger.directive.mjs +3 -3
  46. package/esm2022/dialog/src/dialog.service.mjs +3 -3
  47. package/esm2022/dropdown-menu/index.mjs +4 -4
  48. package/esm2022/dropdown-menu/src/dropdown-menu-content.directive.mjs +3 -3
  49. package/esm2022/dropdown-menu/src/dropdown-menu-item-checkbox.directive.mjs +3 -3
  50. package/esm2022/dropdown-menu/src/dropdown-menu-item-indicator.directive.mjs +3 -3
  51. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio-group.directive.mjs +3 -3
  52. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio.directive.mjs +3 -3
  53. package/esm2022/dropdown-menu/src/dropdown-menu-item-selectable.mjs +3 -3
  54. package/esm2022/dropdown-menu/src/dropdown-menu-item.directive.mjs +3 -3
  55. package/esm2022/dropdown-menu/src/dropdown-menu-label.directive.mjs +3 -3
  56. package/esm2022/dropdown-menu/src/dropdown-menu-separator.directive.mjs +3 -3
  57. package/esm2022/dropdown-menu/src/dropdown-menu-trigger.directive.mjs +3 -3
  58. package/esm2022/label/src/label.directive.mjs +3 -3
  59. package/esm2022/menu/index.mjs +4 -4
  60. package/esm2022/menu/src/menu-content.directive.mjs +3 -3
  61. package/esm2022/menu/src/menu-directive.mjs +3 -3
  62. package/esm2022/menu/src/menu-group.directive.mjs +3 -3
  63. package/esm2022/menu/src/menu-item.directive.mjs +3 -3
  64. package/esm2022/menu/src/menu-label.directive.mjs +3 -3
  65. package/esm2022/menu/src/menu-separator.directive.mjs +3 -3
  66. package/esm2022/menubar/index.mjs +4 -4
  67. package/esm2022/menubar/src/menubar-content.directive.mjs +3 -3
  68. package/esm2022/menubar/src/menubar-item-checkbox.directive.mjs +3 -3
  69. package/esm2022/menubar/src/menubar-item-indicator.directive.mjs +3 -3
  70. package/esm2022/menubar/src/menubar-item-radio.directive.mjs +3 -3
  71. package/esm2022/menubar/src/menubar-item.directive.mjs +3 -3
  72. package/esm2022/menubar/src/menubar-radio-group.directive.mjs +3 -3
  73. package/esm2022/menubar/src/menubar-root.directive.mjs +3 -3
  74. package/esm2022/menubar/src/menubar-separator.directive.mjs +3 -3
  75. package/esm2022/menubar/src/menubar-trigger.directive.mjs +3 -3
  76. package/esm2022/progress/index.mjs +4 -4
  77. package/esm2022/progress/src/progress-indicator.directive.mjs +3 -3
  78. package/esm2022/progress/src/progress-root.directive.mjs +3 -3
  79. package/esm2022/radio/src/radio-indicator.directive.mjs +3 -3
  80. package/esm2022/radio/src/radio-item.directive.mjs +3 -3
  81. package/esm2022/radio/src/radio-root.directive.mjs +3 -3
  82. package/esm2022/select/index.mjs +65 -0
  83. package/esm2022/select/radix-ng-primitives-select.mjs +5 -0
  84. package/esm2022/select/src/select-content.directive.mjs +53 -0
  85. package/esm2022/select/src/select-group.directive.mjs +18 -0
  86. package/esm2022/select/src/select-icon.directive.mjs +18 -0
  87. package/esm2022/select/src/select-item-indicator.directive.mjs +23 -0
  88. package/esm2022/select/src/select-item.directive.mjs +116 -0
  89. package/esm2022/select/src/select-label.directive.mjs +15 -0
  90. package/esm2022/select/src/select-separator.directive.mjs +18 -0
  91. package/esm2022/select/src/select-trigger.directive.mjs +38 -0
  92. package/esm2022/select/src/select-value.directive.mjs +21 -0
  93. package/esm2022/select/src/select.component.mjs +234 -0
  94. package/esm2022/separator/src/separator.directive.mjs +3 -3
  95. package/esm2022/slider/index.mjs +28 -0
  96. package/esm2022/slider/radix-ng-primitives-slider.mjs +5 -0
  97. package/esm2022/slider/src/slider-horizontal.component.mjs +117 -0
  98. package/esm2022/slider/src/slider-impl.directive.mjs +89 -0
  99. package/esm2022/slider/src/slider-orientation-context.service.mjs +28 -0
  100. package/esm2022/slider/src/slider-range.component.mjs +41 -0
  101. package/esm2022/slider/src/slider-root.component.mjs +207 -0
  102. package/esm2022/slider/src/slider-thumb-impl.directive.mjs +102 -0
  103. package/esm2022/slider/src/slider-thumb.component.mjs +22 -0
  104. package/esm2022/slider/src/slider-track.component.mjs +27 -0
  105. package/esm2022/slider/src/slider-vertical.component.mjs +117 -0
  106. package/esm2022/slider/src/utils.mjs +94 -0
  107. package/esm2022/switch/index.mjs +4 -4
  108. package/esm2022/switch/src/switch-input.directive.mjs +3 -3
  109. package/esm2022/switch/src/switch-root.directive.mjs +3 -3
  110. package/esm2022/switch/src/switch-thumb.directive.mjs +3 -3
  111. package/esm2022/tabs/index.mjs +4 -4
  112. package/esm2022/tabs/src/tabs-content.directive.mjs +3 -3
  113. package/esm2022/tabs/src/tabs-context.service.mjs +3 -3
  114. package/esm2022/tabs/src/tabs-list.directive.mjs +3 -3
  115. package/esm2022/tabs/src/tabs-root.directive.mjs +3 -3
  116. package/esm2022/tabs/src/tabs-trigger.directive.mjs +3 -3
  117. package/esm2022/toggle/src/toggle-input.directive.mjs +3 -3
  118. package/esm2022/toggle/src/toggle.directive.mjs +3 -3
  119. package/esm2022/toggle-group/src/toggle-group-item.directive.mjs +3 -3
  120. package/esm2022/toggle-group/src/toggle-group-multiple.directive.mjs +3 -3
  121. package/esm2022/toggle-group/src/toggle-group.directive.mjs +3 -3
  122. package/esm2022/tooltip/index.mjs +41 -0
  123. package/esm2022/tooltip/radix-ng-primitives-tooltip.mjs +5 -0
  124. package/esm2022/tooltip/src/get-content-position.mjs +31 -0
  125. package/esm2022/tooltip/src/tooltip-arrow.directive.mjs +92 -0
  126. package/esm2022/tooltip/src/tooltip-arrow.token.mjs +3 -0
  127. package/esm2022/tooltip/src/tooltip-content-attributes.directive.mjs +24 -0
  128. package/esm2022/tooltip/src/tooltip-content.directive.mjs +48 -0
  129. package/esm2022/tooltip/src/tooltip-content.token.mjs +3 -0
  130. package/esm2022/tooltip/src/tooltip-root.directive.mjs +288 -0
  131. package/esm2022/tooltip/src/tooltip-trigger.directive.mjs +70 -0
  132. package/esm2022/tooltip/src/tooltip.config.mjs +18 -0
  133. package/esm2022/tooltip/src/tooltip.constants.mjs +84 -0
  134. package/esm2022/tooltip/src/tooltip.types.mjs +14 -0
  135. package/esm2022/visually-hidden/src/visually-hidden-input-bubble.directive.mjs +3 -3
  136. package/esm2022/visually-hidden/src/visually-hidden-input.directive.mjs +3 -3
  137. package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +3 -3
  138. package/fesm2022/radix-ng-primitives-accordion.mjs +19 -19
  139. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +22 -22
  140. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +3 -3
  141. package/fesm2022/radix-ng-primitives-avatar.mjs +9 -9
  142. package/fesm2022/radix-ng-primitives-checkbox.mjs +15 -12
  143. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  144. package/fesm2022/radix-ng-primitives-collapsible.mjs +9 -9
  145. package/fesm2022/radix-ng-primitives-context-menu.mjs +34 -34
  146. package/fesm2022/radix-ng-primitives-core.mjs +3 -3
  147. package/fesm2022/radix-ng-primitives-dialog.mjs +25 -25
  148. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +34 -34
  149. package/fesm2022/radix-ng-primitives-label.mjs +3 -3
  150. package/fesm2022/radix-ng-primitives-menu.mjs +22 -22
  151. package/fesm2022/radix-ng-primitives-menubar.mjs +31 -31
  152. package/fesm2022/radix-ng-primitives-progress.mjs +10 -10
  153. package/fesm2022/radix-ng-primitives-radio.mjs +9 -9
  154. package/fesm2022/radix-ng-primitives-select.mjs +572 -0
  155. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -0
  156. package/fesm2022/radix-ng-primitives-separator.mjs +3 -3
  157. package/fesm2022/radix-ng-primitives-slider.mjs +830 -0
  158. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -0
  159. package/fesm2022/radix-ng-primitives-switch.mjs +13 -13
  160. package/fesm2022/radix-ng-primitives-tabs.mjs +19 -19
  161. package/fesm2022/radix-ng-primitives-toggle-group.mjs +9 -9
  162. package/fesm2022/radix-ng-primitives-toggle.mjs +6 -6
  163. package/fesm2022/radix-ng-primitives-tooltip.mjs +684 -0
  164. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -0
  165. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +9 -9
  166. package/package.json +19 -1
  167. package/select/README.md +1 -0
  168. package/select/index.d.ts +26 -0
  169. package/select/src/select-content.directive.d.ts +20 -0
  170. package/select/src/select-group.directive.d.ts +5 -0
  171. package/select/src/select-icon.directive.d.ts +5 -0
  172. package/select/src/select-item-indicator.directive.d.ts +7 -0
  173. package/select/src/select-item.directive.d.ts +47 -0
  174. package/select/src/select-label.directive.d.ts +5 -0
  175. package/select/src/select-separator.directive.d.ts +5 -0
  176. package/select/src/select-trigger.directive.d.ts +11 -0
  177. package/select/src/select-value.directive.d.ts +8 -0
  178. package/select/src/select.component.d.ts +81 -0
  179. package/slider/README.md +1 -0
  180. package/slider/index.d.ts +18 -0
  181. package/slider/src/slider-horizontal.component.d.ts +29 -0
  182. package/slider/src/slider-impl.directive.d.ts +18 -0
  183. package/slider/src/slider-orientation-context.service.d.ts +14 -0
  184. package/slider/src/slider-range.component.d.ts +13 -0
  185. package/slider/src/slider-root.component.d.ts +47 -0
  186. package/slider/src/slider-thumb-impl.directive.d.ts +26 -0
  187. package/slider/src/slider-thumb.component.d.ts +6 -0
  188. package/slider/src/slider-track.component.d.ts +7 -0
  189. package/slider/src/slider-vertical.component.d.ts +29 -0
  190. package/slider/src/utils.d.ts +52 -0
  191. package/tooltip/README.md +1 -0
  192. package/tooltip/index.d.ts +17 -0
  193. package/tooltip/src/get-content-position.d.ts +3 -0
  194. package/tooltip/src/tooltip-arrow.directive.d.ts +25 -0
  195. package/tooltip/src/tooltip-arrow.token.d.ts +3 -0
  196. package/tooltip/src/tooltip-content-attributes.directive.d.ts +8 -0
  197. package/tooltip/src/tooltip-content.directive.d.ts +36 -0
  198. package/tooltip/src/tooltip-content.token.d.ts +3 -0
  199. package/tooltip/src/tooltip-root.directive.d.ts +103 -0
  200. package/tooltip/src/tooltip-trigger.directive.d.ts +26 -0
  201. package/tooltip/src/tooltip.config.d.ts +6 -0
  202. package/tooltip/src/tooltip.constants.d.ts +9 -0
  203. package/tooltip/src/tooltip.types.d.ts +18 -0
@@ -0,0 +1,288 @@
1
+ import { Overlay } from '@angular/cdk/overlay';
2
+ import { TemplatePortal } from '@angular/cdk/portal';
3
+ import { DOCUMENT, isPlatformBrowser } from '@angular/common';
4
+ import { computed, contentChild, DestroyRef, Directive, effect, ElementRef, forwardRef, inject, InjectionToken, input, output, PLATFORM_ID, signal, untracked, ViewContainerRef } from '@angular/core';
5
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
+ import { asyncScheduler, filter, take } from 'rxjs';
7
+ import { RdxTooltipContentToken } from './tooltip-content.token';
8
+ import { RdxTooltipTriggerDirective } from './tooltip-trigger.directive';
9
+ import { injectTooltipConfig } from './tooltip.config';
10
+ import * as i0 from "@angular/core";
11
+ export const RdxTooltipRootToken = new InjectionToken('RdxTooltipRootToken');
12
+ export function injectTooltipRoot() {
13
+ return inject(RdxTooltipRootToken);
14
+ }
15
+ export class RdxTooltipRootDirective {
16
+ constructor() {
17
+ /** @ignore */
18
+ this.viewContainerRef = inject(ViewContainerRef);
19
+ /** @ignore */
20
+ this.destroyRef = inject(DestroyRef);
21
+ /** @ignore */
22
+ this.overlay = inject(Overlay);
23
+ /** @ignore */
24
+ this.platformId = inject(PLATFORM_ID);
25
+ /** @ignore */
26
+ this.document = inject(DOCUMENT);
27
+ /** @ignore */
28
+ this.tooltipConfig = injectTooltipConfig();
29
+ /**
30
+ * The open state of the tooltip when it is initially rendered. Use when you do not need to control its open state.
31
+ */
32
+ this.defaultOpen = input(false);
33
+ /**
34
+ * The controlled open state of the tooltip. Must be used in conjunction with onOpenChange.
35
+ */
36
+ this.open = input();
37
+ /**
38
+ * Override the duration given to the configuration to customise the open delay for a specific tooltip.
39
+ */
40
+ this.delayDuration = input(this.tooltipConfig.delayDuration);
41
+ /** @ignore */
42
+ this.disableHoverableContent = input(this.tooltipConfig.disableHoverableContent ?? false);
43
+ /**
44
+ * Event handler called when the open state of the tooltip changes.
45
+ */
46
+ this.onOpenChange = output();
47
+ /** @ignore */
48
+ this.isOpen = signal(this.defaultOpen());
49
+ /** @ignore */
50
+ this.isOpenDelayed = signal(true);
51
+ /** @ignore */
52
+ this.wasOpenDelayed = signal(false);
53
+ /** @ignore */
54
+ this.state = computed(() => {
55
+ const currentIsOpen = this.isOpen();
56
+ const currentWasOpenDelayed = this.wasOpenDelayed();
57
+ if (currentIsOpen) {
58
+ return currentWasOpenDelayed ? 'delayed-open' : 'instant-open';
59
+ }
60
+ return 'closed';
61
+ });
62
+ /** @ignore */
63
+ this.tooltipContentDirective = contentChild.required(RdxTooltipContentToken);
64
+ /** @ignore */
65
+ this.tooltipTriggerElementRef = contentChild.required(RdxTooltipTriggerDirective, { read: ElementRef });
66
+ /** @ignore */
67
+ this.openTimer = 0;
68
+ /** @ignore */
69
+ this.skipDelayTimer = 0;
70
+ /** @ignore */
71
+ this.isControlledExternally = false;
72
+ /** @ignore */
73
+ this.onIsOpenChangeEffect = effect(() => {
74
+ const isOpen = this.isOpen();
75
+ untracked(() => {
76
+ if (isOpen) {
77
+ this.show();
78
+ }
79
+ else {
80
+ this.hide();
81
+ }
82
+ });
83
+ });
84
+ /** @ignore */
85
+ this.onPositionChangeEffect = effect(() => {
86
+ const position = this.tooltipContentDirective().position();
87
+ if (this.overlayRef) {
88
+ const positionStrategy = this.getPositionStrategy(position);
89
+ this.overlayRef.updatePositionStrategy(positionStrategy);
90
+ }
91
+ });
92
+ /** @ignore */
93
+ this.onOpenChangeEffect = effect(() => {
94
+ const currentOpen = this.open();
95
+ this.isControlledExternally = currentOpen !== undefined;
96
+ untracked(() => {
97
+ if (this.isControlledExternally) {
98
+ this.setOpen(currentOpen);
99
+ }
100
+ });
101
+ });
102
+ }
103
+ /** @ignore */
104
+ ngOnInit() {
105
+ if (this.defaultOpen()) {
106
+ this.handleOpen();
107
+ }
108
+ this.isControlledExternally = this.open() !== undefined;
109
+ }
110
+ /** @ignore */
111
+ onTriggerEnter() {
112
+ if (this.isControlledExternally) {
113
+ return;
114
+ }
115
+ if (this.isOpenDelayed()) {
116
+ this.handleDelayedOpen();
117
+ }
118
+ else {
119
+ this.handleOpen();
120
+ }
121
+ }
122
+ /** @ignore */
123
+ onTriggerLeave() {
124
+ this.clearTimeout(this.openTimer);
125
+ this.handleClose();
126
+ }
127
+ /** @ignore */
128
+ onOpen() {
129
+ this.clearTimeout(this.skipDelayTimer);
130
+ this.isOpenDelayed.set(false);
131
+ }
132
+ /** @ignore */
133
+ onClose() {
134
+ this.clearTimeout(this.skipDelayTimer);
135
+ if (isPlatformBrowser(this.platformId)) {
136
+ this.skipDelayTimer = window.setTimeout(() => {
137
+ this.isOpenDelayed.set(true);
138
+ }, this.tooltipConfig.skipDelayDuration);
139
+ }
140
+ }
141
+ /** @ignore */
142
+ handleOpen() {
143
+ if (this.isControlledExternally) {
144
+ return;
145
+ }
146
+ this.wasOpenDelayed.set(false);
147
+ this.setOpen(true);
148
+ }
149
+ /** @ignore */
150
+ handleClose() {
151
+ if (this.isControlledExternally) {
152
+ return;
153
+ }
154
+ this.clearTimeout(this.openTimer);
155
+ this.setOpen(false);
156
+ }
157
+ /** @ignore */
158
+ handleOverlayKeydown() {
159
+ if (!this.overlayRef) {
160
+ return;
161
+ }
162
+ this.overlayRef
163
+ .keydownEvents()
164
+ .pipe(filter((event) => event.key === 'Escape'), takeUntilDestroyed(this.destroyRef))
165
+ .subscribe((event) => {
166
+ this.tooltipContentDirective().onEscapeKeyDown.emit(event);
167
+ if (!event.defaultPrevented) {
168
+ this.handleClose();
169
+ }
170
+ });
171
+ }
172
+ /** @ignore */
173
+ handlePointerDownOutside() {
174
+ if (!this.overlayRef) {
175
+ return;
176
+ }
177
+ this.overlayRef
178
+ .outsidePointerEvents()
179
+ .pipe(takeUntilDestroyed(this.destroyRef))
180
+ .subscribe((event) => this.tooltipContentDirective().onPointerDownOutside.emit(event));
181
+ }
182
+ /** @ignore */
183
+ handleDelayedOpen() {
184
+ this.clearTimeout(this.openTimer);
185
+ if (isPlatformBrowser(this.platformId)) {
186
+ this.openTimer = window.setTimeout(() => {
187
+ this.wasOpenDelayed.set(true);
188
+ this.setOpen(true);
189
+ }, this.delayDuration());
190
+ }
191
+ }
192
+ /** @ignore */
193
+ setOpen(open = false) {
194
+ if (open) {
195
+ this.onOpen();
196
+ this.document.dispatchEvent(new CustomEvent('tooltip.open'));
197
+ }
198
+ else {
199
+ this.onClose();
200
+ }
201
+ this.isOpen.set(open);
202
+ this.onOpenChange.emit(open);
203
+ }
204
+ /** @ignore */
205
+ createOverlayRef() {
206
+ if (this.overlayRef) {
207
+ return this.overlayRef;
208
+ }
209
+ this.overlayRef = this.overlay.create({
210
+ direction: undefined,
211
+ positionStrategy: this.getPositionStrategy(this.tooltipContentDirective().position()),
212
+ scrollStrategy: this.overlay.scrollStrategies.close()
213
+ });
214
+ this.overlayRef
215
+ .detachments()
216
+ .pipe(take(1), takeUntilDestroyed(this.destroyRef))
217
+ .subscribe(() => this.detach());
218
+ this.handleOverlayKeydown();
219
+ this.handlePointerDownOutside();
220
+ return this.overlayRef;
221
+ }
222
+ /** @ignore */
223
+ show() {
224
+ this.overlayRef = this.createOverlayRef();
225
+ this.detach();
226
+ this.portal =
227
+ this.portal ||
228
+ new TemplatePortal(this.tooltipContentDirective().templateRef, this.viewContainerRef, {
229
+ state: this.state,
230
+ side: this.tooltipContentDirective().side
231
+ });
232
+ this.instance = this.overlayRef.attach(this.portal);
233
+ }
234
+ /** @ignore */
235
+ detach() {
236
+ if (this.overlayRef?.hasAttached()) {
237
+ this.overlayRef.detach();
238
+ }
239
+ }
240
+ /** @ignore */
241
+ hide() {
242
+ if (this.isControlledExternally && this.open()) {
243
+ return;
244
+ }
245
+ asyncScheduler.schedule(() => {
246
+ this.instance?.destroy();
247
+ }, this.tooltipConfig.hideDelayDuration ?? 0);
248
+ }
249
+ /** @ignore */
250
+ getPositionStrategy(connectedPosition) {
251
+ return this.overlay
252
+ .position()
253
+ .flexibleConnectedTo(this.tooltipTriggerElementRef())
254
+ .withFlexibleDimensions(false)
255
+ .withPositions([
256
+ connectedPosition
257
+ ])
258
+ .withLockedPosition();
259
+ }
260
+ /** @ignore */
261
+ clearTimeout(timeoutId) {
262
+ if (isPlatformBrowser(this.platformId)) {
263
+ window.clearTimeout(timeoutId);
264
+ }
265
+ }
266
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
267
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.11", type: RdxTooltipRootDirective, isStandalone: true, selector: "[rdxTooltipRoot]", inputs: { defaultOpen: { classPropertyName: "defaultOpen", publicName: "defaultOpen", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, delayDuration: { classPropertyName: "delayDuration", publicName: "delayDuration", isSignal: true, isRequired: false, transformFunction: null }, disableHoverableContent: { classPropertyName: "disableHoverableContent", publicName: "disableHoverableContent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOpenChange: "onOpenChange" }, providers: [
268
+ {
269
+ provide: RdxTooltipRootToken,
270
+ useExisting: forwardRef(() => RdxTooltipRootDirective)
271
+ }
272
+ ], queries: [{ propertyName: "tooltipContentDirective", first: true, predicate: RdxTooltipContentToken, descendants: true, isSignal: true }, { propertyName: "tooltipTriggerElementRef", first: true, predicate: RdxTooltipTriggerDirective, descendants: true, read: ElementRef, isSignal: true }], exportAs: ["rdxTooltipRoot"], ngImport: i0 }); }
273
+ }
274
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipRootDirective, decorators: [{
275
+ type: Directive,
276
+ args: [{
277
+ selector: '[rdxTooltipRoot]',
278
+ standalone: true,
279
+ providers: [
280
+ {
281
+ provide: RdxTooltipRootToken,
282
+ useExisting: forwardRef(() => RdxTooltipRootDirective)
283
+ }
284
+ ],
285
+ exportAs: 'rdxTooltipRoot'
286
+ }]
287
+ }] });
288
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1yb290LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdG9vbHRpcC9zcmMvdG9vbHRpcC1yb290LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLE9BQU8sRUFBZ0MsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlELE9BQU8sRUFDSCxRQUFRLEVBQ1IsWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsRUFDVixVQUFVLEVBQ1YsTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFDWCxNQUFNLEVBQ04sU0FBUyxFQUNULGdCQUFnQixFQUVuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBR3ZELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLElBQUksY0FBYyxDQUEwQixxQkFBcUIsQ0FBQyxDQUFDO0FBRXRHLE1BQU0sVUFBVSxpQkFBaUI7SUFDN0IsT0FBTyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBYUQsTUFBTSxPQUFPLHVCQUF1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QixDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsY0FBYztJQUNOLG1CQUFtQixDQUFDLGlCQUFvQztRQUM1RCxPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2QsUUFBUSxFQUFFO2FBQ1YsbUJBQW1CLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7YUFDcEQsc0JBQXNCLENBQUMsS0FBSyxDQUFDO2FBQzdCLGFBQWEsQ0FBQztZQUNYLGlCQUFpQjtTQUNwQixDQUFDO2FBQ0Qsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsY0FBYztJQUNOLFlBQVksQ0FBQyxTQUFpQjtRQUNsQyxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkMsQ0FBQztJQUNMLENBQUM7K0dBOVFRLHVCQUF1QjttR0FBdkIsdUJBQXVCLG1yQkFSckI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsbUJBQW1CO2dCQUM1QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2FBQ3pEO1NBQ0osK0VBMER3RCxzQkFBc0IsMkdBRXJCLDBCQUEwQiwyQkFBVSxVQUFVOzs0RkF6RC9GLHVCQUF1QjtrQkFYbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxtQkFBbUI7NEJBQzVCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDO3lCQUN6RDtxQkFDSjtvQkFDRCxRQUFRLEVBQUUsZ0JBQWdCO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5LCBPdmVybGF5UmVmLCBQb3NpdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIGNvbXB1dGVkLFxuICAgIGNvbnRlbnRDaGlsZCxcbiAgICBEZXN0cm95UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBlZmZlY3QsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBpbnB1dCxcbiAgICBPbkluaXQsXG4gICAgb3V0cHV0LFxuICAgIFBMQVRGT1JNX0lELFxuICAgIHNpZ25hbCxcbiAgICB1bnRyYWNrZWQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBWaWV3UmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgYXN5bmNTY2hlZHVsZXIsIGZpbHRlciwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUmR4VG9vbHRpcENvbnRlbnRUb2tlbiB9IGZyb20gJy4vdG9vbHRpcC1jb250ZW50LnRva2VuJztcbmltcG9ydCB7IFJkeFRvb2x0aXBUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi90b29sdGlwLXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IGluamVjdFRvb2x0aXBDb25maWcgfSBmcm9tICcuL3Rvb2x0aXAuY29uZmlnJztcbmltcG9ydCB7IFJkeFRvb2x0aXBTdGF0ZSB9IGZyb20gJy4vdG9vbHRpcC50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBSZHhUb29sdGlwUm9vdFRva2VuID0gbmV3IEluamVjdGlvblRva2VuPFJkeFRvb2x0aXBSb290RGlyZWN0aXZlPignUmR4VG9vbHRpcFJvb3RUb2tlbicpO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0VG9vbHRpcFJvb3QoKTogUmR4VG9vbHRpcFJvb3REaXJlY3RpdmUge1xuICAgIHJldHVybiBpbmplY3QoUmR4VG9vbHRpcFJvb3RUb2tlbik7XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFRvb2x0aXBSb290XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogUmR4VG9vbHRpcFJvb3RUb2tlbixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJkeFRvb2x0aXBSb290RGlyZWN0aXZlKVxuICAgICAgICB9XG4gICAgXSxcbiAgICBleHBvcnRBczogJ3JkeFRvb2x0aXBSb290J1xufSlcbmV4cG9ydCBjbGFzcyBSZHhUb29sdGlwUm9vdERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXkgPSBpbmplY3QoT3ZlcmxheSk7XG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICByZWFkb25seSB0b29sdGlwQ29uZmlnID0gaW5qZWN0VG9vbHRpcENvbmZpZygpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG9wZW4gc3RhdGUgb2YgdGhlIHRvb2x0aXAgd2hlbiBpdCBpcyBpbml0aWFsbHkgcmVuZGVyZWQuIFVzZSB3aGVuIHlvdSBkbyBub3QgbmVlZCB0byBjb250cm9sIGl0cyBvcGVuIHN0YXRlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRlZmF1bHRPcGVuID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNvbnRyb2xsZWQgb3BlbiBzdGF0ZSBvZiB0aGUgdG9vbHRpcC4gTXVzdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggb25PcGVuQ2hhbmdlLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG9wZW4gPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkPigpO1xuXG4gICAgLyoqXG4gICAgICogT3ZlcnJpZGUgdGhlIGR1cmF0aW9uIGdpdmVuIHRvIHRoZSBjb25maWd1cmF0aW9uIHRvIGN1c3RvbWlzZSB0aGUgb3BlbiBkZWxheSBmb3IgYSBzcGVjaWZpYyB0b29sdGlwLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRlbGF5RHVyYXRpb24gPSBpbnB1dDxudW1iZXI+KHRoaXMudG9vbHRpcENvbmZpZy5kZWxheUR1cmF0aW9uKTtcblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcmVhZG9ubHkgZGlzYWJsZUhvdmVyYWJsZUNvbnRlbnQgPSBpbnB1dDxib29sZWFuPih0aGlzLnRvb2x0aXBDb25maWcuZGlzYWJsZUhvdmVyYWJsZUNvbnRlbnQgPz8gZmFsc2UpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgaGFuZGxlciBjYWxsZWQgd2hlbiB0aGUgb3BlbiBzdGF0ZSBvZiB0aGUgdG9vbHRpcCBjaGFuZ2VzLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG9uT3BlbkNoYW5nZSA9IG91dHB1dDxib29sZWFuPigpO1xuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICByZWFkb25seSBpc09wZW4gPSBzaWduYWw8Ym9vbGVhbj4odGhpcy5kZWZhdWx0T3BlbigpKTtcbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHJlYWRvbmx5IGlzT3BlbkRlbGF5ZWQgPSBzaWduYWw8Ym9vbGVhbj4odHJ1ZSk7XG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICByZWFkb25seSB3YXNPcGVuRGVsYXllZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICByZWFkb25seSBzdGF0ZSA9IGNvbXB1dGVkPFJkeFRvb2x0aXBTdGF0ZT4oKCkgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50SXNPcGVuID0gdGhpcy5pc09wZW4oKTtcbiAgICAgICAgY29uc3QgY3VycmVudFdhc09wZW5EZWxheWVkID0gdGhpcy53YXNPcGVuRGVsYXllZCgpO1xuXG4gICAgICAgIGlmIChjdXJyZW50SXNPcGVuKSB7XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudFdhc09wZW5EZWxheWVkID8gJ2RlbGF5ZWQtb3BlbicgOiAnaW5zdGFudC1vcGVuJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAnY2xvc2VkJztcbiAgICB9KTtcbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHJlYWRvbmx5IHRvb2x0aXBDb250ZW50RGlyZWN0aXZlID0gY29udGVudENoaWxkLnJlcXVpcmVkKFJkeFRvb2x0aXBDb250ZW50VG9rZW4pO1xuICAgIC8qKiBAaWdub3JlICovXG4gICAgcmVhZG9ubHkgdG9vbHRpcFRyaWdnZXJFbGVtZW50UmVmID0gY29udGVudENoaWxkLnJlcXVpcmVkKFJkeFRvb2x0aXBUcmlnZ2VyRGlyZWN0aXZlLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgb3BlblRpbWVyID0gMDtcbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgc2tpcERlbGF5VGltZXIgPSAwO1xuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJpdmF0ZSBvdmVybGF5UmVmPzogT3ZlcmxheVJlZjtcbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgaW5zdGFuY2U/OiBWaWV3UmVmO1xuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJpdmF0ZSBwb3J0YWw6IFRlbXBsYXRlUG9ydGFsPHVua25vd24+O1xuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJpdmF0ZSBpc0NvbnRyb2xsZWRFeHRlcm5hbGx5ID0gZmFsc2U7XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5kZWZhdWx0T3BlbigpKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZU9wZW4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNDb250cm9sbGVkRXh0ZXJuYWxseSA9IHRoaXMub3BlbigpICE9PSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBvblRyaWdnZXJFbnRlcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNDb250cm9sbGVkRXh0ZXJuYWxseSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNPcGVuRGVsYXllZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZURlbGF5ZWRPcGVuKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmhhbmRsZU9wZW4oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgb25UcmlnZ2VyTGVhdmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xlYXJUaW1lb3V0KHRoaXMub3BlblRpbWVyKTtcbiAgICAgICAgdGhpcy5oYW5kbGVDbG9zZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgb25PcGVuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyVGltZW91dCh0aGlzLnNraXBEZWxheVRpbWVyKTtcbiAgICAgICAgdGhpcy5pc09wZW5EZWxheWVkLnNldChmYWxzZSk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBvbkNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyVGltZW91dCh0aGlzLnNraXBEZWxheVRpbWVyKTtcblxuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgdGhpcy5za2lwRGVsYXlUaW1lciA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzT3BlbkRlbGF5ZWQuc2V0KHRydWUpO1xuICAgICAgICAgICAgfSwgdGhpcy50b29sdGlwQ29uZmlnLnNraXBEZWxheUR1cmF0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgaGFuZGxlT3BlbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNDb250cm9sbGVkRXh0ZXJuYWxseSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy53YXNPcGVuRGVsYXllZC5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLnNldE9wZW4odHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBoYW5kbGVDbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNDb250cm9sbGVkRXh0ZXJuYWxseSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jbGVhclRpbWVvdXQodGhpcy5vcGVuVGltZXIpO1xuICAgICAgICB0aGlzLnNldE9wZW4oZmFsc2UpO1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJpdmF0ZSBoYW5kbGVPdmVybGF5S2V5ZG93bigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZlxuICAgICAgICAgICAgLmtleWRvd25FdmVudHMoKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQua2V5ID09PSAnRXNjYXBlJyksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50b29sdGlwQ29udGVudERpcmVjdGl2ZSgpLm9uRXNjYXBlS2V5RG93bi5lbWl0KGV2ZW50KTtcblxuICAgICAgICAgICAgICAgIGlmICghZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIGhhbmRsZVBvaW50ZXJEb3duT3V0c2lkZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZlxuICAgICAgICAgICAgLm91dHNpZGVQb2ludGVyRXZlbnRzKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHRoaXMudG9vbHRpcENvbnRlbnREaXJlY3RpdmUoKS5vblBvaW50ZXJEb3duT3V0c2lkZS5lbWl0KGV2ZW50KSk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIGhhbmRsZURlbGF5ZWRPcGVuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyVGltZW91dCh0aGlzLm9wZW5UaW1lcik7XG5cbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHRoaXMub3BlblRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMud2FzT3BlbkRlbGF5ZWQuc2V0KHRydWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0T3Blbih0cnVlKTtcbiAgICAgICAgICAgIH0sIHRoaXMuZGVsYXlEdXJhdGlvbigpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJpdmF0ZSBzZXRPcGVuKG9wZW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBpZiAob3Blbikge1xuICAgICAgICAgICAgdGhpcy5vbk9wZW4oKTtcblxuICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgndG9vbHRpcC5vcGVuJykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vbkNsb3NlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzT3Blbi5zZXQob3Blbik7XG4gICAgICAgIHRoaXMub25PcGVuQ2hhbmdlLmVtaXQob3Blbik7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIGNyZWF0ZU92ZXJsYXlSZWYoKTogT3ZlcmxheVJlZiB7XG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWY7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKHtcbiAgICAgICAgICAgIGRpcmVjdGlvbjogdW5kZWZpbmVkLFxuICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5nZXRQb3NpdGlvblN0cmF0ZWd5KHRoaXMudG9vbHRpcENvbnRlbnREaXJlY3RpdmUoKS5wb3NpdGlvbigpKSxcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMub3ZlcmxheVJlZlxuICAgICAgICAgICAgLmRldGFjaG1lbnRzKClcbiAgICAgICAgICAgIC5waXBlKHRha2UoMSksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRldGFjaCgpKTtcblxuICAgICAgICB0aGlzLmhhbmRsZU92ZXJsYXlLZXlkb3duKCk7XG4gICAgICAgIHRoaXMuaGFuZGxlUG9pbnRlckRvd25PdXRzaWRlKCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheVJlZjtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgc2hvdygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5jcmVhdGVPdmVybGF5UmVmKCk7XG5cbiAgICAgICAgdGhpcy5kZXRhY2goKTtcblxuICAgICAgICB0aGlzLnBvcnRhbCA9XG4gICAgICAgICAgICB0aGlzLnBvcnRhbCB8fFxuICAgICAgICAgICAgbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMudG9vbHRpcENvbnRlbnREaXJlY3RpdmUoKS50ZW1wbGF0ZVJlZiwgdGhpcy52aWV3Q29udGFpbmVyUmVmLCB7XG4gICAgICAgICAgICAgICAgc3RhdGU6IHRoaXMuc3RhdGUsXG4gICAgICAgICAgICAgICAgc2lkZTogdGhpcy50b29sdGlwQ29udGVudERpcmVjdGl2ZSgpLnNpZGVcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaW5zdGFuY2UgPSB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKHRoaXMucG9ydGFsKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgZGV0YWNoKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgaGlkZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNDb250cm9sbGVkRXh0ZXJuYWxseSAmJiB0aGlzLm9wZW4oKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgYXN5bmNTY2hlZHVsZXIuc2NoZWR1bGUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5pbnN0YW5jZT8uZGVzdHJveSgpO1xuICAgICAgICB9LCB0aGlzLnRvb2x0aXBDb25maWcuaGlkZURlbGF5RHVyYXRpb24gPz8gMCk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIGdldFBvc2l0aW9uU3RyYXRlZ3koY29ubmVjdGVkUG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uKTogUG9zaXRpb25TdHJhdGVneSB7XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlcbiAgICAgICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLnRvb2x0aXBUcmlnZ2VyRWxlbWVudFJlZigpKVxuICAgICAgICAgICAgLndpdGhGbGV4aWJsZURpbWVuc2lvbnMoZmFsc2UpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9ucyhbXG4gICAgICAgICAgICAgICAgY29ubmVjdGVkUG9zaXRpb25cbiAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAud2l0aExvY2tlZFBvc2l0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIGNsZWFyVGltZW91dCh0aW1lb3V0SWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aW1lb3V0SWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IG9uSXNPcGVuQ2hhbmdlRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgaXNPcGVuID0gdGhpcy5pc09wZW4oKTtcblxuICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzT3Blbikge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hvdygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb25Qb3NpdGlvbkNoYW5nZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy50b29sdGlwQ29udGVudERpcmVjdGl2ZSgpLnBvc2l0aW9uKCk7XG5cbiAgICAgICAgaWYgKHRoaXMub3ZlcmxheVJlZikge1xuICAgICAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuZ2V0UG9zaXRpb25TdHJhdGVneShwb3NpdGlvbik7XG5cbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHBvc2l0aW9uU3RyYXRlZ3kpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb25PcGVuQ2hhbmdlRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudE9wZW4gPSB0aGlzLm9wZW4oKTtcbiAgICAgICAgdGhpcy5pc0NvbnRyb2xsZWRFeHRlcm5hbGx5ID0gY3VycmVudE9wZW4gIT09IHVuZGVmaW5lZDtcblxuICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNDb250cm9sbGVkRXh0ZXJuYWxseSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0T3BlbihjdXJyZW50T3Blbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuIl19
@@ -0,0 +1,70 @@
1
+ import { Directive, ElementRef, inject } from '@angular/core';
2
+ import { injectTooltipRoot } from './tooltip-root.directive';
3
+ import * as i0 from "@angular/core";
4
+ export class RdxTooltipTriggerDirective {
5
+ constructor() {
6
+ /** @ignore */
7
+ this.tooltipRoot = injectTooltipRoot();
8
+ /** @ignore */
9
+ this.elementRef = inject((ElementRef));
10
+ /** @ignore */
11
+ this.isPointerDown = false;
12
+ /** @ignore */
13
+ this.isPointerInside = false;
14
+ }
15
+ /** @ignore */
16
+ onPointerMove(event) {
17
+ if (event.pointerType === 'touch') {
18
+ return;
19
+ }
20
+ if (!this.isPointerInside) {
21
+ this.tooltipRoot.onTriggerEnter();
22
+ this.isPointerInside = true;
23
+ }
24
+ }
25
+ /** @ignore */
26
+ onPointerLeave() {
27
+ this.isPointerInside = false;
28
+ this.tooltipRoot.onTriggerLeave();
29
+ }
30
+ /** @ignore */
31
+ onPointerDown() {
32
+ this.isPointerDown = true;
33
+ this.elementRef.nativeElement.addEventListener('pointerup', () => {
34
+ this.isPointerDown = false;
35
+ }, { once: true });
36
+ }
37
+ /** @ignore */
38
+ onFocus() {
39
+ if (!this.isPointerDown) {
40
+ this.tooltipRoot.handleOpen();
41
+ }
42
+ }
43
+ /** @ignore */
44
+ onBlur() {
45
+ this.tooltipRoot.handleClose();
46
+ }
47
+ /** @ignore */
48
+ onClick() {
49
+ this.tooltipRoot.handleClose();
50
+ }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
52
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxTooltipTriggerDirective, isStandalone: true, selector: "[rdxTooltipTrigger]", host: { listeners: { "pointermove": "onPointerMove($event)", "pointerleave": "onPointerLeave()", "pointerdown": "onPointerDown()", "focus": "onFocus()", "blur": "onBlur()", "click": "onClick()" }, properties: { "attr.data-state": "tooltipRoot.state()" } }, ngImport: i0 }); }
53
+ }
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipTriggerDirective, decorators: [{
55
+ type: Directive,
56
+ args: [{
57
+ selector: '[rdxTooltipTrigger]',
58
+ standalone: true,
59
+ host: {
60
+ '[attr.data-state]': 'tooltipRoot.state()',
61
+ '(pointermove)': 'onPointerMove($event)',
62
+ '(pointerleave)': 'onPointerLeave()',
63
+ '(pointerdown)': 'onPointerDown()',
64
+ '(focus)': 'onFocus()',
65
+ '(blur)': 'onBlur()',
66
+ '(click)': 'onClick()'
67
+ }
68
+ }]
69
+ }] });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdG9vbHRpcC9zcmMvdG9vbHRpcC10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBZTdELE1BQU0sT0FBTywwQkFBMEI7SUFidkM7UUFjSSxjQUFjO1FBQ0wsZ0JBQVcsR0FBRyxpQkFBaUIsRUFBRSxDQUFDO1FBQzNDLGNBQWM7UUFDTCxlQUFVLEdBQUcsTUFBTSxDQUEwQixDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO1FBRS9FLGNBQWM7UUFDTixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUM5QixjQUFjO1FBQ04sb0JBQWUsR0FBRyxLQUFLLENBQUM7S0FpRG5DO0lBL0NHLGNBQWM7SUFDZCxhQUFhLENBQUMsS0FBbUI7UUFDN0IsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ2hDLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLGNBQWM7UUFDVixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxjQUFjO0lBQ2QsYUFBYTtRQUNULElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1FBRTFCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUMxQyxXQUFXLEVBQ1gsR0FBRyxFQUFFO1lBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDL0IsQ0FBQyxFQUNELEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUNqQixDQUFDO0lBQ04sQ0FBQztJQUVELGNBQWM7SUFDZCxPQUFPO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLE1BQU07UUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxjQUFjO0lBQ2QsT0FBTztRQUNILElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQzsrR0F6RFEsMEJBQTBCO21HQUExQiwwQkFBMEI7OzRGQUExQiwwQkFBMEI7a0JBYnRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixtQkFBbUIsRUFBRSxxQkFBcUI7d0JBQzFDLGVBQWUsRUFBRSx1QkFBdUI7d0JBQ3hDLGdCQUFnQixFQUFFLGtCQUFrQjt3QkFDcEMsZUFBZSxFQUFFLGlCQUFpQjt3QkFDbEMsU0FBUyxFQUFFLFdBQVc7d0JBQ3RCLFFBQVEsRUFBRSxVQUFVO3dCQUNwQixTQUFTLEVBQUUsV0FBVztxQkFDekI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0VG9vbHRpcFJvb3QgfSBmcm9tICcuL3Rvb2x0aXAtcm9vdC5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhUb29sdGlwVHJpZ2dlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAndG9vbHRpcFJvb3Quc3RhdGUoKScsXG4gICAgICAgICcocG9pbnRlcm1vdmUpJzogJ29uUG9pbnRlck1vdmUoJGV2ZW50KScsXG4gICAgICAgICcocG9pbnRlcmxlYXZlKSc6ICdvblBvaW50ZXJMZWF2ZSgpJyxcbiAgICAgICAgJyhwb2ludGVyZG93biknOiAnb25Qb2ludGVyRG93bigpJyxcbiAgICAgICAgJyhmb2N1cyknOiAnb25Gb2N1cygpJyxcbiAgICAgICAgJyhibHVyKSc6ICdvbkJsdXIoKScsXG4gICAgICAgICcoY2xpY2spJzogJ29uQ2xpY2soKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFRvb2x0aXBUcmlnZ2VyRGlyZWN0aXZlIHtcbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHJlYWRvbmx5IHRvb2x0aXBSb290ID0gaW5qZWN0VG9vbHRpcFJvb3QoKTtcbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KTtcblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJpdmF0ZSBpc1BvaW50ZXJEb3duID0gZmFsc2U7XG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIGlzUG9pbnRlckluc2lkZSA9IGZhbHNlO1xuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBvblBvaW50ZXJNb3ZlKGV2ZW50OiBQb2ludGVyRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKGV2ZW50LnBvaW50ZXJUeXBlID09PSAndG91Y2gnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuaXNQb2ludGVySW5zaWRlKSB7XG4gICAgICAgICAgICB0aGlzLnRvb2x0aXBSb290Lm9uVHJpZ2dlckVudGVyKCk7XG4gICAgICAgICAgICB0aGlzLmlzUG9pbnRlckluc2lkZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIG9uUG9pbnRlckxlYXZlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzUG9pbnRlckluc2lkZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLnRvb2x0aXBSb290Lm9uVHJpZ2dlckxlYXZlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBvblBvaW50ZXJEb3duKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzUG9pbnRlckRvd24gPSB0cnVlO1xuXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgICAncG9pbnRlcnVwJyxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzUG9pbnRlckRvd24gPSBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IG9uY2U6IHRydWUgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgb25Gb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzUG9pbnRlckRvd24pIHtcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcFJvb3QuaGFuZGxlT3BlbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBvbkJsdXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9vbHRpcFJvb3QuaGFuZGxlQ2xvc2UoKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9vbHRpcFJvb3QuaGFuZGxlQ2xvc2UoKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { inject, InjectionToken } from '@angular/core';
2
+ export const defaultTooltipConfig = {
3
+ delayDuration: 700,
4
+ skipDelayDuration: 300
5
+ };
6
+ export const RdxTooltipConfigToken = new InjectionToken('RdxTooltipConfigToken');
7
+ export function provideRdxTooltipConfig(config) {
8
+ return [
9
+ {
10
+ provide: RdxTooltipConfigToken,
11
+ useValue: { ...defaultTooltipConfig, ...config }
12
+ }
13
+ ];
14
+ }
15
+ export function injectTooltipConfig() {
16
+ return inject(RdxTooltipConfigToken, { optional: true }) ?? defaultTooltipConfig;
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3Rvb2x0aXAvc3JjL3Rvb2x0aXAuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFxQjtJQUNsRCxhQUFhLEVBQUUsR0FBRztJQUNsQixpQkFBaUIsRUFBRSxHQUFHO0NBQ3pCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBbUIsdUJBQXVCLENBQUMsQ0FBQztBQUVuRyxNQUFNLFVBQVUsdUJBQXVCLENBQUMsTUFBaUM7SUFDckUsT0FBTztRQUNIO1lBQ0ksT0FBTyxFQUFFLHFCQUFxQjtZQUM5QixRQUFRLEVBQUUsRUFBRSxHQUFHLG9CQUFvQixFQUFFLEdBQUcsTUFBTSxFQUFFO1NBQ25EO0tBQ0osQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CO0lBQy9CLE9BQU8sTUFBTSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksb0JBQW9CLENBQUM7QUFDckYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHhUb29sdGlwQ29uZmlnIH0gZnJvbSAnLi90b29sdGlwLnR5cGVzJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRUb29sdGlwQ29uZmlnOiBSZHhUb29sdGlwQ29uZmlnID0ge1xuICAgIGRlbGF5RHVyYXRpb246IDcwMCxcbiAgICBza2lwRGVsYXlEdXJhdGlvbjogMzAwXG59O1xuXG5leHBvcnQgY29uc3QgUmR4VG9vbHRpcENvbmZpZ1Rva2VuID0gbmV3IEluamVjdGlvblRva2VuPFJkeFRvb2x0aXBDb25maWc+KCdSZHhUb29sdGlwQ29uZmlnVG9rZW4nKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVSZHhUb29sdGlwQ29uZmlnKGNvbmZpZzogUGFydGlhbDxSZHhUb29sdGlwQ29uZmlnPik6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFJkeFRvb2x0aXBDb25maWdUb2tlbixcbiAgICAgICAgICAgIHVzZVZhbHVlOiB7IC4uLmRlZmF1bHRUb29sdGlwQ29uZmlnLCAuLi5jb25maWcgfVxuICAgICAgICB9XG4gICAgXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFRvb2x0aXBDb25maWcoKTogUmR4VG9vbHRpcENvbmZpZyB7XG4gICAgcmV0dXJuIGluamVjdChSZHhUb29sdGlwQ29uZmlnVG9rZW4sIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gZGVmYXVsdFRvb2x0aXBDb25maWc7XG59XG4iXX0=
@@ -0,0 +1,84 @@
1
+ import { RdxTooltipAlign, RdxTooltipSide } from './tooltip.types';
2
+ export const TOOLTIP_POSITIONS = {
3
+ [RdxTooltipSide.Top]: {
4
+ [RdxTooltipAlign.Center]: {
5
+ originX: 'center',
6
+ originY: 'top',
7
+ overlayX: 'center',
8
+ overlayY: 'bottom'
9
+ },
10
+ [RdxTooltipAlign.Start]: {
11
+ originX: 'start',
12
+ originY: 'top',
13
+ overlayX: 'start',
14
+ overlayY: 'bottom'
15
+ },
16
+ [RdxTooltipAlign.End]: {
17
+ originX: 'end',
18
+ originY: 'top',
19
+ overlayX: 'end',
20
+ overlayY: 'bottom'
21
+ }
22
+ },
23
+ [RdxTooltipSide.Right]: {
24
+ [RdxTooltipAlign.Center]: {
25
+ originX: 'end',
26
+ originY: 'center',
27
+ overlayX: 'start',
28
+ overlayY: 'center'
29
+ },
30
+ [RdxTooltipAlign.Start]: {
31
+ originX: 'end',
32
+ originY: 'top',
33
+ overlayX: 'start',
34
+ overlayY: 'top'
35
+ },
36
+ [RdxTooltipAlign.End]: {
37
+ originX: 'end',
38
+ originY: 'bottom',
39
+ overlayX: 'start',
40
+ overlayY: 'bottom'
41
+ }
42
+ },
43
+ [RdxTooltipSide.Bottom]: {
44
+ [RdxTooltipAlign.Center]: {
45
+ originX: 'center',
46
+ originY: 'bottom',
47
+ overlayX: 'center',
48
+ overlayY: 'top'
49
+ },
50
+ [RdxTooltipAlign.Start]: {
51
+ originX: 'start',
52
+ originY: 'bottom',
53
+ overlayX: 'start',
54
+ overlayY: 'top'
55
+ },
56
+ [RdxTooltipAlign.End]: {
57
+ originX: 'end',
58
+ originY: 'bottom',
59
+ overlayX: 'end',
60
+ overlayY: 'top'
61
+ }
62
+ },
63
+ [RdxTooltipSide.Left]: {
64
+ [RdxTooltipAlign.Center]: {
65
+ originX: 'start',
66
+ originY: 'center',
67
+ overlayX: 'end',
68
+ overlayY: 'center'
69
+ },
70
+ [RdxTooltipAlign.Start]: {
71
+ originX: 'start',
72
+ originY: 'top',
73
+ overlayX: 'end',
74
+ overlayY: 'top'
75
+ },
76
+ [RdxTooltipAlign.End]: {
77
+ originX: 'start',
78
+ originY: 'bottom',
79
+ overlayX: 'end',
80
+ overlayY: 'bottom'
81
+ }
82
+ }
83
+ };
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3Rvb2x0aXAvc3JjL3Rvb2x0aXAuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFRbEUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQXFCO0lBQy9DLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2xCLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RCLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsUUFBUSxFQUFFLFFBQVE7WUFDbEIsUUFBUSxFQUFFLFFBQVE7U0FDckI7UUFDRCxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNyQixPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsS0FBSztZQUNkLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsRUFBRSxRQUFRO1NBQ3JCO1FBQ0QsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkIsT0FBTyxFQUFFLEtBQUs7WUFDZCxPQUFPLEVBQUUsS0FBSztZQUNkLFFBQVEsRUFBRSxLQUFLO1lBQ2YsUUFBUSxFQUFFLFFBQVE7U0FDckI7S0FDSjtJQUNELENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3BCLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3RCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsT0FBTyxFQUFFLFFBQVE7WUFDakIsUUFBUSxFQUFFLE9BQU87WUFDakIsUUFBUSxFQUFFLFFBQVE7U0FDckI7UUFDRCxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNyQixPQUFPLEVBQUUsS0FBSztZQUNkLE9BQU8sRUFBRSxLQUFLO1lBQ2QsUUFBUSxFQUFFLE9BQU87WUFDakIsUUFBUSxFQUFFLEtBQUs7U0FDbEI7UUFDRCxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNuQixPQUFPLEVBQUUsS0FBSztZQUNkLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsRUFBRSxRQUFRO1NBQ3JCO0tBQ0o7SUFDRCxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUNyQixDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN0QixPQUFPLEVBQUUsUUFBUTtZQUNqQixPQUFPLEVBQUUsUUFBUTtZQUNqQixRQUFRLEVBQUUsUUFBUTtZQUNsQixRQUFRLEVBQUUsS0FBSztTQUNsQjtRQUNELENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsRUFBRSxLQUFLO1NBQ2xCO1FBQ0QsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkIsT0FBTyxFQUFFLEtBQUs7WUFDZCxPQUFPLEVBQUUsUUFBUTtZQUNqQixRQUFRLEVBQUUsS0FBSztZQUNmLFFBQVEsRUFBRSxLQUFLO1NBQ2xCO0tBQ0o7SUFDRCxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNuQixDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN0QixPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsUUFBUTtZQUNqQixRQUFRLEVBQUUsS0FBSztZQUNmLFFBQVEsRUFBRSxRQUFRO1NBQ3JCO1FBQ0QsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckIsT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLEtBQUs7WUFDZCxRQUFRLEVBQUUsS0FBSztZQUNmLFFBQVEsRUFBRSxLQUFLO1NBQ2xCO1FBQ0QsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkIsT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLFFBQVE7WUFDakIsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRLEVBQUUsUUFBUTtTQUNyQjtLQUNKO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBSZHhUb29sdGlwQWxpZ24sIFJkeFRvb2x0aXBTaWRlIH0gZnJvbSAnLi90b29sdGlwLnR5cGVzJztcblxudHlwZSBUb29sdGlwUG9zaXRpb25zID0ge1xuICAgIFtrZXkgaW4gUmR4VG9vbHRpcFNpZGVdOiB7XG4gICAgICAgIFtrZXkgaW4gUmR4VG9vbHRpcEFsaWduXTogQ29ubmVjdGlvblBvc2l0aW9uUGFpcjtcbiAgICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IFRPT0xUSVBfUE9TSVRJT05TOiBUb29sdGlwUG9zaXRpb25zID0ge1xuICAgIFtSZHhUb29sdGlwU2lkZS5Ub3BdOiB7XG4gICAgICAgIFtSZHhUb29sdGlwQWxpZ24uQ2VudGVyXToge1xuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgICAgICB9LFxuICAgICAgICBbUmR4VG9vbHRpcEFsaWduLlN0YXJ0XToge1xuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICAgICAgfSxcbiAgICAgICAgW1JkeFRvb2x0aXBBbGlnbi5FbmRdOiB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nXG4gICAgICAgIH1cbiAgICB9LFxuICAgIFtSZHhUb29sdGlwU2lkZS5SaWdodF06IHtcbiAgICAgICAgW1JkeFRvb2x0aXBBbGlnbi5DZW50ZXJdOiB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ2NlbnRlcidcbiAgICAgICAgfSxcbiAgICAgICAgW1JkeFRvb2x0aXBBbGlnbi5TdGFydF06IHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgICAgICB9LFxuICAgICAgICBbUmR4VG9vbHRpcEFsaWduLkVuZF06IHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgICAgICB9XG4gICAgfSxcbiAgICBbUmR4VG9vbHRpcFNpZGUuQm90dG9tXToge1xuICAgICAgICBbUmR4VG9vbHRpcEFsaWduLkNlbnRlcl06IHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCdcbiAgICAgICAgfSxcbiAgICAgICAgW1JkeFRvb2x0aXBBbGlnbi5TdGFydF06IHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgICAgIH0sXG4gICAgICAgIFtSZHhUb29sdGlwQWxpZ24uRW5kXToge1xuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgICAgICB9XG4gICAgfSxcbiAgICBbUmR4VG9vbHRpcFNpZGUuTGVmdF06IHtcbiAgICAgICAgW1JkeFRvb2x0aXBBbGlnbi5DZW50ZXJdOiB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXG4gICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ2NlbnRlcidcbiAgICAgICAgfSxcbiAgICAgICAgW1JkeFRvb2x0aXBBbGlnbi5TdGFydF06IHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgICAgICB9LFxuICAgICAgICBbUmR4VG9vbHRpcEFsaWduLkVuZF06IHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgICAgICB9XG4gICAgfVxufTtcbiJdfQ==
@@ -0,0 +1,14 @@
1
+ export var RdxTooltipSide;
2
+ (function (RdxTooltipSide) {
3
+ RdxTooltipSide["Top"] = "top";
4
+ RdxTooltipSide["Right"] = "right";
5
+ RdxTooltipSide["Bottom"] = "bottom";
6
+ RdxTooltipSide["Left"] = "left";
7
+ })(RdxTooltipSide || (RdxTooltipSide = {}));
8
+ export var RdxTooltipAlign;
9
+ (function (RdxTooltipAlign) {
10
+ RdxTooltipAlign["Start"] = "start";
11
+ RdxTooltipAlign["Center"] = "center";
12
+ RdxTooltipAlign["End"] = "end";
13
+ })(RdxTooltipAlign || (RdxTooltipAlign = {}));
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdG9vbHRpcC9zcmMvdG9vbHRpcC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxjQUtYO0FBTEQsV0FBWSxjQUFjO0lBQ3RCLDZCQUFXLENBQUE7SUFDWCxpQ0FBZSxDQUFBO0lBQ2YsbUNBQWlCLENBQUE7SUFDakIsK0JBQWEsQ0FBQTtBQUNqQixDQUFDLEVBTFcsY0FBYyxLQUFkLGNBQWMsUUFLekI7QUFFRCxNQUFNLENBQU4sSUFBWSxlQUlYO0FBSkQsV0FBWSxlQUFlO0lBQ3ZCLGtDQUFlLENBQUE7SUFDZixvQ0FBaUIsQ0FBQTtJQUNqQiw4QkFBVyxDQUFBO0FBQ2YsQ0FBQyxFQUpXLGVBQWUsS0FBZixlQUFlLFFBSTFCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gUmR4VG9vbHRpcFNpZGUge1xuICAgIFRvcCA9ICd0b3AnLFxuICAgIFJpZ2h0ID0gJ3JpZ2h0JyxcbiAgICBCb3R0b20gPSAnYm90dG9tJyxcbiAgICBMZWZ0ID0gJ2xlZnQnXG59XG5cbmV4cG9ydCBlbnVtIFJkeFRvb2x0aXBBbGlnbiB7XG4gICAgU3RhcnQgPSAnc3RhcnQnLFxuICAgIENlbnRlciA9ICdjZW50ZXInLFxuICAgIEVuZCA9ICdlbmQnXG59XG5cbmV4cG9ydCB0eXBlIFJkeFRvb2x0aXBDb25maWcgPSB7XG4gICAgZGVsYXlEdXJhdGlvbjogbnVtYmVyO1xuICAgIHNraXBEZWxheUR1cmF0aW9uOiBudW1iZXI7XG4gICAgZGlzYWJsZUhvdmVyYWJsZUNvbnRlbnQ/OiBib29sZWFuO1xuICAgIGhpZGVEZWxheUR1cmF0aW9uPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgUmR4VG9vbHRpcFN0YXRlID0gJ2RlbGF5ZWQtb3BlbicgfCAnaW5zdGFudC1vcGVuJyB8ICdjbG9zZWQnO1xuIl19
@@ -52,10 +52,10 @@ export class RdxVisuallyHiddenInputBubbleDirective {
52
52
  this.inputElement.dispatchEvent(inputEvent);
53
53
  this.inputElement.dispatchEvent(changeEvent);
54
54
  }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxVisuallyHiddenInputBubbleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
56
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.10", type: RdxVisuallyHiddenInputBubbleDirective, isStandalone: true, selector: "[rdxVisuallyHiddenInputBubble]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, feature: { classPropertyName: "feature", publicName: "feature", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "change": "onChange()" }, properties: { "attr.name": "name()", "attr.required": "required()", "attr.disabled": "disabled()", "attr.checked": "checked()", "value": "value()" } }, hostDirectives: [{ directive: i1.RdxVisuallyHiddenDirective, inputs: ["feature", "feature"] }], ngImport: i0 }); }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxVisuallyHiddenInputBubbleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
56
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxVisuallyHiddenInputBubbleDirective, isStandalone: true, selector: "[rdxVisuallyHiddenInputBubble]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, feature: { classPropertyName: "feature", publicName: "feature", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "change": "onChange()" }, properties: { "attr.name": "name()", "attr.required": "required()", "attr.disabled": "disabled()", "attr.checked": "checked()", "value": "value()" } }, hostDirectives: [{ directive: i1.RdxVisuallyHiddenDirective, inputs: ["feature", "feature"] }], ngImport: i0 }); }
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxVisuallyHiddenInputBubbleDirective, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxVisuallyHiddenInputBubbleDirective, decorators: [{
59
59
  type: Directive,
60
60
  args: [{
61
61
  selector: '[rdxVisuallyHiddenInputBubble]',
@@ -48,10 +48,10 @@ export class RdxVisuallyHiddenInputDirective {
48
48
  inputElement.setAttribute('value', parsed.value);
49
49
  });
50
50
  }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxVisuallyHiddenInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
52
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.10", type: RdxVisuallyHiddenInputDirective, isStandalone: true, selector: "[rdxVisuallyHiddenInput]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, feature: { classPropertyName: "feature", publicName: "feature", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.RdxVisuallyHiddenInputBubbleDirective, inputs: ["feature", "feature", "name", "name", "value", "value", "checked", "checked", "disabled", "disabled", "required", "required"] }], ngImport: i0 }); }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxVisuallyHiddenInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
52
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxVisuallyHiddenInputDirective, isStandalone: true, selector: "[rdxVisuallyHiddenInput]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, feature: { classPropertyName: "feature", publicName: "feature", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.RdxVisuallyHiddenInputBubbleDirective, inputs: ["feature", "feature", "name", "name", "value", "value", "checked", "checked", "disabled", "disabled", "required", "required"] }], ngImport: i0 }); }
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxVisuallyHiddenInputDirective, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxVisuallyHiddenInputDirective, decorators: [{
55
55
  type: Directive,
56
56
  args: [{
57
57
  selector: '[rdxVisuallyHiddenInput]',
@@ -13,10 +13,10 @@ export class RdxVisuallyHiddenDirective {
13
13
  constructor() {
14
14
  this.feature = input('focusable');
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxVisuallyHiddenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
17
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.10", type: RdxVisuallyHiddenDirective, isStandalone: true, selector: "[rdxVisuallyHidden]", inputs: { feature: { classPropertyName: "feature", publicName: "feature", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-hidden": "feature() === \"focusable\" ? \"true\" : null", "hidden": "feature() === \"fully-hidden\" ? true : null", "attr.tabindex": "feature() === \"fully-hidden\" ? \"-1\" : null", "style.position": "\"absolute\"", "style.border": "\"0\"", "style.width": "\"1px\"", "style.display": "feature() === \"focusable\" ? \"inline-block\" : \"none\"", "style.height": "\"1px\"", "style.padding": "\"0\"", "style.margin": "\"-1px\"", "style.overflow": "\"hidden\"", "style.clip": "\"rect(0, 0, 0, 0)\"", "style.white-space": "\"nowrap\"", "style.word-wrap": "\"normal\"" } }, ngImport: i0 }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxVisuallyHiddenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
17
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxVisuallyHiddenDirective, isStandalone: true, selector: "[rdxVisuallyHidden]", inputs: { feature: { classPropertyName: "feature", publicName: "feature", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-hidden": "feature() === \"focusable\" ? \"true\" : null", "hidden": "feature() === \"fully-hidden\" ? true : null", "attr.tabindex": "feature() === \"fully-hidden\" ? \"-1\" : null", "style.position": "\"absolute\"", "style.border": "\"0\"", "style.width": "\"1px\"", "style.display": "feature() === \"focusable\" ? \"inline-block\" : \"none\"", "style.height": "\"1px\"", "style.padding": "\"0\"", "style.margin": "\"-1px\"", "style.overflow": "\"hidden\"", "style.clip": "\"rect(0, 0, 0, 0)\"", "style.white-space": "\"nowrap\"", "style.word-wrap": "\"normal\"" } }, ngImport: i0 }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxVisuallyHiddenDirective, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxVisuallyHiddenDirective, decorators: [{
20
20
  type: Directive,
21
21
  args: [{
22
22
  selector: '[rdxVisuallyHidden]',