@radix-ng/primitives 0.24.0 → 0.25.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 (294) hide show
  1. package/avatar/src/avatar-fallback.directive.d.ts +1 -1
  2. package/compodoc/documentation.json +1718 -3931
  3. package/core/index.d.ts +3 -2
  4. package/core/src/positioning/constants.d.ts +2 -0
  5. package/core/src/positioning/types.d.ts +31 -0
  6. package/{popover/src/popover.utils.d.ts → core/src/positioning/utils.d.ts} +4 -4
  7. package/dialog/src/dialog-trigger.directive.d.ts +12 -0
  8. package/fesm2022/radix-ng-primitives-accordion.mjs +19 -19
  9. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  10. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +22 -22
  11. package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
  12. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +3 -3
  13. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
  14. package/fesm2022/radix-ng-primitives-avatar.mjs +17 -17
  15. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  16. package/fesm2022/radix-ng-primitives-checkbox.mjs +16 -16
  17. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  18. package/fesm2022/radix-ng-primitives-collapsible.mjs +9 -9
  19. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  20. package/fesm2022/radix-ng-primitives-context-menu.mjs +34 -34
  21. package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
  22. package/fesm2022/radix-ng-primitives-core.mjs +211 -236
  23. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  24. package/fesm2022/radix-ng-primitives-dialog.mjs +31 -26
  25. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
  26. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +34 -34
  27. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +1 -1
  28. package/fesm2022/radix-ng-primitives-label.mjs +3 -3
  29. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  30. package/fesm2022/radix-ng-primitives-menu.mjs +22 -22
  31. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
  32. package/fesm2022/radix-ng-primitives-menubar.mjs +31 -31
  33. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  34. package/fesm2022/radix-ng-primitives-popover.mjs +61 -256
  35. package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
  36. package/fesm2022/radix-ng-primitives-progress.mjs +10 -10
  37. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  38. package/fesm2022/radix-ng-primitives-radio.mjs +12 -12
  39. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  40. package/fesm2022/radix-ng-primitives-roving-focus.mjs +6 -6
  41. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
  42. package/fesm2022/radix-ng-primitives-select.mjs +34 -35
  43. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  44. package/fesm2022/radix-ng-primitives-separator.mjs +3 -3
  45. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  46. package/fesm2022/radix-ng-primitives-slider.mjs +31 -34
  47. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  48. package/fesm2022/radix-ng-primitives-switch.mjs +18 -15
  49. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  50. package/fesm2022/radix-ng-primitives-tabs.mjs +16 -16
  51. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  52. package/fesm2022/radix-ng-primitives-toggle-group.mjs +9 -9
  53. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  54. package/fesm2022/radix-ng-primitives-toggle.mjs +6 -6
  55. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  56. package/fesm2022/radix-ng-primitives-tooltip.mjs +143 -242
  57. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
  58. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +9 -9
  59. package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
  60. package/package.json +3 -57
  61. package/popover/index.d.ts +0 -1
  62. package/popover/src/popover-arrow.directive.d.ts +3 -4
  63. package/popover/src/popover-content.directive.d.ts +3 -3
  64. package/popover/src/popover-root.directive.d.ts +5 -4
  65. package/popover/src/popover.constants.d.ts +0 -2
  66. package/popover/src/popover.types.d.ts +0 -31
  67. package/popover/src/utils/cdk-event.service.d.ts +1 -0
  68. package/switch/src/switch-root.directive.d.ts +4 -1
  69. package/tooltip/src/tooltip-arrow.directive.d.ts +14 -1
  70. package/tooltip/src/tooltip-content.directive.d.ts +4 -5
  71. package/tooltip/src/tooltip-root.directive.d.ts +6 -3
  72. package/tooltip/src/tooltip.types.d.ts +0 -11
  73. package/core/src/control-value-accessor/index.d.ts +0 -75
  74. package/core/src/create-inject-context/assert-injector.d.ts +0 -51
  75. package/core/src/create-inject-context/index.d.ts +0 -68
  76. package/core/src/types.d.ts +0 -23
  77. package/esm2022/accordion/index.mjs +0 -40
  78. package/esm2022/accordion/radix-ng-primitives-accordion.mjs +0 -5
  79. package/esm2022/accordion/src/accordion-content.directive.mjs +0 -42
  80. package/esm2022/accordion/src/accordion-header.directive.mjs +0 -23
  81. package/esm2022/accordion/src/accordion-item.directive.mjs +0 -196
  82. package/esm2022/accordion/src/accordion-root.directive.mjs +0 -200
  83. package/esm2022/accordion/src/accordion-trigger.directive.mjs +0 -42
  84. package/esm2022/alert-dialog/index.mjs +0 -41
  85. package/esm2022/alert-dialog/radix-ng-primitives-alert-dialog.mjs +0 -5
  86. package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +0 -24
  87. package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +0 -34
  88. package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +0 -24
  89. package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +0 -14
  90. package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +0 -24
  91. package/esm2022/alert-dialog/src/alert-dialog.service.mjs +0 -46
  92. package/esm2022/aspect-ratio/index.mjs +0 -2
  93. package/esm2022/aspect-ratio/radix-ng-primitives-aspect-ratio.mjs +0 -5
  94. package/esm2022/aspect-ratio/src/aspect-ratio.directive.mjs +0 -57
  95. package/esm2022/avatar/index.mjs +0 -31
  96. package/esm2022/avatar/radix-ng-primitives-avatar.mjs +0 -5
  97. package/esm2022/avatar/src/avatar-fallback.directive.mjs +0 -67
  98. package/esm2022/avatar/src/avatar-image.directive.mjs +0 -65
  99. package/esm2022/avatar/src/avatar-root.directive.mjs +0 -26
  100. package/esm2022/avatar/src/avatar.config.mjs +0 -17
  101. package/esm2022/checkbox/index.mjs +0 -36
  102. package/esm2022/checkbox/radix-ng-primitives-checkbox.mjs +0 -5
  103. package/esm2022/checkbox/src/checkbox-button.directive.mjs +0 -33
  104. package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +0 -24
  105. package/esm2022/checkbox/src/checkbox-input.directive.mjs +0 -44
  106. package/esm2022/checkbox/src/checkbox.directive.mjs +0 -141
  107. package/esm2022/checkbox/src/checkbox.token.mjs +0 -6
  108. package/esm2022/collapsible/index.mjs +0 -4
  109. package/esm2022/collapsible/radix-ng-primitives-collapsible.mjs +0 -5
  110. package/esm2022/collapsible/src/collapsible-content.directive.mjs +0 -42
  111. package/esm2022/collapsible/src/collapsible-content.token.mjs +0 -3
  112. package/esm2022/collapsible/src/collapsible-root.directive.mjs +0 -127
  113. package/esm2022/collapsible/src/collapsible-trigger.directive.mjs +0 -49
  114. package/esm2022/context-menu/index.mjs +0 -65
  115. package/esm2022/context-menu/radix-ng-primitives-context-menu.mjs +0 -5
  116. package/esm2022/context-menu/src/context-menu-content.directive.mjs +0 -56
  117. package/esm2022/context-menu/src/context-menu-item-checkbox.directive.mjs +0 -39
  118. package/esm2022/context-menu/src/context-menu-item-indicator.directive.mjs +0 -22
  119. package/esm2022/context-menu/src/context-menu-item-radio-group.directive.mjs +0 -37
  120. package/esm2022/context-menu/src/context-menu-item-radio.directive.mjs +0 -67
  121. package/esm2022/context-menu/src/context-menu-item-selectable.mjs +0 -31
  122. package/esm2022/context-menu/src/context-menu-item.directive.mjs +0 -70
  123. package/esm2022/context-menu/src/context-menu-label.directive.mjs +0 -14
  124. package/esm2022/context-menu/src/context-menu-separator.directive.mjs +0 -21
  125. package/esm2022/context-menu/src/context-menu-trigger.directive.mjs +0 -92
  126. package/esm2022/core/index.mjs +0 -11
  127. package/esm2022/core/radix-ng-primitives-core.mjs +0 -5
  128. package/esm2022/core/src/accessor/provide-value-accessor.mjs +0 -19
  129. package/esm2022/core/src/auto-focus.directive.mjs +0 -80
  130. package/esm2022/core/src/control-value-accessor/index.mjs +0 -103
  131. package/esm2022/core/src/create-inject-context/assert-injector.mjs +0 -15
  132. package/esm2022/core/src/create-inject-context/index.mjs +0 -116
  133. package/esm2022/core/src/document.mjs +0 -6
  134. package/esm2022/core/src/id-generator.mjs +0 -43
  135. package/esm2022/core/src/inject-ng-control.mjs +0 -17
  136. package/esm2022/core/src/is-client.mjs +0 -6
  137. package/esm2022/core/src/is-inside-form.mjs +0 -7
  138. package/esm2022/core/src/types.mjs +0 -2
  139. package/esm2022/core/src/window.mjs +0 -15
  140. package/esm2022/dialog/index.mjs +0 -50
  141. package/esm2022/dialog/radix-ng-primitives-dialog.mjs +0 -5
  142. package/esm2022/dialog/src/dialog-close.directive.mjs +0 -25
  143. package/esm2022/dialog/src/dialog-content.directive.mjs +0 -46
  144. package/esm2022/dialog/src/dialog-description.directive.mjs +0 -14
  145. package/esm2022/dialog/src/dialog-dismiss.directive.mjs +0 -25
  146. package/esm2022/dialog/src/dialog-ref.mjs +0 -46
  147. package/esm2022/dialog/src/dialog-title.directive.mjs +0 -14
  148. package/esm2022/dialog/src/dialog-trigger.directive.mjs +0 -54
  149. package/esm2022/dialog/src/dialog.config.mjs +0 -6
  150. package/esm2022/dialog/src/dialog.injectors.mjs +0 -10
  151. package/esm2022/dialog/src/dialog.providers.mjs +0 -26
  152. package/esm2022/dialog/src/dialog.service.mjs +0 -96
  153. package/esm2022/dropdown-menu/index.mjs +0 -68
  154. package/esm2022/dropdown-menu/radix-ng-primitives-dropdown-menu.mjs +0 -5
  155. package/esm2022/dropdown-menu/src/dropdown-menu-content.directive.mjs +0 -56
  156. package/esm2022/dropdown-menu/src/dropdown-menu-item-checkbox.directive.mjs +0 -39
  157. package/esm2022/dropdown-menu/src/dropdown-menu-item-indicator.directive.mjs +0 -22
  158. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio-group.directive.mjs +0 -37
  159. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio.directive.mjs +0 -67
  160. package/esm2022/dropdown-menu/src/dropdown-menu-item-selectable.mjs +0 -31
  161. package/esm2022/dropdown-menu/src/dropdown-menu-item.directive.mjs +0 -73
  162. package/esm2022/dropdown-menu/src/dropdown-menu-label.directive.mjs +0 -14
  163. package/esm2022/dropdown-menu/src/dropdown-menu-separator.directive.mjs +0 -21
  164. package/esm2022/dropdown-menu/src/dropdown-menu-trigger.directive.mjs +0 -210
  165. package/esm2022/index.mjs +0 -2
  166. package/esm2022/label/index.mjs +0 -2
  167. package/esm2022/label/radix-ng-primitives-label.mjs +0 -5
  168. package/esm2022/label/src/label.directive.mjs +0 -57
  169. package/esm2022/menu/index.mjs +0 -45
  170. package/esm2022/menu/radix-ng-primitives-menu.mjs +0 -5
  171. package/esm2022/menu/src/menu-content.directive.mjs +0 -17
  172. package/esm2022/menu/src/menu-directive.mjs +0 -18
  173. package/esm2022/menu/src/menu-group.directive.mjs +0 -20
  174. package/esm2022/menu/src/menu-item.directive.mjs +0 -46
  175. package/esm2022/menu/src/menu-label.directive.mjs +0 -14
  176. package/esm2022/menu/src/menu-separator.directive.mjs +0 -21
  177. package/esm2022/menubar/index.mjs +0 -60
  178. package/esm2022/menubar/radix-ng-primitives-menubar.mjs +0 -5
  179. package/esm2022/menubar/src/menubar-content.directive.mjs +0 -17
  180. package/esm2022/menubar/src/menubar-item-checkbox.directive.mjs +0 -34
  181. package/esm2022/menubar/src/menubar-item-indicator.directive.mjs +0 -17
  182. package/esm2022/menubar/src/menubar-item-radio.directive.mjs +0 -35
  183. package/esm2022/menubar/src/menubar-item.directive.mjs +0 -20
  184. package/esm2022/menubar/src/menubar-radio-group.directive.mjs +0 -17
  185. package/esm2022/menubar/src/menubar-root.directive.mjs +0 -24
  186. package/esm2022/menubar/src/menubar-separator.directive.mjs +0 -17
  187. package/esm2022/menubar/src/menubar-trigger.directive.mjs +0 -45
  188. package/esm2022/popover/index.mjs +0 -51
  189. package/esm2022/popover/radix-ng-primitives-popover.mjs +0 -5
  190. package/esm2022/popover/src/popover-anchor.directive.mjs +0 -75
  191. package/esm2022/popover/src/popover-anchor.token.mjs +0 -3
  192. package/esm2022/popover/src/popover-arrow.directive.mjs +0 -117
  193. package/esm2022/popover/src/popover-arrow.token.mjs +0 -3
  194. package/esm2022/popover/src/popover-close.directive.mjs +0 -49
  195. package/esm2022/popover/src/popover-close.token.mjs +0 -3
  196. package/esm2022/popover/src/popover-content-attributes.component.mjs +0 -70
  197. package/esm2022/popover/src/popover-content-attributes.token.mjs +0 -3
  198. package/esm2022/popover/src/popover-content.directive.mjs +0 -270
  199. package/esm2022/popover/src/popover-root.directive.mjs +0 -320
  200. package/esm2022/popover/src/popover-root.inject.mjs +0 -7
  201. package/esm2022/popover/src/popover-trigger.directive.mjs +0 -41
  202. package/esm2022/popover/src/popover.constants.mjs +0 -90
  203. package/esm2022/popover/src/popover.types.mjs +0 -31
  204. package/esm2022/popover/src/popover.utils.mjs +0 -107
  205. package/esm2022/popover/src/utils/cdk-event.service.mjs +0 -153
  206. package/esm2022/popover/src/utils/constants.mjs +0 -2
  207. package/esm2022/popover/src/utils/types.mjs +0 -2
  208. package/esm2022/progress/index.mjs +0 -25
  209. package/esm2022/progress/radix-ng-primitives-progress.mjs +0 -5
  210. package/esm2022/progress/src/progress-indicator.directive.mjs +0 -33
  211. package/esm2022/progress/src/progress-root.directive.mjs +0 -132
  212. package/esm2022/radio/index.mjs +0 -5
  213. package/esm2022/radio/radix-ng-primitives-radio.mjs +0 -5
  214. package/esm2022/radio/src/radio-indicator.directive.mjs +0 -25
  215. package/esm2022/radio/src/radio-item-input.directive.mjs +0 -37
  216. package/esm2022/radio/src/radio-item.directive.mjs +0 -86
  217. package/esm2022/radio/src/radio-root.directive.mjs +0 -104
  218. package/esm2022/radio/src/radio-tokens.mjs +0 -3
  219. package/esm2022/radix-ng-primitives.mjs +0 -5
  220. package/esm2022/roving-focus/index.mjs +0 -3
  221. package/esm2022/roving-focus/radix-ng-primitives-roving-focus.mjs +0 -5
  222. package/esm2022/roving-focus/src/roving-focus-group.directive.mjs +0 -138
  223. package/esm2022/roving-focus/src/roving-focus-item.directive.mjs +0 -133
  224. package/esm2022/roving-focus/src/utils.mjs +0 -47
  225. package/esm2022/select/index.mjs +0 -65
  226. package/esm2022/select/radix-ng-primitives-select.mjs +0 -5
  227. package/esm2022/select/src/select-content.directive.mjs +0 -53
  228. package/esm2022/select/src/select-group.directive.mjs +0 -18
  229. package/esm2022/select/src/select-icon.directive.mjs +0 -18
  230. package/esm2022/select/src/select-item-indicator.directive.mjs +0 -23
  231. package/esm2022/select/src/select-item.directive.mjs +0 -122
  232. package/esm2022/select/src/select-label.directive.mjs +0 -15
  233. package/esm2022/select/src/select-separator.directive.mjs +0 -18
  234. package/esm2022/select/src/select-trigger.directive.mjs +0 -38
  235. package/esm2022/select/src/select-value.directive.mjs +0 -21
  236. package/esm2022/select/src/select.component.mjs +0 -234
  237. package/esm2022/separator/index.mjs +0 -2
  238. package/esm2022/separator/radix-ng-primitives-separator.mjs +0 -5
  239. package/esm2022/separator/src/separator.directive.mjs +0 -61
  240. package/esm2022/slider/index.mjs +0 -28
  241. package/esm2022/slider/radix-ng-primitives-slider.mjs +0 -5
  242. package/esm2022/slider/src/slider-horizontal.component.mjs +0 -117
  243. package/esm2022/slider/src/slider-impl.directive.mjs +0 -89
  244. package/esm2022/slider/src/slider-orientation-context.service.mjs +0 -27
  245. package/esm2022/slider/src/slider-range.component.mjs +0 -41
  246. package/esm2022/slider/src/slider-root.component.mjs +0 -210
  247. package/esm2022/slider/src/slider-thumb-impl.directive.mjs +0 -106
  248. package/esm2022/slider/src/slider-thumb.component.mjs +0 -22
  249. package/esm2022/slider/src/slider-track.component.mjs +0 -27
  250. package/esm2022/slider/src/slider-vertical.component.mjs +0 -117
  251. package/esm2022/slider/src/utils.mjs +0 -94
  252. package/esm2022/switch/index.mjs +0 -30
  253. package/esm2022/switch/radix-ng-primitives-switch.mjs +0 -5
  254. package/esm2022/switch/src/switch-input.directive.mjs +0 -44
  255. package/esm2022/switch/src/switch-root.directive.mjs +0 -145
  256. package/esm2022/switch/src/switch-thumb.directive.mjs +0 -26
  257. package/esm2022/tabs/index.mjs +0 -35
  258. package/esm2022/tabs/radix-ng-primitives-tabs.mjs +0 -5
  259. package/esm2022/tabs/src/tabs-content.directive.mjs +0 -35
  260. package/esm2022/tabs/src/tabs-list.directive.mjs +0 -26
  261. package/esm2022/tabs/src/tabs-root.directive.mjs +0 -57
  262. package/esm2022/tabs/src/tabs-trigger.directive.mjs +0 -78
  263. package/esm2022/tabs/src/utils.mjs +0 -7
  264. package/esm2022/toggle/index.mjs +0 -3
  265. package/esm2022/toggle/radix-ng-primitives-toggle.mjs +0 -5
  266. package/esm2022/toggle/src/toggle-visually-hidden-input.directive.mjs +0 -31
  267. package/esm2022/toggle/src/toggle.directive.mjs +0 -79
  268. package/esm2022/toggle-group/index.mjs +0 -6
  269. package/esm2022/toggle-group/radix-ng-primitives-toggle-group.mjs +0 -5
  270. package/esm2022/toggle-group/src/toggle-group-item.directive.mjs +0 -85
  271. package/esm2022/toggle-group/src/toggle-group-item.token.mjs +0 -3
  272. package/esm2022/toggle-group/src/toggle-group-multiple.directive.mjs +0 -185
  273. package/esm2022/toggle-group/src/toggle-group.directive.mjs +0 -179
  274. package/esm2022/toggle-group/src/toggle-group.token.mjs +0 -6
  275. package/esm2022/tooltip/index.mjs +0 -41
  276. package/esm2022/tooltip/radix-ng-primitives-tooltip.mjs +0 -5
  277. package/esm2022/tooltip/src/get-content-position.mjs +0 -31
  278. package/esm2022/tooltip/src/tooltip-arrow.directive.mjs +0 -92
  279. package/esm2022/tooltip/src/tooltip-arrow.token.mjs +0 -3
  280. package/esm2022/tooltip/src/tooltip-content-attributes.directive.mjs +0 -24
  281. package/esm2022/tooltip/src/tooltip-content.directive.mjs +0 -48
  282. package/esm2022/tooltip/src/tooltip-content.token.mjs +0 -3
  283. package/esm2022/tooltip/src/tooltip-root.directive.mjs +0 -288
  284. package/esm2022/tooltip/src/tooltip-trigger.directive.mjs +0 -70
  285. package/esm2022/tooltip/src/tooltip.config.mjs +0 -18
  286. package/esm2022/tooltip/src/tooltip.constants.mjs +0 -84
  287. package/esm2022/tooltip/src/tooltip.types.mjs +0 -14
  288. package/esm2022/visually-hidden/index.mjs +0 -4
  289. package/esm2022/visually-hidden/radix-ng-primitives-visually-hidden.mjs +0 -5
  290. package/esm2022/visually-hidden/src/visually-hidden-input-bubble.directive.mjs +0 -74
  291. package/esm2022/visually-hidden/src/visually-hidden-input.directive.mjs +0 -74
  292. package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +0 -42
  293. package/tooltip/src/get-content-position.d.ts +0 -3
  294. package/tooltip/src/tooltip.constants.d.ts +0 -9
