@radix-ng/primitives 0.42.0 → 0.44.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 (453) hide show
  1. package/accordion/index.d.ts +160 -15
  2. package/alert-dialog/index.d.ts +54 -14
  3. package/arrow/README.md +1 -0
  4. package/arrow/index.d.ts +11 -0
  5. package/aspect-ratio/index.d.ts +35 -1
  6. package/avatar/index.d.ts +81 -11
  7. package/calendar/index.d.ts +310 -29
  8. package/checkbox/index.d.ts +163 -15
  9. package/collapsible/index.d.ts +82 -11
  10. package/config/index.d.ts +35 -2
  11. package/context-menu/index.d.ts +126 -23
  12. package/core/index.d.ts +898 -27
  13. package/cropper/index.d.ts +134 -14
  14. package/date-field/index.d.ts +209 -10
  15. package/dialog/index.d.ts +202 -20
  16. package/dismissable-layer/README.md +1 -0
  17. package/dismissable-layer/index.d.ts +126 -0
  18. package/dropdown-menu/index.d.ts +168 -23
  19. package/editable/index.d.ts +70 -1
  20. package/fesm2022/radix-ng-primitives-accordion.mjs +36 -36
  21. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  22. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +28 -28
  23. package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
  24. package/fesm2022/radix-ng-primitives-arrow.mjs +38 -0
  25. package/fesm2022/radix-ng-primitives-arrow.mjs.map +1 -0
  26. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +5 -5
  27. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
  28. package/fesm2022/radix-ng-primitives-avatar.mjs +20 -20
  29. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  30. package/fesm2022/radix-ng-primitives-calendar.mjs +110 -95
  31. package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
  32. package/fesm2022/radix-ng-primitives-checkbox.mjs +219 -209
  33. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  34. package/fesm2022/radix-ng-primitives-collapsible.mjs +27 -27
  35. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  36. package/fesm2022/radix-ng-primitives-config.mjs +5 -5
  37. package/fesm2022/radix-ng-primitives-config.mjs.map +1 -1
  38. package/fesm2022/radix-ng-primitives-context-menu.mjs +34 -34
  39. package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
  40. package/fesm2022/radix-ng-primitives-core.mjs +72 -24
  41. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  42. package/fesm2022/radix-ng-primitives-cropper.mjs +51 -51
  43. package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
  44. package/fesm2022/radix-ng-primitives-date-field.mjs +48 -48
  45. package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
  46. package/fesm2022/radix-ng-primitives-dialog.mjs +33 -33
  47. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
  48. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs +418 -0
  49. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs.map +1 -0
  50. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +37 -37
  51. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +1 -1
  52. package/fesm2022/radix-ng-primitives-editable.mjs +21 -21
  53. package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
  54. package/fesm2022/radix-ng-primitives-focus-guards.mjs +53 -0
  55. package/fesm2022/radix-ng-primitives-focus-guards.mjs.map +1 -0
  56. package/fesm2022/radix-ng-primitives-focus-scope.mjs +17 -9
  57. package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
  58. package/fesm2022/radix-ng-primitives-hover-card.mjs +74 -74
  59. package/fesm2022/radix-ng-primitives-hover-card.mjs.map +1 -1
  60. package/fesm2022/radix-ng-primitives-label.mjs +8 -8
  61. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  62. package/fesm2022/radix-ng-primitives-menu.mjs +65 -65
  63. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
  64. package/fesm2022/radix-ng-primitives-menubar.mjs +31 -31
  65. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  66. package/fesm2022/radix-ng-primitives-navigation-menu.mjs +91 -88
  67. package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
  68. package/fesm2022/radix-ng-primitives-number-field.mjs +56 -43
  69. package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
  70. package/fesm2022/radix-ng-primitives-pagination.mjs +45 -45
  71. package/fesm2022/radix-ng-primitives-pagination.mjs.map +1 -1
  72. package/fesm2022/radix-ng-primitives-popover.mjs +68 -68
  73. package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
  74. package/fesm2022/radix-ng-primitives-popper.mjs +418 -0
  75. package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -0
  76. package/fesm2022/radix-ng-primitives-portal.mjs +51 -0
  77. package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -0
  78. package/fesm2022/radix-ng-primitives-presence.mjs +4 -4
  79. package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -1
  80. package/fesm2022/radix-ng-primitives-progress.mjs +15 -15
  81. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  82. package/fesm2022/radix-ng-primitives-radio.mjs +30 -30
  83. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  84. package/fesm2022/radix-ng-primitives-roving-focus.mjs +179 -163
  85. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
  86. package/fesm2022/radix-ng-primitives-select.mjs +37 -37
  87. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  88. package/fesm2022/radix-ng-primitives-separator.mjs +16 -14
  89. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  90. package/fesm2022/radix-ng-primitives-slider.mjs +75 -75
  91. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  92. package/fesm2022/radix-ng-primitives-stepper.mjs +45 -45
  93. package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
  94. package/fesm2022/radix-ng-primitives-switch.mjs +28 -28
  95. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  96. package/fesm2022/radix-ng-primitives-tabs.mjs +33 -33
  97. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  98. package/fesm2022/radix-ng-primitives-time-field.mjs +78 -66
  99. package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
  100. package/fesm2022/radix-ng-primitives-toggle-group.mjs +22 -22
  101. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  102. package/fesm2022/radix-ng-primitives-toggle.mjs +9 -9
  103. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  104. package/fesm2022/radix-ng-primitives-toolbar.mjs +28 -28
  105. package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
  106. package/fesm2022/radix-ng-primitives-tooltip.mjs +74 -74
  107. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
  108. package/fesm2022/radix-ng-primitives-tooltip2.mjs +740 -0
  109. package/fesm2022/radix-ng-primitives-tooltip2.mjs.map +1 -0
  110. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +93 -98
  111. package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
  112. package/fesm2022/radix-ng-primitives.mjs.map +1 -1
  113. package/focus-guards/README.md +1 -0
  114. package/focus-guards/index.d.ts +15 -0
  115. package/focus-scope/index.d.ts +65 -1
  116. package/hover-card/index.d.ts +471 -19
  117. package/index.d.ts +2 -1
  118. package/label/index.d.ts +27 -1
  119. package/menu/index.d.ts +136 -26
  120. package/menubar/index.d.ts +53 -21
  121. package/navigation-menu/index.d.ts +402 -25
  122. package/number-field/index.d.ts +202 -16
  123. package/package.json +26 -5
  124. package/pagination/index.d.ts +96 -20
  125. package/popover/index.d.ts +402 -19
  126. package/popper/README.md +3 -0
  127. package/popper/index.d.ts +206 -0
  128. package/portal/README.md +1 -0
  129. package/portal/index.d.ts +22 -0
  130. package/presence/index.d.ts +103 -5
  131. package/progress/index.d.ts +76 -8
  132. package/radio/index.d.ts +118 -4
  133. package/roving-focus/index.d.ts +174 -3
  134. package/select/index.d.ts +211 -23
  135. package/separator/index.d.ts +63 -1
  136. package/slider/index.d.ts +262 -17
  137. package/stepper/index.d.ts +122 -21
  138. package/switch/index.d.ts +102 -9
  139. package/tabs/index.d.ts +111 -13
  140. package/time-field/index.d.ts +211 -10
  141. package/toggle/index.d.ts +75 -3
  142. package/toggle-group/index.d.ts +194 -5
  143. package/toolbar/index.d.ts +52 -16
  144. package/tooltip/index.d.ts +432 -19
  145. package/tooltip2/README.md +3 -0
  146. package/tooltip2/index.d.ts +325 -0
  147. package/visually-hidden/index.d.ts +65 -3
  148. package/accordion/src/accordion-content-presence.directive.d.ts +0 -6
  149. package/accordion/src/accordion-content.directive.d.ts +0 -8
  150. package/accordion/src/accordion-header.directive.d.ts +0 -7
  151. package/accordion/src/accordion-item.directive.d.ts +0 -43
  152. package/accordion/src/accordion-root.directive.d.ts +0 -83
  153. package/accordion/src/accordion-trigger.directive.d.ts +0 -10
  154. package/alert-dialog/src/alert-dialog-cancel.directive.d.ts +0 -7
  155. package/alert-dialog/src/alert-dialog-content.directive.d.ts +0 -9
  156. package/alert-dialog/src/alert-dialog-root.directive.d.ts +0 -9
  157. package/alert-dialog/src/alert-dialog-title.directive.d.ts +0 -5
  158. package/alert-dialog/src/alert-dialog-trigger.directive.d.ts +0 -7
  159. package/alert-dialog/src/alert-dialog.service.d.ts +0 -14
  160. package/aspect-ratio/src/aspect-ratio.directive.d.ts +0 -32
  161. package/avatar/src/avatar-context.token.d.ts +0 -7
  162. package/avatar/src/avatar-fallback.directive.d.ts +0 -20
  163. package/avatar/src/avatar-image.directive.d.ts +0 -29
  164. package/avatar/src/avatar-root.directive.d.ts +0 -8
  165. package/avatar/src/avatar.config.d.ts +0 -13
  166. package/avatar/src/types.d.ts +0 -2
  167. package/calendar/src/calendar-cell-trigger.directive.d.ts +0 -54
  168. package/calendar/src/calendar-cell.directive.d.ts +0 -11
  169. package/calendar/src/calendar-grid-body.directive.d.ts +0 -5
  170. package/calendar/src/calendar-grid-head.directive.d.ts +0 -5
  171. package/calendar/src/calendar-grid-row.directive.d.ts +0 -5
  172. package/calendar/src/calendar-grid.directive.d.ts +0 -8
  173. package/calendar/src/calendar-head-cell.directive.d.ts +0 -5
  174. package/calendar/src/calendar-header.directive.d.ts +0 -5
  175. package/calendar/src/calendar-heading.directive.d.ts +0 -7
  176. package/calendar/src/calendar-next.directive.d.ts +0 -16
  177. package/calendar/src/calendar-prev.directive.d.ts +0 -16
  178. package/calendar/src/calendar-root.directive.d.ts +0 -148
  179. package/calendar/src/calendar.d.ts +0 -44
  180. package/calendar/src//321/201alendar-/321/201ontext.token.d.ts +0 -24
  181. package/checkbox/src/checkbox-button.directive.d.ts +0 -8
  182. package/checkbox/src/checkbox-indicator.directive.d.ts +0 -6
  183. package/checkbox/src/checkbox-input.directive.d.ts +0 -10
  184. package/checkbox/src/checkbox.directive.d.ts +0 -86
  185. package/checkbox/src/checkbox.token.d.ts +0 -4
  186. package/collapsible/src/collapsible-content-presence.directive.d.ts +0 -6
  187. package/collapsible/src/collapsible-content.directive.d.ts +0 -18
  188. package/collapsible/src/collapsible-root.directive.d.ts +0 -44
  189. package/collapsible/src/collapsible-trigger.directive.d.ts +0 -6
  190. package/config/src/config.d.ts +0 -21
  191. package/config/src/config.provider.d.ts +0 -10
  192. package/context-menu/src/context-menu-content.directive.d.ts +0 -15
  193. package/context-menu/src/context-menu-item-checkbox.directive.d.ts +0 -9
  194. package/context-menu/src/context-menu-item-indicator.directive.d.ts +0 -7
  195. package/context-menu/src/context-menu-item-radio-group.directive.d.ts +0 -12
  196. package/context-menu/src/context-menu-item-radio.directive.d.ts +0 -19
  197. package/context-menu/src/context-menu-item-selectable.d.ts +0 -12
  198. package/context-menu/src/context-menu-item.directive.d.ts +0 -17
  199. package/context-menu/src/context-menu-label.directive.d.ts +0 -5
  200. package/context-menu/src/context-menu-separator.directive.d.ts +0 -6
  201. package/context-menu/src/context-menu-trigger.directive.d.ts +0 -31
  202. package/core/src/accessor/control-value-accessor.d.ts +0 -67
  203. package/core/src/accessor/provide-value-accessor.d.ts +0 -12
  204. package/core/src/auto-focus.directive.d.ts +0 -14
  205. package/core/src/chunk.d.ts +0 -12
  206. package/core/src/clamp.d.ts +0 -38
  207. package/core/src/create-context.d.ts +0 -10
  208. package/core/src/date-time/calendar.d.ts +0 -33
  209. package/core/src/date-time/comparators.d.ts +0 -98
  210. package/core/src/date-time/formatter.d.ts +0 -30
  211. package/core/src/date-time/index.d.ts +0 -9
  212. package/core/src/date-time/parser.d.ts +0 -37
  213. package/core/src/date-time/parts.d.ts +0 -12
  214. package/core/src/date-time/placeholders.d.ts +0 -8
  215. package/core/src/date-time/segment.d.ts +0 -4
  216. package/core/src/date-time/types.d.ts +0 -58
  217. package/core/src/date-time/useDateField.d.ts +0 -142
  218. package/core/src/date-time/utils.d.ts +0 -7
  219. package/core/src/document.d.ts +0 -1
  220. package/core/src/focus-initial.directive.d.ts +0 -9
  221. package/core/src/getActiveElement.d.ts +0 -1
  222. package/core/src/id-generator.d.ts +0 -12
  223. package/core/src/inject-ng-control.d.ts +0 -8
  224. package/core/src/is-client.d.ts +0 -1
  225. package/core/src/is-equal.d.ts +0 -7
  226. package/core/src/is-inside-form.d.ts +0 -2
  227. package/core/src/is-nullish.d.ts +0 -1
  228. package/core/src/is-number.d.ts +0 -1
  229. package/core/src/isValueEqualOrExist.d.ts +0 -10
  230. package/core/src/kbd-constants.d.ts +0 -41
  231. package/core/src/positioning/constants.d.ts +0 -3
  232. package/core/src/positioning/types.d.ts +0 -42
  233. package/core/src/positioning/utils.d.ts +0 -12
  234. package/core/src/provide-token.d.ts +0 -22
  235. package/core/src/serialize.d.ts +0 -11
  236. package/core/src/types.d.ts +0 -25
  237. package/core/src/useArrowNavigation.d.ts +0 -65
  238. package/core/src/useResizeObserver.d.ts +0 -15
  239. package/core/src/watch.d.ts +0 -41
  240. package/core/src/window.d.ts +0 -3
  241. package/cropper/src/cropper-context.token.d.ts +0 -12
  242. package/cropper/src/cropper-crop-area.directive.d.ts +0 -6
  243. package/cropper/src/cropper-description.directive.d.ts +0 -6
  244. package/cropper/src/cropper-image.component.d.ts +0 -10
  245. package/cropper/src/cropper-root.directive.d.ts +0 -91
  246. package/date-field/src/date-field-context.token.d.ts +0 -19
  247. package/date-field/src/date-field-input.directive.d.ts +0 -53
  248. package/date-field/src/date-field-root.directive.d.ts +0 -131
  249. package/dialog/src/dialog-close.directive.d.ts +0 -7
  250. package/dialog/src/dialog-content.directive.d.ts +0 -21
  251. package/dialog/src/dialog-description.directive.d.ts +0 -5
  252. package/dialog/src/dialog-dismiss.directive.d.ts +0 -7
  253. package/dialog/src/dialog-ref.d.ts +0 -40
  254. package/dialog/src/dialog-title.directive.d.ts +0 -5
  255. package/dialog/src/dialog-trigger.directive.d.ts +0 -28
  256. package/dialog/src/dialog.config.d.ts +0 -41
  257. package/dialog/src/dialog.injectors.d.ts +0 -4
  258. package/dialog/src/dialog.providers.d.ts +0 -19
  259. package/dialog/src/dialog.service.d.ts +0 -26
  260. package/dismissible-layer/README.md +0 -1
  261. package/dismissible-layer/index.d.ts +0 -1
  262. package/dismissible-layer/src/utils.d.ts +0 -38
  263. package/dropdown-menu/src/dropdown-menu-content.directive.d.ts +0 -15
  264. package/dropdown-menu/src/dropdown-menu-item-checkbox.directive.d.ts +0 -9
  265. package/dropdown-menu/src/dropdown-menu-item-indicator.directive.d.ts +0 -7
  266. package/dropdown-menu/src/dropdown-menu-item-radio-group.directive.d.ts +0 -12
  267. package/dropdown-menu/src/dropdown-menu-item-radio.directive.d.ts +0 -19
  268. package/dropdown-menu/src/dropdown-menu-item-selectable.d.ts +0 -12
  269. package/dropdown-menu/src/dropdown-menu-item.directive.d.ts +0 -17
  270. package/dropdown-menu/src/dropdown-menu-label.directive.d.ts +0 -6
  271. package/dropdown-menu/src/dropdown-menu-separator.directive.d.ts +0 -6
  272. package/dropdown-menu/src/dropdown-menu-trigger.directive.d.ts +0 -73
  273. package/editable/src/editable-root.d.ts +0 -67
  274. package/fesm2022/radix-ng-primitives-dismissible-layer.mjs +0 -211
  275. package/fesm2022/radix-ng-primitives-dismissible-layer.mjs.map +0 -1
  276. package/focus-scope/src/focus-scope.d.ts +0 -53
  277. package/focus-scope/src/stack.d.ts +0 -13
  278. package/focus-scope/src/utils.d.ts +0 -46
  279. package/hover-card/src/hover-card-anchor.directive.d.ts +0 -28
  280. package/hover-card/src/hover-card-anchor.token.d.ts +0 -3
  281. package/hover-card/src/hover-card-arrow.directive.d.ts +0 -45
  282. package/hover-card/src/hover-card-arrow.token.d.ts +0 -3
  283. package/hover-card/src/hover-card-close.directive.d.ts +0 -18
  284. package/hover-card/src/hover-card-close.token.d.ts +0 -3
  285. package/hover-card/src/hover-card-content-attributes.component.d.ts +0 -25
  286. package/hover-card/src/hover-card-content-attributes.token.d.ts +0 -3
  287. package/hover-card/src/hover-card-content.directive.d.ts +0 -124
  288. package/hover-card/src/hover-card-root.directive.d.ts +0 -182
  289. package/hover-card/src/hover-card-root.inject.d.ts +0 -3
  290. package/hover-card/src/hover-card-trigger.directive.d.ts +0 -26
  291. package/hover-card/src/hover-card.types.d.ts +0 -18
  292. package/hover-card/src/utils/cdk-event.service.d.ts +0 -30
  293. package/hover-card/src/utils/constants.d.ts +0 -1
  294. package/hover-card/src/utils/types.d.ts +0 -7
  295. package/label/src/label.directive.d.ts +0 -24
  296. package/menu/src/menu-content.directive.d.ts +0 -6
  297. package/menu/src/menu-directive.d.ts +0 -6
  298. package/menu/src/menu-group.directive.d.ts +0 -6
  299. package/menu/src/menu-item-checkbox.directive.d.ts +0 -21
  300. package/menu/src/menu-item-indicator.directive.d.ts +0 -10
  301. package/menu/src/menu-item-radio.directive.d.ts +0 -20
  302. package/menu/src/menu-item.directive.d.ts +0 -18
  303. package/menu/src/menu-label.directive.d.ts +0 -5
  304. package/menu/src/menu-radio-group.directive.d.ts +0 -6
  305. package/menu/src/menu-separator.directive.d.ts +0 -5
  306. package/menu/src/menu-trigger.directive.d.ts +0 -35
  307. package/menu/src/utils.d.ts +0 -3
  308. package/menubar/src/menubar-content.directive.d.ts +0 -6
  309. package/menubar/src/menubar-item-checkbox.directive.d.ts +0 -6
  310. package/menubar/src/menubar-item-indicator.directive.d.ts +0 -6
  311. package/menubar/src/menubar-item-radio.directive.d.ts +0 -6
  312. package/menubar/src/menubar-item.directive.d.ts +0 -6
  313. package/menubar/src/menubar-radio-group.directive.d.ts +0 -6
  314. package/menubar/src/menubar-root.directive.d.ts +0 -6
  315. package/menubar/src/menubar-separator.directive.d.ts +0 -6
  316. package/menubar/src/menubar-trigger.directive.d.ts +0 -6
  317. package/navigation-menu/src/navigation-menu-a11y.component.d.ts +0 -15
  318. package/navigation-menu/src/navigation-menu-content.directive.d.ts +0 -31
  319. package/navigation-menu/src/navigation-menu-indicator.directive.d.ts +0 -29
  320. package/navigation-menu/src/navigation-menu-item.directive.d.ts +0 -44
  321. package/navigation-menu/src/navigation-menu-link.directive.d.ts +0 -17
  322. package/navigation-menu/src/navigation-menu-list.directive.d.ts +0 -38
  323. package/navigation-menu/src/navigation-menu-sub.directive.d.ts +0 -19
  324. package/navigation-menu/src/navigation-menu-trigger.directive.d.ts +0 -33
  325. package/navigation-menu/src/navigation-menu-viewport.directive.d.ts +0 -61
  326. package/navigation-menu/src/navigation-menu.directive.d.ts +0 -76
  327. package/navigation-menu/src/navigation-menu.token.d.ts +0 -36
  328. package/navigation-menu/src/navigation-menu.types.d.ts +0 -13
  329. package/navigation-menu/src/utils.d.ts +0 -44
  330. package/number-field/src/number-field-context.token.d.ts +0 -24
  331. package/number-field/src/number-field-decrement.directive.d.ts +0 -23
  332. package/number-field/src/number-field-increment.directive.d.ts +0 -23
  333. package/number-field/src/number-field-input.directive.d.ts +0 -22
  334. package/number-field/src/number-field-root.directive.d.ts +0 -86
  335. package/number-field/src/types.d.ts +0 -1
  336. package/number-field/src/utils.d.ts +0 -18
  337. package/pagination/src/pagination-context.token.d.ts +0 -11
  338. package/pagination/src/pagination-ellipsis.directive.d.ts +0 -5
  339. package/pagination/src/pagination-first.directive.d.ts +0 -8
  340. package/pagination/src/pagination-last.directive.d.ts +0 -8
  341. package/pagination/src/pagination-list-item.directive.d.ts +0 -10
  342. package/pagination/src/pagination-list.directive.d.ts +0 -12
  343. package/pagination/src/pagination-next.directive.d.ts +0 -8
  344. package/pagination/src/pagination-prev.directive.d.ts +0 -8
  345. package/pagination/src/pagination-root.directive.d.ts +0 -18
  346. package/pagination/src/utils.d.ts +0 -9
  347. package/popover/src/popover-anchor.directive.d.ts +0 -28
  348. package/popover/src/popover-anchor.token.d.ts +0 -3
  349. package/popover/src/popover-arrow.directive.d.ts +0 -40
  350. package/popover/src/popover-arrow.token.d.ts +0 -3
  351. package/popover/src/popover-close.directive.d.ts +0 -15
  352. package/popover/src/popover-close.token.d.ts +0 -3
  353. package/popover/src/popover-content-attributes.component.d.ts +0 -23
  354. package/popover/src/popover-content-attributes.token.d.ts +0 -3
  355. package/popover/src/popover-content.directive.d.ts +0 -104
  356. package/popover/src/popover-root.directive.d.ts +0 -155
  357. package/popover/src/popover-root.inject.d.ts +0 -3
  358. package/popover/src/popover-trigger.directive.d.ts +0 -18
  359. package/popover/src/popover.types.d.ts +0 -14
  360. package/popover/src/utils/cdk-event.service.d.ts +0 -30
  361. package/popover/src/utils/constants.d.ts +0 -1
  362. package/popover/src/utils/types.d.ts +0 -7
  363. package/presence/src/presence.d.ts +0 -42
  364. package/presence/src/presence.directive.d.ts +0 -27
  365. package/presence/src/transitions/transition.collapse.d.ts +0 -15
  366. package/presence/src/transitions/transition.toast.d.ts +0 -3
  367. package/presence/src/types.d.ts +0 -15
  368. package/presence/src/utils.d.ts +0 -42
  369. package/progress/src/progress-indicator.directive.d.ts +0 -15
  370. package/progress/src/progress-root.directive.d.ts +0 -54
  371. package/radio/src/radio-indicator.directive.d.ts +0 -9
  372. package/radio/src/radio-item-input.directive.d.ts +0 -12
  373. package/radio/src/radio-item.directive.d.ts +0 -30
  374. package/radio/src/radio-root.directive.d.ts +0 -57
  375. package/radio/src/radio-tokens.d.ts +0 -14
  376. package/roving-focus/src/roving-focus-group.directive.d.ts +0 -50
  377. package/roving-focus/src/roving-focus-item.directive.d.ts +0 -50
  378. package/roving-focus/src/utils.d.ts +0 -19
  379. package/select/src/select-content.directive.d.ts +0 -20
  380. package/select/src/select-group.directive.d.ts +0 -5
  381. package/select/src/select-icon.directive.d.ts +0 -5
  382. package/select/src/select-item-indicator.directive.d.ts +0 -7
  383. package/select/src/select-item.directive.d.ts +0 -53
  384. package/select/src/select-label.directive.d.ts +0 -5
  385. package/select/src/select-separator.directive.d.ts +0 -5
  386. package/select/src/select-trigger.directive.d.ts +0 -17
  387. package/select/src/select-value.directive.d.ts +0 -8
  388. package/select/src/select.component.d.ts +0 -98
  389. package/separator/src/separator.directive.d.ts +0 -60
  390. package/slider/src/slider-horizontal.component.d.ts +0 -28
  391. package/slider/src/slider-impl.directive.d.ts +0 -17
  392. package/slider/src/slider-orientation-context.service.d.ts +0 -14
  393. package/slider/src/slider-range.component.d.ts +0 -13
  394. package/slider/src/slider-root.component.d.ts +0 -123
  395. package/slider/src/slider-thumb-impl.directive.d.ts +0 -27
  396. package/slider/src/slider-thumb.component.d.ts +0 -6
  397. package/slider/src/slider-track.component.d.ts +0 -7
  398. package/slider/src/slider-vertical.component.d.ts +0 -28
  399. package/slider/src/utils.d.ts +0 -52
  400. package/stepper/src/stepper-description.directive.d.ts +0 -6
  401. package/stepper/src/stepper-indicator.directive.d.ts +0 -6
  402. package/stepper/src/stepper-item-context.token.d.ts +0 -13
  403. package/stepper/src/stepper-item.directive.d.ts +0 -21
  404. package/stepper/src/stepper-root-context.token.d.ts +0 -12
  405. package/stepper/src/stepper-root.directive.d.ts +0 -33
  406. package/stepper/src/stepper-separator.directive.d.ts +0 -10
  407. package/stepper/src/stepper-title.directive.d.ts +0 -6
  408. package/stepper/src/stepper-trigger.directive.d.ts +0 -14
  409. package/stepper/src/types.d.ts +0 -1
  410. package/switch/src/switch-input.directive.d.ts +0 -11
  411. package/switch/src/switch-root.directive.d.ts +0 -74
  412. package/switch/src/switch-thumb.directive.d.ts +0 -9
  413. package/tabs/src/tabs-content.directive.d.ts +0 -13
  414. package/tabs/src/tabs-list.directive.d.ts +0 -10
  415. package/tabs/src/tabs-root.directive.d.ts +0 -53
  416. package/tabs/src/tabs-trigger.directive.d.ts +0 -29
  417. package/tabs/src/utils.d.ts +0 -2
  418. package/time-field/src/time-field-context.token.d.ts +0 -20
  419. package/time-field/src/time-field-input.directive.d.ts +0 -53
  420. package/time-field/src/time-field-root.directive.d.ts +0 -130
  421. package/toggle/src/toggle-visually-hidden-input.directive.d.ts +0 -6
  422. package/toggle/src/toggle.directive.d.ts +0 -65
  423. package/toggle-group/src/toggle-group-item.directive.d.ts +0 -37
  424. package/toggle-group/src/toggle-group-item.token.d.ts +0 -4
  425. package/toggle-group/src/toggle-group-without-focus.directive.d.ts +0 -69
  426. package/toggle-group/src/toggle-group.directive.d.ts +0 -74
  427. package/toggle-group/src/toggle-group.token.d.ts +0 -10
  428. package/toolbar/src/toolbar-button.directive.d.ts +0 -11
  429. package/toolbar/src/toolbar-link.directive.d.ts +0 -7
  430. package/toolbar/src/toolbar-root.directive.d.ts +0 -8
  431. package/toolbar/src/toolbar-root.token.d.ts +0 -5
  432. package/toolbar/src/toolbar-separator.directive.d.ts +0 -6
  433. package/toolbar/src/toolbar-toggle-group.directive.d.ts +0 -6
  434. package/toolbar/src/toolbar-toggle-item.directive.d.ts +0 -6
  435. package/tooltip/src/tooltip-anchor.directive.d.ts +0 -28
  436. package/tooltip/src/tooltip-anchor.token.d.ts +0 -3
  437. package/tooltip/src/tooltip-arrow.directive.d.ts +0 -40
  438. package/tooltip/src/tooltip-arrow.token.d.ts +0 -3
  439. package/tooltip/src/tooltip-close.directive.d.ts +0 -18
  440. package/tooltip/src/tooltip-close.token.d.ts +0 -3
  441. package/tooltip/src/tooltip-content-attributes.component.d.ts +0 -25
  442. package/tooltip/src/tooltip-content-attributes.token.d.ts +0 -3
  443. package/tooltip/src/tooltip-content.directive.d.ts +0 -104
  444. package/tooltip/src/tooltip-root.directive.d.ts +0 -168
  445. package/tooltip/src/tooltip-root.inject.d.ts +0 -3
  446. package/tooltip/src/tooltip-trigger.directive.d.ts +0 -26
  447. package/tooltip/src/tooltip.types.d.ts +0 -18
  448. package/tooltip/src/utils/cdk-event.service.d.ts +0 -30
  449. package/tooltip/src/utils/constants.d.ts +0 -1
  450. package/tooltip/src/utils/types.d.ts +0 -7
  451. package/visually-hidden/src/visually-hidden-input-bubble.directive.d.ts +0 -23
  452. package/visually-hidden/src/visually-hidden-input.directive.d.ts +0 -19
  453. package/visually-hidden/src/visually-hidden.directive.d.ts +0 -17
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radix-ng-primitives-tooltip2.mjs","sources":["../tmp-esm2022/tooltip2/src/tooltip-trigger.js","../tmp-esm2022/tooltip2/src/tooltip.config.js","../tmp-esm2022/tooltip2/src/utils.js","../tmp-esm2022/tooltip2/src/tooltip.js","../tmp-esm2022/tooltip2/src/tooltip-arrow.js","../tmp-esm2022/tooltip2/src/tooltip-content.js","../tmp-esm2022/tooltip2/src/useGraceArea.js","../tmp-esm2022/tooltip2/src/tooltip-content-wrapper.js","../tmp-esm2022/tooltip2/src/tooltip-portal.js","../tmp-esm2022/tooltip2/src/tooltip-portal-presence.js","../tmp-esm2022/tooltip2/index.js","../tmp-esm2022/tooltip2/radix-ng-primitives-tooltip2.js"],"sourcesContent":["import { Directive, ElementRef, inject, input, signal } from '@angular/core';\nimport { RdxPopperAnchor } from '@radix-ng/primitives/popper';\nimport { injectRdxTooltipContext } from './tooltip';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@radix-ng/primitives/popper\";\nexport class RdxTooltipTrigger {\n constructor() {\n this.rootContext = injectRdxTooltipContext();\n this.elementRef = inject(ElementRef);\n this.userOnPointerDown = input(undefined, ...(ngDevMode ? [{ debugName: \"userOnPointerDown\", alias: 'rdxOnPointerDown' }] : [{\n alias: 'rdxOnPointerDown'\n }]));\n this.isPointerDown = signal(false, ...(ngDevMode ? [{ debugName: \"isPointerDown\" }] : []));\n this.hasPointerMoveOpened = signal(false, ...(ngDevMode ? [{ debugName: \"hasPointerMoveOpened\" }] : []));\n }\n handleFocus(event) {\n if (this.rootContext.isControlledState())\n return;\n if (this.isPointerDown())\n return;\n if (this.rootContext.ignoreNonKeyboardFocus() && !event.target.matches?.(':focus-visible')) {\n return;\n }\n this.rootContext.open();\n }\n handleBlur() {\n if (this.rootContext.isControlledState())\n return;\n this.rootContext.close();\n }\n handleClick() {\n if (this.rootContext.isControlledState())\n return;\n if (!this.rootContext.disableClosingTrigger()) {\n this.rootContext.close();\n }\n }\n handlePointerMove(event) {\n if (event.pointerType === 'touch')\n return;\n if (this.rootContext.isControlledState())\n return;\n if (!this.hasPointerMoveOpened() && !this.rootContext.isPointerInTransit()) {\n this.rootContext.onTriggerEnter();\n this.hasPointerMoveOpened.set(true);\n }\n }\n handlePointerLeave() {\n if (this.rootContext.isControlledState())\n return;\n this.rootContext.onTriggerLeave();\n this.hasPointerMoveOpened.set(false);\n }\n async handlePointerDown(event) {\n const user = this.userOnPointerDown();\n let result;\n if (user) {\n result = user(event);\n if (result instanceof Promise)\n result = await result;\n }\n if (event.defaultPrevented || result === false)\n return;\n if (this.rootContext.isOpen() && !this.rootContext.disableClosingTrigger()) {\n this.rootContext.close();\n }\n this.isPointerDown.set(true);\n const handlePointerUp = () => {\n setTimeout(() => this.isPointerDown.set(false), 1);\n };\n document.addEventListener('pointerup', handlePointerUp, { once: true });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTooltipTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.3.3\", type: RdxTooltipTrigger, isStandalone: true, selector: \"[rdxTooltipTrigger]\", inputs: { userOnPointerDown: { classPropertyName: \"userOnPointerDown\", publicName: \"rdxOnPointerDown\", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { \"data-grace-area-trigger\": \"''\" }, listeners: { \"pointermove\": \"rootContext.isDisabled() ? undefined : handlePointerMove($event)\", \"pointerleave\": \"rootContext.isDisabled() ? undefined : handlePointerLeave()\", \"pointerdown\": \"rootContext.isDisabled() ? undefined : handlePointerDown($event)\", \"focus\": \"rootContext.isDisabled() ? undefined : handleFocus($event)\", \"blur\": \"rootContext.isDisabled() ? undefined : handleBlur()\", \"click\": \"rootContext.isDisabled() ? undefined : handleClick()\" }, properties: { \"attr.aria-describedby\": \"rootContext.isOpen() ? rootContext.contentId : undefined\", \"attr.data-state\": \"rootContext.state()\" } }, hostDirectives: [{ directive: i1.RdxPopperAnchor }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTooltipTrigger, decorators: [{\n type: Directive,\n args: [{\n selector: '[rdxTooltipTrigger]',\n hostDirectives: [RdxPopperAnchor],\n host: {\n 'data-grace-area-trigger': \"''\",\n '[attr.aria-describedby]': 'rootContext.isOpen() ? rootContext.contentId : undefined',\n '[attr.data-state]': 'rootContext.state()',\n '(pointermove)': 'rootContext.isDisabled() ? undefined : handlePointerMove($event)',\n '(pointerleave)': 'rootContext.isDisabled() ? undefined : handlePointerLeave()',\n '(pointerdown)': 'rootContext.isDisabled() ? undefined : handlePointerDown($event)',\n '(focus)': 'rootContext.isDisabled() ? undefined : handleFocus($event)',\n '(blur)': 'rootContext.isDisabled() ? undefined : handleBlur()',\n '(click)': 'rootContext.isDisabled() ? undefined : handleClick()'\n }\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC10cmlnZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy90b29sdGlwMi9zcmMvdG9vbHRpcC10cmlnZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQWlCcEQsTUFBTSxPQUFPLGlCQUFpQjtJQWY5QjtRQWdCdUIsZ0JBQVcsR0FBRyx1QkFBdUIsRUFBRyxDQUFDO1FBQ25ELGVBQVUsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO1FBRXpELHNCQUFpQixHQUFHLEtBQUssQ0FDOUIsU0FBUyxxREFFTCxLQUFLLEVBQUUsa0JBQWtCLE9BRDdCO2dCQUNJLEtBQUssRUFBRSxrQkFBa0I7YUFDNUIsR0FDSixDQUFDO1FBRWlCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLEtBQUsseURBQUMsQ0FBQztRQUVoQyx5QkFBb0IsR0FBRyxNQUFNLENBQUMsS0FBSyxnRUFBQyxDQUFDO0tBK0R6RDtJQTdEYSxXQUFXLENBQUMsS0FBaUI7UUFDbkMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFO1lBQUUsT0FBTztRQUNqRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFBRSxPQUFPO1FBRWpDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLENBQUUsS0FBSyxDQUFDLE1BQXNCLENBQUMsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQzFHLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcs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NkQ7d0JBQy9FLGVBQWUsRUFBRSxrRUFBa0U7d0JBQ25GLFNBQVMsRUFBRSw0REFBNEQ7d0JBQ3ZFLFFBQVEsRUFBRSxxREFBcUQ7d0JBQy9ELFNBQVMsRUFBRSxzREFBc0Q7cUJBQ3BFO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeFBvcHBlckFuY2hvciB9IGZyb20gJ0ByYWRpeC1uZy9wcmltaXRpdmVzL3BvcHBlcic7XG5pbXBvcnQgeyBpbmplY3RSZHhUb29sdGlwQ29udGV4dCB9IGZyb20gJy4vdG9vbHRpcCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFRvb2x0aXBUcmlnZ2VyXScsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtSZHhQb3BwZXJBbmNob3JdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ2RhdGEtZ3JhY2UtYXJlYS10cmlnZ2VyJzogXCInJ1wiLFxuICAgICAgICAnW2F0dHIuYXJpYS1kZXNjcmliZWRieV0nOiAncm9vdENvbnRleHQuaXNPcGVuKCkgPyByb290Q29udGV4dC5jb250ZW50SWQgOiB1bmRlZmluZWQnLFxuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAncm9vdENvbnRleHQuc3RhdGUoKScsXG4gICAgICAgICcocG9pbnRlcm1vdmUpJzogJ3Jvb3RDb250ZXh0LmlzRGlzYWJsZWQoKSA/IHVuZGVmaW5lZCA6IGhhbmRsZVBvaW50ZXJNb3ZlKCRldmVudCknLFxuICAgICAgICAnKHBvaW50ZXJsZWF2ZSknOiAncm9vdENvbnRleHQuaXNEaXNhYmxlZCgpID8gdW5kZWZpbmVkIDogaGFuZGxlUG9pbnRlckxlYXZlKCknLFxuICAgICAgICAnKHBvaW50ZXJkb3duKSc6ICdyb290Q29udGV4dC5pc0Rpc2FibGVkKCkgPyB1bmRlZmluZWQgOiBoYW5kbGVQb2ludGVyRG93bigkZXZlbnQpJyxcbiAgICAgICAgJyhmb2N1cyknOiAncm9vdENvbnRleHQuaXNEaXNhYmxlZCgpID8gdW5kZWZpbmVkIDogaGFuZGxlRm9jdXMoJGV2ZW50KScsXG4gICAgICAgICcoYmx1ciknOiAncm9vdENvbnRleHQuaXNEaXNhYmxlZCgpID8gdW5kZWZpbmVkIDogaGFuZGxlQmx1cigpJyxcbiAgICAgICAgJyhjbGljayknOiAncm9vdENvbnRleHQuaXNEaXNhYmxlZCgpID8gdW5kZWZpbmVkIDogaGFuZGxlQ2xpY2soKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFRvb2x0aXBUcmlnZ2VyIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm9vdENvbnRleHQgPSBpbmplY3RSZHhUb29sdGlwQ29udGV4dCgpITtcbiAgICByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcblxuICAgIHJlYWRvbmx5IHVzZXJPblBvaW50ZXJEb3duID0gaW5wdXQ8KGV2ZW50OiBQb2ludGVyRXZlbnQpID0+IHZvaWQgfCBib29sZWFuIHwgUHJvbWlzZTx2b2lkIHwgYm9vbGVhbj4gfCB1bmRlZmluZWQ+KFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIHtcbiAgICAgICAgICAgIGFsaWFzOiAncmR4T25Qb2ludGVyRG93bidcbiAgICAgICAgfVxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNQb2ludGVyRG93biA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGhhc1BvaW50ZXJNb3ZlT3BlbmVkID0gc2lnbmFsKGZhbHNlKTtcblxuICAgIHByb3RlY3RlZCBoYW5kbGVGb2N1cyhldmVudDogRm9jdXNFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5yb290Q29udGV4dC5pc0NvbnRyb2xsZWRTdGF0ZSgpKSByZXR1cm47XG4gICAgICAgIGlmICh0aGlzLmlzUG9pbnRlckRvd24oKSkgcmV0dXJuO1xuXG4gICAgICAgIGlmICh0aGlzLnJvb3RDb250ZXh0Lmlnbm9yZU5vbktleWJvYXJkRm9jdXMoKSAmJiAhKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkubWF0Y2hlcz8uKCc6Zm9jdXMtdmlzaWJsZScpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJvb3RDb250ZXh0Lm9wZW4oKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlQmx1cigpIHtcbiAgICAgICAgaWYgKHRoaXMucm9vdENvbnRleHQuaXNDb250cm9sbGVkU3RhdGUoKSkgcmV0dXJuO1xuICAgICAgICB0aGlzLnJvb3RDb250ZXh0LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZUNsaWNrKCkge1xuICAgICAgICBpZiAodGhpcy5yb290Q29udGV4dC5pc0NvbnRyb2xsZWRTdGF0ZSgpKSByZXR1cm47XG4gICAgICAgIGlmICghdGhpcy5yb290Q29udGV4dC5kaXNhYmxlQ2xvc2luZ1RyaWdnZXIoKSkge1xuICAgICAgICAgICAgdGhpcy5yb290Q29udGV4dC5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZVBvaW50ZXJNb3ZlKGV2ZW50OiBQb2ludGVyRXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LnBvaW50ZXJUeXBlID09PSAndG91Y2gnKSByZXR1cm47XG4gICAgICAgIGlmICh0aGlzLnJvb3RDb250ZXh0LmlzQ29udHJvbGxlZFN0YXRlKCkpIHJldHVybjtcbiAgICAgICAgaWYgKCF0aGlzLmhhc1BvaW50ZXJNb3ZlT3BlbmVkKCkgJiYgIXRoaXMucm9vdENvbnRleHQuaXNQb2ludGVySW5UcmFuc2l0KCkpIHtcbiAgICAgICAgICAgIHRoaXMucm9vdENvbnRleHQub25UcmlnZ2VyRW50ZXIoKTtcbiAgICAgICAgICAgIHRoaXMuaGFzUG9pbnRlck1vdmVPcGVuZWQuc2V0KHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGhhbmRsZVBvaW50ZXJMZWF2ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMucm9vdENvbnRleHQuaXNDb250cm9sbGVkU3RhdGUoKSkgcmV0dXJuO1xuICAgICAgICB0aGlzLnJvb3RDb250ZXh0Lm9uVHJpZ2dlckxlYXZlKCk7XG4gICAgICAgIHRoaXMuaGFzUG9pbnRlck1vdmVPcGVuZWQuc2V0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlUG9pbnRlckRvd24oZXZlbnQ6IFBvaW50ZXJFdmVudCkge1xuICAgICAgICBjb25zdCB1c2VyID0gdGhpcy51c2VyT25Qb2ludGVyRG93bigpO1xuICAgICAgICBsZXQgcmVzdWx0OiB1bmtub3duO1xuXG4gICAgICAgIGlmICh1c2VyKSB7XG4gICAgICAgICAgICByZXN1bHQgPSB1c2VyKGV2ZW50KTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKSByZXN1bHQgPSBhd2FpdCByZXN1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZlbnQuZGVmYXVsdFByZXZlbnRlZCB8fCByZXN1bHQgPT09IGZhbHNlKSByZXR1cm47XG5cbiAgICAgICAgaWYgKHRoaXMucm9vdENvbnRleHQuaXNPcGVuKCkgJiYgIXRoaXMucm9vdENvbnRleHQuZGlzYWJsZUNsb3NpbmdUcmlnZ2VyKCkpIHtcbiAgICAgICAgICAgIHRoaXMucm9vdENvbnRleHQuY2xvc2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNQb2ludGVyRG93bi5zZXQodHJ1ZSk7XG5cbiAgICAgICAgY29uc3QgaGFuZGxlUG9pbnRlclVwID0gKCkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmlzUG9pbnRlckRvd24uc2V0KGZhbHNlKSwgMSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcnVwJywgaGFuZGxlUG9pbnRlclVwLCB7IG9uY2U6IHRydWUgfSk7XG4gICAgfVxufVxuIl19","import { inject, InjectionToken } from '@angular/core';\nexport const defaultTooltipConfig = {\n delayDuration: 700,\n skipDelayDuration: 300,\n disableHoverableContent: false,\n disableClosingTrigger: false,\n closeDelay: 0\n};\nexport const RdxTooltipDefaultsToken = new InjectionToken('RdxTooltipDefaults Token');\nexport function provideRdxTooltipConfig(config) {\n return [\n {\n provide: RdxTooltipDefaultsToken,\n useValue: { ...defaultTooltipConfig, ...config }\n }\n ];\n}\nexport function injectRdxTooltipConfig() {\n return inject(RdxTooltipDefaultsToken, { optional: true }) ?? defaultTooltipConfig;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3Rvb2x0aXAyL3NyYy90b29sdGlwLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQThCakUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQXFCO0lBQ2xELGFBQWEsRUFBRSxHQUFHO0lBQ2xCLGlCQUFpQixFQUFFLEdBQUc7SUFDdEIsdUJBQXVCLEVBQUUsS0FBSztJQUM5QixxQkFBcUIsRUFBRSxLQUFLO0lBQzVCLFVBQVUsRUFBRSxDQUFDO0NBQ2hCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FBbUIsMEJBQTBCLENBQUMsQ0FBQztBQUV4RyxNQUFNLFVBQVUsdUJBQXVCLENBQUMsTUFBaUM7SUFDckUsT0FBTztRQUNIO1lBQ0ksT0FBTyxFQUFFLHVCQUF1QjtZQUNoQyxRQUFRLEVBQUUsRUFBRSxHQUFHLG9CQUFvQixFQUFFLEdBQUcsTUFBTSxFQUFFO1NBQ25EO0tBQ0osQ0FBQztBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCO0lBQ2xDLE9BQU8sTUFBTSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLElBQUksb0JBQW9CLENBQUM7QUFDdkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIFJkeFRvb2x0aXBDb25maWcgPSB7XG4gICAgLyoqXG4gICAgICogVGhlIGR1cmF0aW9uIGZyb20gd2hlbiB0aGUgcG9pbnRlciBlbnRlcnMgdGhlIHRyaWdnZXIgdW50aWwgdGhlIHRvb2x0aXAgZ2V0cyBvcGVuZWQuXG4gICAgICogQGRlZmF1bHRWYWx1ZSA3MDBcbiAgICAgKi9cbiAgICBkZWxheUR1cmF0aW9uPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIEhvdyBtdWNoIHRpbWUgYSB1c2VyIGhhcyB0byBlbnRlciBhbm90aGVyIHRyaWdnZXIgd2l0aG91dCBpbmN1cnJpbmcgYSBkZWxheSBhZ2Fpbi5cbiAgICAgKiBAZGVmYXVsdFZhbHVlIDMwMFxuICAgICAqL1xuICAgIHNraXBEZWxheUR1cmF0aW9uPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIFdoZW4gYHRydWVgLCB0cnlpbmcgdG8gaG92ZXIgdGhlIGNvbnRlbnQgd2lsbCByZXN1bHQgaW4gdGhlIHRvb2x0aXAgY2xvc2luZyBhcyB0aGUgcG9pbnRlciBsZWF2ZXMgdGhlIHRyaWdnZXIuXG4gICAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgICAqL1xuICAgIGRpc2FibGVIb3ZlcmFibGVDb250ZW50PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBXaGVuIGB0cnVlYCwgY2xpY2tpbmcgb24gdHJpZ2dlciB3aWxsIG5vdCBjbG9zZSB0aGUgY29udGVudC5cbiAgICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAgICovXG4gICAgZGlzYWJsZUNsb3NpbmdUcmlnZ2VyPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEhvdyBsb25nIHRvIHdhaXQgYmVmb3JlIGNsb3NpbmcgdGhlIHRvb2x0aXAuIFNwZWNpZmllZCBpbiBtaWxsaXNlY29uZHMuXG4gICAgICovXG4gICAgY2xvc2VEZWxheT86IG51bWJlcjtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0VG9vbHRpcENvbmZpZzogUmR4VG9vbHRpcENvbmZpZyA9IHtcbiAgICBkZWxheUR1cmF0aW9uOiA3MDAsXG4gICAgc2tpcERlbGF5RHVyYXRpb246IDMwMCxcbiAgICBkaXNhYmxlSG92ZXJhYmxlQ29udGVudDogZmFsc2UsXG4gICAgZGlzYWJsZUNsb3NpbmdUcmlnZ2VyOiBmYWxzZSxcbiAgICBjbG9zZURlbGF5OiAwXG59O1xuXG5leHBvcnQgY29uc3QgUmR4VG9vbHRpcERlZmF1bHRzVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48UmR4VG9vbHRpcENvbmZpZz4oJ1JkeFRvb2x0aXBEZWZhdWx0cyBUb2tlbicpO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVJkeFRvb2x0aXBDb25maWcoY29uZmlnOiBQYXJ0aWFsPFJkeFRvb2x0aXBDb25maWc+KTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogUmR4VG9vbHRpcERlZmF1bHRzVG9rZW4sXG4gICAgICAgICAgICB1c2VWYWx1ZTogeyAuLi5kZWZhdWx0VG9vbHRpcENvbmZpZywgLi4uY29uZmlnIH1cbiAgICAgICAgfVxuICAgIF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RSZHhUb29sdGlwQ29uZmlnKCk6IFJkeFRvb2x0aXBDb25maWcge1xuICAgIHJldHVybiBpbmplY3QoUmR4VG9vbHRpcERlZmF1bHRzVG9rZW4sIHsgb3B0aW9uYWw6IHRydWUgfSkgPz8gZGVmYXVsdFRvb2x0aXBDb25maWc7XG59XG4iXX0=","export function useTimeoutFn(cb, delay, options = {}, destroyRef) {\n let id = null;\n const resolveDelay = () => (typeof delay === 'function' ? delay() : delay);\n const stop = () => {\n if (id != null) {\n clearTimeout(id);\n id = null;\n }\n };\n const start = () => {\n stop();\n const ms = resolveDelay();\n if (ms <= 0) {\n queueMicrotask(cb);\n return;\n }\n id = window.setTimeout(() => {\n id = null;\n cb();\n }, ms);\n };\n if (options.immediate) {\n start();\n }\n if (destroyRef) {\n destroyRef.onDestroy(stop);\n }\n return { start, stop, isPending: () => id != null };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3Rvb2x0aXAyL3NyYy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLFVBQVUsWUFBWSxDQUN4QixFQUFjLEVBQ2QsS0FBOEIsRUFDOUIsVUFBbUMsRUFBRSxFQUNyQyxVQUF1QjtJQUV2QixJQUFJLEVBQUUsR0FBa0IsSUFBSSxDQUFDO0lBRTdCLE1BQU0sWUFBWSxHQUFHLEdBQUcsRUFBRSxDQUFDLENBQUMsT0FBTyxLQUFLLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBRSxLQUFzQixFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTdGLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRTtRQUNkLElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2IsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2pCLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRUYsTUFBTSxLQUFLLEdBQUcsR0FBRyxFQUFFO1FBQ2YsSUFBSSxFQUFFLENBQUM7UUFDUCxNQUFNLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FBQztRQUMxQixJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNWLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuQixPQUFPO1FBQ1gsQ0FBQztRQUNELEVBQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUN4QixFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ1YsRUFBRSxFQUFFLENBQUM7UUFDVCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUM7SUFFRixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNwQixLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2IsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQztBQUN4RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBUaW1lb3V0Q29udHJvbGxlciA9IHtcbiAgICBzdGFydDogKCkgPT4gdm9pZDtcbiAgICBzdG9wOiAoKSA9PiB2b2lkO1xuICAgIGlzUGVuZGluZzogKCkgPT4gYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VUaW1lb3V0Rm4oXG4gICAgY2I6ICgpID0+IHZvaWQsXG4gICAgZGVsYXk6IG51bWJlciB8ICgoKSA9PiBudW1iZXIpLFxuICAgIG9wdGlvbnM6IHsgaW1tZWRpYXRlPzogYm9vbGVhbiB9ID0ge30sXG4gICAgZGVzdHJveVJlZj86IERlc3Ryb3lSZWZcbik6IFRpbWVvdXRDb250cm9sbGVyIHtcbiAgICBsZXQgaWQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3QgcmVzb2x2ZURlbGF5ID0gKCkgPT4gKHR5cGVvZiBkZWxheSA9PT0gJ2Z1bmN0aW9uJyA/IChkZWxheSBhcyAoKSA9PiBudW1iZXIpKCkgOiBkZWxheSk7XG5cbiAgICBjb25zdCBzdG9wID0gKCkgPT4ge1xuICAgICAgICBpZiAoaWQgIT0gbnVsbCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KGlkKTtcbiAgICAgICAgICAgIGlkID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBzdGFydCA9ICgpID0+IHtcbiAgICAgICAgc3RvcCgpO1xuICAgICAgICBjb25zdCBtcyA9IHJlc29sdmVEZWxheSgpO1xuICAgICAgICBpZiAobXMgPD0gMCkge1xuICAgICAgICAgICAgcXVldWVNaWNyb3Rhc2soY2IpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlkID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWQgPSBudWxsO1xuICAgICAgICAgICAgY2IoKTtcbiAgICAgICAgfSwgbXMpO1xuICAgIH07XG5cbiAgICBpZiAob3B0aW9ucy5pbW1lZGlhdGUpIHtcbiAgICAgICAgc3RhcnQoKTtcbiAgICB9XG4gICAgaWYgKGRlc3Ryb3lSZWYpIHtcbiAgICAgICAgZGVzdHJveVJlZi5vbkRlc3Ryb3koc3RvcCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgc3RhcnQsIHN0b3AsIGlzUGVuZGluZzogKCkgPT4gaWQgIT0gbnVsbCB9O1xufVxuIl19","import { _IdGenerator } from '@angular/cdk/a11y';\nimport { booleanAttribute, computed, contentChild, DestroyRef, Directive, inject, input, model, numberAttribute, signal } from '@angular/core';\nimport { createContext, watch } from '@radix-ng/primitives/core';\nimport { RdxPopper } from '@radix-ng/primitives/popper';\nimport { RdxTooltipTrigger } from './tooltip-trigger';\nimport { injectRdxTooltipConfig } from './tooltip.config';\nimport { useTimeoutFn } from './utils';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@radix-ng/primitives/popper\";\nconst context = () => {\n const context = inject(RdxTooltip);\n return {\n isOpen: context.open,\n state: context.state,\n contentId: inject(_IdGenerator).getId('rdx-tooltip-content-'),\n trigger: context.trigger,\n isDisabled: context.disabled,\n ignoreNonKeyboardFocus: context.ignoreNonKeyboardFocus,\n disableClosingTrigger: context.disableClosingTrigger,\n disableHoverableContent: context.disableHoverableContent,\n isPointerInTransit: context.isPointerInTransit.asReadonly(),\n isControlledState: context.isControlledState,\n open() {\n context.handleOpen();\n },\n close() {\n context.handleClose();\n },\n onTriggerEnter() {\n if (context.isOpenDelayed()) {\n context.handleDelayedOpen();\n }\n else {\n context.handleOpen();\n }\n },\n onTriggerLeave() {\n if (context.disableHoverableContent()) {\n context.handleClose();\n }\n else {\n // Clear the timer in case the pointer leaves the trigger before the tooltip is opened.\n context.clearTimer();\n }\n }\n };\n};\nexport const [injectRdxTooltipContext, provideRdxTooltipContext] = createContext('RdxTooltipContext');\nexport class RdxTooltip {\n constructor() {\n this.defaultConfig = injectRdxTooltipConfig();\n this.destroyRef = inject(DestroyRef);\n /**\n * Whether the tooltip is currently open.\n */\n this.open = model(false, ...(ngDevMode ? [{ debugName: \"open\" }] : []));\n /**\n * The duration from when the pointer enters the trigger until the tooltip gets opened.\n */\n this.delayDuration = input(this.defaultConfig.delayDuration, ...(ngDevMode ? [{ debugName: \"delayDuration\", transform: numberAttribute }] : [{\n transform: numberAttribute\n }]));\n /**\n * How much time a user has to enter another trigger without incurring a delay again.\n * @defaultValue 300\n */\n this.skipDelayDuration = input(this.defaultConfig.skipDelayDuration, ...(ngDevMode ? [{ debugName: \"skipDelayDuration\", transform: numberAttribute }] : [{ transform: numberAttribute }]));\n /**\n * When `true`, trying to hover the content will result in the tooltip closing as the pointer leaves the trigger.\n */\n this.disableHoverableContent = input(this.defaultConfig.disableHoverableContent, ...(ngDevMode ? [{ debugName: \"disableHoverableContent\", transform: booleanAttribute }] : [{\n transform: booleanAttribute\n }]));\n /**\n * When `true`, disable tooltip\n * @defaultValue false\n */\n this.disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * How long to wait before closing the tooltip. Specified in milliseconds.\n */\n this.closeDelay = input(this.defaultConfig.closeDelay, ...(ngDevMode ? [{ debugName: \"closeDelay\", transform: numberAttribute }] : [{ transform: numberAttribute }]));\n /**\n * When `true`, clicking on trigger will not close the content.\n * @defaultValue false\n */\n this.disableClosingTrigger = input(false, ...(ngDevMode ? [{ debugName: \"disableClosingTrigger\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * Prevent the tooltip from opening if the focus did not come from\n * the keyboard by matching against the `:focus-visible` selector.\n * This is useful if you want to avoid opening it when switching\n * browser tabs or closing a dialog.\n * @defaultValue false\n */\n this.ignoreNonKeyboardFocus = input(false, ...(ngDevMode ? [{ debugName: \"ignoreNonKeyboardFocus\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * To render a controlled tooltip\n */\n this.isControlledState = input(false, ...(ngDevMode ? [{ debugName: \"isControlledState\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n this.isPointerInTransit = signal(false, ...(ngDevMode ? [{ debugName: \"isPointerInTransit\" }] : []));\n this.isOpenDelayed = signal(true, ...(ngDevMode ? [{ debugName: \"isOpenDelayed\" }] : []));\n this.wasOpenDelayed = signal(false, ...(ngDevMode ? [{ debugName: \"wasOpenDelayed\" }] : []));\n this.state = computed(() => {\n if (!this.open()) {\n return 'closed';\n }\n return this.wasOpenDelayed() ? 'delayed-open' : 'instant-open';\n }, ...(ngDevMode ? [{ debugName: \"state\" }] : []));\n this.trigger = contentChild.required(RdxTooltipTrigger);\n this.timerProvider = useTimeoutFn(() => {\n this.isOpenDelayed.set(true);\n }, () => this.skipDelayDuration(), { immediate: false }, this.destroyRef);\n this.timer = useTimeoutFn(() => {\n this.wasOpenDelayed.set(true);\n this.open.set(true);\n }, () => this.delayDuration(), { immediate: false }, this.destroyRef);\n this.startTimer = () => this.timer.start();\n this.clearTimer = () => this.timer.stop();\n watch([this.open], ([isOpen]) => {\n if (isOpen) {\n this.timerProvider.stop();\n this.isOpenDelayed.set(false);\n }\n else {\n this.timerProvider.start();\n }\n });\n }\n handleOpen() {\n this.clearTimer();\n this.wasOpenDelayed.set(false);\n this.open.set(true);\n }\n handleClose() {\n this.clearTimer();\n window.setTimeout(() => {\n this.open.set(false);\n }, this.closeDelay());\n }\n handleDelayedOpen() {\n this.startTimer();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTooltip, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.3.3\", type: RdxTooltip, isStandalone: true, selector: \"[rdxTooltip]\", inputs: { open: { classPropertyName: \"open\", publicName: \"open\", isSignal: true, isRequired: false, transformFunction: null }, delayDuration: { classPropertyName: \"delayDuration\", publicName: \"delayDuration\", isSignal: true, isRequired: false, transformFunction: null }, skipDelayDuration: { classPropertyName: \"skipDelayDuration\", publicName: \"skipDelayDuration\", isSignal: true, isRequired: false, transformFunction: null }, disableHoverableContent: { classPropertyName: \"disableHoverableContent\", publicName: \"disableHoverableContent\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, closeDelay: { classPropertyName: \"closeDelay\", publicName: \"closeDelay\", isSignal: true, isRequired: false, transformFunction: null }, disableClosingTrigger: { classPropertyName: \"disableClosingTrigger\", publicName: \"disableClosingTrigger\", isSignal: true, isRequired: false, transformFunction: null }, ignoreNonKeyboardFocus: { classPropertyName: \"ignoreNonKeyboardFocus\", publicName: \"ignoreNonKeyboardFocus\", isSignal: true, isRequired: false, transformFunction: null }, isControlledState: { classPropertyName: \"isControlledState\", publicName: \"isControlledState\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: \"openChange\" }, providers: [provideRdxTooltipContext(context)], queries: [{ propertyName: \"trigger\", first: true, predicate: RdxTooltipTrigger, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.RdxPopper }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTooltip, decorators: [{\n type: Directive,\n args: [{\n selector: '[rdxTooltip]',\n providers: [provideRdxTooltipContext(context)],\n hostDirectives: [RdxPopper]\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdG9vbHRpcDIvc3JjL3Rvb2x0aXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFlBQVksRUFDWixVQUFVLEVBQ1YsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUNMLGVBQWUsRUFDZixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBRXZDLE1BQU0sT0FBTyxHQUFHLEdBQUcsRUFBRTtJQUNqQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFbkMsT0FBTztRQUNILE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSTtRQUNwQixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDcEIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUM7UUFDN0QsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1FBQ3hCLFVBQVUsRUFBRSxPQUFPLENBQUMsUUFBUTtRQUM1QixzQkFBc0IsRUFBRSxPQUFPLENBQUMsc0JBQXNCO1FBQ3RELHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxxQkFBcUI7UUFDcEQs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LENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzlDLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FBQztpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfSWRHZW5lcmF0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIGNvbXB1dGVkLFxuICAgIGNvbnRlbnRDaGlsZCxcbiAgICBEZXN0cm95UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgbW9kZWwsXG4gICAgbnVtYmVyQXR0cmlidXRlLFxuICAgIHNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHQsIHdhdGNoIH0gZnJvbSAnQHJhZGl4LW5nL3ByaW1pdGl2ZXMvY29yZSc7XG5pbXBvcnQgeyBSZHhQb3BwZXIgfSBmcm9tICdAcmFkaXgtbmcvcHJpbWl0aXZlcy9wb3BwZXInO1xuaW1wb3J0IHsgUmR4VG9vbHRpcFRyaWdnZXIgfSBmcm9tICcuL3Rvb2x0aXAtdHJpZ2dlcic7XG5pbXBvcnQgeyBpbmplY3RSZHhUb29sdGlwQ29uZmlnIH0gZnJvbSAnLi90b29sdGlwLmNvbmZpZyc7XG5pbXBvcnQgeyB1c2VUaW1lb3V0Rm4gfSBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgY29udGV4dCA9ICgpID0+IHtcbiAgICBjb25zdCBjb250ZXh0ID0gaW5qZWN0KFJkeFRvb2x0aXApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgaXNPcGVuOiBjb250ZXh0Lm9wZW4sXG4gICAgICAgIHN0YXRlOiBjb250ZXh0LnN0YXRlLFxuICAgICAgICBjb250ZW50SWQ6IGluamVjdChfSWRHZW5lcmF0b3IpLmdldElkKCdyZHgtdG9vbHRpcC1jb250ZW50LScpLFxuICAgICAgICB0cmlnZ2VyOiBjb250ZXh0LnRyaWdnZXIsXG4gICAgICAgIGlzRGlzYWJsZWQ6IGNvbnRleHQuZGlzYWJsZWQsXG4gICAgICAgIGlnbm9yZU5vbktleWJvYXJkRm9jdXM6IGNvbnRleHQuaWdub3JlTm9uS2V5Ym9hcmRGb2N1cyxcbiAgICAgICAgZGlzYWJsZUNsb3NpbmdUcmlnZ2VyOiBjb250ZXh0LmRpc2FibGVDbG9zaW5nVHJpZ2dlcixcbiAgICAgICAgZGlzYWJsZUhvdmVyYWJsZUNvbnRlbnQ6IGNvbnRleHQuZGlzYWJsZUhvdmVyYWJsZUNvbnRlbnQsXG4gICAgICAgIGlzUG9pbnRlckluVHJhbnNpdDogY29udGV4dC5pc1BvaW50ZXJJblRyYW5zaXQuYXNSZWFkb25seSgpLFxuICAgICAgICBpc0NvbnRyb2xsZWRTdGF0ZTogY29udGV4dC5pc0NvbnRyb2xsZWRTdGF0ZSxcbiAgICAgICAgb3BlbigpIHtcbiAgICAgICAgICAgIGNvbnRleHQuaGFuZGxlT3BlbigpO1xuICAgICAgICB9LFxuICAgICAgICBjbG9zZSgpIHtcbiAgICAgICAgICAgIGNvbnRleHQuaGFuZGxlQ2xvc2UoKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25UcmlnZ2VyRW50ZXIoKSB7XG4gICAgICAgICAgICBpZiAoY29udGV4dC5pc09wZW5EZWxheWVkKCkpIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0LmhhbmRsZURlbGF5ZWRPcGVuKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnRleHQuaGFuZGxlT3BlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBvblRyaWdnZXJMZWF2ZSgpIHtcbiAgICAgICAgICAgIGlmIChjb250ZXh0LmRpc2FibGVIb3ZlcmFibGVDb250ZW50KCkpIHtcbiAgICAgICAgICAgICAgICBjb250ZXh0LmhhbmRsZUNsb3NlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIENsZWFyIHRoZSB0aW1lciBpbiBjYXNlIHRoZSBwb2ludGVyIGxlYXZlcyB0aGUgdHJpZ2dlciBiZWZvcmUgdGhlIHRvb2x0aXAgaXMgb3BlbmVkLlxuICAgICAgICAgICAgICAgIGNvbnRleHQuY2xlYXJUaW1lcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIFJkeFRvb2x0aXBDb250ZXh0ID0gUmV0dXJuVHlwZTx0eXBlb2YgY29udGV4dD47XG5cbmV4cG9ydCBjb25zdCBbaW5qZWN0UmR4VG9vbHRpcENvbnRleHQsIHByb3ZpZGVSZHhUb29sdGlwQ29udGV4dF0gPVxuICAgIGNyZWF0ZUNvbnRleHQ8UmR4VG9vbHRpcENvbnRleHQ+KCdSZHhUb29sdGlwQ29udGV4dCcpO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhUb29sdGlwXScsXG4gICAgcHJvdmlkZXJzOiBbcHJvdmlkZVJkeFRvb2x0aXBDb250ZXh0KGNvbnRleHQpXSxcbiAgICBob3N0RGlyZWN0aXZlczogW1JkeFBvcHBlcl1cbn0pXG5leHBvcnQgY2xhc3MgUmR4VG9vbHRpcCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0Q29uZmlnID0gaW5qZWN0UmR4VG9vbHRpcENvbmZpZygpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHRvb2x0aXAgaXMgY3VycmVudGx5IG9wZW4uXG4gICAgICovXG4gICAgcmVhZG9ubHkgb3BlbiA9IG1vZGVsKGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBkdXJhdGlvbiBmcm9tIHdoZW4gdGhlIHBvaW50ZXIgZW50ZXJzIHRoZSB0cmlnZ2VyIHVudGlsIHRoZSB0b29sdGlwIGdldHMgb3BlbmVkLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRlbGF5RHVyYXRpb24gPSBpbnB1dCh0aGlzLmRlZmF1bHRDb25maWcuZGVsYXlEdXJhdGlvbiwge1xuICAgICAgICB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogSG93IG11Y2ggdGltZSBhIHVzZXIgaGFzIHRvIGVudGVyIGFub3RoZXIgdHJpZ2dlciB3aXRob3V0IGluY3VycmluZyBhIGRlbGF5IGFnYWluLlxuICAgICAqIEBkZWZhdWx0VmFsdWUgMzAwXG4gICAgICovXG4gICAgcmVhZG9ubHkgc2tpcERlbGF5RHVyYXRpb24gPSBpbnB1dCh0aGlzLmRlZmF1bHRDb25maWcuc2tpcERlbGF5RHVyYXRpb24sIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIGB0cnVlYCwgdHJ5aW5nIHRvIGhvdmVyIHRoZSBjb250ZW50IHdpbGwgcmVzdWx0IGluIHRoZSB0b29sdGlwIGNsb3NpbmcgYXMgdGhlIHBvaW50ZXIgbGVhdmVzIHRoZSB0cmlnZ2VyLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRpc2FibGVIb3ZlcmFibGVDb250ZW50ID0gaW5wdXQodGhpcy5kZWZhdWx0Q29uZmlnLmRpc2FibGVIb3ZlcmFibGVDb250ZW50LCB7XG4gICAgICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogV2hlbiBgdHJ1ZWAsIGRpc2FibGUgdG9vbHRpcFxuICAgICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICAgKi9cbiAgICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAgIC8qKlxuICAgICAqIEhvdyBsb25nIHRvIHdhaXQgYmVmb3JlIGNsb3NpbmcgdGhlIHRvb2x0aXAuIFNwZWNpZmllZCBpbiBtaWxsaXNlY29uZHMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgY2xvc2VEZWxheSA9IGlucHV0KHRoaXMuZGVmYXVsdENvbmZpZy5jbG9zZURlbGF5LCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuXG4gICAgLyoqXG4gICAgICogV2hlbiBgdHJ1ZWAsIGNsaWNraW5nIG9uIHRyaWdnZXIgd2lsbCBub3QgY2xvc2UgdGhlIGNvbnRlbnQuXG4gICAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRpc2FibGVDbG9zaW5nVHJpZ2dlciA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4oZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgdG9vbHRpcCBmcm9tIG9wZW5pbmcgaWYgdGhlIGZvY3VzIGRpZCBub3QgY29tZSBmcm9tXG4gICAgICogdGhlIGtleWJvYXJkIGJ5IG1hdGNoaW5nIGFnYWluc3QgdGhlIGA6Zm9jdXMtdmlzaWJsZWAgc2VsZWN0b3IuXG4gICAgICogVGhpcyBpcyB1c2VmdWwgaWYgeW91IHdhbnQgdG8gYXZvaWQgb3BlbmluZyBpdCB3aGVuIHN3aXRjaGluZ1xuICAgICAqIGJyb3dzZXIgdGFicyBvciBjbG9zaW5nIGEgZGlhbG9nLlxuICAgICAqIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICAgKi9cbiAgICByZWFkb25seSBpZ25vcmVOb25LZXlib2FyZEZvY3VzID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUbyByZW5kZXIgYSBjb250cm9sbGVkIHRvb2x0aXBcbiAgICAgKi9cbiAgICByZWFkb25seSBpc0NvbnRyb2xsZWRTdGF0ZSA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4oZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gICAgcmVhZG9ubHkgaXNQb2ludGVySW5UcmFuc2l0ID0gc2lnbmFsKGZhbHNlKTtcbiAgICByZWFkb25seSBpc09wZW5EZWxheWVkID0gc2lnbmFsKHRydWUpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB3YXNPcGVuRGVsYXllZCA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICByZWFkb25seSBzdGF0ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLm9wZW4oKSkge1xuICAgICAgICAgICAgcmV0dXJuICdjbG9zZWQnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMud2FzT3BlbkRlbGF5ZWQoKSA/ICdkZWxheWVkLW9wZW4nIDogJ2luc3RhbnQtb3Blbic7XG4gICAgfSk7XG5cbiAgICByZWFkb25seSB0cmlnZ2VyID0gY29udGVudENoaWxkLnJlcXVpcmVkKFJkeFRvb2x0aXBUcmlnZ2VyKTtcblxuICAgIHJlYWRvbmx5IHRpbWVyUHJvdmlkZXIgPSB1c2VUaW1lb3V0Rm4oXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNPcGVuRGVsYXllZC5zZXQodHJ1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgICgpID0+IHRoaXMuc2tpcERlbGF5RHVyYXRpb24oKSEsXG4gICAgICAgIHsgaW1tZWRpYXRlOiBmYWxzZSB9LFxuICAgICAgICB0aGlzLmRlc3Ryb3lSZWZcbiAgICApO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB0aW1lciA9IHVzZVRpbWVvdXRGbihcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy53YXNPcGVuRGVsYXllZC5zZXQodHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLm9wZW4uc2V0KHRydWUpO1xuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB0aGlzLmRlbGF5RHVyYXRpb24oKSEsXG4gICAgICAgIHsgaW1tZWRpYXRlOiBmYWxzZSB9LFxuICAgICAgICB0aGlzLmRlc3Ryb3lSZWZcbiAgICApO1xuXG4gICAgcmVhZG9ubHkgc3RhcnRUaW1lciA9ICgpID0+IHRoaXMudGltZXIuc3RhcnQoKTtcbiAgICByZWFkb25seSBjbGVhclRpbWVyID0gKCkgPT4gdGhpcy50aW1lci5zdG9wKCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgd2F0Y2goW3RoaXMub3Blbl0sIChbaXNPcGVuXSkgPT4ge1xuICAgICAgICAgICAgaWYgKGlzT3Blbikge1xuICAgICAgICAgICAgICAgIHRoaXMudGltZXJQcm92aWRlci5zdG9wKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc09wZW5EZWxheWVkLnNldChmYWxzZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudGltZXJQcm92aWRlci5zdGFydCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBoYW5kbGVPcGVuKCkge1xuICAgICAgICB0aGlzLmNsZWFyVGltZXIoKTtcbiAgICAgICAgdGhpcy53YXNPcGVuRGVsYXllZC5zZXQoZmFsc2UpO1xuICAgICAgICB0aGlzLm9wZW4uc2V0KHRydWUpO1xuICAgIH1cblxuICAgIGhhbmRsZUNsb3NlKCkge1xuICAgICAgICB0aGlzLmNsZWFyVGltZXIoKTtcblxuICAgICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm9wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgfSwgdGhpcy5jbG9zZURlbGF5KCkpO1xuICAgIH1cblxuICAgIGhhbmRsZURlbGF5ZWRPcGVuKCkge1xuICAgICAgICB0aGlzLnN0YXJ0VGltZXIoKTtcbiAgICB9XG59XG4iXX0=","import { Directive, inject } from '@angular/core';\nimport { RdxPopperArrow } from '@radix-ng/primitives/popper';\nimport { RdxVisuallyHiddenDirective } from '@radix-ng/primitives/visually-hidden';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@radix-ng/primitives/popper\";\nexport class RdxTooltipArrow {\n constructor() {\n this.isVisuallyHidden = !!inject(RdxVisuallyHiddenDirective, {\n optional: true\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTooltipArrow, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.3\", type: RdxTooltipArrow, isStandalone: true, selector: \"[rdxTooltipArrow]\", host: { properties: { \"hidden\": \"isVisuallyHidden\" } }, hostDirectives: [{ directive: i1.RdxPopperArrow }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTooltipArrow, decorators: [{\n type: Directive,\n args: [{\n selector: '[rdxTooltipArrow]',\n hostDirectives: [RdxPopperArrow],\n host: {\n '[hidden]': 'isVisuallyHidden'\n }\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1hcnJvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdG9vbHRpcDIvc3JjL3Rvb2x0aXAtYXJyb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7QUFTbEYsTUFBTSxPQUFPLGVBQWU7SUFQNUI7UUFRdUIscUJBQWdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsRUFBRTtZQUN2RSxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7S0FDTjs4R0FKWSxlQUFlO2tHQUFmLGVBQWU7OzJGQUFmLGVBQWU7a0JBUDNCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsY0FBYyxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUNoQyxJQUFJLEVBQUU7d0JBQ0YsVUFBVSxFQUFFLGtCQUFrQjtxQkFDakM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4UG9wcGVyQXJyb3cgfSBmcm9tICdAcmFkaXgtbmcvcHJpbWl0aXZlcy9wb3BwZXInO1xuaW1wb3J0IHsgUmR4VmlzdWFsbHlIaWRkZW5EaXJlY3RpdmUgfSBmcm9tICdAcmFkaXgtbmcvcHJpbWl0aXZlcy92aXN1YWxseS1oaWRkZW4nO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhUb29sdGlwQXJyb3ddJyxcbiAgICBob3N0RGlyZWN0aXZlczogW1JkeFBvcHBlckFycm93XSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbaGlkZGVuXSc6ICdpc1Zpc3VhbGx5SGlkZGVuJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4VG9vbHRpcEFycm93IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNWaXN1YWxseUhpZGRlbiA9ICEhaW5qZWN0KFJkeFZpc3VhbGx5SGlkZGVuRGlyZWN0aXZlLCB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlXG4gICAgfSk7XG59XG4iXX0=","import { Directive } from '@angular/core';\nimport { RdxPopperContent } from '@radix-ng/primitives/popper';\nimport { injectRdxTooltipContext } from './tooltip';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@radix-ng/primitives/popper\";\nexport class RdxTooltipContent {\n constructor() {\n this.rootContext = injectRdxTooltipContext();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTooltipContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.3\", type: RdxTooltipContent, isStandalone: true, selector: \"[rdxTooltipContent]\", host: { attributes: { \"role\": \"tooltip\" }, properties: { \"id\": \"rootContext.contentId\" } }, hostDirectives: [{ directive: i1.RdxPopperContent }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTooltipContent, decorators: [{\n type: Directive,\n args: [{\n selector: '[rdxTooltipContent]',\n hostDirectives: [RdxPopperContent],\n host: {\n role: 'tooltip',\n '[id]': 'rootContext.contentId'\n }\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1jb250ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy90b29sdGlwMi9zcmMvdG9vbHRpcC1jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFVcEQsTUFBTSxPQUFPLGlCQUFpQjtJQVI5QjtRQVNjLGdCQUFXLEdBQUcsdUJBQXVCLEVBQUcsQ0FBQztLQUN0RDs4R0FGWSxpQkFBaUI7a0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFSN0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixjQUFjLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDbEMsSUFBSSxFQUFFO3dCQUNGLElBQUksRUFBRSxTQUFTO3dCQUNmLE1BQU0sRUFBRSx1QkFBdUI7cUJBQ2xDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHhQb3BwZXJDb250ZW50IH0gZnJvbSAnQHJhZGl4LW5nL3ByaW1pdGl2ZXMvcG9wcGVyJztcbmltcG9ydCB7IGluamVjdFJkeFRvb2x0aXBDb250ZXh0IH0gZnJvbSAnLi90b29sdGlwJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4VG9vbHRpcENvbnRlbnRdJyxcbiAgICBob3N0RGlyZWN0aXZlczogW1JkeFBvcHBlckNvbnRlbnRdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ3Rvb2x0aXAnLFxuICAgICAgICAnW2lkXSc6ICdyb290Q29udGV4dC5jb250ZW50SWQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhUb29sdGlwQ29udGVudCB7XG4gICAgcHJvdGVjdGVkIHJvb3RDb250ZXh0ID0gaW5qZWN0UmR4VG9vbHRpcENvbnRleHQoKSE7XG59XG4iXX0=","import { effect, signal } from '@angular/core';\nfunction createSignalEvent() {\n const handlers = new Set();\n return {\n on(cb) {\n handlers.add(cb);\n return () => handlers.delete(cb);\n },\n emit(v) {\n handlers.forEach((h) => h(v));\n },\n emitVoid() {\n handlers.forEach((h) => h(undefined));\n },\n clear() {\n handlers.clear();\n }\n };\n}\n/**\n *\n * @param triggerEl Signal<HTMLElement | null | undefined>\n * @param containerEl Signal<HTMLElement | null | undefined>\n * @param resetMs\n */\nexport function useGraceArea(triggerEl, containerEl, resetMs = 300) {\n const isPointerInTransit = signal(false, ...(ngDevMode ? [{ debugName: \"isPointerInTransit\" }] : []));\n const pointerExit = createSignalEvent();\n let pointerGraceArea = null;\n let resetTimer = null;\n function armInTransitAutoReset() {\n if (resetTimer !== null)\n window.clearTimeout(resetTimer);\n resetTimer = window.setTimeout(() => {\n isPointerInTransit.set(false);\n resetTimer = null;\n }, resetMs);\n }\n function clearGraceArea() {\n pointerGraceArea = null;\n isPointerInTransit.set(false);\n if (resetTimer !== null) {\n window.clearTimeout(resetTimer);\n resetTimer = null;\n }\n }\n function createGraceArea(event, hoverTarget) {\n const currentTarget = event.currentTarget;\n const exitPoint = { x: event.clientX, y: event.clientY };\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n pointerGraceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n isPointerInTransit.set(true);\n armInTransitAutoReset();\n }\n function trackPointerGrace(event) {\n if (!pointerGraceArea)\n return;\n if (!(event.target instanceof HTMLElement))\n return;\n const trigger = triggerEl();\n const container = containerEl();\n if (!trigger || !container)\n return;\n const target = event.target;\n const pointerPosition = { x: event.clientX, y: event.clientY };\n const hasEnteredTarget = trigger.contains(target) || container.contains(target);\n const isOutsideGrace = !isPointInPolygon(pointerPosition, pointerGraceArea);\n const isAnotherGraceAreaTrigger = !!target.closest('[data-grace-area-trigger]');\n if (hasEnteredTarget) {\n clearGraceArea();\n }\n else if (isOutsideGrace || isAnotherGraceAreaTrigger) {\n clearGraceArea();\n pointerExit.emitVoid();\n }\n }\n effect((onCleanupFn) => {\n const trigger = triggerEl();\n const container = containerEl();\n onCleanupFn(() => {\n const doc = trigger?.ownerDocument;\n trigger?.removeEventListener('pointerleave', onTriggerLeave);\n container?.removeEventListener('pointerleave', onContainerLeave);\n doc?.removeEventListener('pointermove', trackPointerGrace);\n trigger?.removeAttribute('data-grace-area-trigger');\n clearGraceArea();\n });\n if (!trigger || !container)\n return;\n trigger.setAttribute('data-grace-area-trigger', '');\n const onTriggerLeave = (e) => createGraceArea(e, container);\n const onContainerLeave = (e) => createGraceArea(e, trigger);\n trigger.addEventListener('pointerleave', onTriggerLeave, { passive: true });\n container.addEventListener('pointerleave', onContainerLeave, { passive: true });\n trigger.ownerDocument.addEventListener('pointermove', trackPointerGrace, { passive: true });\n });\n return {\n isPointerInTransit: isPointerInTransit.asReadonly(),\n onPointerExit: pointerExit.on\n };\n}\nfunction getExitSideFromRect(point, rect) {\n const top = Math.abs(rect.top - point.y);\n const bottom = Math.abs(rect.bottom - point.y);\n const right = Math.abs(rect.right - point.x);\n const left = Math.abs(rect.left - point.x);\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return 'left';\n case right:\n return 'right';\n case top:\n return 'top';\n case bottom:\n return 'bottom';\n default:\n throw new Error('unreachable');\n }\n}\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n const pts = [];\n switch (exitSide) {\n case 'top':\n pts.push({ x: exitPoint.x - padding, y: exitPoint.y + padding }, { x: exitPoint.x + padding, y: exitPoint.y + padding });\n break;\n case 'bottom':\n pts.push({ x: exitPoint.x - padding, y: exitPoint.y - padding }, { x: exitPoint.x + padding, y: exitPoint.y - padding });\n break;\n case 'left':\n pts.push({ x: exitPoint.x + padding, y: exitPoint.y - padding }, { x: exitPoint.x + padding, y: exitPoint.y + padding });\n break;\n case 'right':\n pts.push({ x: exitPoint.x - padding, y: exitPoint.y - padding }, { x: exitPoint.x - padding, y: exitPoint.y + padding });\n break;\n }\n return pts;\n}\nfunction getPointsFromRect(rect) {\n const { top, right, bottom, left } = rect;\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom }\n ];\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x, yi = polygon[i].y;\n const xj = polygon[j].x, yj = polygon[j].y;\n const intersect = yi > y !== yj > y && x < ((xj - xi) * (y - yi)) / (yj - yi) + xi;\n if (intersect)\n inside = !inside;\n }\n return inside;\n}\nfunction getHull(points) {\n const newPoints = points.slice();\n newPoints.sort((a, b) => a.x - b.x || a.y - b.y);\n return getHullPresorted(newPoints);\n}\nfunction getHullPresorted(points) {\n if (points.length <= 1)\n return points.slice();\n const upper = [];\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n while (upper.length >= 2) {\n const q = upper[upper.length - 1];\n const r = upper[upper.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))\n upper.pop();\n else\n break;\n }\n upper.push(p);\n }\n upper.pop();\n const lower = [];\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n while (lower.length >= 2) {\n const q = lower[lower.length - 1];\n const r = lower[lower.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x))\n lower.pop();\n else\n break;\n }\n lower.push(p);\n }\n lower.pop();\n if (upper.length === 1 && lower.length === 1 && upper[0].x === lower[0].x && upper[0].y === lower[0].y) {\n return upper;\n }\n else {\n return upper.concat(lower);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlR3JhY2VBcmVhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy90b29sdGlwMi9zcmMvdXNlR3JhY2VBcmVhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFvQyxNQUFNLGVBQWUsQ0FBQztBQUdqRixTQUFTLGlCQUFpQjtJQUN0QixNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztJQUMzQyxPQUFPO1FBQ0gsRUFBRSxDQUFDLEVBQWtCO1lBQ2pCLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDakIsT0FBTyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFDRCxJQUFJLENBQUMsQ0FBMkQ7WUFDNUQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUNELFFBQVE7WUFDSixRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBeUIsQ0FBQyxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUNELEtBQUs7WUFDRCxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckIsQ0FBQztLQUNKLENBQUM7QUFDTixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUN4QixTQUFpRCxFQUNqRCxXQUFtRCxFQUNuRCxPQUFPLEdBQUcsR0FBRztJQUViLE1BQU0sa0JBQWtCLEdBQTRCLE1BQU0sQ0FBQyxLQUFLLDhEQUFDLENBQUM7SUFDbEUsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLEVBQVEsQ0FBQztJQUU5QyxJQUFJLGdCQUFnQixHQUFtQixJQUFJLENBQUM7SUFD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Q0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDOztnQkFDbkUsTUFBTTtRQUNmLENBQUM7UUFDRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFDRCxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFWixJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUUsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBRSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUN6RyxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGVmZmVjdCwgc2lnbmFsLCB0eXBlIFNpZ25hbCwgdHlwZSBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2lkZSB9IGZyb20gJ0ByYWRpeC1uZy9wcmltaXRpdmVzL3BvcHBlcic7XG5cbmZ1bmN0aW9uIGNyZWF0ZVNpZ25hbEV2ZW50PFQgPSB2b2lkPigpIHtcbiAgICBjb25zdCBoYW5kbGVycyA9IG5ldyBTZXQ8KHY6IFQpID0+IHZvaWQ+KCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgb24oY2I6ICh2OiBUKSA9PiB2b2lkKTogKCkgPT4gdm9pZCB7XG4gICAgICAgICAgICBoYW5kbGVycy5hZGQoY2IpO1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IGhhbmRsZXJzLmRlbGV0ZShjYik7XG4gICAgICAgIH0sXG4gICAgICAgIGVtaXQodjogVCBleHRlbmRzIHZvaWQgPyBuZXZlciA6IFQgZXh0ZW5kcyB1bmRlZmluZWQgPyBuZXZlciA6IFQpOiB2b2lkIHtcbiAgICAgICAgICAgIGhhbmRsZXJzLmZvckVhY2goKGgpID0+IGgodikpO1xuICAgICAgICB9LFxuICAgICAgICBlbWl0Vm9pZCgpOiB2b2lkIHtcbiAgICAgICAgICAgIGhhbmRsZXJzLmZvckVhY2goKGgpID0+IGgodW5kZWZpbmVkIGFzIHVua25vd24gYXMgVCkpO1xuICAgICAgICB9LFxuICAgICAgICBjbGVhcigpIHtcbiAgICAgICAgICAgIGhhbmRsZXJzLmNsZWFyKCk7XG4gICAgICAgIH1cbiAgICB9O1xufVxuXG4vKipcbiAqXG4gKiBAcGFyYW0gdHJpZ2dlckVsICAgU2lnbmFsPEhUTUxFbGVtZW50IHwgbnVsbCB8IHVuZGVmaW5lZD5cbiAqIEBwYXJhbSBjb250YWluZXJFbCBTaWduYWw8SFRNTEVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkPlxuICogQHBhcmFtIHJlc2V0TXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZUdyYWNlQXJlYShcbiAgICB0cmlnZ2VyRWw6IFNpZ25hbDxIVE1MRWxlbWVudCB8IG51bGwgfCB1bmRlZmluZWQ+LFxuICAgIGNvbnRhaW5lckVsOiBTaWduYWw8SFRNTEVsZW1lbnQgfCBudWxsIHwgdW5kZWZpbmVkPixcbiAgICByZXNldE1zID0gMzAwXG4pIHtcbiAgICBjb25zdCBpc1BvaW50ZXJJblRyYW5zaXQ6IFdyaXRhYmxlU2lnbmFsPGJvb2xlYW4+ID0gc2lnbmFsKGZhbHNlKTtcbiAgICBjb25zdCBwb2ludGVyRXhpdCA9IGNyZWF0ZVNpZ25hbEV2ZW50PHZvaWQ+KCk7XG5cbiAgICBsZXQgcG9pbnRlckdyYWNlQXJlYTogUG9seWdvbiB8IG51bGwgPSBudWxsO1xuICAgIGxldCByZXNldFRpbWVyOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICAgIGZ1bmN0aW9uIGFybUluVHJhbnNpdEF1dG9SZXNldCgpIHtcbiAgICAgICAgaWYgKHJlc2V0VGltZXIgIT09IG51bGwpIHdpbmRvdy5jbGVhclRpbWVvdXQocmVzZXRUaW1lcik7XG4gICAgICAgIHJlc2V0VGltZXIgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpc1BvaW50ZXJJblRyYW5zaXQuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgIHJlc2V0VGltZXIgPSBudWxsO1xuICAgICAgICB9LCByZXNldE1zKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBjbGVhckdyYWNlQXJlYSgpIHtcbiAgICAgICAgcG9pbnRlckdyYWNlQXJlYSA9IG51bGw7XG4gICAgICAgIGlzUG9pbnRlckluVHJhbnNpdC5zZXQoZmFsc2UpO1xuICAgICAgICBpZiAocmVzZXRUaW1lciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgd2luZG93LmNsZWFyVGltZW91dChyZXNldFRpbWVyKTtcbiAgICAgICAgICAgIHJlc2V0VGltZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gY3JlYXRlR3JhY2VBcmVhKGV2ZW50OiBQb2ludGVyRXZlbnQsIGhvdmVyVGFyZ2V0OiBIVE1MRWxlbWVudCkge1xuICAgICAgICBjb25zdCBjdXJyZW50VGFyZ2V0ID0gZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgY29uc3QgZXhpdFBvaW50ID0geyB4OiBldmVudC5jbGllbnRYLCB5OiBldmVudC5jbGllbnRZIH07XG4gICAgICAgIGNvbnN0IGV4aXRTaWRlID0gZ2V0RXhpdFNpZGVGcm9tUmVjdChleGl0UG9pbnQsIGN1cnJlbnRUYXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpO1xuICAgICAgICBjb25zdCBwYWRkZWRFeGl0UG9pbnRzID0gZ2V0UGFkZGVkRXhpdFBvaW50cyhleGl0UG9pbnQsIGV4aXRTaWRlKTtcbiAgICAgICAgY29uc3QgaG92ZXJUYXJnZXRQb2ludHMgPSBnZXRQb2ludHNGcm9tUmVjdChob3ZlclRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSk7XG4gICAgICAgIHBvaW50ZXJHcmFjZUFyZWEgPSBnZXRIdWxsKFsuLi5wYWRkZWRFeGl0UG9pbnRzLCAuLi5ob3ZlclRhcmdldFBvaW50c10pO1xuICAgICAgICBpc1BvaW50ZXJJblRyYW5zaXQuc2V0KHRydWUpO1xuICAgICAgICBhcm1JblRyYW5zaXRBdXRvUmVzZXQoKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiB0cmFja1BvaW50ZXJHcmFjZShldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgICAgIGlmICghcG9pbnRlckdyYWNlQXJlYSkgcmV0dXJuO1xuICAgICAgICBpZiAoIShldmVudC50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpIHJldHVybjtcblxuICAgICAgICBjb25zdCB0cmlnZ2VyID0gdHJpZ2dlckVsKCk7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lckVsKCk7XG4gICAgICAgIGlmICghdHJpZ2dlciB8fCAhY29udGFpbmVyKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0O1xuICAgICAgICBjb25zdCBwb2ludGVyUG9zaXRpb24gPSB7IHg6IGV2ZW50LmNsaWVudFgsIHk6IGV2ZW50LmNsaWVudFkgfTtcbiAgICAgICAgY29uc3QgaGFzRW50ZXJlZFRhcmdldCA9IHRyaWdnZXIuY29udGFpbnModGFyZ2V0KSB8fCBjb250YWluZXIuY29udGFpbnModGFyZ2V0KTtcbiAgICAgICAgY29uc3QgaXNPdXRzaWRlR3JhY2UgPSAhaXNQb2ludEluUG9seWdvbihwb2ludGVyUG9zaXRpb24sIHBvaW50ZXJHcmFjZUFyZWEpO1xuICAgICAgICBjb25zdCBpc0Fub3RoZXJHcmFjZUFyZWFUcmlnZ2VyID0gISF0YXJnZXQuY2xvc2VzdCgnW2RhdGEtZ3JhY2UtYXJlYS10cmlnZ2VyXScpO1xuXG4gICAgICAgIGlmIChoYXNFbnRlcmVkVGFyZ2V0KSB7XG4gICAgICAgICAgICBjbGVhckdyYWNlQXJlYSgpO1xuICAgICAgICB9IGVsc2UgaWYgKGlzT3V0c2lkZUdyYWNlIHx8IGlzQW5vdGhlckdyYWNlQXJlYVRyaWdnZXIpIHtcbiAgICAgICAgICAgIGNsZWFyR3JhY2VBcmVhKCk7XG4gICAgICAgICAgICBwb2ludGVyRXhpdC5lbWl0Vm9pZCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZWZmZWN0KChvbkNsZWFudXBGbikgPT4ge1xuICAgICAgICBjb25zdCB0cmlnZ2VyID0gdHJpZ2dlckVsKCk7XG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lckVsKCk7XG5cbiAgICAgICAgb25DbGVhbnVwRm4oKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZG9jID0gdHJpZ2dlcj8ub3duZXJEb2N1bWVudDtcbiAgICAgICAgICAgIHRyaWdnZXI/LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJsZWF2ZScsIG9uVHJpZ2dlckxlYXZlIGFzIEV2ZW50TGlzdGVuZXIpO1xuICAgICAgICAgICAgY29udGFpbmVyPy5yZW1vdmVFdmVudExpc3RlbmVyKCdwb2ludGVybGVhdmUnLCBvbkNvbnRhaW5lckxlYXZlIGFzIEV2ZW50TGlzdGVuZXIpO1xuICAgICAgICAgICAgZG9jPy5yZW1vdmVFdmVudExpc3RlbmVyKCdwb2ludGVybW92ZScsIHRyYWNrUG9pbnRlckdyYWNlIGFzIEV2ZW50TGlzdGVuZXIpO1xuICAgICAgICAgICAgdHJpZ2dlcj8ucmVtb3ZlQXR0cmlidXRlKCdkYXRhLWdyYWNlLWFyZWEtdHJpZ2dlcicpO1xuICAgICAgICAgICAgY2xlYXJHcmFjZUFyZWEoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCF0cmlnZ2VyIHx8ICFjb250YWluZXIpIHJldHVybjtcblxuICAgICAgICB0cmlnZ2VyLnNldEF0dHJpYnV0ZSgnZGF0YS1ncmFjZS1hcmVhLXRyaWdnZXInLCAnJyk7XG5cbiAgICAgICAgY29uc3Qgb25UcmlnZ2VyTGVhdmUgPSAoZTogUG9pbnRlckV2ZW50KSA9PiBjcmVhdGVHcmFjZUFyZWEoZSwgY29udGFpbmVyKTtcbiAgICAgICAgY29uc3Qgb25Db250YWluZXJMZWF2ZSA9IChlOiBQb2ludGVyRXZlbnQpID0+IGNyZWF0ZUdyYWNlQXJlYShlLCB0cmlnZ2VyKTtcblxuICAgICAgICB0cmlnZ2VyLmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJsZWF2ZScsIG9uVHJpZ2dlckxlYXZlIGFzIEV2ZW50TGlzdGVuZXIsIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcbiAgICAgICAgY29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJsZWF2ZScsIG9uQ29udGFpbmVyTGVhdmUgYXMgRXZlbnRMaXN0ZW5lciwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuICAgICAgICB0cmlnZ2VyLm93bmVyRG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcm1vdmUnLCB0cmFja1BvaW50ZXJHcmFjZSBhcyBFdmVudExpc3RlbmVyLCB7IHBhc3NpdmU6IHRydWUgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBpc1BvaW50ZXJJblRyYW5zaXQ6IGlzUG9pbnRlckluVHJhbnNpdC5hc1JlYWRvbmx5KCksXG4gICAgICAgIG9uUG9pbnRlckV4aXQ6IHBvaW50ZXJFeGl0Lm9uXG4gICAgfTtcbn1cblxuaW50ZXJmYWNlIFBvaW50IHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xufVxudHlwZSBQb2x5Z29uID0gUG9pbnRbXTtcblxuZnVuY3Rpb24gZ2V0RXhpdFNpZGVGcm9tUmVjdChwb2ludDogUG9pbnQsIHJlY3Q6IERPTVJlY3QpOiBTaWRlIHtcbiAgICBjb25zdCB0b3AgPSBNYXRoLmFicyhyZWN0LnRvcCAtIHBvaW50LnkpO1xuICAgIGNvbnN0IGJvdHRvbSA9IE1hdGguYWJzKHJlY3QuYm90dG9tIC0gcG9pbnQueSk7XG4gICAgY29uc3QgcmlnaHQgPSBNYXRoLmFicyhyZWN0LnJpZ2h0IC0gcG9pbnQueCk7XG4gICAgY29uc3QgbGVmdCA9IE1hdGguYWJzKHJlY3QubGVmdCAtIHBvaW50LngpO1xuXG4gICAgc3dpdGNoIChNYXRoLm1pbih0b3AsIGJvdHRvbSwgcmlnaHQsIGxlZnQpKSB7XG4gICAgICAgIGNhc2UgbGVmdDpcbiAgICAgICAgICAgIHJldHVybiAnbGVmdCc7XG4gICAgICAgIGNhc2UgcmlnaHQ6XG4gICAgICAgICAgICByZXR1cm4gJ3JpZ2h0JztcbiAgICAgICAgY2FzZSB0b3A6XG4gICAgICAgICAgICByZXR1cm4gJ3RvcCc7XG4gICAgICAgIGNhc2UgYm90dG9tOlxuICAgICAgICAgICAgcmV0dXJuICdib3R0b20nO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCd1bnJlYWNoYWJsZScpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gZ2V0UGFkZGVkRXhpdFBvaW50cyhleGl0UG9pbnQ6IFBvaW50LCBleGl0U2lkZTogU2lkZSwgcGFkZGluZyA9IDUpIHtcbiAgICBjb25zdCBwdHM6IFBvaW50W10gPSBbXTtcbiAgICBzd2l0Y2ggKGV4aXRTaWRlKSB7XG4gICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgICAgICBwdHMucHVzaChcbiAgICAgICAgICAgICAgICB7IHg6IGV4aXRQb2ludC54IC0gcGFkZGluZywgeTogZXhpdFBvaW50LnkgKyBwYWRkaW5nIH0sXG4gICAgICAgICAgICAgICAgeyB4OiBleGl0UG9pbnQueCArIHBhZGRpbmcsIHk6IGV4aXRQb2ludC55ICsgcGFkZGluZyB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgICAgICBwdHMucHVzaChcbiAgICAgICAgICAgICAgICB7IHg6IGV4aXRQb2ludC54IC0gcGFkZGluZywgeTogZXhpdFBvaW50LnkgLSBwYWRkaW5nIH0sXG4gICAgICAgICAgICAgICAgeyB4OiBleGl0UG9pbnQueCArIHBhZGRpbmcsIHk6IGV4aXRQb2ludC55IC0gcGFkZGluZyB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICAgICAgcHRzLnB1c2goXG4gICAgICAgICAgICAgICAgeyB4OiBleGl0UG9pbnQueCArIHBhZGRpbmcsIHk6IGV4aXRQb2ludC55IC0gcGFkZGluZyB9LFxuICAgICAgICAgICAgICAgIHsgeDogZXhpdFBvaW50LnggKyBwYWRkaW5nLCB5OiBleGl0UG9pbnQueSArIHBhZGRpbmcgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgICBwdHMucHVzaChcbiAgICAgICAgICAgICAgICB7IHg6IGV4aXRQb2ludC54IC0gcGFkZGluZywgeTogZXhpdFBvaW50LnkgLSBwYWRkaW5nIH0sXG4gICAgICAgICAgICAgICAgeyB4OiBleGl0UG9pbnQueCAtIHBhZGRpbmcsIHk6IGV4aXRQb2ludC55ICsgcGFkZGluZyB9XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBwdHM7XG59XG5cbmZ1bmN0aW9uIGdldFBvaW50c0Zyb21SZWN0KHJlY3Q6IERPTVJlY3QpIHtcbiAgICBjb25zdCB7IHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCB9ID0gcmVjdDtcbiAgICByZXR1cm4gW1xuICAgICAgICB7IHg6IGxlZnQsIHk6IHRvcCB9LFxuICAgICAgICB7IHg6IHJpZ2h0LCB5OiB0b3AgfSxcbiAgICAgICAgeyB4OiByaWdodCwgeTogYm90dG9tIH0sXG4gICAgICAgIHsgeDogbGVmdCwgeTogYm90dG9tIH1cbiAgICBdO1xufVxuXG5mdW5jdGlvbiBpc1BvaW50SW5Qb2x5Z29uKHBvaW50OiBQb2ludCwgcG9seWdvbjogUG9seWdvbikge1xuICAgIGNvbnN0IHsgeCwgeSB9ID0gcG9pbnQ7XG4gICAgbGV0IGluc2lkZSA9IGZhbHNlO1xuICAgIGZvciAobGV0IGkgPSAwLCBqID0gcG9seWdvbi5sZW5ndGggLSAxOyBpIDwgcG9seWdvbi5sZW5ndGg7IGogPSBpKyspIHtcbiAgICAgICAgY29uc3QgeGkgPSBwb2x5Z29uW2ldLngsXG4gICAgICAgICAgICB5aSA9IHBvbHlnb25baV0ueTtcbiAgICAgICAgY29uc3QgeGogPSBwb2x5Z29uW2pdLngsXG4gICAgICAgICAgICB5aiA9IHBvbHlnb25bal0ueTtcbiAgICAgICAgY29uc3QgaW50ZXJzZWN0ID0geWkgPiB5ICE9PSB5aiA+IHkgJiYgeCA8ICgoeGogLSB4aSkgKiAoeSAtIHlpKSkgLyAoeWogLSB5aSkgKyB4aTtcbiAgICAgICAgaWYgKGludGVyc2VjdCkgaW5zaWRlID0gIWluc2lkZTtcbiAgICB9XG4gICAgcmV0dXJuIGluc2lkZTtcbn1cblxuZnVuY3Rpb24gZ2V0SHVsbDxQIGV4dGVuZHMgUG9pbnQ+KHBvaW50czogUmVhZG9ubHk8QXJyYXk8UD4+KTogQXJyYXk8UD4ge1xuICAgIGNvbnN0IG5ld1BvaW50czogQXJyYXk8UD4gPSBwb2ludHMuc2xpY2UoKSBhcyBBcnJheTxQPjtcbiAgICBuZXdQb2ludHMuc29ydCgoYSwgYikgPT4gYS54IC0gYi54IHx8IGEueSAtIGIueSk7XG4gICAgcmV0dXJuIGdldEh1bGxQcmVzb3J0ZWQobmV3UG9pbnRzKTtcbn1cblxuZnVuY3Rpb24gZ2V0SHVsbFByZXNvcnRlZDxQIGV4dGVuZHMgUG9pbnQ+KHBvaW50czogUmVhZG9ubHk8QXJyYXk8UD4+KTogQXJyYXk8UD4ge1xuICAgIGlmIChwb2ludHMubGVuZ3RoIDw9IDEpIHJldHVybiBwb2ludHMuc2xpY2UoKSBhcyBBcnJheTxQPjtcblxuICAgIGNvbnN0IHVwcGVyOiBBcnJheTxQPiA9IFtdO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcG9pbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHAgPSBwb2ludHNbaV0hO1xuICAgICAgICB3aGlsZSAodXBwZXIubGVuZ3RoID49IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IHEgPSB1cHBlclt1cHBlci5sZW5ndGggLSAxXSE7XG4gICAgICAgICAgICBjb25zdCByID0gdXBwZXJbdXBwZXIubGVuZ3RoIC0gMl0hO1xuICAgICAgICAgICAgaWYgKChxLnggLSByLngpICogKHAueSAtIHIueSkgPj0gKHEueSAtIHIueSkgKiAocC54IC0gci54KSkgdXBwZXIucG9wKCk7XG4gICAgICAgICAgICBlbHNlIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHVwcGVyLnB1c2gocCk7XG4gICAgfVxuICAgIHVwcGVyLnBvcCgpO1xuXG4gICAgY29uc3QgbG93ZXI6IEFycmF5PFA+ID0gW107XG4gICAgZm9yIChsZXQgaSA9IHBvaW50cy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICBjb25zdCBwID0gcG9pbnRzW2ldITtcbiAgICAgICAgd2hpbGUgKGxvd2VyLmxlbmd0aCA+PSAyKSB7XG4gICAgICAgICAgICBjb25zdCBxID0gbG93ZXJbbG93ZXIubGVuZ3RoIC0gMV0hO1xuICAgICAgICAgICAgY29uc3QgciA9IGxvd2VyW2xvd2VyLmxlbmd0aCAtIDJdITtcbiAgICAgICAgICAgIGlmICgocS54IC0gci54KSAqIChwLnkgLSByLnkpID49IChxLnkgLSByLnkpICogKHAueCAtIHIueCkpIGxvd2VyLnBvcCgpO1xuICAgICAgICAgICAgZWxzZSBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBsb3dlci5wdXNoKHApO1xuICAgIH1cbiAgICBsb3dlci5wb3AoKTtcblxuICAgIGlmICh1cHBlci5sZW5ndGggPT09IDEgJiYgbG93ZXIubGVuZ3RoID09PSAxICYmIHVwcGVyWzBdIS54ID09PSBsb3dlclswXSEueCAmJiB1cHBlclswXSEueSA9PT0gbG93ZXJbMF0hLnkpIHtcbiAgICAgICAgcmV0dXJuIHVwcGVyO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB1cHBlci5jb25jYXQobG93ZXIpO1xuICAgIH1cbn1cbiJdfQ==","import { afterNextRender, booleanAttribute, DestroyRef, Directive, ElementRef, inject, input, numberAttribute, signal } from '@angular/core';\nimport { outputFromObservable, outputToObservable } from '@angular/core/rxjs-interop';\nimport { RdxDismissableLayer } from '@radix-ng/primitives/dismissable-layer';\nimport { RdxPopperContentWrapper } from '@radix-ng/primitives/popper';\nimport { injectRdxTooltipContext } from './tooltip';\nimport { useGraceArea } from './useGraceArea';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@radix-ng/primitives/dismissable-layer\";\nimport * as i2 from \"@radix-ng/primitives/popper\";\nexport class RdxTooltipContentWrapper {\n constructor() {\n this.rootContext = injectRdxTooltipContext();\n this.destroyRef = inject(DestroyRef);\n this.dismissableLayer = inject(RdxDismissableLayer);\n this.elementRef = inject(ElementRef);\n /**\n * The preferred side of the anchor to render against when open.\n * Will be reversed when collisions occur and avoidCollisions is enabled.\n */\n this.side = input('bottom', ...(ngDevMode ? [{ debugName: \"side\" }] : []));\n /**\n * The distance in pixels from the anchor.\n */\n this.sideOffset = input(0, ...(ngDevMode ? [{ debugName: \"sideOffset\", transform: numberAttribute }] : [{ transform: numberAttribute }]));\n /**\n * The preferred alignment against the anchor. May change when collisions occur.\n */\n this.align = input('center', ...(ngDevMode ? [{ debugName: \"align\" }] : []));\n /**\n * An offset in pixels from the `start` or `end` alignment options.\n */\n this.alignOffset = input(0, ...(ngDevMode ? [{ debugName: \"alignOffset\", transform: numberAttribute }] : [{ transform: numberAttribute }]));\n /**\n * The padding between the arrow and the edges of the content.\n * If your content has border-radius, this will prevent it from overflowing the corners.\n */\n this.arrowPadding = input(0, ...(ngDevMode ? [{ debugName: \"arrowPadding\", transform: numberAttribute }] : [{ transform: numberAttribute }]));\n /**\n * When `true`, overrides the `side` and `align` preferences to prevent collisions with boundary edges.\n */\n this.avoidCollisions = input(true, ...(ngDevMode ? [{ debugName: \"avoidCollisions\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * The element used as the collision boundary.\n * By default this is the viewport, though you can provide additional element(s) to be included in this check.\n */\n this.collisionBoundary = input(...(ngDevMode ? [undefined, { debugName: \"collisionBoundary\" }] : []));\n /**\n * The distance in pixels from the boundary edges where collision detection should occur.\n * Accepts a number (same for all sides), or a partial padding object, for example: `{ top: 20, left: 20 }`.\n */\n this.collisionPadding = input(0, ...(ngDevMode ? [{ debugName: \"collisionPadding\" }] : []));\n /**\n * The sticky behavior on the `align` axis.\n * - `partial` will keep the content in the boundary as long as the trigger is at least partially in the boundary\n * - `always` will keep the content in the boundary regardless.\n */\n this.sticky = input('partial', ...(ngDevMode ? [{ debugName: \"sticky\" }] : []));\n /**\n * Whether to hide the content when the trigger becomes fully occluded.\n */\n this.hideWhenDetached = input(false, ...(ngDevMode ? [{ debugName: \"hideWhenDetached\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * Whether to update the position of the floating element on every animation frame if required.\n */\n this.updatePositionStrategy = input('always', ...(ngDevMode ? [{ debugName: \"updatePositionStrategy\" }] : []));\n /**\n * Emits when the element is placed.\n */\n this.placed = outputFromObservable(outputToObservable(inject(RdxPopperContentWrapper).placed));\n /**\n * Event handler called when the escape key is down.\n * Can be prevented.\n */\n this.escapeKeyDown = outputFromObservable(outputToObservable(this.dismissableLayer.escapeKeyDown));\n /**\n * Event handler called when a `pointerdown` event happens outside of the `DismissableLayer`.\n * Can be prevented.\n */\n this.pointerDownOutside = outputFromObservable(outputToObservable(this.dismissableLayer.pointerDownOutside));\n this.triggerEl = signal(null, ...(ngDevMode ? [{ debugName: \"triggerEl\" }] : []));\n this.containerEl = signal(null, ...(ngDevMode ? [{ debugName: \"containerEl\" }] : []));\n this.graceArea = useGraceArea(this.triggerEl, this.containerEl, 300);\n this.afterNextRender = afterNextRender(() => {\n this.triggerEl.set(this.rootContext.trigger().elementRef.nativeElement);\n this.containerEl.set(this.elementRef.nativeElement);\n const handleScroll = (event) => {\n const target = event.target;\n if (target?.contains(this.rootContext.trigger().elementRef.nativeElement)) {\n this.rootContext.close();\n }\n };\n window.addEventListener('scroll', handleScroll, { capture: true });\n this.destroyRef.onDestroy(() => {\n window.removeEventListener('scroll', handleScroll, { capture: true });\n });\n this.graceArea.onPointerExit(() => {\n if (this.rootContext.disableHoverableContent())\n return;\n this.rootContext.close();\n });\n });\n this.dismissableLayer.focusOutside.subscribe((e) => e.preventDefault());\n this.dismissableLayer.dismiss.subscribe(() => this.rootContext.close());\n this.dismissableLayer.pointerDownOutside.subscribe((event) => {\n if (this.rootContext.disableClosingTrigger() &&\n this.rootContext.trigger().elementRef.nativeElement.contains(event.target))\n event.preventDefault();\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTooltipContentWrapper, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.3.3\", type: RdxTooltipContentWrapper, isStandalone: true, selector: \"[rdxTooltipContentWrapper]\", inputs: { side: { classPropertyName: \"side\", publicName: \"side\", isSignal: true, isRequired: false, transformFunction: null }, sideOffset: { classPropertyName: \"sideOffset\", publicName: \"sideOffset\", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: \"align\", publicName: \"align\", isSignal: true, isRequired: false, transformFunction: null }, alignOffset: { classPropertyName: \"alignOffset\", publicName: \"alignOffset\", isSignal: true, isRequired: false, transformFunction: null }, arrowPadding: { classPropertyName: \"arrowPadding\", publicName: \"arrowPadding\", isSignal: true, isRequired: false, transformFunction: null }, avoidCollisions: { classPropertyName: \"avoidCollisions\", publicName: \"avoidCollisions\", isSignal: true, isRequired: false, transformFunction: null }, collisionBoundary: { classPropertyName: \"collisionBoundary\", publicName: \"collisionBoundary\", isSignal: true, isRequired: false, transformFunction: null }, collisionPadding: { classPropertyName: \"collisionPadding\", publicName: \"collisionPadding\", isSignal: true, isRequired: false, transformFunction: null }, sticky: { classPropertyName: \"sticky\", publicName: \"sticky\", isSignal: true, isRequired: false, transformFunction: null }, hideWhenDetached: { classPropertyName: \"hideWhenDetached\", publicName: \"hideWhenDetached\", isSignal: true, isRequired: false, transformFunction: null }, updatePositionStrategy: { classPropertyName: \"updatePositionStrategy\", publicName: \"updatePositionStrategy\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { placed: \"placed\", escapeKeyDown: \"escapeKeyDown\", pointerDownOutside: \"pointerDownOutside\" }, host: { properties: { \"attr.data-state\": \"rootContext.state()\", \"style\": \"{\\n '--radix-tooltip-content-transform-origin': 'var(--radix-popper-transform-origin)',\\n '--radix-tooltip-content-available-width': 'var(--radix-popper-available-width)',\\n '--radix-tooltip-content-available-height': 'var(--radix-popper-available-height)',\\n '--radix-tooltip-trigger-width': 'var(--radix-popper-anchor-width)',\\n '--radix-tooltip-trigger-height': 'var(--radix-popper-anchor-height)',\\n }\" } }, hostDirectives: [{ directive: i1.RdxDismissableLayer }, { directive: i2.RdxPopperContentWrapper, inputs: [\"side\", \"side\", \"sideOffset\", \"sideOffset\", \"align\", \"align\", \"alignOffset\", \"alignOffset\", \"arrowPadding\", \"arrowPadding\", \"avoidCollisions\", \"avoidCollisions\", \"collisionBoundary\", \"collisionBoundary\", \"collisionPadding\", \"collisionPadding\", \"sticky\", \"sticky\", \"hideWhenDetached\", \"hideWhenDetached\", \"updatePositionStrategy\", \"updatePositionStrategy\"] }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTooltipContentWrapper, decorators: [{\n type: Directive,\n args: [{\n selector: '[rdxTooltipContentWrapper]',\n hostDirectives: [\n RdxDismissableLayer,\n {\n directive: RdxPopperContentWrapper,\n inputs: [\n 'side',\n 'sideOffset',\n 'align',\n 'alignOffset',\n 'arrowPadding',\n 'avoidCollisions',\n 'collisionBoundary',\n 'collisionPadding',\n 'sticky',\n 'hideWhenDetached',\n 'updatePositionStrategy'\n ]\n }\n ],\n host: {\n '[attr.data-state]': 'rootContext.state()',\n // re-namespace exposed content custom properties\n '[style]': `{\n '--radix-tooltip-content-transform-origin': 'var(--radix-popper-transform-origin)',\n '--radix-tooltip-content-available-width': 'var(--radix-popper-available-width)',\n '--radix-tooltip-content-available-height': 'var(--radix-popper-available-height)',\n '--radix-tooltip-trigger-width': 'var(--radix-popper-anchor-width)',\n '--radix-tooltip-trigger-height': 'var(--radix-popper-anchor-height)',\n }`\n }\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1jb250ZW50LXdyYXBwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3Rvb2x0aXAyL3NyYy90b29sdGlwLWNvbnRlbnQtd3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsU0FBUyxFQUNULFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLGVBQWUsRUFDZixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0UsT0FBTyxFQUFTLHVCQUF1QixFQUFRLE1BQU0sNkJBQTZCLENBQUM7QUFDbkYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQW1DOUMsTUFBTSxPQUFPLHdCQUF3QjtJQWlIakM7UUFoSG1CLGdCQUFXLEdBQUcsdUJBQXVCLEVBQUcsQ0FBQztRQUMzQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9DLGVBQVUsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO1FBRTFFOzs7V0FHRztRQUNNLFNBQUksR0FBRyxLQUFLLENBQU8sUUFBUSxnREFBQyxDQUFDO1FBRXRDOztXQUVHO1FBQ00sZUFBVSxHQUFHLEtBQUssQ0FBQyxDQUFDLDhDQUFJLFNBQVMsRUFBRSxlQUFlLE9BQTVCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxHQUFDLENBQUM7UUFFL0Q7O1dBRUc7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YixjQUFjO2dDQUNkLGlCQUFpQjtnQ0FDakIsbUJBQW1CO2dDQUNuQixrQkFBa0I7Z0NBQ2xCLFFBQVE7Z0NBQ1Isa0JBQWtCO2dDQUNsQix3QkFBd0I7NkJBQzNCO3lCQUNKO3FCQUNKO29CQUNELElBQUksRUFBRTt3QkFDRixtQkFBbUIsRUFBRSxxQkFBcUI7d0JBQzFDLGlEQUFpRDt3QkFDakQsU0FBUyxFQUFFOzs7Ozs7VUFNVDtxQkFDTDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgRGVzdHJveVJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBpbmplY3QsXG4gICAgaW5wdXQsXG4gICAgbnVtYmVyQXR0cmlidXRlLFxuICAgIHNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG91dHB1dEZyb21PYnNlcnZhYmxlLCBvdXRwdXRUb09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBSZHhEaXNtaXNzYWJsZUxheWVyIH0gZnJvbSAnQHJhZGl4LW5nL3ByaW1pdGl2ZXMvZGlzbWlzc2FibGUtbGF5ZXInO1xuaW1wb3J0IHsgQWxpZ24sIFJkeFBvcHBlckNvbnRlbnRXcmFwcGVyLCBTaWRlIH0gZnJvbSAnQHJhZGl4LW5nL3ByaW1pdGl2ZXMvcG9wcGVyJztcbmltcG9ydCB7IGluamVjdFJkeFRvb2x0aXBDb250ZXh0IH0gZnJvbSAnLi90b29sdGlwJztcbmltcG9ydCB7IHVzZUdyYWNlQXJlYSB9IGZyb20gJy4vdXNlR3JhY2VBcmVhJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbcmR4VG9vbHRpcENvbnRlbnRXcmFwcGVyXScsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAgUmR4RGlzbWlzc2FibGVMYXllcixcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBSZHhQb3BwZXJDb250ZW50V3JhcHBlcixcbiAgICAgICAgICAgIGlucHV0czogW1xuICAgICAgICAgICAgICAgICdzaWRlJyxcbiAgICAgICAgICAgICAgICAnc2lkZU9mZnNldCcsXG4gICAgICAgICAgICAgICAgJ2FsaWduJyxcbiAgICAgICAgICAgICAgICAnYWxpZ25PZmZzZXQnLFxuICAgICAgICAgICAgICAgICdhcnJvd1BhZGRpbmcnLFxuICAgICAgICAgICAgICAgICdhdm9pZENvbGxpc2lvbnMnLFxuICAgICAgICAgICAgICAgICdjb2xsaXNpb25Cb3VuZGFyeScsXG4gICAgICAgICAgICAgICAgJ2NvbGxpc2lvblBhZGRpbmcnLFxuICAgICAgICAgICAgICAgICdzdGlja3knLFxuICAgICAgICAgICAgICAgICdoaWRlV2hlbkRldGFjaGVkJyxcbiAgICAgICAgICAgICAgICAndXBkYXRlUG9zaXRpb25TdHJhdGVneSdcbiAgICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIuZGF0YS1zdGF0ZV0nOiAncm9vdENvbnRleHQuc3RhdGUoKScsXG4gICAgICAgIC8vIHJlLW5hbWVzcGFjZSBleHBvc2VkIGNvbnRlbnQgY3VzdG9tIHByb3BlcnRpZXNcbiAgICAgICAgJ1tzdHlsZV0nOiBge1xuICAgICAgICAgICctLXJhZGl4LXRvb2x0aXAtY29udGVudC10cmFuc2Zvcm0tb3JpZ2luJzogJ3ZhcigtLXJhZGl4LXBvcHBlci10cmFuc2Zvcm0tb3JpZ2luKScsXG4gICAgICAgICAgJy0tcmFkaXgtdG9vbHRpcC1jb250ZW50LWF2YWlsYWJsZS13aWR0aCc6ICd2YXIoLS1yYWRpeC1wb3BwZXItYXZhaWxhYmxlLXdpZHRoKScsXG4gICAgICAgICAgJy0tcmFkaXgtdG9vbHRpcC1jb250ZW50LWF2YWlsYWJsZS1oZWlnaHQnOiAndmFyKC0tcmFkaXgtcG9wcGVyLWF2YWlsYWJsZS1oZWlnaHQpJyxcbiAgICAgICAgICAnLS1yYWRpeC10b29sdGlwLXRyaWdnZXItd2lkdGgnOiAndmFyKC0tcmFkaXgtcG9wcGVyLWFuY2hvci13aWR0aCknLFxuICAgICAgICAgICctLXJhZGl4LXRvb2x0aXAtdHJpZ2dlci1oZWlnaHQnOiAndmFyKC0tcmFkaXgtcG9wcGVyLWFuY2hvci1oZWlnaHQpJyxcbiAgICAgICAgfWBcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFRvb2x0aXBDb250ZW50V3JhcHBlciB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvb3RDb250ZXh0ID0gaW5qZWN0UmR4VG9vbHRpcENvbnRleHQoKSE7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlzbWlzc2FibGVMYXllciA9IGluamVjdChSZHhEaXNtaXNzYWJsZUxheWVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHByZWZlcnJlZCBzaWRlIG9mIHRoZSBhbmNob3IgdG8gcmVuZGVyIGFnYWluc3Qgd2hlbiBvcGVuLlxuICAgICAqIFdpbGwgYmUgcmV2ZXJzZWQgd2hlbiBjb2xsaXNpb25zIG9jY3VyIGFuZCBhdm9pZENvbGxpc2lvbnMgaXMgZW5hYmxlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSBzaWRlID0gaW5wdXQ8U2lkZT4oJ2JvdHRvbScpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRpc3RhbmNlIGluIHBpeGVscyBmcm9tIHRoZSBhbmNob3IuXG4gICAgICovXG4gICAgcmVhZG9ubHkgc2lkZU9mZnNldCA9IGlucHV0KDAsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcHJlZmVycmVkIGFsaWdubWVudCBhZ2FpbnN0IHRoZSBhbmNob3IuIE1heSBjaGFuZ2Ugd2hlbiBjb2xsaXNpb25zIG9jY3VyLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGFsaWduID0gaW5wdXQ8QWxpZ24+KCdjZW50ZXInKTtcblxuICAgIC8qKlxuICAgICAqIEFuIG9mZnNldCBpbiBwaXhlbHMgZnJvbSB0aGUgYHN0YXJ0YCBvciBgZW5kYCBhbGlnbm1lbnQgb3B0aW9ucy5cbiAgICAgKi9cbiAgICByZWFkb25seSBhbGlnbk9mZnNldCA9IGlucHV0KDAsIHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcGFkZGluZyBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIGVkZ2VzIG9mIHRoZSBjb250ZW50LlxuICAgICAqIElmIHlvdXIgY29udGVudCBoYXMgYm9yZGVyLXJhZGl1cywgdGhpcyB3aWxsIHByZXZlbnQgaXQgZnJvbSBvdmVyZmxvd2luZyB0aGUgY29ybmVycy5cbiAgICAgKi9cbiAgICByZWFkb25seSBhcnJvd1BhZGRpbmcgPSBpbnB1dCgwLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuXG4gICAgLyoqXG4gICAgICogV2hlbiBgdHJ1ZWAsIG92ZXJyaWRlcyB0aGUgYHNpZGVgIGFuZCBgYWxpZ25gIHByZWZlcmVuY2VzIHRvIHByZXZlbnQgY29sbGlzaW9ucyB3aXRoIGJvdW5kYXJ5IGVkZ2VzLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGF2b2lkQ29sbGlzaW9ucyA9IGlucHV0KHRydWUsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGVsZW1lbnQgdXNlZCBhcyB0aGUgY29sbGlzaW9uIGJvdW5kYXJ5LlxuICAgICAqIEJ5IGRlZmF1bHQgdGhpcyBpcyB0aGUgdmlld3BvcnQsIHRob3VnaCB5b3UgY2FuIHByb3ZpZGUgYWRkaXRpb25hbCBlbGVtZW50KHMpIHRvIGJlIGluY2x1ZGVkIGluIHRoaXMgY2hlY2suXG4gICAgICovXG4gICAgcmVhZG9ubHkgY29sbGlzaW9uQm91bmRhcnkgPSBpbnB1dDxFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+W10+KCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZGlzdGFuY2UgaW4gcGl4ZWxzIGZyb20gdGhlIGJvdW5kYXJ5IGVkZ2VzIHdoZXJlIGNvbGxpc2lvbiBkZXRlY3Rpb24gc2hvdWxkIG9jY3VyLlxuICAgICAqIEFjY2VwdHMgYSBudW1iZXIgKHNhbWUgZm9yIGFsbCBzaWRlcyksIG9yIGEgcGFydGlhbCBwYWRkaW5nIG9iamVjdCwgZm9yIGV4YW1wbGU6IGB7IHRvcDogMjAsIGxlZnQ6IDIwIH1gLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNvbGxpc2lvblBhZGRpbmcgPSBpbnB1dDxudW1iZXIgfCBQYXJ0aWFsPFJlY29yZDxTaWRlLCBudW1iZXI+Pj4oMCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc3RpY2t5IGJlaGF2aW9yIG9uIHRoZSBgYWxpZ25gIGF4aXMuXG4gICAgICogLSBgcGFydGlhbGAgd2lsbCBrZWVwIHRoZSBjb250ZW50IGluIHRoZSBib3VuZGFyeSBhcyBsb25nIGFzIHRoZSB0cmlnZ2VyIGlzIGF0IGxlYXN0IHBhcnRpYWxseSBpbiB0aGUgYm91bmRhcnlcbiAgICAgKiAtIGBhbHdheXNgIHdpbGwga2VlcCB0aGUgY29udGVudCBpbiB0aGUgYm91bmRhcnkgcmVnYXJkbGVzcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBzdGlja3kgPSBpbnB1dDwncGFydGlhbCcgfCAnYWx3YXlzJz4oJ3BhcnRpYWwnKTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gaGlkZSB0aGUgY29udGVudCB3aGVuIHRoZSB0cmlnZ2VyIGJlY29tZXMgZnVsbHkgb2NjbHVkZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaGlkZVdoZW5EZXRhY2hlZCA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gdXBkYXRlIHRoZSBwb3NpdGlvbiBvZiB0aGUgZmxvYXRpbmcgZWxlbWVudCBvbiBldmVyeSBhbmltYXRpb24gZnJhbWUgaWYgcmVxdWlyZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgdXBkYXRlUG9zaXRpb25TdHJhdGVneSA9IGlucHV0PCdvcHRpbWl6ZWQnIHwgJ2Fsd2F5cyc+KCdhbHdheXMnKTtcblxuICAgIC8qKlxuICAgICAqIEVtaXRzIHdoZW4gdGhlIGVsZW1lbnQgaXMgcGxhY2VkLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHBsYWNlZCA9IG91dHB1dEZyb21PYnNlcnZhYmxlKG91dHB1dFRvT2JzZXJ2YWJsZShpbmplY3QoUmR4UG9wcGVyQ29udGVudFdyYXBwZXIpLnBsYWNlZCkpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgaGFuZGxlciBjYWxsZWQgd2hlbiB0aGUgZXNjYXBlIGtleSBpcyBkb3duLlxuICAgICAqIENhbiBiZSBwcmV2ZW50ZWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXNjYXBlS2V5RG93biA9IG91dHB1dEZyb21PYnNlcnZhYmxlKG91dHB1dFRvT2JzZXJ2YWJsZSh0aGlzLmRpc21pc3NhYmxlTGF5ZXIuZXNjYXBlS2V5RG93bikpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgaGFuZGxlciBjYWxsZWQgd2hlbiBhIGBwb2ludGVyZG93bmAgZXZlbnQgaGFwcGVucyBvdXRzaWRlIG9mIHRoZSBgRGlzbWlzc2FibGVMYXllcmAuXG4gICAgICogQ2FuIGJlIHByZXZlbnRlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSBwb2ludGVyRG93bk91dHNpZGUgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZShvdXRwdXRUb09ic2VydmFibGUodGhpcy5kaXNtaXNzYWJsZUxheWVyLnBvaW50ZXJEb3duT3V0c2lkZSkpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmlnZ2VyRWwgPSBzaWduYWw8SFRNTEVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lckVsID0gc2lnbmFsPEhUTUxFbGVtZW50IHwgbnVsbD4obnVsbCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGdyYWNlQXJlYSA9IHVzZUdyYWNlQXJlYSh0aGlzLnRyaWdnZXJFbCwgdGhpcy5jb250YWluZXJFbCwgMzAwKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWZ0ZXJOZXh0UmVuZGVyID0gYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgICAgdGhpcy50cmlnZ2VyRWwuc2V0KHRoaXMucm9vdENvbnRleHQudHJpZ2dlcigpLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIHRoaXMuY29udGFpbmVyRWwuc2V0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGlmICh0YXJnZXQ/LmNvbnRhaW5zKHRoaXMucm9vdENvbnRleHQudHJpZ2dlcigpLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJvb3RDb250ZXh0LmNsb3NlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuXG4gICAgICAgIHRoaXMuZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmdyYWNlQXJlYS5vblBvaW50ZXJFeGl0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnJvb3RDb250ZXh0LmRpc2FibGVIb3ZlcmFibGVDb250ZW50KCkpIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMucm9vdENvbnRleHQuY2xvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5kaXNtaXNzYWJsZUxheWVyLmZvY3VzT3V0c2lkZS5zdWJzY3JpYmUoKGUpID0+IGUucHJldmVudERlZmF1bHQoKSk7XG5cbiAgICAgICAgdGhpcy5kaXNtaXNzYWJsZUxheWVyLmRpc21pc3Muc3Vic2NyaWJlKCgpID0+IHRoaXMucm9vdENvbnRleHQuY2xvc2UoKSk7XG5cbiAgICAgICAgdGhpcy5kaXNtaXNzYWJsZUxheWVyLnBvaW50ZXJEb3duT3V0c2lkZS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdGhpcy5yb290Q29udGV4dC5kaXNhYmxlQ2xvc2luZ1RyaWdnZXIoKSAmJlxuICAgICAgICAgICAgICAgIHRoaXMucm9vdENvbnRleHQudHJpZ2dlcigpLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19","import { Directive, input } from '@angular/core';\nimport { RdxPortal } from '@radix-ng/primitives/portal';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@radix-ng/primitives/portal\";\nexport class RdxTooltipPortal {\n constructor() {\n this.container = input(...(ngDevMode ? [undefined, { debugName: \"container\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTooltipPortal, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.3.3\", type: RdxTooltipPortal, isStandalone: true, selector: \"[rdxTooltipPortal]\", inputs: { container: { classPropertyName: \"container\", publicName: \"container\", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.RdxPortal, inputs: [\"container\", \"container\"] }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTooltipPortal, decorators: [{\n type: Directive,\n args: [{\n selector: '[rdxTooltipPortal]',\n hostDirectives: [\n {\n directive: RdxPortal,\n inputs: ['container']\n }\n ]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1wb3J0YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3Rvb2x0aXAyL3NyYy90b29sdGlwLXBvcnRhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQVd4RCxNQUFNLE9BQU8sZ0JBQWdCO0lBVDdCO1FBVWEsY0FBUyxHQUFHLEtBQUssK0RBQThDLENBQUM7S0FDNUU7OEdBRlksZ0JBQWdCO2tHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBVDVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsY0FBYyxFQUFFO3dCQUNaOzRCQUNJLFNBQVMsRUFBRSxTQUFTOzRCQUNwQixNQUFNLEVBQUUsQ0FBQyxXQUFXLENBQUM7eUJBQ3hCO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeFBvcnRhbCB9IGZyb20gJ0ByYWRpeC1uZy9wcmltaXRpdmVzL3BvcnRhbCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFRvb2x0aXBQb3J0YWxdJyxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IFJkeFBvcnRhbCxcbiAgICAgICAgICAgIGlucHV0czogWydjb250YWluZXInXVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZHhUb29sdGlwUG9ydGFsIHtcbiAgICByZWFkb25seSBjb250YWluZXIgPSBpbnB1dDxFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IFRlbXBsYXRlUmVmPGFueT4+KCk7XG59XG4iXX0=","import { Directive } from '@angular/core';\nimport { provideRdxPresenceContext, RdxPresenceDirective } from '@radix-ng/primitives/presence';\nimport { injectRdxTooltipContext } from './tooltip';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@radix-ng/primitives/presence\";\nexport class RdxTooltipPortalPresence {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTooltipPortalPresence, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.3\", type: RdxTooltipPortalPresence, isStandalone: true, selector: \"ng-template[rdxTooltipPortalPresence]\", providers: [\n provideRdxPresenceContext(() => {\n const context = injectRdxTooltipContext();\n return { present: context.isOpen };\n })\n ], hostDirectives: [{ directive: i1.RdxPresenceDirective }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxTooltipPortalPresence, decorators: [{\n type: Directive,\n args: [{\n selector: 'ng-template[rdxTooltipPortalPresence]',\n hostDirectives: [RdxPresenceDirective],\n providers: [\n provideRdxPresenceContext(() => {\n const context = injectRdxTooltipContext();\n return { present: context.isOpen };\n })\n ]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1wb3J0YWwtcHJlc2VuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3Rvb2x0aXAyL3NyYy90b29sdGlwLXBvcnRhbC1wcmVzZW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBYXBELE1BQU0sT0FBTyx3QkFBd0I7OEdBQXhCLHdCQUF3QjtrR0FBeEIsd0JBQXdCLG9GQVJ0QjtZQUNQLHlCQUF5QixDQUFDLEdBQUcsRUFBRTtnQkFDM0IsTUFBTSxPQUFPLEdBQUcsdUJBQXVCLEVBQUcsQ0FBQztnQkFFM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkMsQ0FBQyxDQUFDO1NBQ0w7OzJGQUVRLHdCQUF3QjtrQkFYcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUNBQXVDO29CQUNqRCxjQUFjLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDdEMsU0FBUyxFQUFFO3dCQUNQLHlCQUF5QixDQUFDLEdBQUcsRUFBRTs0QkFDM0IsTUFBTSxPQUFPLEdBQUcsdUJBQXVCLEVBQUcsQ0FBQzs0QkFFM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7d0JBQ3ZDLENBQUMsQ0FBQztxQkFDTDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZVJkeFByZXNlbmNlQ29udGV4dCwgUmR4UHJlc2VuY2VEaXJlY3RpdmUgfSBmcm9tICdAcmFkaXgtbmcvcHJpbWl0aXZlcy9wcmVzZW5jZSc7XG5pbXBvcnQgeyBpbmplY3RSZHhUb29sdGlwQ29udGV4dCB9IGZyb20gJy4vdG9vbHRpcCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbcmR4VG9vbHRpcFBvcnRhbFByZXNlbmNlXScsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtSZHhQcmVzZW5jZURpcmVjdGl2ZV0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHByb3ZpZGVSZHhQcmVzZW5jZUNvbnRleHQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29udGV4dCA9IGluamVjdFJkeFRvb2x0aXBDb250ZXh0KCkhO1xuXG4gICAgICAgICAgICByZXR1cm4geyBwcmVzZW50OiBjb250ZXh0LmlzT3BlbiB9O1xuICAgICAgICB9KVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUmR4VG9vbHRpcFBvcnRhbFByZXNlbmNlIHt9XG4iXX0=","import { RdxTooltip } from './src/tooltip';\nimport { RdxTooltipArrow } from './src/tooltip-arrow';\nimport { RdxTooltipContent } from './src/tooltip-content';\nimport { RdxTooltipContentWrapper } from './src/tooltip-content-wrapper';\nimport { RdxTooltipPortal } from './src/tooltip-portal';\nimport { RdxTooltipPortalPresence } from './src/tooltip-portal-presence';\nimport { RdxTooltipTrigger } from './src/tooltip-trigger';\nexport * from './src/tooltip';\nexport * from './src/tooltip-arrow';\nexport * from './src/tooltip-content';\nexport * from './src/tooltip-content-wrapper';\nexport * from './src/tooltip-portal';\nexport * from './src/tooltip-portal-presence';\nexport * from './src/tooltip-trigger';\nexport * from './src/tooltip.config';\nexport const tooltipImports = [\n RdxTooltip,\n RdxTooltipArrow,\n RdxTooltipContent,\n RdxTooltipContentWrapper,\n RdxTooltipPortal,\n RdxTooltipTrigger,\n RdxTooltipPortalPresence\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3Rvb2x0aXAyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzFCLFVBQVU7SUFDVixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLHdCQUF3QjtJQUN4QixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLHdCQUF3QjtDQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmR4VG9vbHRpcCB9IGZyb20gJy4vc3JjL3Rvb2x0aXAnO1xuaW1wb3J0IHsgUmR4VG9vbHRpcEFycm93IH0gZnJvbSAnLi9zcmMvdG9vbHRpcC1hcnJvdyc7XG5pbXBvcnQgeyBSZHhUb29sdGlwQ29udGVudCB9IGZyb20gJy4vc3JjL3Rvb2x0aXAtY29udGVudCc7XG5pbXBvcnQgeyBSZHhUb29sdGlwQ29udGVudFdyYXBwZXIgfSBmcm9tICcuL3NyYy90b29sdGlwLWNvbnRlbnQtd3JhcHBlcic7XG5pbXBvcnQgeyBSZHhUb29sdGlwUG9ydGFsIH0gZnJvbSAnLi9zcmMvdG9vbHRpcC1wb3J0YWwnO1xuaW1wb3J0IHsgUmR4VG9vbHRpcFBvcnRhbFByZXNlbmNlIH0gZnJvbSAnLi9zcmMvdG9vbHRpcC1wb3J0YWwtcHJlc2VuY2UnO1xuaW1wb3J0IHsgUmR4VG9vbHRpcFRyaWdnZXIgfSBmcm9tICcuL3NyYy90b29sdGlwLXRyaWdnZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL3NyYy90b29sdGlwJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3Rvb2x0aXAtYXJyb3cnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvdG9vbHRpcC1jb250ZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3Rvb2x0aXAtY29udGVudC13cmFwcGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3Rvb2x0aXAtcG9ydGFsJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3Rvb2x0aXAtcG9ydGFsLXByZXNlbmNlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3Rvb2x0aXAtdHJpZ2dlcic7XG5leHBvcnQgKiBmcm9tICcuL3NyYy90b29sdGlwLmNvbmZpZyc7XG5cbmV4cG9ydCBjb25zdCB0b29sdGlwSW1wb3J0cyA9IFtcbiAgICBSZHhUb29sdGlwLFxuICAgIFJkeFRvb2x0aXBBcnJvdyxcbiAgICBSZHhUb29sdGlwQ29udGVudCxcbiAgICBSZHhUb29sdGlwQ29udGVudFdyYXBwZXIsXG4gICAgUmR4VG9vbHRpcFBvcnRhbCxcbiAgICBSZHhUb29sdGlwVHJpZ2dlcixcbiAgICBSZHhUb29sdGlwUG9ydGFsUHJlc2VuY2Vcbl07XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy10b29sdGlwMi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvdG9vbHRpcDIvcmFkaXgtbmctcHJpbWl0aXZlcy10b29sdGlwMi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["i1","i2"],"mappings":"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"}