@radix-ng/primitives 0.23.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 (293) hide show
  1. package/avatar/src/avatar-fallback.directive.d.ts +1 -1
  2. package/compodoc/documentation.json +14309 -15232
  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 +246 -266
  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 +17 -9
  64. package/popover/src/popover-root.directive.d.ts +25 -1
  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 +30 -0
  68. package/popover/src/utils/constants.d.ts +1 -0
  69. package/popover/src/utils/types.d.ts +7 -0
  70. package/switch/src/switch-root.directive.d.ts +4 -1
  71. package/tooltip/src/tooltip-arrow.directive.d.ts +14 -1
  72. package/tooltip/src/tooltip-content.directive.d.ts +4 -5
  73. package/tooltip/src/tooltip-root.directive.d.ts +6 -3
  74. package/tooltip/src/tooltip.types.d.ts +0 -11
  75. package/core/src/control-value-accessor/index.d.ts +0 -75
  76. package/core/src/create-inject-context/assert-injector.d.ts +0 -51
  77. package/core/src/create-inject-context/index.d.ts +0 -68
  78. package/core/src/types.d.ts +0 -23
  79. package/esm2022/accordion/index.mjs +0 -40
  80. package/esm2022/accordion/radix-ng-primitives-accordion.mjs +0 -5
  81. package/esm2022/accordion/src/accordion-content.directive.mjs +0 -42
  82. package/esm2022/accordion/src/accordion-header.directive.mjs +0 -23
  83. package/esm2022/accordion/src/accordion-item.directive.mjs +0 -196
  84. package/esm2022/accordion/src/accordion-root.directive.mjs +0 -200
  85. package/esm2022/accordion/src/accordion-trigger.directive.mjs +0 -42
  86. package/esm2022/alert-dialog/index.mjs +0 -41
  87. package/esm2022/alert-dialog/radix-ng-primitives-alert-dialog.mjs +0 -5
  88. package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +0 -24
  89. package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +0 -34
  90. package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +0 -24
  91. package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +0 -14
  92. package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +0 -24
  93. package/esm2022/alert-dialog/src/alert-dialog.service.mjs +0 -46
  94. package/esm2022/aspect-ratio/index.mjs +0 -2
  95. package/esm2022/aspect-ratio/radix-ng-primitives-aspect-ratio.mjs +0 -5
  96. package/esm2022/aspect-ratio/src/aspect-ratio.directive.mjs +0 -57
  97. package/esm2022/avatar/index.mjs +0 -31
  98. package/esm2022/avatar/radix-ng-primitives-avatar.mjs +0 -5
  99. package/esm2022/avatar/src/avatar-fallback.directive.mjs +0 -67
  100. package/esm2022/avatar/src/avatar-image.directive.mjs +0 -65
  101. package/esm2022/avatar/src/avatar-root.directive.mjs +0 -26
  102. package/esm2022/avatar/src/avatar.config.mjs +0 -17
  103. package/esm2022/checkbox/index.mjs +0 -36
  104. package/esm2022/checkbox/radix-ng-primitives-checkbox.mjs +0 -5
  105. package/esm2022/checkbox/src/checkbox-button.directive.mjs +0 -33
  106. package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +0 -24
  107. package/esm2022/checkbox/src/checkbox-input.directive.mjs +0 -44
  108. package/esm2022/checkbox/src/checkbox.directive.mjs +0 -141
  109. package/esm2022/checkbox/src/checkbox.token.mjs +0 -6
  110. package/esm2022/collapsible/index.mjs +0 -4
  111. package/esm2022/collapsible/radix-ng-primitives-collapsible.mjs +0 -5
  112. package/esm2022/collapsible/src/collapsible-content.directive.mjs +0 -42
  113. package/esm2022/collapsible/src/collapsible-content.token.mjs +0 -3
  114. package/esm2022/collapsible/src/collapsible-root.directive.mjs +0 -127
  115. package/esm2022/collapsible/src/collapsible-trigger.directive.mjs +0 -49
  116. package/esm2022/context-menu/index.mjs +0 -65
  117. package/esm2022/context-menu/radix-ng-primitives-context-menu.mjs +0 -5
  118. package/esm2022/context-menu/src/context-menu-content.directive.mjs +0 -56
  119. package/esm2022/context-menu/src/context-menu-item-checkbox.directive.mjs +0 -39
  120. package/esm2022/context-menu/src/context-menu-item-indicator.directive.mjs +0 -22
  121. package/esm2022/context-menu/src/context-menu-item-radio-group.directive.mjs +0 -37
  122. package/esm2022/context-menu/src/context-menu-item-radio.directive.mjs +0 -67
  123. package/esm2022/context-menu/src/context-menu-item-selectable.mjs +0 -31
  124. package/esm2022/context-menu/src/context-menu-item.directive.mjs +0 -70
  125. package/esm2022/context-menu/src/context-menu-label.directive.mjs +0 -14
  126. package/esm2022/context-menu/src/context-menu-separator.directive.mjs +0 -21
  127. package/esm2022/context-menu/src/context-menu-trigger.directive.mjs +0 -92
  128. package/esm2022/core/index.mjs +0 -11
  129. package/esm2022/core/radix-ng-primitives-core.mjs +0 -5
  130. package/esm2022/core/src/accessor/provide-value-accessor.mjs +0 -19
  131. package/esm2022/core/src/auto-focus.directive.mjs +0 -80
  132. package/esm2022/core/src/control-value-accessor/index.mjs +0 -103
  133. package/esm2022/core/src/create-inject-context/assert-injector.mjs +0 -15
  134. package/esm2022/core/src/create-inject-context/index.mjs +0 -116
  135. package/esm2022/core/src/document.mjs +0 -6
  136. package/esm2022/core/src/id-generator.mjs +0 -43
  137. package/esm2022/core/src/inject-ng-control.mjs +0 -17
  138. package/esm2022/core/src/is-client.mjs +0 -6
  139. package/esm2022/core/src/is-inside-form.mjs +0 -7
  140. package/esm2022/core/src/types.mjs +0 -2
  141. package/esm2022/core/src/window.mjs +0 -15
  142. package/esm2022/dialog/index.mjs +0 -50
  143. package/esm2022/dialog/radix-ng-primitives-dialog.mjs +0 -5
  144. package/esm2022/dialog/src/dialog-close.directive.mjs +0 -25
  145. package/esm2022/dialog/src/dialog-content.directive.mjs +0 -46
  146. package/esm2022/dialog/src/dialog-description.directive.mjs +0 -14
  147. package/esm2022/dialog/src/dialog-dismiss.directive.mjs +0 -25
  148. package/esm2022/dialog/src/dialog-ref.mjs +0 -46
  149. package/esm2022/dialog/src/dialog-title.directive.mjs +0 -14
  150. package/esm2022/dialog/src/dialog-trigger.directive.mjs +0 -54
  151. package/esm2022/dialog/src/dialog.config.mjs +0 -6
  152. package/esm2022/dialog/src/dialog.injectors.mjs +0 -10
  153. package/esm2022/dialog/src/dialog.providers.mjs +0 -26
  154. package/esm2022/dialog/src/dialog.service.mjs +0 -96
  155. package/esm2022/dropdown-menu/index.mjs +0 -68
  156. package/esm2022/dropdown-menu/radix-ng-primitives-dropdown-menu.mjs +0 -5
  157. package/esm2022/dropdown-menu/src/dropdown-menu-content.directive.mjs +0 -56
  158. package/esm2022/dropdown-menu/src/dropdown-menu-item-checkbox.directive.mjs +0 -39
  159. package/esm2022/dropdown-menu/src/dropdown-menu-item-indicator.directive.mjs +0 -22
  160. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio-group.directive.mjs +0 -37
  161. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio.directive.mjs +0 -67
  162. package/esm2022/dropdown-menu/src/dropdown-menu-item-selectable.mjs +0 -31
  163. package/esm2022/dropdown-menu/src/dropdown-menu-item.directive.mjs +0 -73
  164. package/esm2022/dropdown-menu/src/dropdown-menu-label.directive.mjs +0 -14
  165. package/esm2022/dropdown-menu/src/dropdown-menu-separator.directive.mjs +0 -21
  166. package/esm2022/dropdown-menu/src/dropdown-menu-trigger.directive.mjs +0 -210
  167. package/esm2022/index.mjs +0 -2
  168. package/esm2022/label/index.mjs +0 -2
  169. package/esm2022/label/radix-ng-primitives-label.mjs +0 -5
  170. package/esm2022/label/src/label.directive.mjs +0 -57
  171. package/esm2022/menu/index.mjs +0 -45
  172. package/esm2022/menu/radix-ng-primitives-menu.mjs +0 -5
  173. package/esm2022/menu/src/menu-content.directive.mjs +0 -17
  174. package/esm2022/menu/src/menu-directive.mjs +0 -18
  175. package/esm2022/menu/src/menu-group.directive.mjs +0 -20
  176. package/esm2022/menu/src/menu-item.directive.mjs +0 -46
  177. package/esm2022/menu/src/menu-label.directive.mjs +0 -14
  178. package/esm2022/menu/src/menu-separator.directive.mjs +0 -21
  179. package/esm2022/menubar/index.mjs +0 -60
  180. package/esm2022/menubar/radix-ng-primitives-menubar.mjs +0 -5
  181. package/esm2022/menubar/src/menubar-content.directive.mjs +0 -17
  182. package/esm2022/menubar/src/menubar-item-checkbox.directive.mjs +0 -34
  183. package/esm2022/menubar/src/menubar-item-indicator.directive.mjs +0 -17
  184. package/esm2022/menubar/src/menubar-item-radio.directive.mjs +0 -35
  185. package/esm2022/menubar/src/menubar-item.directive.mjs +0 -20
  186. package/esm2022/menubar/src/menubar-radio-group.directive.mjs +0 -17
  187. package/esm2022/menubar/src/menubar-root.directive.mjs +0 -24
  188. package/esm2022/menubar/src/menubar-separator.directive.mjs +0 -17
  189. package/esm2022/menubar/src/menubar-trigger.directive.mjs +0 -45
  190. package/esm2022/popover/index.mjs +0 -51
  191. package/esm2022/popover/radix-ng-primitives-popover.mjs +0 -5
  192. package/esm2022/popover/src/popover-anchor.directive.mjs +0 -70
  193. package/esm2022/popover/src/popover-anchor.token.mjs +0 -3
  194. package/esm2022/popover/src/popover-arrow.directive.mjs +0 -117
  195. package/esm2022/popover/src/popover-arrow.token.mjs +0 -3
  196. package/esm2022/popover/src/popover-close.directive.mjs +0 -49
  197. package/esm2022/popover/src/popover-close.token.mjs +0 -3
  198. package/esm2022/popover/src/popover-content-attributes.component.mjs +0 -70
  199. package/esm2022/popover/src/popover-content-attributes.token.mjs +0 -3
  200. package/esm2022/popover/src/popover-content.directive.mjs +0 -255
  201. package/esm2022/popover/src/popover-root.directive.mjs +0 -315
  202. package/esm2022/popover/src/popover-root.inject.mjs +0 -7
  203. package/esm2022/popover/src/popover-trigger.directive.mjs +0 -41
  204. package/esm2022/popover/src/popover.constants.mjs +0 -90
  205. package/esm2022/popover/src/popover.types.mjs +0 -31
  206. package/esm2022/popover/src/popover.utils.mjs +0 -107
  207. package/esm2022/progress/index.mjs +0 -25
  208. package/esm2022/progress/radix-ng-primitives-progress.mjs +0 -5
  209. package/esm2022/progress/src/progress-indicator.directive.mjs +0 -33
  210. package/esm2022/progress/src/progress-root.directive.mjs +0 -132
  211. package/esm2022/radio/index.mjs +0 -5
  212. package/esm2022/radio/radix-ng-primitives-radio.mjs +0 -5
  213. package/esm2022/radio/src/radio-indicator.directive.mjs +0 -25
  214. package/esm2022/radio/src/radio-item-input.directive.mjs +0 -37
  215. package/esm2022/radio/src/radio-item.directive.mjs +0 -86
  216. package/esm2022/radio/src/radio-root.directive.mjs +0 -104
  217. package/esm2022/radio/src/radio-tokens.mjs +0 -3
  218. package/esm2022/radix-ng-primitives.mjs +0 -5
  219. package/esm2022/roving-focus/index.mjs +0 -3
  220. package/esm2022/roving-focus/radix-ng-primitives-roving-focus.mjs +0 -5
  221. package/esm2022/roving-focus/src/roving-focus-group.directive.mjs +0 -138
  222. package/esm2022/roving-focus/src/roving-focus-item.directive.mjs +0 -133
  223. package/esm2022/roving-focus/src/utils.mjs +0 -47
  224. package/esm2022/select/index.mjs +0 -65
  225. package/esm2022/select/radix-ng-primitives-select.mjs +0 -5
  226. package/esm2022/select/src/select-content.directive.mjs +0 -53
  227. package/esm2022/select/src/select-group.directive.mjs +0 -18
  228. package/esm2022/select/src/select-icon.directive.mjs +0 -18
  229. package/esm2022/select/src/select-item-indicator.directive.mjs +0 -23
  230. package/esm2022/select/src/select-item.directive.mjs +0 -122
  231. package/esm2022/select/src/select-label.directive.mjs +0 -15
  232. package/esm2022/select/src/select-separator.directive.mjs +0 -18
  233. package/esm2022/select/src/select-trigger.directive.mjs +0 -38
  234. package/esm2022/select/src/select-value.directive.mjs +0 -21
  235. package/esm2022/select/src/select.component.mjs +0 -234
  236. package/esm2022/separator/index.mjs +0 -2
  237. package/esm2022/separator/radix-ng-primitives-separator.mjs +0 -5
  238. package/esm2022/separator/src/separator.directive.mjs +0 -61
  239. package/esm2022/slider/index.mjs +0 -28
  240. package/esm2022/slider/radix-ng-primitives-slider.mjs +0 -5
  241. package/esm2022/slider/src/slider-horizontal.component.mjs +0 -117
  242. package/esm2022/slider/src/slider-impl.directive.mjs +0 -89
  243. package/esm2022/slider/src/slider-orientation-context.service.mjs +0 -27
  244. package/esm2022/slider/src/slider-range.component.mjs +0 -41
  245. package/esm2022/slider/src/slider-root.component.mjs +0 -210
  246. package/esm2022/slider/src/slider-thumb-impl.directive.mjs +0 -106
  247. package/esm2022/slider/src/slider-thumb.component.mjs +0 -22
  248. package/esm2022/slider/src/slider-track.component.mjs +0 -27
  249. package/esm2022/slider/src/slider-vertical.component.mjs +0 -117
  250. package/esm2022/slider/src/utils.mjs +0 -94
  251. package/esm2022/switch/index.mjs +0 -30
  252. package/esm2022/switch/radix-ng-primitives-switch.mjs +0 -5
  253. package/esm2022/switch/src/switch-input.directive.mjs +0 -44
  254. package/esm2022/switch/src/switch-root.directive.mjs +0 -145
  255. package/esm2022/switch/src/switch-thumb.directive.mjs +0 -26
  256. package/esm2022/tabs/index.mjs +0 -35
  257. package/esm2022/tabs/radix-ng-primitives-tabs.mjs +0 -5
  258. package/esm2022/tabs/src/tabs-content.directive.mjs +0 -35
  259. package/esm2022/tabs/src/tabs-list.directive.mjs +0 -26
  260. package/esm2022/tabs/src/tabs-root.directive.mjs +0 -57
  261. package/esm2022/tabs/src/tabs-trigger.directive.mjs +0 -78
  262. package/esm2022/tabs/src/utils.mjs +0 -7
  263. package/esm2022/toggle/index.mjs +0 -3
  264. package/esm2022/toggle/radix-ng-primitives-toggle.mjs +0 -5
  265. package/esm2022/toggle/src/toggle-visually-hidden-input.directive.mjs +0 -31
  266. package/esm2022/toggle/src/toggle.directive.mjs +0 -79
  267. package/esm2022/toggle-group/index.mjs +0 -6
  268. package/esm2022/toggle-group/radix-ng-primitives-toggle-group.mjs +0 -5
  269. package/esm2022/toggle-group/src/toggle-group-item.directive.mjs +0 -85
  270. package/esm2022/toggle-group/src/toggle-group-item.token.mjs +0 -3
  271. package/esm2022/toggle-group/src/toggle-group-multiple.directive.mjs +0 -185
  272. package/esm2022/toggle-group/src/toggle-group.directive.mjs +0 -179
  273. package/esm2022/toggle-group/src/toggle-group.token.mjs +0 -6
  274. package/esm2022/tooltip/index.mjs +0 -41
  275. package/esm2022/tooltip/radix-ng-primitives-tooltip.mjs +0 -5
  276. package/esm2022/tooltip/src/get-content-position.mjs +0 -31
  277. package/esm2022/tooltip/src/tooltip-arrow.directive.mjs +0 -92
  278. package/esm2022/tooltip/src/tooltip-arrow.token.mjs +0 -3
  279. package/esm2022/tooltip/src/tooltip-content-attributes.directive.mjs +0 -24
  280. package/esm2022/tooltip/src/tooltip-content.directive.mjs +0 -48
  281. package/esm2022/tooltip/src/tooltip-content.token.mjs +0 -3
  282. package/esm2022/tooltip/src/tooltip-root.directive.mjs +0 -288
  283. package/esm2022/tooltip/src/tooltip-trigger.directive.mjs +0 -70
  284. package/esm2022/tooltip/src/tooltip.config.mjs +0 -18
  285. package/esm2022/tooltip/src/tooltip.constants.mjs +0 -84
  286. package/esm2022/tooltip/src/tooltip.types.mjs +0 -14
  287. package/esm2022/visually-hidden/index.mjs +0 -4
  288. package/esm2022/visually-hidden/radix-ng-primitives-visually-hidden.mjs +0 -5
  289. package/esm2022/visually-hidden/src/visually-hidden-input-bubble.directive.mjs +0 -74
  290. package/esm2022/visually-hidden/src/visually-hidden-input.directive.mjs +0 -74
  291. package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +0 -42
  292. package/tooltip/src/get-content-position.d.ts +0 -3
  293. package/tooltip/src/tooltip.constants.d.ts +0 -9