@@ -1,8 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, Renderer2, ElementRef, input, computed, effect, forwardRef, Directive, ViewContainerRef, DestroyRef, PLATFORM_ID, output, signal, contentChild, untracked, TemplateRef, NgModule } from '@angular/core';
2
+ import { InjectionToken, inject, ElementRef, Directive, ViewContainerRef, DestroyRef, PLATFORM_ID, input, output, signal, computed, contentChild, effect, untracked, forwardRef, Renderer2, afterNextRender, TemplateRef, NgModule } from '@angular/core';
3
+ import { injectDocument, injectWindow, getArrowPositionParams, getSideAndAlignFromAllPossibleConnectedPositions, RdxPositionSide, RdxPositionAlign, getContentPosition } from '@radix-ng/primitives/core';
3
4
  import { Overlay } from '@angular/cdk/overlay';
4
5
  import { TemplatePortal } from '@angular/cdk/portal';
5
- import { DOCUMENT, isPlatformBrowser } from '@angular/common';
6
+ import { isPlatformBrowser } from '@angular/common';
6
7
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
7
8
  import { filter, take, asyncScheduler } from 'rxjs';
8
9
 
@@ -10,107 +11,6 @@ const RdxTooltipArrowToken = new InjectionToken('RdxTooltipArrowToken');
10
11
 
11
12
  const RdxTooltipContentToken = new InjectionToken('RdxTooltipContentToken');
12
13
 
13
- var RdxTooltipSide;
14
- (function (RdxTooltipSide) {
15
- RdxTooltipSide["Top"] = "top";
16
- RdxTooltipSide["Right"] = "right";
17
- RdxTooltipSide["Bottom"] = "bottom";
18
- RdxTooltipSide["Left"] = "left";
19
- })(RdxTooltipSide || (RdxTooltipSide = {}));
20
- var RdxTooltipAlign;
21
- (function (RdxTooltipAlign) {
22
- RdxTooltipAlign["Start"] = "start";
23
- RdxTooltipAlign["Center"] = "center";
24
- RdxTooltipAlign["End"] = "end";
25
- })(RdxTooltipAlign || (RdxTooltipAlign = {}));
26
-
27
- class RdxTooltipArrowDirective {
28
- constructor() {
29
- /** @ignore */
30
- this.renderer = inject(Renderer2);
31
- /** @ignore */
32
- this.contentDirective = inject(RdxTooltipContentToken);
33
- /** @ignore */
34
- this.elementRef = inject(ElementRef);
35
- /**
36
- * The width of the arrow in pixels.
37
- */
38
- this.width = input(10);
39
- /**
40
- * The height of the arrow in pixels.
41
- */
42
- this.height = input(5);
43
- /** @ignore */
44
- this.arrowSvgElement = computed(() => {
45
- const width = this.width();
46
- const height = this.height();
47
- const svgElement = this.renderer.createElement('svg', 'svg');
48
- this.renderer.setAttribute(svgElement, 'viewBox', '0 0 30 10');
49
- this.renderer.setAttribute(svgElement, 'width', String(width));
50
- this.renderer.setAttribute(svgElement, 'height', String(height));
51
- const polygonElement = this.renderer.createElement('polygon', 'svg');
52
- this.renderer.setAttribute(polygonElement, 'points', '0,0 30,0 15,10');
53
- this.renderer.setAttribute(svgElement, 'preserveAspectRatio', 'none');
54
- this.renderer.appendChild(svgElement, polygonElement);
55
- return svgElement;
56
- });
57
- /** @ignore */
58
- this.onArrowSvgElementChangeEffect = effect(() => {
59
- const arrowElement = this.arrowSvgElement();
60
- this.renderer.appendChild(this.elementRef.nativeElement, arrowElement);
61
- });
62
- /** @ignore */
63
- this.onSideChangeEffect = effect(() => {
64
- const side = this.contentDirective.side();
65
- this.elementRef.nativeElement.parentElement?.setAttribute('style', `position: relative;`);
66
- this.elementRef.nativeElement.style.position = 'absolute';
67
- this.elementRef.nativeElement.style.boxSizing = '';
68
- this.elementRef.nativeElement.style.width = `${this.width()}px`;
69
- this.elementRef.nativeElement.style.height = `${this.height()}px`;
70
- this.elementRef.nativeElement.style.fontSize = '0px';
71
- if ([RdxTooltipSide.Top, RdxTooltipSide.Bottom].includes(side)) {
72
- this.elementRef.nativeElement.style.left = `calc(50% - ${this.width() / 2}px)`;
73
- this.elementRef.nativeElement.style.top = '100%';
74
- if (side === RdxTooltipSide.Bottom) {
75
- this.elementRef.nativeElement.style.transform = 'rotate(180deg)';
76
- this.elementRef.nativeElement.style.top = `-${this.height()}px`;
77
- }
78
- }
79
- if ([RdxTooltipSide.Left, RdxTooltipSide.Right].includes(side)) {
80
- this.elementRef.nativeElement.style.top = `calc(50% - ${this.height() / 2}px)`;
81
- if (side === RdxTooltipSide.Left) {
82
- this.elementRef.nativeElement.style.left = `100%`;
83
- this.elementRef.nativeElement.style.transform = 'rotate(-90deg) translate(0, -50%)';
84
- }
85
- if (side === RdxTooltipSide.Right) {
86
- this.elementRef.nativeElement.style.right = `100%`;
87
- this.elementRef.nativeElement.style.transform = 'rotate(90deg) translate(0, -50%)';
88
- }
89
- }
90
- });
91
- }
92
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipArrowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
93
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxTooltipArrowDirective, isStandalone: true, selector: "[rdxTooltipArrow]", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
94
- {
95
- provide: RdxTooltipArrowToken,
96
- useExisting: forwardRef(() => RdxTooltipArrowDirective)
97
- }
98
- ], ngImport: i0 }); }
99
- }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipArrowDirective, decorators: [{
101
- type: Directive,
102
- args: [{
103
- selector: '[rdxTooltipArrow]',
104
- standalone: true,
105
- providers: [
106
- {
107
- provide: RdxTooltipArrowToken,
108
- useExisting: forwardRef(() => RdxTooltipArrowDirective)
109
- }
110
- ]
111
- }]
112
- }] });
113
-
114
14
  class RdxTooltipTriggerDirective {
115
15
  constructor() {
116
16
  /** @ignore */
@@ -158,10 +58,10 @@ class RdxTooltipTriggerDirective {
158
58
  onClick() {
159
59
  this.tooltipRoot.handleClose();
160
60
  }
161
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
162
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxTooltipTriggerDirective, isStandalone: true, selector: "[rdxTooltipTrigger]", host: { listeners: { "pointermove": "onPointerMove($event)", "pointerleave": "onPointerLeave()", "pointerdown": "onPointerDown()", "focus": "onFocus()", "blur": "onBlur()", "click": "onClick()" }, properties: { "attr.data-state": "tooltipRoot.state()" } }, ngImport: i0 }); }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxTooltipTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
62
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: RdxTooltipTriggerDirective, isStandalone: true, selector: "[rdxTooltipTrigger]", host: { listeners: { "pointermove": "onPointerMove($event)", "pointerleave": "onPointerLeave()", "pointerdown": "onPointerDown()", "focus": "onFocus()", "blur": "onBlur()", "click": "onClick()" }, properties: { "attr.data-state": "tooltipRoot.state()" } }, ngImport: i0 }); }
163
63
  }
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipTriggerDirective, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxTooltipTriggerDirective, decorators: [{
165
65
  type: Directive,
166
66
  args: [{
167
67
  selector: '[rdxTooltipTrigger]',
@@ -210,7 +110,9 @@ class RdxTooltipRootDirective {
210
110
  /** @ignore */
211
111
  this.platformId = inject(PLATFORM_ID);
212
112
  /** @ignore */
213
- this.document = inject(DOCUMENT);
113
+ this.document = injectDocument();
114
+ /** @ignore */
115
+ this.window = injectWindow();
214
116
  /** @ignore */
215
117
  this.tooltipConfig = injectTooltipConfig();
216
118
  /**
@@ -249,7 +151,7 @@ class RdxTooltipRootDirective {
249
151
  /** @ignore */
250
152
  this.tooltipContentDirective = contentChild.required(RdxTooltipContentToken);
251
153
  /** @ignore */
252
- this.tooltipTriggerElementRef = contentChild.required(RdxTooltipTriggerDirective, { read: ElementRef });
154
+ this.tooltipTriggerDirective = contentChild.required(RdxTooltipTriggerDirective);
253
155
  /** @ignore */
254
156
  this.openTimer = 0;
255
157
  /** @ignore */
@@ -320,7 +222,7 @@ class RdxTooltipRootDirective {
320
222
  onClose() {
321
223
  this.clearTimeout(this.skipDelayTimer);
322
224
  if (isPlatformBrowser(this.platformId)) {
323
- this.skipDelayTimer = window.setTimeout(() => {
225
+ this.skipDelayTimer = this.window.setTimeout(() => {
324
226
  this.isOpenDelayed.set(true);
325
227
  }, this.tooltipConfig.skipDelayDuration);
326
228
  }
@@ -370,7 +272,7 @@ class RdxTooltipRootDirective {
370
272
  handleDelayedOpen() {
371
273
  this.clearTimeout(this.openTimer);
372
274
  if (isPlatformBrowser(this.platformId)) {
373
- this.openTimer = window.setTimeout(() => {
275
+ this.openTimer = this.window.setTimeout(() => {
374
276
  this.wasOpenDelayed.set(true);
375
277
  this.setOpen(true);
376
278
  }, this.delayDuration());
@@ -437,7 +339,7 @@ class RdxTooltipRootDirective {
437
339
  getPositionStrategy(connectedPosition) {
438
340
  return this.overlay
439
341
  .position()
440
- .flexibleConnectedTo(this.tooltipTriggerElementRef())
342
+ .flexibleConnectedTo(this.tooltipTriggerDirective().elementRef)
441
343
  .withFlexibleDimensions(false)
442
344
  .withPositions([
443
345
  connectedPosition
@@ -447,18 +349,18 @@ class RdxTooltipRootDirective {
447
349
  /** @ignore */
448
350
  clearTimeout(timeoutId) {
449
351
  if (isPlatformBrowser(this.platformId)) {
450
- window.clearTimeout(timeoutId);
352
+ this.window.clearTimeout(timeoutId);
451
353
  }
452
354
  }
453
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
454
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.11", type: RdxTooltipRootDirective, isStandalone: true, selector: "[rdxTooltipRoot]", inputs: { defaultOpen: { classPropertyName: "defaultOpen", publicName: "defaultOpen", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, delayDuration: { classPropertyName: "delayDuration", publicName: "delayDuration", isSignal: true, isRequired: false, transformFunction: null }, disableHoverableContent: { classPropertyName: "disableHoverableContent", publicName: "disableHoverableContent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOpenChange: "onOpenChange" }, providers: [
355
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxTooltipRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
356
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.0.5", type: RdxTooltipRootDirective, isStandalone: true, selector: "[rdxTooltipRoot]", inputs: { defaultOpen: { classPropertyName: "defaultOpen", publicName: "defaultOpen", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, delayDuration: { classPropertyName: "delayDuration", publicName: "delayDuration", isSignal: true, isRequired: false, transformFunction: null }, disableHoverableContent: { classPropertyName: "disableHoverableContent", publicName: "disableHoverableContent", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOpenChange: "onOpenChange" }, providers: [
455
357
  {
456
358
  provide: RdxTooltipRootToken,
457
359
  useExisting: forwardRef(() => RdxTooltipRootDirective)
458
360
  }
459
- ], queries: [{ propertyName: "tooltipContentDirective", first: true, predicate: RdxTooltipContentToken, descendants: true, isSignal: true }, { propertyName: "tooltipTriggerElementRef", first: true, predicate: RdxTooltipTriggerDirective, descendants: true, read: ElementRef, isSignal: true }], exportAs: ["rdxTooltipRoot"], ngImport: i0 }); }
361
+ ], queries: [{ propertyName: "tooltipContentDirective", first: true, predicate: RdxTooltipContentToken, descendants: true, isSignal: true }, { propertyName: "tooltipTriggerDirective", first: true, predicate: RdxTooltipTriggerDirective, descendants: true, isSignal: true }], exportAs: ["rdxTooltipRoot"], ngImport: i0 }); }
460
362
  }
461
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipRootDirective, decorators: [{
363
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxTooltipRootDirective, decorators: [{
462
364
  type: Directive,
463
365
  args: [{
464
366
  selector: '[rdxTooltipRoot]',
@@ -473,15 +375,121 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
473
375
  }]
474
376
  }] });
475
377
 
378
+ class RdxTooltipArrowDirective {
379
+ constructor() {
380
+ /** @ignore */
381
+ this.tooltipRoot = injectTooltipRoot();
382
+ /** @ignore */
383
+ this.renderer = inject(Renderer2);
384
+ /** @ignore */
385
+ this.contentDirective = inject(RdxTooltipContentToken);
386
+ /** @ignore */
387
+ this.elementRef = inject(ElementRef);
388
+ /**
389
+ * The width of the arrow in pixels.
390
+ */
391
+ this.width = input(10);
392
+ /**
393
+ * The height of the arrow in pixels.
394
+ */
395
+ this.height = input(5);
396
+ /** @ignore */
397
+ this.currentArrowSvgElement = signal(void 0);
398
+ /** @ignore */
399
+ this.arrowSvgElement = computed(() => {
400
+ const width = this.width();
401
+ const height = this.height();
402
+ const svgElement = this.renderer.createElement('svg', 'svg');
403
+ this.renderer.setAttribute(svgElement, 'viewBox', '0 0 30 10');
404
+ this.renderer.setAttribute(svgElement, 'width', String(width));
405
+ this.renderer.setAttribute(svgElement, 'height', String(height));
406
+ const polygonElement = this.renderer.createElement('polygon', 'svg');
407
+ this.renderer.setAttribute(polygonElement, 'points', '0,0 30,0 15,10');
408
+ this.renderer.setAttribute(svgElement, 'preserveAspectRatio', 'none');
409
+ this.renderer.appendChild(svgElement, polygonElement);
410
+ return svgElement;
411
+ });
412
+ /** @ignore */
413
+ this.onArrowSvgElementChangeEffect = effect(() => {
414
+ const arrowElement = this.arrowSvgElement();
415
+ untracked(() => {
416
+ const currentArrowSvgElement = this.currentArrowSvgElement();
417
+ if (currentArrowSvgElement) {
418
+ this.renderer.removeChild(this.elementRef.nativeElement, currentArrowSvgElement);
419
+ }
420
+ this.currentArrowSvgElement.set(arrowElement);
421
+ this.renderer.setStyle(this.elementRef.nativeElement, 'width', `${this.width()}px`);
422
+ this.renderer.setStyle(this.elementRef.nativeElement, 'height', `${this.height()}px`);
423
+ this.renderer.appendChild(this.elementRef.nativeElement, this.currentArrowSvgElement());
424
+ });
425
+ });
426
+ /** @ignore */
427
+ this.onContentPositionAndArrowDimensionsChangeEffect = effect(() => {
428
+ const position = this.contentDirective.position();
429
+ const arrowDimensions = { width: this.width(), height: this.height() };
430
+ untracked(() => {
431
+ if (!position) {
432
+ return;
433
+ }
434
+ this.setPosition(position, arrowDimensions);
435
+ });
436
+ });
437
+ afterNextRender({
438
+ write: () => {
439
+ if (this.elementRef.nativeElement.parentElement) {
440
+ this.renderer.setStyle(this.elementRef.nativeElement.parentElement, 'position', 'relative');
441
+ }
442
+ this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'absolute');
443
+ this.renderer.setStyle(this.elementRef.nativeElement, 'boxSizing', '');
444
+ this.renderer.setStyle(this.elementRef.nativeElement, 'fontSize', '0px');
445
+ }
446
+ });
447
+ }
448
+ /** @ignore */
449
+ setTriggerRect() {
450
+ this.triggerRect = this.tooltipRoot.tooltipTriggerDirective().elementRef.nativeElement.getBoundingClientRect();
451
+ }
452
+ /** @ignore */
453
+ setPosition(position, arrowDimensions) {
454
+ this.setTriggerRect();
455
+ const posParams = getArrowPositionParams(getSideAndAlignFromAllPossibleConnectedPositions(position), { width: arrowDimensions.width, height: arrowDimensions.height }, { width: this.triggerRect.width, height: this.triggerRect.height });
456
+ this.renderer.setStyle(this.elementRef.nativeElement, 'top', posParams.top);
457
+ this.renderer.setStyle(this.elementRef.nativeElement, 'bottom', '');
458
+ this.renderer.setStyle(this.elementRef.nativeElement, 'left', posParams.left);
459
+ this.renderer.setStyle(this.elementRef.nativeElement, 'right', '');
460
+ this.renderer.setStyle(this.elementRef.nativeElement, 'transform', posParams.transform);
461
+ }
462
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxTooltipArrowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
463
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.0.5", type: RdxTooltipArrowDirective, isStandalone: true, selector: "[rdxTooltipArrow]", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
464
+ {
465
+ provide: RdxTooltipArrowToken,
466
+ useExisting: forwardRef(() => RdxTooltipArrowDirective)
467
+ }
468
+ ], ngImport: i0 }); }
469
+ }
470
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxTooltipArrowDirective, decorators: [{
471
+ type: Directive,
472
+ args: [{
473
+ selector: '[rdxTooltipArrow]',
474
+ standalone: true,
475
+ providers: [
476
+ {
477
+ provide: RdxTooltipArrowToken,
478
+ useExisting: forwardRef(() => RdxTooltipArrowDirective)
479
+ }
480
+ ]
481
+ }]
482
+ }], ctorParameters: () => [] });
483
+
476
484
  class RdxTooltipContentAttributesDirective {
477
485
  constructor() {
478
486
  this.tooltipRoot = inject(RdxTooltipRootDirective);
479
487
  this.tooltipContent = inject(RdxTooltipContentToken);
480
488
  }
481
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipContentAttributesDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
482
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxTooltipContentAttributesDirective, isStandalone: true, selector: "[rdxTooltipContentAttributes]", host: { properties: { "attr.data-state": "tooltipRoot.state()", "attr.data-side": "tooltipContent.side()" } }, ngImport: i0 }); }
489
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxTooltipContentAttributesDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
490
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: RdxTooltipContentAttributesDirective, isStandalone: true, selector: "[rdxTooltipContentAttributes]", host: { properties: { "attr.data-state": "tooltipRoot.state()", "attr.data-side": "tooltipContent.side()" } }, ngImport: i0 }); }
483
491
  }