@@ -1,8 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, TemplateRef, DestroyRef, computed, input, output, effect, untracked, SimpleChange, Directive, ElementRef, signal, booleanAttribute, contentChild, ViewContainerRef, afterNextRender, isDevMode, assertInInjectionContext, forwardRef, Renderer2, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
2
+ import { InjectionToken, inject, TemplateRef, DestroyRef, computed, input, output, effect, untracked, SimpleChange, Directive, ElementRef, NgZone, Renderer2, isDevMode, VERSION, Injectable, makeEnvironmentProviders, signal, booleanAttribute, contentChild, ViewContainerRef, afterNextRender, assertInInjectionContext, forwardRef, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/cdk/overlay';
4
4
  import { Overlay, CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
5
- import { DOCUMENT } from '@angular/common';
5
+ import { RdxPositionSide, RdxPositionAlign, getContentPosition, getAllPossibleConnectedPositions, injectDocument, injectWindow, getArrowPositionParams, getSideAndAlignFromAllPossibleConnectedPositions } from '@radix-ng/primitives/core';
6
6
  import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
7
7
  import { filter, tap } from 'rxjs';
8
8
 
@@ -14,19 +14,13 @@ const RdxPopoverCloseToken = new InjectionToken('RdxPopoverCloseToken');
14
14
 
15
15
  const RdxPopoverContentAttributesToken = new InjectionToken('RdxPopoverContentAttributesToken');
16
16
 
17
- var RdxPopoverSide;
18
- (function (RdxPopoverSide) {
19
- RdxPopoverSide["Top"] = "top";
20
- RdxPopoverSide["Right"] = "right";
21
- RdxPopoverSide["Bottom"] = "bottom";
22
- RdxPopoverSide["Left"] = "left";
23
- })(RdxPopoverSide || (RdxPopoverSide = {}));
24
- var RdxPopoverAlign;
25
- (function (RdxPopoverAlign) {
26
- RdxPopoverAlign["Start"] = "start";
27
- RdxPopoverAlign["Center"] = "center";
28
- RdxPopoverAlign["End"] = "end";
29
- })(RdxPopoverAlign || (RdxPopoverAlign = {}));
17
+ const DEFAULTS = {
18
+ offsets: {
19
+ side: 10,
20
+ align: 0
21
+ }
22
+ };
23
+
30
24
  var RdxPopoverState;
31
25
  (function (RdxPopoverState) {
32
26
  RdxPopoverState["OPEN"] = "open";
@@ -45,200 +39,6 @@ var RdxPopoverAnimationStatus;
45
39
  RdxPopoverAnimationStatus["CLOSED_ENDED"] = "closed_ended";
46
40
  })(RdxPopoverAnimationStatus || (RdxPopoverAnimationStatus = {}));
47
41
 
48
- const POPOVER_POSITIONS = {
49
- [RdxPopoverSide.Top]: {
50
- [RdxPopoverAlign.Center]: {
51
- originX: 'center',
52
- originY: 'top',
53
- overlayX: 'center',
54
- overlayY: 'bottom'
55
- },
56
- [RdxPopoverAlign.Start]: {
57
- originX: 'start',
58
- originY: 'top',
59
- overlayX: 'start',
60
- overlayY: 'bottom'
61
- },
62
- [RdxPopoverAlign.End]: {
63
- originX: 'end',
64
- originY: 'top',
65
- overlayX: 'end',
66
- overlayY: 'bottom'
67
- }
68
- },
69
- [RdxPopoverSide.Right]: {
70
- [RdxPopoverAlign.Center]: {
71
- originX: 'end',
72
- originY: 'center',
73
- overlayX: 'start',
74
- overlayY: 'center'
75
- },
76
- [RdxPopoverAlign.Start]: {
77
- originX: 'end',
78
- originY: 'top',
79
- overlayX: 'start',
80
- overlayY: 'top'
81
- },
82
- [RdxPopoverAlign.End]: {
83
- originX: 'end',
84
- originY: 'bottom',
85
- overlayX: 'start',
86
- overlayY: 'bottom'
87
- }
88
- },
89
- [RdxPopoverSide.Bottom]: {
90
- [RdxPopoverAlign.Center]: {
91
- originX: 'center',
92
- originY: 'bottom',
93
- overlayX: 'center',
94
- overlayY: 'top'
95
- },
96
- [RdxPopoverAlign.Start]: {
97
- originX: 'start',
98
- originY: 'bottom',
99
- overlayX: 'start',
100
- overlayY: 'top'
101
- },
102
- [RdxPopoverAlign.End]: {
103
- originX: 'end',
104
- originY: 'bottom',
105
- overlayX: 'end',
106
- overlayY: 'top'
107
- }
108
- },
109
- [RdxPopoverSide.Left]: {
110
- [RdxPopoverAlign.Center]: {
111
- originX: 'start',
112
- originY: 'center',
113
- overlayX: 'end',
114
- overlayY: 'center'
115
- },
116
- [RdxPopoverAlign.Start]: {
117
- originX: 'start',
118
- originY: 'top',
119
- overlayX: 'end',
120
- overlayY: 'top'
121
- },
122
- [RdxPopoverAlign.End]: {
123
- originX: 'start',
124
- originY: 'bottom',
125
- overlayX: 'end',
126
- overlayY: 'bottom'
127
- }
128
- }
129
- };
130
- const DEFAULTS = {
131
- offsets: {
132
- side: 10,
133
- align: 0
134
- }
135
- };
136
-
137
- let allPossibleConnectedPositions;
138
- function getAllPossibleConnectedPositions() {
139
- if (!allPossibleConnectedPositions) {
140
- allPossibleConnectedPositions = new Map();
141
- }
142
- if (allPossibleConnectedPositions.size < 1) {
143
- Object.keys(POPOVER_POSITIONS).forEach((side) => {
144
- Object.keys(POPOVER_POSITIONS[side] ?? {}).forEach((align) => {
145
- allPossibleConnectedPositions.set(`${side}|${align}`, POPOVER_POSITIONS[side][align]);
146
- });
147
- });
148
- }
149
- return allPossibleConnectedPositions;
150
- }
151
- function getSideAndAlignFromAllPossibleConnectedPositions(position) {
152
- const allPossibleConnectedPositions = getAllPossibleConnectedPositions();
153
- let sideAndAlign;
154
- allPossibleConnectedPositions.forEach((value, key) => {
155
- if (position.originX === value.originX &&
156
- position.originY === value.originY &&
157
- position.overlayX === value.overlayX &&
158
- position.overlayY === value.overlayY) {
159
- const sideAndAlignArray = key.split('|');
160
- sideAndAlign = {
161
- side: sideAndAlignArray[0],
162
- align: sideAndAlignArray[1]
163
- };
164
- }
165
- });
166
- if (!sideAndAlign) {
167
- throw Error(`[RdxPopover] cannot infer both side and align from the given position (${JSON.stringify(position)})`);
168
- }
169
- return sideAndAlign;
170
- }
171
- function getContentPosition(sideAndAlignWithOffsets) {
172
- const { side, align, sideOffset, alignOffset } = sideAndAlignWithOffsets;
173
- const position = {
174
- ...(POPOVER_POSITIONS[side]?.[align] ?? POPOVER_POSITIONS[RdxPopoverSide.Top][RdxPopoverAlign.Center])
175
- };
176
- if (sideOffset || alignOffset) {
177
- if ([RdxPopoverSide.Top, RdxPopoverSide.Bottom].includes(side)) {
178
- if (sideOffset) {
179
- position.offsetY = side === RdxPopoverSide.Top ? -sideOffset : sideOffset;
180
- }
181
- if (alignOffset) {
182
- position.offsetX = alignOffset;
183
- }
184
- }
185
- else {
186
- if (sideOffset) {
187
- position.offsetX = side === RdxPopoverSide.Left ? -sideOffset : sideOffset;
188
- }
189
- if (alignOffset) {
190
- position.offsetY = alignOffset;
191
- }
192
- }
193
- }
194
- return position;
195
- }
196
- function getArrowPositionParams(sideAndAlign, arrowWidthAndHeight, triggerWidthAndHeight) {
197
- const posParams = {
198
- top: '',
199
- left: '',
200
- transform: ''
201
- };
202
- if ([RdxPopoverSide.Top, RdxPopoverSide.Bottom].includes(sideAndAlign.side)) {
203
- if (sideAndAlign.side === RdxPopoverSide.Top) {
204
- posParams.top = '100%';
205
- }
206
- else {
207
- posParams.top = `-${arrowWidthAndHeight.height}px`;
208
- posParams.transform = `rotate(180deg)`;
209
- }
210
- if (sideAndAlign.align === RdxPopoverAlign.Start) {
211
- posParams.left = `${(triggerWidthAndHeight.width - arrowWidthAndHeight.width) / 2}px`;
212
- }
213
- else if (sideAndAlign.align === RdxPopoverAlign.Center) {
214
- posParams.left = `calc(50% - ${arrowWidthAndHeight.width / 2}px)`;
215
- }
216
- else if (sideAndAlign.align === RdxPopoverAlign.End) {
217
- posParams.left = `calc(100% - ${(triggerWidthAndHeight.width + arrowWidthAndHeight.width) / 2}px)`;
218
- }
219
- }
220
- else if ([RdxPopoverSide.Left, RdxPopoverSide.Right].includes(sideAndAlign.side)) {
221
- if (sideAndAlign.side === RdxPopoverSide.Left) {
222
- posParams.left = `100%`;
223
- posParams.transform = `rotate(-90deg) translate(0, -50%)`;
224
- }
225
- else {
226
- posParams.left = `-${arrowWidthAndHeight.width}px`;
227
- posParams.transform = `rotate(90deg) translate(0, -50%)`;
228
- }
229
- if (sideAndAlign.align === RdxPopoverAlign.Start) {
230
- posParams.top = `${(triggerWidthAndHeight.height - arrowWidthAndHeight.height) / 2}px`;
231
- }
232
- else if (sideAndAlign.align === RdxPopoverAlign.Center) {
233
- posParams.top = `calc(50% - ${arrowWidthAndHeight.height / 2}px)`;
234
- }
235
- else if (sideAndAlign.align === RdxPopoverAlign.End) {
236
- posParams.top = `calc(100% - ${(triggerWidthAndHeight.height + arrowWidthAndHeight.height) / 2}px)`;
237
- }
238
- }
239
- return posParams;
240
- }
241
-
242
42
  class RdxPopoverContentDirective {
243
43
  constructor() {
244
44
  /** @ignore */
@@ -257,7 +57,7 @@ class RdxPopoverContentDirective {
257
57
  * @description The preferred side of the trigger to render against when open. Will be reversed when collisions occur and avoidCollisions is enabled.
258
58
  * @default top
259
59
  */
260
- this.side = input(RdxPopoverSide.Top);
60
+ this.side = input(RdxPositionSide.Top);
261
61
  /**
262
62
  * @description The distance in pixels from the trigger.
263
63
  * @default undefined
@@ -267,7 +67,7 @@ class RdxPopoverContentDirective {
267
67
  * @description The preferred alignment against the trigger. May change when collisions occur.
268
68
  * @default center
269
69
  */
270
- this.align = input(RdxPopoverAlign.Center);
70
+ this.align = input(RdxPositionAlign.Center);
271
71
  /**
272
72
  * @description An offset in pixels from the "start" or "end" alignment options.
273
73
  * @default undefined
@@ -277,15 +77,21 @@ class RdxPopoverContentDirective {
277
77
  * @description Whether to add some alternate positions of the content.
278
78
  * @default false
279
79
  */
280
- this.disableAlternatePositions = input(false);
80
+ this.alternatePositionsDisabled = input(false);
81
+ /** @description Whether to prevent `onOverlayEscapeKeyDown` handler from calling. */
82
+ this.onOverlayEscapeKeyDownDisabled = input(false);
83
+ /** @description Whether to prevent `onOverlayOutsideClick` handler from calling. */
84
+ this.onOverlayOutsideClickDisabled = input(false);
281
85
  /**
282
- * @description Event handler called when the escape key is down. It can be prevented by calling event.preventDefault.
86
+ * @description Event handler called when the escape key is down.
87
+ * It can be prevented by setting `onOverlayEscapeKeyDownDisabled` input to `true`.
283
88
  */
284
- this.onEscapeKeyDown = output();
89
+ this.onOverlayEscapeKeyDown = output();
285
90
  /**
286
- * @description Event handler called when a pointer event occurs outside the bounds of the component. It can be prevented by calling event.preventDefault.
91
+ * @description Event handler called when a pointer event occurs outside the bounds of the component.
92
+ * It can be prevented by setting `onOverlayOutsideClickDisabled` input to `true`.
287
93
  */
288
- this.onOutsideClick = output();
94
+ this.onOverlayOutsideClick = output();
289
95
  /**
290
96
  * @description Event handler called after the overlay is open
291
97
  */
@@ -302,6 +108,7 @@ class RdxPopoverContentDirective {
302
108
  /** @ignore */
303
109
  ngOnInit() {
304
110
  this.setScrollStrategy();
111
+ this.setHasBackdrop();
305
112
  this.setDisableClose();
306
113
  this.onAttach();
307
114
  this.onDetach();
@@ -334,9 +141,10 @@ class RdxPopoverContentDirective {
334
141
  connectKeydownEscape() {
335
142
  this.connectedOverlay.overlayKeydown
336
143
  .asObservable()
337
- .pipe(filter((event) => event.key === 'Escape'), tap((event) => {
338
- this.onEscapeKeyDown.emit(event);
339
- }), filter((event) => !event.defaultPrevented && !this.popoverRoot.firstDefaultOpen()), tap(() => {
144
+ .pipe(filter(() => !this.onOverlayEscapeKeyDownDisabled() &&
145
+ !this.popoverRoot.rdxCdkEventService?.primitivePreventedFromCdkEvent(this.popoverRoot, 'cdkOverlayEscapeKeyDown')), filter((event) => event.key === 'Escape'), tap((event) => {
146
+ this.onOverlayEscapeKeyDown.emit(event);
147
+ }), filter(() => !this.popoverRoot.firstDefaultOpen()), tap(() => {
340
148
  this.popoverRoot.handleClose();
341
149
  }), takeUntilDestroyed(this.destroyRef))
342
150
  .subscribe();
@@ -345,7 +153,8 @@ class RdxPopoverContentDirective {
345
153
  connectOutsideClick() {
346
154
  this.connectedOverlay.overlayOutsideClick
347
155
  .asObservable()
348
- .pipe(
156
+ .pipe(filter(() => !this.onOverlayOutsideClickDisabled() &&
157
+ !this.popoverRoot.rdxCdkEventService?.primitivePreventedFromCdkEvent(this.popoverRoot, 'cdkOverlayOutsideClick')),
349
158
  /**
350
159
  * Handle the situation when an anchor is added and the anchor becomes the origin of the overlay
351
160
  * hence the trigger will be considered the outside element
@@ -356,8 +165,8 @@ class RdxPopoverContentDirective {
356
165
  .popoverTriggerDirective()
357
166
  .elementRef.nativeElement.contains(event.target));
358
167
  }), tap((event) => {
359
- this.onOutsideClick.emit(event);
360
- }), filter((event) => !event.defaultPrevented && !this.popoverRoot.firstDefaultOpen()), tap(() => {
168
+ this.onOverlayOutsideClick.emit(event);
169
+ }), filter(() => !this.popoverRoot.firstDefaultOpen()), tap(() => {
361
170
  this.popoverRoot.handleClose();
362
171
  }), takeUntilDestroyed(this.destroyRef))
363
172
  .subscribe();
@@ -393,6 +202,12 @@ class RdxPopoverContentDirective {
393
202
  this.fireOverlayNgOnChanges('scrollStrategy', this.connectedOverlay.scrollStrategy, prevScrollStrategy);
394
203
  }
395
204
  /** @ignore */
205
+ setHasBackdrop() {
206
+ const prevHasBackdrop = this.connectedOverlay.hasBackdrop;
207
+ this.connectedOverlay.hasBackdrop = false;
208
+ this.fireOverlayNgOnChanges('hasBackdrop', this.connectedOverlay.hasBackdrop, prevHasBackdrop);
209
+ }
210
+ /** @ignore */
396
211
  setDisableClose() {
397
212
  const prevDisableClose = this.connectedOverlay.disableClose;
398
213
  this.connectedOverlay.disableClose = true;
@@ -425,7 +240,7 @@ class RdxPopoverContentDirective {
425
240
  alignOffset: offsets.alignOffset
426
241
  });
427
242
  const positions = [basePosition];
428
- if (!this.disableAlternatePositions()) {
243
+ if (!this.alternatePositionsDisabled()) {
429
244
  /**
430
245
  * Alternate positions for better user experience along the X/Y axis (e.g. vertical/horizontal scrolling)
431
246
  */
@@ -458,7 +273,7 @@ class RdxPopoverContentDirective {
458
273
  onPositionChangeEffect() {
459
274
  effect(() => {
460
275
  const positions = this.positions();
461
- this.disableAlternatePositions();
276
+ this.alternatePositionsDisabled();
462
277
  untracked(() => {
463
278
  this.setPositions(positions);
464
279
  });
@@ -470,10 +285,10 @@ class RdxPopoverContentDirective {
470
285
  [input]: new SimpleChange(previousValue, currentValue, firstChange)
471
286
  });
472
287
  }
473
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
474
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxPopoverContentDirective, isStandalone: true, selector: "[rdxPopoverContent]", 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 }, disableAlternatePositions: { classPropertyName: "disableAlternatePositions", publicName: "disableAlternatePositions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onEscapeKeyDown: "onEscapeKeyDown", onOutsideClick: "onOutsideClick", onOpen: "onOpen", onClosed: "onClosed" }, hostDirectives: [{ directive: i1.CdkConnectedOverlay }], ngImport: i0 }); }
288
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxPopoverContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
289
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.0.5", type: RdxPopoverContentDirective, isStandalone: true, selector: "[rdxPopoverContent]", 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 }, alternatePositionsDisabled: { classPropertyName: "alternatePositionsDisabled", publicName: "alternatePositionsDisabled", isSignal: true, isRequired: false, transformFunction: null }, onOverlayEscapeKeyDownDisabled: { classPropertyName: "onOverlayEscapeKeyDownDisabled", publicName: "onOverlayEscapeKeyDownDisabled", isSignal: true, isRequired: false, transformFunction: null }, onOverlayOutsideClickDisabled: { classPropertyName: "onOverlayOutsideClickDisabled", publicName: "onOverlayOutsideClickDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOverlayEscapeKeyDown: "onOverlayEscapeKeyDown", onOverlayOutsideClick: "onOverlayOutsideClick", onOpen: "onOpen", onClosed: "onClosed" }, hostDirectives: [{ directive: i1.CdkConnectedOverlay }], ngImport: i0 }); }
475
290
  }
476
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverContentDirective, decorators: [{
291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxPopoverContentDirective, decorators: [{
477
292
  type: Directive,
478
293
  args: [{
479
294
  selector: '[rdxPopoverContent]',
@@ -499,10 +314,10 @@ class RdxPopoverTriggerDirective {
499
314
  click() {
500
315
  this.popoverRoot.handleToggle();
501
316
  }
502
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
503
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxPopoverTriggerDirective, isStandalone: true, selector: "[rdxPopoverTrigger]", host: { attributes: { "type": "button" }, listeners: { "click": "click()" }, properties: { "attr.id": "name()", "attr.aria-haspopup": "\"dialog\"", "attr.aria-expanded": "popoverRoot.isOpen()", "attr.aria-controls": "popoverRoot.popoverContentDirective().name()", "attr.data-state": "popoverRoot.state()" } }, hostDirectives: [{ directive: i1.CdkOverlayOrigin }], ngImport: i0 }); }
317
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxPopoverTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
318
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: RdxPopoverTriggerDirective, isStandalone: true, selector: "[rdxPopoverTrigger]", host: { attributes: { "type": "button" }, listeners: { "click": "click()" }, properties: { "attr.id": "name()", "attr.aria-haspopup": "\"dialog\"", "attr.aria-expanded": "popoverRoot.isOpen()", "attr.aria-controls": "popoverRoot.popoverContentDirective().name()", "attr.data-state": "popoverRoot.state()" } }, hostDirectives: [{ directive: i1.CdkOverlayOrigin }], ngImport: i0 }); }
504
319
  }
505
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverTriggerDirective, decorators: [{
320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxPopoverTriggerDirective, decorators: [{
506
321
  type: Directive,
507
322
  args: [{
508
323
  selector: '[rdxPopoverTrigger]',
@@ -520,6 +335,159 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
520
335
  }]
521
336
  }] });
522
337
 
338
+ const RdxCdkEventServiceWindowKey = Symbol('__RdxCdkEventService__');
339
+
340
+ function eventTypeAsPrimitiveConfigKey(eventType) {
341
+ return `prevent${eventType[0].toUpperCase()}${eventType.slice(1)}`;
342
+ }
343
+ class RdxCdkEventService {
344
+ #clickDomRootEventCallbacks;
345
+ constructor() {
346
+ this.document = injectDocument();
347
+ this.destroyRef = inject(DestroyRef);
348
+ this.ngZone = inject(NgZone);
349
+ this.renderer2 = inject(Renderer2);
350
+ this.window = injectWindow();
351
+ this.onDestroyCallbacks = new Set([() => deleteRdxCdkEventServiceWindowKey(this.window)]);
352
+ this.#clickDomRootEventCallbacks = new Set();
353
+ this.#listenToClickDomRootEvent();
354
+ this.#registerOnDestroyCallbacks();
355
+ }
356
+ registerPrimitive(primitiveInstance) {
357
+ if (!this.primitiveConfigs) {
358
+ this.primitiveConfigs = new Map();
359
+ }
360
+ if (!this.primitiveConfigs.has(primitiveInstance)) {
361
+ this.primitiveConfigs.set(primitiveInstance, {});
362
+ }
363
+ }
364
+ deregisterPrimitive(primitiveInstance) {
365
+ if (this.primitiveConfigs?.has(primitiveInstance)) {
366
+ this.primitiveConfigs.delete(primitiveInstance);
367
+ }
368
+ }
369
+ preventPrimitiveFromCdkEvent(primitiveInstance, eventType) {
370
+ this.#setPreventPrimitiveFromCdkEvent(primitiveInstance, eventType, true);
371
+ }
372
+ allowPrimitiveForCdkEvent(primitiveInstance, eventType) {
373
+ this.#setPreventPrimitiveFromCdkEvent(primitiveInstance, eventType, false);
374
+ }
375
+ preventPrimitiveFromCdkMultiEvents(primitiveInstance, eventTypes) {
376
+ eventTypes.forEach((eventType) => {
377
+ this.#setPreventPrimitiveFromCdkEvent(primitiveInstance, eventType, true);
378
+ });
379
+ }
380
+ allowPrimitiveForCdkMultiEvents(primitiveInstance, eventTypes) {
381
+ eventTypes.forEach((eventType) => {
382
+ this.#setPreventPrimitiveFromCdkEvent(primitiveInstance, eventType, false);
383
+ });
384
+ }
385
+ setPreventPrimitiveFromCdkMixEvents(primitiveInstance, eventTypes) {
386
+ Object.keys(eventTypes).forEach((eventType) => {
387
+ this.#setPreventPrimitiveFromCdkEvent(primitiveInstance, eventType, eventTypes[eventTypeAsPrimitiveConfigKey(eventType)]);
388
+ });
389
+ }
390
+ primitivePreventedFromCdkEvent(primitiveInstance, eventType) {
391
+ return this.primitiveConfigs?.get(primitiveInstance)?.[eventTypeAsPrimitiveConfigKey(eventType)];
392
+ }
393
+ addClickDomRootEventCallback(callback) {
394
+ this.#clickDomRootEventCallbacks.add(callback);
395
+ }
396
+ removeClickDomRootEventCallback(callback) {
397
+ return this.#clickDomRootEventCallbacks.delete(callback);
398
+ }
399
+ #setPreventPrimitiveFromCdkEvent(primitiveInstance, eventType, value) {
400
+ if (!this.primitiveConfigs?.has(primitiveInstance)) {
401
+ isDevMode() &&
402
+ console.error('[RdxCdkEventService.preventPrimitiveFromCdkEvent] RDX Primitive instance has not been registered!', primitiveInstance);
403
+ return;
404
+ }
405
+ switch (eventType) {
406
+ case 'cdkOverlayOutsideClick':
407
+ this.primitiveConfigs.get(primitiveInstance).preventCdkOverlayOutsideClick = value;
408
+ break;
409
+ case 'cdkOverlayEscapeKeyDown':
410
+ this.primitiveConfigs.get(primitiveInstance).preventCdkOverlayEscapeKeyDown = value;
411
+ break;
412
+ }
413
+ }
414
+ #registerOnDestroyCallbacks() {
415
+ this.destroyRef.onDestroy(() => {
416
+ this.onDestroyCallbacks.forEach((onDestroyCallback) => onDestroyCallback());
417
+ this.onDestroyCallbacks.clear();
418
+ });
419
+ }
420
+ #listenToClickDomRootEvent() {
421
+ const target = this.document;
422
+ const eventName = 'click';
423
+ const options = { capture: true };
424
+ const callback = (event) => {
425
+ this.#clickDomRootEventCallbacks.forEach((clickDomRootEventCallback) => clickDomRootEventCallback(event));
426
+ };
427
+ const major = parseInt(VERSION.major);
428
+ const minor = parseInt(VERSION.minor);
429
+ let destroyClickDomRootEventListener;
430
+ /**
431
+ * @see src/cdk/platform/features/backwards-compatibility.ts in @angular/cdk
432
+ */
433
+ if (major > 19 || (major === 19 && minor > 0) || (major === 0 && minor === 0)) {
434
+ destroyClickDomRootEventListener = this.ngZone.runOutsideAngular(() => {
435
+ const destroyClickDomRootEventListenerInternal = this.renderer2.listen(target, eventName, callback,
436
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
437
+ // @ts-expect-error
438
+ options);
439
+ return () => {
440
+ destroyClickDomRootEventListenerInternal();
441
+ this.#clickDomRootEventCallbacks.clear();
442
+ };
443
+ });
444
+ }
445
+ else {
446
+ /**
447
+ * This part can get removed when v19.1 or higher is on the board
448
+ */
449
+ destroyClickDomRootEventListener = this.ngZone.runOutsideAngular(() => {
450
+ target.addEventListener(eventName, callback, options);
451
+ return () => {
452
+ this.ngZone.runOutsideAngular(() => target.removeEventListener(eventName, callback, options));
453
+ this.#clickDomRootEventCallbacks.clear();
454
+ };
455
+ });
456
+ }
457
+ this.onDestroyCallbacks.add(destroyClickDomRootEventListener);
458
+ }
459
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxCdkEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
460
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxCdkEventService }); }
461
+ }
462
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxCdkEventService, decorators: [{
463
+ type: Injectable
464
+ }], ctorParameters: () => [] });
465
+ const RdxCdkEventServiceToken = new InjectionToken('RdxCdkEventServiceToken');
466
+ const existsErrorMessage = 'RdxCdkEventService should be provided only once!';
467
+ const deleteRdxCdkEventServiceWindowKey = (window) => {
468
+ delete window[RdxCdkEventServiceWindowKey];
469
+ };
470
+ const getProvider = (throwWhenExists = true) => ({
471
+ provide: RdxCdkEventServiceToken,
472
+ useFactory: () => {
473
+ isDevMode() && console.log('providing RdxCdkEventService...');
474
+ const window = injectWindow();
475
+ if (window[RdxCdkEventServiceWindowKey]) {
476
+ if (throwWhenExists) {
477
+ throw Error(existsErrorMessage);
478
+ }
479
+ else {
480
+ isDevMode() && console.warn(existsErrorMessage);
481
+ }
482
+ }
483
+ window[RdxCdkEventServiceWindowKey] ??= new RdxCdkEventService();
484
+ return window[RdxCdkEventServiceWindowKey];
485
+ }
486
+ });
487
+ const provideRdxCdkEventServiceInRoot = () => makeEnvironmentProviders([getProvider()]);
488
+ const provideRdxCdkEventService = () => getProvider(false);
489
+ const injectRdxCdkEventService = () => inject(RdxCdkEventServiceToken, { optional: true });
490
+
523
491
  let nextId = 0;
524
492
  class RdxPopoverRootDirective {
525
493
  constructor() {
@@ -579,6 +547,8 @@ class RdxPopoverRootDirective {
579
547
  /** @ignore */
580
548
  this.viewContainerRef = inject(ViewContainerRef);
581
549
  /** @ignore */
550
+ this.rdxCdkEventService = injectRdxCdkEventService();
551
+ /** @ignore */
582
552
  this.destroyRef = inject(DestroyRef);
583
553
  /** @ignore */
584
554
  this.state = signal(RdxPopoverState.CLOSED);
@@ -599,6 +569,8 @@ class RdxPopoverRootDirective {
599
569
  });
600
570
  });
601
571
  };
572
+ this.rdxCdkEventService?.registerPrimitive(this);
573
+ this.destroyRef.onDestroy(() => this.rdxCdkEventService?.deregisterPrimitive(this));
602
574
  this.onStateChangeEffect();
603
575
  this.onCssAnimationStatusChangeChangeEffect();
604
576
  this.onOpenChangeEffect();
@@ -814,10 +786,10 @@ class RdxPopoverRootDirective {
814
786
  });
815
787
  });
816
788
  }
817
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
818
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.11", type: RdxPopoverRootDirective, isStandalone: true, selector: "[rdxPopoverRoot]", inputs: { anchor: { classPropertyName: "anchor", publicName: "anchor", isSignal: true, isRequired: false, transformFunction: null }, defaultOpen: { classPropertyName: "defaultOpen", publicName: "defaultOpen", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, externalControl: { classPropertyName: "externalControl", publicName: "externalControl", isSignal: true, isRequired: false, transformFunction: null }, cssAnimation: { classPropertyName: "cssAnimation", publicName: "cssAnimation", isSignal: true, isRequired: false, transformFunction: null }, cssOpeningAnimation: { classPropertyName: "cssOpeningAnimation", publicName: "cssOpeningAnimation", isSignal: true, isRequired: false, transformFunction: null }, cssClosingAnimation: { classPropertyName: "cssClosingAnimation", publicName: "cssClosingAnimation", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "popoverContentDirective", first: true, predicate: RdxPopoverContentDirective, descendants: true, isSignal: true }, { propertyName: "popoverTriggerDirective", first: true, predicate: RdxPopoverTriggerDirective, descendants: true, isSignal: true }, { propertyName: "popoverArrowDirective", first: true, predicate: RdxPopoverArrowToken, descendants: true, isSignal: true }, { propertyName: "popoverCloseDirective", first: true, predicate: RdxPopoverCloseToken, descendants: true, isSignal: true }, { propertyName: "popoverContentAttributesComponent", first: true, predicate: RdxPopoverContentAttributesToken, descendants: true, isSignal: true }, { propertyName: "internalPopoverAnchorDirective", first: true, predicate: RdxPopoverAnchorToken, descendants: true, isSignal: true }], exportAs: ["rdxPopoverRoot"], ngImport: i0 }); }
789
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxPopoverRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
790
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.0.5", type: RdxPopoverRootDirective, isStandalone: true, selector: "[rdxPopoverRoot]", inputs: { anchor: { classPropertyName: "anchor", publicName: "anchor", isSignal: true, isRequired: false, transformFunction: null }, defaultOpen: { classPropertyName: "defaultOpen", publicName: "defaultOpen", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, externalControl: { classPropertyName: "externalControl", publicName: "externalControl", isSignal: true, isRequired: false, transformFunction: null }, cssAnimation: { classPropertyName: "cssAnimation", publicName: "cssAnimation", isSignal: true, isRequired: false, transformFunction: null }, cssOpeningAnimation: { classPropertyName: "cssOpeningAnimation", publicName: "cssOpeningAnimation", isSignal: true, isRequired: false, transformFunction: null }, cssClosingAnimation: { classPropertyName: "cssClosingAnimation", publicName: "cssClosingAnimation", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "popoverContentDirective", first: true, predicate: RdxPopoverContentDirective, descendants: true, isSignal: true }, { propertyName: "popoverTriggerDirective", first: true, predicate: RdxPopoverTriggerDirective, descendants: true, isSignal: true }, { propertyName: "popoverArrowDirective", first: true, predicate: RdxPopoverArrowToken, descendants: true, isSignal: true }, { propertyName: "popoverCloseDirective", first: true, predicate: RdxPopoverCloseToken, descendants: true, isSignal: true }, { propertyName: "popoverContentAttributesComponent", first: true, predicate: RdxPopoverContentAttributesToken, descendants: true, isSignal: true }, { propertyName: "internalPopoverAnchorDirective", first: true, predicate: RdxPopoverAnchorToken, descendants: true, isSignal: true }], exportAs: ["rdxPopoverRoot"], ngImport: i0 }); }
819
791
  }
820
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverRootDirective, decorators: [{
792
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxPopoverRootDirective, decorators: [{
821
793
  type: Directive,
822
794
  args: [{
823
795
  selector: '[rdxPopoverRoot]',
@@ -844,7 +816,7 @@ class RdxPopoverAnchorDirective {
844
816
  /** @ignore */
845
817
  this.overlayOrigin = inject(CdkOverlayOrigin);
846
818
  /** @ignore */
847
- this.document = inject(DOCUMENT);
819
+ this.document = injectDocument();
848
820
  /** @ignore */
849
821
  this.name = computed(() => `rdx-popover-external-anchor-${this.popoverRoot?.uniqueId()}`);
850
822
  }
@@ -857,22 +829,27 @@ class RdxPopoverAnchorDirective {
857
829
  this.popoverRoot = popoverRoot;
858
830
  }
859
831
  emitOutsideClick() {
832
+ if (!this.popoverRoot?.isOpen() ||
833
+ this.popoverRoot?.popoverContentDirective().onOverlayOutsideClickDisabled()) {
834
+ return;
835
+ }
860
836
  const clickEvent = new MouseEvent('click', {
861
837
  view: this.document.defaultView,
862
838
  bubbles: true,
863
- cancelable: true
839
+ cancelable: true,
840
+ relatedTarget: this.elementRef.nativeElement
864
841
  });
865
- this.document.body.dispatchEvent(clickEvent);
842
+ this.popoverRoot?.popoverTriggerDirective().elementRef.nativeElement.dispatchEvent(clickEvent);
866
843
  }
867
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverAnchorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
868
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxPopoverAnchorDirective, isStandalone: true, selector: "[rdxPopoverAnchor]", host: { attributes: { "type": "button" }, listeners: { "click": "click()" }, properties: { "attr.id": "name()", "attr.aria-haspopup": "\"dialog\"" } }, providers: [
844
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxPopoverAnchorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
845
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: RdxPopoverAnchorDirective, isStandalone: true, selector: "[rdxPopoverAnchor]", host: { attributes: { "type": "button" }, listeners: { "click": "click()" }, properties: { "attr.id": "name()", "attr.aria-haspopup": "\"dialog\"" } }, providers: [
869
846
  {
870
847
  provide: RdxPopoverAnchorToken,
871
848
  useExisting: forwardRef(() => RdxPopoverAnchorDirective)
872
849
  }
873
850
  ], exportAs: ["rdxPopoverAnchor"], hostDirectives: [{ directive: i1.CdkOverlayOrigin }], ngImport: i0 }); }
874
851
  }
875
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverAnchorDirective, decorators: [{
852
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxPopoverAnchorDirective, decorators: [{
876
853
  type: Directive,
877
854
  args: [{
878
855
  selector: '[rdxPopoverAnchor]',
@@ -930,25 +907,27 @@ class RdxPopoverArrowDirective {
930
907
  this.currentArrowSvgElement = signal(void 0);
931
908
  /** @ignore */
932
909
  this.position = toSignal(this.popoverRoot.popoverContentDirective().positionChange());
910
+ afterNextRender({
911
+ write: () => {
912
+ if (this.elementRef.nativeElement.parentElement) {
913
+ this.renderer.setStyle(this.elementRef.nativeElement.parentElement, 'position', 'relative');
914
+ }
915
+ this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'absolute');
916
+ this.renderer.setStyle(this.elementRef.nativeElement, 'boxSizing', '');
917
+ this.renderer.setStyle(this.elementRef.nativeElement, 'fontSize', '0px');
918
+ }
919
+ });
933
920
  this.onArrowSvgElementChangeEffect();
934
- this.onContentPositionChangeEffect();
921
+ this.onContentPositionAndArrowDimensionsChangeEffect();
935
922
  }
936
923
  /** @ignore */
937
- ngAfterViewInit() {
938
- if (this.elementRef.nativeElement.parentElement) {
939
- this.renderer.setStyle(this.elementRef.nativeElement.parentElement, 'position', 'relative');
940
- }
941
- this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'absolute');
942
- this.renderer.setStyle(this.elementRef.nativeElement, 'boxSizing', '');
943
- this.renderer.setStyle(this.elementRef.nativeElement, 'fontSize', '0px');
944
- }
945
924
  setAnchorOrTriggerRect() {
946
925
  this.anchorOrTriggerRect = (this.popoverRoot.popoverAnchorDirective() ?? this.popoverRoot.popoverTriggerDirective()).elementRef.nativeElement.getBoundingClientRect();
947
926
  }
948
927
  /** @ignore */
949
- setPosition(position) {
928
+ setPosition(position, arrowDimensions) {
950
929
  this.setAnchorOrTriggerRect();
951
- const posParams = getArrowPositionParams(getSideAndAlignFromAllPossibleConnectedPositions(position.connectionPair), { width: this.width(), height: this.height() }, { width: this.anchorOrTriggerRect.width, height: this.anchorOrTriggerRect.height });
930
+ const posParams = getArrowPositionParams(getSideAndAlignFromAllPossibleConnectedPositions(position.connectionPair), { width: arrowDimensions.width, height: arrowDimensions.height }, { width: this.anchorOrTriggerRect.width, height: this.anchorOrTriggerRect.height });
952
931
  this.renderer.setStyle(this.elementRef.nativeElement, 'top', posParams.top);
953
932
  this.renderer.setStyle(this.elementRef.nativeElement, 'bottom', '');
954
933
  this.renderer.setStyle(this.elementRef.nativeElement, 'left', posParams.left);
@@ -972,26 +951,27 @@ class RdxPopoverArrowDirective {
972
951
  });
973
952
  }
974
953
  /** @ignore */
975
- onContentPositionChangeEffect() {
954
+ onContentPositionAndArrowDimensionsChangeEffect() {
976
955
  effect(() => {
977
956
  const position = this.position();
957
+ const arrowDimensions = { width: this.width(), height: this.height() };
978
958
  untracked(() => {
979
959
  if (!position) {
980
960
  return;
981
961
  }
982
- this.setPosition(position);
962
+ this.setPosition(position, arrowDimensions);
983
963
  });
984
964
  });
985
965
  }
986
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverArrowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
987
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxPopoverArrowDirective, isStandalone: true, selector: "[rdxPopoverArrow]", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
966
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxPopoverArrowDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
967
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.0.5", type: RdxPopoverArrowDirective, isStandalone: true, selector: "[rdxPopoverArrow]", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
988
968
  {
989
969
  provide: RdxPopoverArrowToken,
990
970
  useExisting: forwardRef(() => RdxPopoverArrowDirective)
991
971
  }
992
972
  ], ngImport: i0 }); }
993
973
  }
994
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverArrowDirective, decorators: [{
974
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxPopoverArrowDirective, decorators: [{
995
975
  type: Directive,
996
976
  args: [{
997
977
  selector: '[rdxPopoverArrow]',
@@ -1024,15 +1004,15 @@ class RdxPopoverCloseDirective {
1024
1004
  });
1025
1005
  });
1026
1006
  }
1027
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1028
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxPopoverCloseDirective, isStandalone: true, selector: "[rdxPopoverClose]", host: { attributes: { "type": "button" }, listeners: { "click": "popoverRoot.handleClose()" } }, providers: [
1007
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxPopoverCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1008
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.0.5", type: RdxPopoverCloseDirective, isStandalone: true, selector: "[rdxPopoverClose]", host: { attributes: { "type": "button" }, listeners: { "click": "popoverRoot.handleClose()" } }, providers: [
1029
1009
  {
1030
1010
  provide: RdxPopoverCloseToken,
1031
1011
  useExisting: forwardRef(() => RdxPopoverCloseDirective)
1032
1012
  }
1033
1013
  ], ngImport: i0 }); }
1034
1014
  }
1035
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverCloseDirective, decorators: [{
1015
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxPopoverCloseDirective, decorators: [{
1036
1016
  type: Directive,
1037
1017
  args: [{
1038
1018
  selector: '[rdxPopoverClose]',
@@ -1077,8 +1057,8 @@ class RdxPopoverContentAttributesComponent {
1077
1057
  ((this.popoverRoot.cssOpeningAnimation() && this.popoverRoot.state() === RdxPopoverState.OPEN) ||
1078
1058
  (this.popoverRoot.cssClosingAnimation() && this.popoverRoot.state() === RdxPopoverState.CLOSED)));
1079
1059
  }
1080
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverContentAttributesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1081
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: RdxPopoverContentAttributesComponent, isStandalone: true, selector: "[rdxPopoverContentAttributes]", host: { listeners: { "animationstart": "onAnimationStart($event)", "animationend": "onAnimationEnd($event)" }, properties: { "attr.role": "\"dialog\"", "attr.id": "name()", "attr.data-state": "popoverRoot.state()", "attr.data-side": "popoverRoot.popoverContentDirective().side()", "attr.data-align": "popoverRoot.popoverContentDirective().align()", "style": "disableAnimation() ? {animation: \"none !important\"} : null" } }, providers: [
1060
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxPopoverContentAttributesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1061
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: RdxPopoverContentAttributesComponent, isStandalone: true, selector: "[rdxPopoverContentAttributes]", host: { listeners: { "animationstart": "onAnimationStart($event)", "animationend": "onAnimationEnd($event)" }, properties: { "attr.role": "\"dialog\"", "attr.id": "name()", "attr.data-state": "popoverRoot.state()", "attr.data-side": "popoverRoot.popoverContentDirective().side()", "attr.data-align": "popoverRoot.popoverContentDirective().align()", "style": "disableAnimation() ? {animation: \"none !important\"} : null" } }, providers: [
1082
1062
  {
1083
1063
  provide: RdxPopoverContentAttributesToken,
1084
1064
  useExisting: forwardRef(() => RdxPopoverContentAttributesComponent)
@@ -1087,7 +1067,7 @@ class RdxPopoverContentAttributesComponent {
1087
1067
  <ng-content />
1088
1068
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1089
1069
  }
1090
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverContentAttributesComponent, decorators: [{
1070
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxPopoverContentAttributesComponent, decorators: [{
1091
1071
  type: Component,
1092
1072
  args: [{
1093
1073
  selector: '[rdxPopoverContentAttributes]',
@@ -1125,8 +1105,8 @@ const _imports = [
1125
1105
  RdxPopoverContentAttributesComponent
1126
1106
  ];
1127
1107
  class RdxPopoverModule {
1128
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1129
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverModule, imports: [RdxPopoverArrowDirective,
1108
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1109
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.5", ngImport: i0, type: RdxPopoverModule, imports: [RdxPopoverArrowDirective,
1130
1110
  RdxPopoverCloseDirective,
1131
1111
  RdxPopoverContentDirective,
1132
1112
  RdxPopoverTriggerDirective,
@@ -1139,9 +1119,9 @@ class RdxPopoverModule {
1139
1119
  RdxPopoverRootDirective,
1140
1120
  RdxPopoverAnchorDirective,
1141
1121
  RdxPopoverContentAttributesComponent] }); }
1142
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverModule }); }
1122
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxPopoverModule }); }
1143
1123
  }
1144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverModule, decorators: [{
1124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: RdxPopoverModule, decorators: [{
1145
1125
  type: NgModule,
1146
1126
  args: [{
1147
1127
  imports: [..._imports],
@@ -1153,5 +1133,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
1153
1133
  * Generated bundle index. Do not edit.
1154
1134
  */
1155
1135
 
1156
- export { RdxPopoverAlign, RdxPopoverAnchorDirective, RdxPopoverAnimationStatus, RdxPopoverArrowDirective, RdxPopoverAttachDetachEvent, RdxPopoverCloseDirective, RdxPopoverContentAttributesComponent, RdxPopoverContentDirective, RdxPopoverModule, RdxPopoverRootDirective, RdxPopoverSide, RdxPopoverState, RdxPopoverTriggerDirective };
1136
+ export { RdxPopoverAnchorDirective, RdxPopoverArrowDirective, RdxPopoverCloseDirective, RdxPopoverContentAttributesComponent, RdxPopoverContentDirective, RdxPopoverModule, RdxPopoverRootDirective, RdxPopoverTriggerDirective };
1157
1137
  //# sourceMappingURL=radix-ng-primitives-popover.mjs.map