484
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipContentAttributesDirective, decorators: [{
492
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxTooltipContentAttributesDirective, decorators: [{
485
493
  type: Directive,
486
494
  args: [{
487
495
  selector: '[rdxTooltipContentAttributes]',
@@ -493,118 +501,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
493
501
  }]
494
502
  }] });
495
503
 
496
- const TOOLTIP_POSITIONS = {
497
- [RdxTooltipSide.Top]: {
498
- [RdxTooltipAlign.Center]: {
499
- originX: 'center',
500
- originY: 'top',
501
- overlayX: 'center',
502
- overlayY: 'bottom'
503
- },
504
- [RdxTooltipAlign.Start]: {
505
- originX: 'start',
506
- originY: 'top',
507
- overlayX: 'start',
508
- overlayY: 'bottom'
509
- },
510
- [RdxTooltipAlign.End]: {
511
- originX: 'end',
512
- originY: 'top',
513
- overlayX: 'end',
514
- overlayY: 'bottom'
515
- }
516
- },
517
- [RdxTooltipSide.Right]: {
518
- [RdxTooltipAlign.Center]: {
519
- originX: 'end',
520
- originY: 'center',
521
- overlayX: 'start',
522
- overlayY: 'center'
523
- },
524
- [RdxTooltipAlign.Start]: {
525
- originX: 'end',
526
- originY: 'top',
527
- overlayX: 'start',
528
- overlayY: 'top'
529
- },
530
- [RdxTooltipAlign.End]: {
531
- originX: 'end',
532
- originY: 'bottom',
533
- overlayX: 'start',
534
- overlayY: 'bottom'
535
- }
536
- },
537
- [RdxTooltipSide.Bottom]: {
538
- [RdxTooltipAlign.Center]: {
539
- originX: 'center',
540
- originY: 'bottom',
541
- overlayX: 'center',
542
- overlayY: 'top'
543
- },
544
- [RdxTooltipAlign.Start]: {
545
- originX: 'start',
546
- originY: 'bottom',
547
- overlayX: 'start',
548
- overlayY: 'top'
549
- },
550
- [RdxTooltipAlign.End]: {
551
- originX: 'end',
552
- originY: 'bottom',
553
- overlayX: 'end',
554
- overlayY: 'top'
555
- }
556
- },
557
- [RdxTooltipSide.Left]: {
558
- [RdxTooltipAlign.Center]: {
559
- originX: 'start',
560
- originY: 'center',
561
- overlayX: 'end',
562
- overlayY: 'center'
563
- },
564
- [RdxTooltipAlign.Start]: {
565
- originX: 'start',
566
- originY: 'top',
567
- overlayX: 'end',
568
- overlayY: 'top'
569
- },
570
- [RdxTooltipAlign.End]: {
571
- originX: 'start',
572
- originY: 'bottom',
573
- overlayX: 'end',
574
- overlayY: 'bottom'
575
- }
576
- }
577
- };
578
-
579
- function getContentPosition(side, align, sideOffset, alignOffset) {
580
- const position = TOOLTIP_POSITIONS[side][align] ?? TOOLTIP_POSITIONS[RdxTooltipSide.Top][RdxTooltipAlign.Center];
581
- if (sideOffset > 0) {
582
- let xFactor = 0;
583
- let yFactor = 0;
584
- switch (side) {
585
- case RdxTooltipSide.Top:
586
- yFactor = -1;
587
- break;
588
- case RdxTooltipSide.Bottom:
589
- yFactor = 1;
590
- break;
591
- case RdxTooltipSide.Left:
592
- xFactor = -1;
593
- break;
594
- case RdxTooltipSide.Right:
595
- xFactor = 1;
596
- break;
597
- }
598
- position.offsetX = xFactor * sideOffset;
599
- position.offsetY = yFactor * sideOffset;
600
- }
601
- if ([RdxTooltipAlign.Start, RdxTooltipAlign.End].includes(align) && alignOffset) {
602
- const alignOffsetFactor = align === RdxTooltipAlign.End ? -1 : 1;
603
- position.offsetX = alignOffsetFactor * alignOffset;
604
- }
605
- return position;
606
- }
607
-
608
504
  class RdxTooltipContentDirective {
609
505
  constructor() {
610
506
  /** @ignore */
@@ -612,7 +508,7 @@ class RdxTooltipContentDirective {
612
508
  /**
613
509
  * The preferred side of the trigger to render against when open. Will be reversed when collisions occur and avoidCollisions is enabled.
614
510
  */
615
- this.side = input(RdxTooltipSide.Top);
511
+ this.side = input(RdxPositionSide.Top);
616
512
  /**
617
513
  * The distance in pixels from the trigger.
618
514
  */
@@ -620,13 +516,18 @@ class RdxTooltipContentDirective {
620
516
  /**
621
517
  * The preferred alignment against the trigger. May change when collisions occur.
622
518
  */
623
- this.align = input(RdxTooltipAlign.Center);
519
+ this.align = input(RdxPositionAlign.Center);
624
520
  /**
625
521
  * An offset in pixels from the "start" or "end" alignment options.
626
522
  */
627
523
  this.alignOffset = input(0);
628
524
  /** @ingore */
629
- this.position = computed(() => getContentPosition(this.side(), this.align(), this.sideOffset(), this.alignOffset()));
525
+ this.position = computed(() => getContentPosition({
526
+ side: this.side(),
527
+ align: this.align(),
528
+ sideOffset: this.sideOffset(),
529
+ alignOffset: this.alignOffset()
530
+ }));
630
531
  /**
631
532
  * Event handler called when the escape key is down. It can be prevented by calling event.preventDefault.
632
533
  */
@@ -636,10 +537,10 @@ class RdxTooltipContentDirective {
636
537
  */
637
538
  this.onPointerDownOutside = output();
638
539
  }
639
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
640
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxTooltipContentDirective, isStandalone: true, selector: "[rdxTooltipContent]", 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 } }, outputs: { onEscapeKeyDown: "onEscapeKeyDown", onPointerDownOutside: "onPointerDownOutside" }, providers: [{ provide: RdxTooltipContentToken, useExisting: forwardRef(() => RdxTooltipContentDirective) }], ngImport: i0 }); }
540
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxTooltipContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
541
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.0.5", type: RdxTooltipContentDirective, isStandalone: true, selector: "[rdxTooltipContent]", 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 } }, outputs: { onEscapeKeyDown: "onEscapeKeyDown", onPointerDownOutside: "onPointerDownOutside" }, providers: [{ provide: RdxTooltipContentToken, useExisting: forwardRef(() => RdxTooltipContentDirective) }], ngImport: i0 }); }
641
542
  }
642
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipContentDirective, decorators: [{
543
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxTooltipContentDirective, decorators: [{
643
544
  type: Directive,
644
545
  args: [{
645
546
  selector: '[rdxTooltipContent]',
@@ -656,8 +557,8 @@ const _imports = [
656
557
  RdxTooltipRootDirective
657
558
  ];
658
559
  class RdxTooltipModule {
659
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
660
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipModule, imports: [RdxTooltipArrowDirective,
560
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
561
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: RdxTooltipModule, imports: [RdxTooltipArrowDirective,
661
562
  RdxTooltipContentDirective,
662
563
  RdxTooltipTriggerDirective,
663
564
  RdxTooltipContentAttributesDirective,
@@ -666,9 +567,9 @@ class RdxTooltipModule {
666
567
  RdxTooltipTriggerDirective,
667
568
  RdxTooltipContentAttributesDirective,
668
569
  RdxTooltipRootDirective] }); }
669
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipModule }); }
570
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxTooltipModule }); }
670
571
  }
671
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTooltipModule, decorators: [{
572
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxTooltipModule, decorators: [{
672
573
  type: NgModule,
673
574
  args: [{
674
575
  imports: [..._imports],
@@ -680,5 +581,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
680
581
  * Generated bundle index. Do not edit.
681
582
  */
682
583
 
683
- export { RdxTooltipAlign, RdxTooltipArrowDirective, RdxTooltipContentAttributesDirective, RdxTooltipContentDirective, RdxTooltipModule, RdxTooltipRootDirective, RdxTooltipRootToken, RdxTooltipSide, RdxTooltipTriggerDirective, injectTooltipRoot };
584
+ export { RdxTooltipArrowDirective, RdxTooltipContentAttributesDirective, RdxTooltipContentDirective, RdxTooltipModule, RdxTooltipRootDirective, RdxTooltipRootToken, RdxTooltipTriggerDirective, injectTooltipRoot };
684
585
  //# sourceMappingURL=radix-ng-primitives-tooltip.mjs.map