@radix-ng/primitives 0.24.0 → 0.26.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 (310) hide show
  1. package/avatar/src/avatar-fallback.directive.d.ts +1 -1
  2. package/compodoc/documentation.json +14105 -11035
  3. package/core/index.d.ts +3 -2
  4. package/core/src/positioning/constants.d.ts +3 -0
  5. package/core/src/positioning/types.d.ts +42 -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 +224 -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 +75 -277
  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 +1023 -511
  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 +6 -6
  63. package/popover/src/popover-content.directive.d.ts +9 -8
  64. package/popover/src/popover-root.directive.d.ts +9 -8
  65. package/popover/src/popover.types.d.ts +0 -31
  66. package/popover/src/utils/cdk-event.service.d.ts +1 -0
  67. package/switch/src/switch-root.directive.d.ts +4 -1
  68. package/tooltip/README.md +2 -0
  69. package/tooltip/index.d.ts +9 -6
  70. package/tooltip/src/tooltip-anchor.directive.d.ts +28 -0
  71. package/tooltip/src/tooltip-anchor.token.d.ts +3 -0
  72. package/tooltip/src/tooltip-arrow.directive.d.ts +23 -8
  73. package/tooltip/src/tooltip-close.directive.d.ts +18 -0
  74. package/tooltip/src/tooltip-close.token.d.ts +3 -0
  75. package/tooltip/src/tooltip-content-attributes.component.d.ts +17 -0
  76. package/tooltip/src/tooltip-content-attributes.token.d.ts +3 -0
  77. package/tooltip/src/tooltip-content.directive.d.ts +88 -20
  78. package/tooltip/src/tooltip-root.directive.d.ts +122 -57
  79. package/tooltip/src/tooltip-root.inject.d.ts +3 -0
  80. package/tooltip/src/tooltip-trigger.directive.d.ts +11 -11
  81. package/tooltip/src/tooltip.types.d.ts +16 -16
  82. package/tooltip/src/utils/cdk-event.service.d.ts +30 -0
  83. package/tooltip/src/utils/constants.d.ts +1 -0
  84. package/tooltip/src/utils/types.d.ts +7 -0
  85. package/core/src/control-value-accessor/index.d.ts +0 -75
  86. package/core/src/create-inject-context/assert-injector.d.ts +0 -51
  87. package/core/src/create-inject-context/index.d.ts +0 -68
  88. package/core/src/types.d.ts +0 -23
  89. package/esm2022/accordion/index.mjs +0 -40
  90. package/esm2022/accordion/radix-ng-primitives-accordion.mjs +0 -5
  91. package/esm2022/accordion/src/accordion-content.directive.mjs +0 -42
  92. package/esm2022/accordion/src/accordion-header.directive.mjs +0 -23
  93. package/esm2022/accordion/src/accordion-item.directive.mjs +0 -196
  94. package/esm2022/accordion/src/accordion-root.directive.mjs +0 -200
  95. package/esm2022/accordion/src/accordion-trigger.directive.mjs +0 -42
  96. package/esm2022/alert-dialog/index.mjs +0 -41
  97. package/esm2022/alert-dialog/radix-ng-primitives-alert-dialog.mjs +0 -5
  98. package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +0 -24
  99. package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +0 -34
  100. package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +0 -24
  101. package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +0 -14
  102. package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +0 -24
  103. package/esm2022/alert-dialog/src/alert-dialog.service.mjs +0 -46
  104. package/esm2022/aspect-ratio/index.mjs +0 -2
  105. package/esm2022/aspect-ratio/radix-ng-primitives-aspect-ratio.mjs +0 -5
  106. package/esm2022/aspect-ratio/src/aspect-ratio.directive.mjs +0 -57
  107. package/esm2022/avatar/index.mjs +0 -31
  108. package/esm2022/avatar/radix-ng-primitives-avatar.mjs +0 -5
  109. package/esm2022/avatar/src/avatar-fallback.directive.mjs +0 -67
  110. package/esm2022/avatar/src/avatar-image.directive.mjs +0 -65
  111. package/esm2022/avatar/src/avatar-root.directive.mjs +0 -26
  112. package/esm2022/avatar/src/avatar.config.mjs +0 -17
  113. package/esm2022/checkbox/index.mjs +0 -36
  114. package/esm2022/checkbox/radix-ng-primitives-checkbox.mjs +0 -5
  115. package/esm2022/checkbox/src/checkbox-button.directive.mjs +0 -33
  116. package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +0 -24
  117. package/esm2022/checkbox/src/checkbox-input.directive.mjs +0 -44
  118. package/esm2022/checkbox/src/checkbox.directive.mjs +0 -141
  119. package/esm2022/checkbox/src/checkbox.token.mjs +0 -6
  120. package/esm2022/collapsible/index.mjs +0 -4
  121. package/esm2022/collapsible/radix-ng-primitives-collapsible.mjs +0 -5
  122. package/esm2022/collapsible/src/collapsible-content.directive.mjs +0 -42
  123. package/esm2022/collapsible/src/collapsible-content.token.mjs +0 -3
  124. package/esm2022/collapsible/src/collapsible-root.directive.mjs +0 -127
  125. package/esm2022/collapsible/src/collapsible-trigger.directive.mjs +0 -49
  126. package/esm2022/context-menu/index.mjs +0 -65
  127. package/esm2022/context-menu/radix-ng-primitives-context-menu.mjs +0 -5
  128. package/esm2022/context-menu/src/context-menu-content.directive.mjs +0 -56
  129. package/esm2022/context-menu/src/context-menu-item-checkbox.directive.mjs +0 -39
  130. package/esm2022/context-menu/src/context-menu-item-indicator.directive.mjs +0 -22
  131. package/esm2022/context-menu/src/context-menu-item-radio-group.directive.mjs +0 -37
  132. package/esm2022/context-menu/src/context-menu-item-radio.directive.mjs +0 -67
  133. package/esm2022/context-menu/src/context-menu-item-selectable.mjs +0 -31
  134. package/esm2022/context-menu/src/context-menu-item.directive.mjs +0 -70
  135. package/esm2022/context-menu/src/context-menu-label.directive.mjs +0 -14
  136. package/esm2022/context-menu/src/context-menu-separator.directive.mjs +0 -21
  137. package/esm2022/context-menu/src/context-menu-trigger.directive.mjs +0 -92
  138. package/esm2022/core/index.mjs +0 -11
  139. package/esm2022/core/radix-ng-primitives-core.mjs +0 -5
  140. package/esm2022/core/src/accessor/provide-value-accessor.mjs +0 -19
  141. package/esm2022/core/src/auto-focus.directive.mjs +0 -80
  142. package/esm2022/core/src/control-value-accessor/index.mjs +0 -103
  143. package/esm2022/core/src/create-inject-context/assert-injector.mjs +0 -15
  144. package/esm2022/core/src/create-inject-context/index.mjs +0 -116
  145. package/esm2022/core/src/document.mjs +0 -6
  146. package/esm2022/core/src/id-generator.mjs +0 -43
  147. package/esm2022/core/src/inject-ng-control.mjs +0 -17
  148. package/esm2022/core/src/is-client.mjs +0 -6
  149. package/esm2022/core/src/is-inside-form.mjs +0 -7
  150. package/esm2022/core/src/types.mjs +0 -2
  151. package/esm2022/core/src/window.mjs +0 -15
  152. package/esm2022/dialog/index.mjs +0 -50
  153. package/esm2022/dialog/radix-ng-primitives-dialog.mjs +0 -5
  154. package/esm2022/dialog/src/dialog-close.directive.mjs +0 -25
  155. package/esm2022/dialog/src/dialog-content.directive.mjs +0 -46
  156. package/esm2022/dialog/src/dialog-description.directive.mjs +0 -14
  157. package/esm2022/dialog/src/dialog-dismiss.directive.mjs +0 -25
  158. package/esm2022/dialog/src/dialog-ref.mjs +0 -46
  159. package/esm2022/dialog/src/dialog-title.directive.mjs +0 -14
  160. package/esm2022/dialog/src/dialog-trigger.directive.mjs +0 -54
  161. package/esm2022/dialog/src/dialog.config.mjs +0 -6
  162. package/esm2022/dialog/src/dialog.injectors.mjs +0 -10
  163. package/esm2022/dialog/src/dialog.providers.mjs +0 -26
  164. package/esm2022/dialog/src/dialog.service.mjs +0 -96
  165. package/esm2022/dropdown-menu/index.mjs +0 -68
  166. package/esm2022/dropdown-menu/radix-ng-primitives-dropdown-menu.mjs +0 -5
  167. package/esm2022/dropdown-menu/src/dropdown-menu-content.directive.mjs +0 -56
  168. package/esm2022/dropdown-menu/src/dropdown-menu-item-checkbox.directive.mjs +0 -39
  169. package/esm2022/dropdown-menu/src/dropdown-menu-item-indicator.directive.mjs +0 -22
  170. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio-group.directive.mjs +0 -37
  171. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio.directive.mjs +0 -67
  172. package/esm2022/dropdown-menu/src/dropdown-menu-item-selectable.mjs +0 -31
  173. package/esm2022/dropdown-menu/src/dropdown-menu-item.directive.mjs +0 -73
  174. package/esm2022/dropdown-menu/src/dropdown-menu-label.directive.mjs +0 -14
  175. package/esm2022/dropdown-menu/src/dropdown-menu-separator.directive.mjs +0 -21
  176. package/esm2022/dropdown-menu/src/dropdown-menu-trigger.directive.mjs +0 -210
  177. package/esm2022/index.mjs +0 -2
  178. package/esm2022/label/index.mjs +0 -2
  179. package/esm2022/label/radix-ng-primitives-label.mjs +0 -5
  180. package/esm2022/label/src/label.directive.mjs +0 -57
  181. package/esm2022/menu/index.mjs +0 -45
  182. package/esm2022/menu/radix-ng-primitives-menu.mjs +0 -5
  183. package/esm2022/menu/src/menu-content.directive.mjs +0 -17
  184. package/esm2022/menu/src/menu-directive.mjs +0 -18
  185. package/esm2022/menu/src/menu-group.directive.mjs +0 -20
  186. package/esm2022/menu/src/menu-item.directive.mjs +0 -46
  187. package/esm2022/menu/src/menu-label.directive.mjs +0 -14
  188. package/esm2022/menu/src/menu-separator.directive.mjs +0 -21
  189. package/esm2022/menubar/index.mjs +0 -60
  190. package/esm2022/menubar/radix-ng-primitives-menubar.mjs +0 -5
  191. package/esm2022/menubar/src/menubar-content.directive.mjs +0 -17
  192. package/esm2022/menubar/src/menubar-item-checkbox.directive.mjs +0 -34
  193. package/esm2022/menubar/src/menubar-item-indicator.directive.mjs +0 -17
  194. package/esm2022/menubar/src/menubar-item-radio.directive.mjs +0 -35
  195. package/esm2022/menubar/src/menubar-item.directive.mjs +0 -20
  196. package/esm2022/menubar/src/menubar-radio-group.directive.mjs +0 -17
  197. package/esm2022/menubar/src/menubar-root.directive.mjs +0 -24
  198. package/esm2022/menubar/src/menubar-separator.directive.mjs +0 -17
  199. package/esm2022/menubar/src/menubar-trigger.directive.mjs +0 -45
  200. package/esm2022/popover/index.mjs +0 -51
  201. package/esm2022/popover/radix-ng-primitives-popover.mjs +0 -5
  202. package/esm2022/popover/src/popover-anchor.directive.mjs +0 -75
  203. package/esm2022/popover/src/popover-anchor.token.mjs +0 -3
  204. package/esm2022/popover/src/popover-arrow.directive.mjs +0 -117
  205. package/esm2022/popover/src/popover-arrow.token.mjs +0 -3
  206. package/esm2022/popover/src/popover-close.directive.mjs +0 -49
  207. package/esm2022/popover/src/popover-close.token.mjs +0 -3
  208. package/esm2022/popover/src/popover-content-attributes.component.mjs +0 -70
  209. package/esm2022/popover/src/popover-content-attributes.token.mjs +0 -3
  210. package/esm2022/popover/src/popover-content.directive.mjs +0 -270
  211. package/esm2022/popover/src/popover-root.directive.mjs +0 -320
  212. package/esm2022/popover/src/popover-root.inject.mjs +0 -7
  213. package/esm2022/popover/src/popover-trigger.directive.mjs +0 -41
  214. package/esm2022/popover/src/popover.constants.mjs +0 -90
  215. package/esm2022/popover/src/popover.types.mjs +0 -31
  216. package/esm2022/popover/src/popover.utils.mjs +0 -107
  217. package/esm2022/popover/src/utils/cdk-event.service.mjs +0 -153
  218. package/esm2022/popover/src/utils/constants.mjs +0 -2
  219. package/esm2022/popover/src/utils/types.mjs +0 -2
  220. package/esm2022/progress/index.mjs +0 -25
  221. package/esm2022/progress/radix-ng-primitives-progress.mjs +0 -5
  222. package/esm2022/progress/src/progress-indicator.directive.mjs +0 -33
  223. package/esm2022/progress/src/progress-root.directive.mjs +0 -132
  224. package/esm2022/radio/index.mjs +0 -5
  225. package/esm2022/radio/radix-ng-primitives-radio.mjs +0 -5
  226. package/esm2022/radio/src/radio-indicator.directive.mjs +0 -25
  227. package/esm2022/radio/src/radio-item-input.directive.mjs +0 -37
  228. package/esm2022/radio/src/radio-item.directive.mjs +0 -86
  229. package/esm2022/radio/src/radio-root.directive.mjs +0 -104
  230. package/esm2022/radio/src/radio-tokens.mjs +0 -3
  231. package/esm2022/radix-ng-primitives.mjs +0 -5
  232. package/esm2022/roving-focus/index.mjs +0 -3
  233. package/esm2022/roving-focus/radix-ng-primitives-roving-focus.mjs +0 -5
  234. package/esm2022/roving-focus/src/roving-focus-group.directive.mjs +0 -138
  235. package/esm2022/roving-focus/src/roving-focus-item.directive.mjs +0 -133
  236. package/esm2022/roving-focus/src/utils.mjs +0 -47
  237. package/esm2022/select/index.mjs +0 -65
  238. package/esm2022/select/radix-ng-primitives-select.mjs +0 -5
  239. package/esm2022/select/src/select-content.directive.mjs +0 -53
  240. package/esm2022/select/src/select-group.directive.mjs +0 -18
  241. package/esm2022/select/src/select-icon.directive.mjs +0 -18
  242. package/esm2022/select/src/select-item-indicator.directive.mjs +0 -23
  243. package/esm2022/select/src/select-item.directive.mjs +0 -122
  244. package/esm2022/select/src/select-label.directive.mjs +0 -15
  245. package/esm2022/select/src/select-separator.directive.mjs +0 -18
  246. package/esm2022/select/src/select-trigger.directive.mjs +0 -38
  247. package/esm2022/select/src/select-value.directive.mjs +0 -21
  248. package/esm2022/select/src/select.component.mjs +0 -234
  249. package/esm2022/separator/index.mjs +0 -2
  250. package/esm2022/separator/radix-ng-primitives-separator.mjs +0 -5
  251. package/esm2022/separator/src/separator.directive.mjs +0 -61
  252. package/esm2022/slider/index.mjs +0 -28
  253. package/esm2022/slider/radix-ng-primitives-slider.mjs +0 -5
  254. package/esm2022/slider/src/slider-horizontal.component.mjs +0 -117
  255. package/esm2022/slider/src/slider-impl.directive.mjs +0 -89
  256. package/esm2022/slider/src/slider-orientation-context.service.mjs +0 -27
  257. package/esm2022/slider/src/slider-range.component.mjs +0 -41
  258. package/esm2022/slider/src/slider-root.component.mjs +0 -210
  259. package/esm2022/slider/src/slider-thumb-impl.directive.mjs +0 -106
  260. package/esm2022/slider/src/slider-thumb.component.mjs +0 -22
  261. package/esm2022/slider/src/slider-track.component.mjs +0 -27
  262. package/esm2022/slider/src/slider-vertical.component.mjs +0 -117
  263. package/esm2022/slider/src/utils.mjs +0 -94
  264. package/esm2022/switch/index.mjs +0 -30
  265. package/esm2022/switch/radix-ng-primitives-switch.mjs +0 -5
  266. package/esm2022/switch/src/switch-input.directive.mjs +0 -44
  267. package/esm2022/switch/src/switch-root.directive.mjs +0 -145
  268. package/esm2022/switch/src/switch-thumb.directive.mjs +0 -26
  269. package/esm2022/tabs/index.mjs +0 -35
  270. package/esm2022/tabs/radix-ng-primitives-tabs.mjs +0 -5
  271. package/esm2022/tabs/src/tabs-content.directive.mjs +0 -35
  272. package/esm2022/tabs/src/tabs-list.directive.mjs +0 -26
  273. package/esm2022/tabs/src/tabs-root.directive.mjs +0 -57
  274. package/esm2022/tabs/src/tabs-trigger.directive.mjs +0 -78
  275. package/esm2022/tabs/src/utils.mjs +0 -7
  276. package/esm2022/toggle/index.mjs +0 -3
  277. package/esm2022/toggle/radix-ng-primitives-toggle.mjs +0 -5
  278. package/esm2022/toggle/src/toggle-visually-hidden-input.directive.mjs +0 -31
  279. package/esm2022/toggle/src/toggle.directive.mjs +0 -79
  280. package/esm2022/toggle-group/index.mjs +0 -6
  281. package/esm2022/toggle-group/radix-ng-primitives-toggle-group.mjs +0 -5
  282. package/esm2022/toggle-group/src/toggle-group-item.directive.mjs +0 -85
  283. package/esm2022/toggle-group/src/toggle-group-item.token.mjs +0 -3
  284. package/esm2022/toggle-group/src/toggle-group-multiple.directive.mjs +0 -185
  285. package/esm2022/toggle-group/src/toggle-group.directive.mjs +0 -179
  286. package/esm2022/toggle-group/src/toggle-group.token.mjs +0 -6
  287. package/esm2022/tooltip/index.mjs +0 -41
  288. package/esm2022/tooltip/radix-ng-primitives-tooltip.mjs +0 -5
  289. package/esm2022/tooltip/src/get-content-position.mjs +0 -31
  290. package/esm2022/tooltip/src/tooltip-arrow.directive.mjs +0 -92
  291. package/esm2022/tooltip/src/tooltip-arrow.token.mjs +0 -3
  292. package/esm2022/tooltip/src/tooltip-content-attributes.directive.mjs +0 -24
  293. package/esm2022/tooltip/src/tooltip-content.directive.mjs +0 -48
  294. package/esm2022/tooltip/src/tooltip-content.token.mjs +0 -3
  295. package/esm2022/tooltip/src/tooltip-root.directive.mjs +0 -288
  296. package/esm2022/tooltip/src/tooltip-trigger.directive.mjs +0 -70
  297. package/esm2022/tooltip/src/tooltip.config.mjs +0 -18
  298. package/esm2022/tooltip/src/tooltip.constants.mjs +0 -84
  299. package/esm2022/tooltip/src/tooltip.types.mjs +0 -14
  300. package/esm2022/visually-hidden/index.mjs +0 -4
  301. package/esm2022/visually-hidden/radix-ng-primitives-visually-hidden.mjs +0 -5
  302. package/esm2022/visually-hidden/src/visually-hidden-input-bubble.directive.mjs +0 -74
  303. package/esm2022/visually-hidden/src/visually-hidden-input.directive.mjs +0 -74
  304. package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +0 -42
  305. package/popover/src/popover.constants.d.ts +0 -8
  306. package/tooltip/src/get-content-position.d.ts +0 -3
  307. package/tooltip/src/tooltip-content-attributes.directive.d.ts +0 -8
  308. package/tooltip/src/tooltip-content.token.d.ts +0 -3
  309. package/tooltip/src/tooltip.config.d.ts +0 -6
  310. package/tooltip/src/tooltip.constants.d.ts +0 -9
@@ -1,320 +0,0 @@
1
- import { afterNextRender, booleanAttribute, computed, contentChild, DestroyRef, Directive, effect, inject, input, signal, untracked, ViewContainerRef } from '@angular/core';
2
- import { RdxPopoverAnchorToken } from './popover-anchor.token';
3
- import { RdxPopoverArrowToken } from './popover-arrow.token';
4
- import { RdxPopoverCloseToken } from './popover-close.token';
5
- import { RdxPopoverContentAttributesToken } from './popover-content-attributes.token';
6
- import { RdxPopoverContentDirective } from './popover-content.directive';
7
- import { RdxPopoverTriggerDirective } from './popover-trigger.directive';
8
- import { RdxPopoverAnimationStatus, RdxPopoverAttachDetachEvent, RdxPopoverState } from './popover.types';
9
- import { injectRdxCdkEventService } from './utils/cdk-event.service';
10
- import * as i0 from "@angular/core";
11
- let nextId = 0;
12
- export class RdxPopoverRootDirective {
13
- constructor() {
14
- /** @ignore */
15
- this.uniqueId = signal(++nextId);
16
- /** @ignore */
17
- this.name = computed(() => `rdx-popover-root-${this.uniqueId()}`);
18
- /**
19
- * @description The anchor directive that comes form outside the popover root
20
- * @default undefined
21
- */
22
- this.anchor = input(void 0);
23
- /**
24
- * @description The open state of the popover when it is initially rendered. Use when you do not need to control its open state.
25
- * @default false
26
- */
27
- this.defaultOpen = input(false);
28
- /**
29
- * @description The controlled state of the popover. `open` input take precedence of `defaultOpen` input.
30
- * @default undefined
31
- */
32
- this.open = input(void 0);
33
- /**
34
- * @description Whether to control the state of the popover from external. Use in conjunction with `open` input.
35
- * @default undefined
36
- */
37
- this.externalControl = input(void 0);
38
- /**
39
- * @description Whether to take into account CSS opening/closing animations.
40
- * @default false
41
- */
42
- this.cssAnimation = input(false, { transform: booleanAttribute });
43
- /**
44
- * @description Whether to take into account CSS opening animations. `cssAnimation` input must be set to 'true'
45
- * @default false
46
- */
47
- this.cssOpeningAnimation = input(false, { transform: booleanAttribute });
48
- /**
49
- * @description Whether to take into account CSS closing animations. `cssAnimation` input must be set to 'true'
50
- * @default false
51
- */
52
- this.cssClosingAnimation = input(false, { transform: booleanAttribute });
53
- /** @ignore */
54
- this.cssAnimationStatus = signal(null);
55
- /** @ignore */
56
- this.popoverContentDirective = contentChild.required(RdxPopoverContentDirective);
57
- /** @ignore */
58
- this.popoverTriggerDirective = contentChild.required(RdxPopoverTriggerDirective);
59
- /** @ignore */
60
- this.popoverArrowDirective = contentChild(RdxPopoverArrowToken);
61
- /** @ignore */
62
- this.popoverCloseDirective = contentChild(RdxPopoverCloseToken);
63
- /** @ignore */
64
- this.popoverContentAttributesComponent = contentChild(RdxPopoverContentAttributesToken);
65
- /** @ignore */
66
- this.internalPopoverAnchorDirective = contentChild(RdxPopoverAnchorToken);
67
- /** @ignore */
68
- this.viewContainerRef = inject(ViewContainerRef);
69
- /** @ignore */
70
- this.rdxCdkEventService = injectRdxCdkEventService();
71
- /** @ignore */
72
- this.destroyRef = inject(DestroyRef);
73
- /** @ignore */
74
- this.state = signal(RdxPopoverState.CLOSED);
75
- /** @ignore */
76
- this.attachDetachEvent = signal(RdxPopoverAttachDetachEvent.DETACH);
77
- /** @ignore */
78
- this.isFirstDefaultOpen = signal(false);
79
- /** @ignore */
80
- this.popoverAnchorDirective = computed(() => this.internalPopoverAnchorDirective() ?? this.anchor());
81
- /** @ignore */
82
- this.onAnchorChangeEffect = () => {
83
- effect(() => {
84
- const anchor = this.anchor();
85
- untracked(() => {
86
- if (anchor) {
87
- anchor.setPopoverRoot(this);
88
- }
89
- });
90
- });
91
- };
92
- this.rdxCdkEventService?.registerPrimitive(this);
93
- this.destroyRef.onDestroy(() => this.rdxCdkEventService?.deregisterPrimitive(this));
94
- this.onStateChangeEffect();
95
- this.onCssAnimationStatusChangeChangeEffect();
96
- this.onOpenChangeEffect();
97
- this.onIsFirstDefaultOpenChangeEffect();
98
- this.onAnchorChangeEffect();
99
- this.emitOpenOrClosedEventEffect();
100
- afterNextRender({
101
- write: () => {
102
- if (this.defaultOpen() && !this.open()) {
103
- this.isFirstDefaultOpen.set(true);
104
- }
105
- }
106
- });
107
- }
108
- /** @ignore */
109
- getAnimationParamsSnapshot() {
110
- return {
111
- cssAnimation: this.cssAnimation(),
112
- cssOpeningAnimation: this.cssOpeningAnimation(),
113
- cssClosingAnimation: this.cssClosingAnimation(),
114
- cssAnimationStatus: this.cssAnimationStatus(),
115
- attachDetachEvent: this.attachDetachEvent(),
116
- state: this.state(),
117
- canEmitOnOpenOrOnClosed: this.canEmitOnOpenOrOnClosed()
118
- };
119
- }
120
- /** @ignore */
121
- controlledExternally() {
122
- return this.externalControl;
123
- }
124
- /** @ignore */
125
- firstDefaultOpen() {
126
- return this.isFirstDefaultOpen();
127
- }
128
- /** @ignore */
129
- handleOpen() {
130
- if (this.externalControl()) {
131
- return;
132
- }
133
- this.setState(RdxPopoverState.OPEN);
134
- }
135
- /** @ignore */
136
- handleClose() {
137
- if (this.isFirstDefaultOpen()) {
138
- this.isFirstDefaultOpen.set(false);
139
- }
140
- if (this.externalControl()) {
141
- return;
142
- }
143
- this.setState(RdxPopoverState.CLOSED);
144
- }
145
- /** @ignore */
146
- handleToggle() {
147
- if (this.externalControl()) {
148
- return;
149
- }
150
- this.isOpen() ? this.handleClose() : this.handleOpen();
151
- }
152
- /** @ignore */
153
- isOpen(state) {
154
- return (state ?? this.state()) === RdxPopoverState.OPEN;
155
- }
156
- /** @ignore */
157
- setState(state = RdxPopoverState.CLOSED) {
158
- if (state === this.state()) {
159
- return;
160
- }
161
- this.state.set(state);
162
- }
163
- /** @ignore */
164
- openContent() {
165
- this.popoverContentDirective().open();
166
- if (!this.cssAnimation() || !this.cssOpeningAnimation()) {
167
- this.cssAnimationStatus.set(null);
168
- }
169
- }
170
- /** @ignore */
171
- closeContent() {
172
- this.popoverContentDirective().close();
173
- if (!this.cssAnimation() || !this.cssClosingAnimation()) {
174
- this.cssAnimationStatus.set(null);
175
- }
176
- }
177
- /** @ignore */
178
- emitOnOpen() {
179
- this.popoverContentDirective().onOpen.emit();
180
- }
181
- /** @ignore */
182
- emitOnClosed() {
183
- this.popoverContentDirective().onClosed.emit();
184
- }
185
- /** @ignore */
186
- ifOpenOrCloseWithoutAnimations(state) {
187
- return (!this.popoverContentAttributesComponent() ||
188
- !this.cssAnimation() ||
189
- (this.cssAnimation() && !this.cssClosingAnimation() && state === RdxPopoverState.CLOSED) ||
190
- (this.cssAnimation() && !this.cssOpeningAnimation() && state === RdxPopoverState.OPEN) ||
191
- // !this.cssAnimationStatus() ||
192
- (this.cssOpeningAnimation() &&
193
- state === RdxPopoverState.OPEN &&
194
- [RdxPopoverAnimationStatus.OPEN_STARTED].includes(this.cssAnimationStatus())) ||
195
- (this.cssClosingAnimation() &&
196
- state === RdxPopoverState.CLOSED &&
197
- [RdxPopoverAnimationStatus.CLOSED_STARTED].includes(this.cssAnimationStatus())));
198
- }
199
- /** @ignore */
200
- ifOpenOrCloseWithAnimations(cssAnimationStatus) {
201
- return (this.popoverContentAttributesComponent() &&
202
- this.cssAnimation() &&
203
- cssAnimationStatus &&
204
- ((this.cssOpeningAnimation() &&
205
- this.state() === RdxPopoverState.OPEN &&
206
- [RdxPopoverAnimationStatus.OPEN_ENDED].includes(cssAnimationStatus)) ||
207
- (this.cssClosingAnimation() &&
208
- this.state() === RdxPopoverState.CLOSED &&
209
- [RdxPopoverAnimationStatus.CLOSED_ENDED].includes(cssAnimationStatus))));
210
- }
211
- /** @ignore */
212
- openOrClose(state) {
213
- const isOpen = this.isOpen(state);
214
- isOpen ? this.openContent() : this.closeContent();
215
- }
216
- /** @ignore */
217
- emitOnOpenOrOnClosed(state) {
218
- this.isOpen(state)
219
- ? this.attachDetachEvent() === RdxPopoverAttachDetachEvent.ATTACH && this.emitOnOpen()
220
- : this.attachDetachEvent() === RdxPopoverAttachDetachEvent.DETACH && this.emitOnClosed();
221
- }
222
- /** @ignore */
223
- canEmitOnOpenOrOnClosed() {
224
- return (!this.cssAnimation() ||
225
- (!this.cssOpeningAnimation() && this.state() === RdxPopoverState.OPEN) ||
226
- (this.cssOpeningAnimation() &&
227
- this.state() === RdxPopoverState.OPEN &&
228
- this.cssAnimationStatus() === RdxPopoverAnimationStatus.OPEN_ENDED) ||
229
- (!this.cssClosingAnimation() && this.state() === RdxPopoverState.CLOSED) ||
230
- (this.cssClosingAnimation() &&
231
- this.state() === RdxPopoverState.CLOSED &&
232
- this.cssAnimationStatus() === RdxPopoverAnimationStatus.CLOSED_ENDED));
233
- }
234
- /** @ignore */
235
- onStateChangeEffect() {
236
- let isFirst = true;
237
- effect(() => {
238
- const state = this.state();
239
- untracked(() => {
240
- if (isFirst) {
241
- isFirst = false;
242
- return;
243
- }
244
- if (!this.ifOpenOrCloseWithoutAnimations(state)) {
245
- return;
246
- }
247
- this.openOrClose(state);
248
- });
249
- }, {});
250
- }
251
- /** @ignore */
252
- onCssAnimationStatusChangeChangeEffect() {
253
- let isFirst = true;
254
- effect(() => {
255
- const cssAnimationStatus = this.cssAnimationStatus();
256
- untracked(() => {
257
- if (isFirst) {
258
- isFirst = false;
259
- return;
260
- }
261
- if (!this.ifOpenOrCloseWithAnimations(cssAnimationStatus)) {
262
- return;
263
- }
264
- this.openOrClose(this.state());
265
- });
266
- });
267
- }
268
- /** @ignore */
269
- emitOpenOrClosedEventEffect() {
270
- let isFirst = true;
271
- effect(() => {
272
- this.attachDetachEvent();
273
- this.cssAnimationStatus();
274
- untracked(() => {
275
- if (isFirst) {
276
- isFirst = false;
277
- return;
278
- }
279
- const canEmitOpenClose = untracked(() => this.canEmitOnOpenOrOnClosed());
280
- if (!canEmitOpenClose) {
281
- return;
282
- }
283
- this.emitOnOpenOrOnClosed(this.state());
284
- });
285
- });
286
- }
287
- /** @ignore */
288
- onOpenChangeEffect() {
289
- effect(() => {
290
- const open = this.open();
291
- untracked(() => {
292
- this.setState(open ? RdxPopoverState.OPEN : RdxPopoverState.CLOSED);
293
- });
294
- });
295
- }
296
- /** @ignore */
297
- onIsFirstDefaultOpenChangeEffect() {
298
- const effectRef = effect(() => {
299
- const defaultOpen = this.defaultOpen();
300
- untracked(() => {
301
- if (!defaultOpen || this.open()) {
302
- effectRef.destroy();
303
- return;
304
- }
305
- this.handleOpen();
306
- });
307
- });
308
- }
309
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
310
- 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 }); }
311
- }
312
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverRootDirective, decorators: [{
313
- type: Directive,
314
- args: [{
315
- selector: '[rdxPopoverRoot]',
316
- standalone: true,
317
- exportAs: 'rdxPopoverRoot'
318
- }]
319
- }], ctorParameters: () => [] });
320
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1yb290LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcG9wb3Zlci9zcmMvcG9wb3Zlci1yb290LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBQ1QsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLDJCQUEyQixFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUVyRSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFPZixNQUFNLE9BQU8sdUJBQXVCO0lBNkVoQztRQTVFQSxjQUFjO1FBQ0wsYUFBUSxHQUFHLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLGNBQWM7UUFDTCxTQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixJQUFJLENBQUMsUUFB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QUFDO0lBQ1AsQ0FBQzsrR0FsVVEsdUJBQXVCO21HQUF2Qix1QkFBdUIsOG1DQThDeUIsMEJBQTBCLDBHQUUxQiwwQkFBMEIsd0dBRXJDLG9CQUFvQix3R0FFcEIsb0JBQW9CLG9IQUVSLGdDQUFnQyxpSEFFM0IscUJBQXFCOzs0RkF4RDNFLHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGdCQUFnQjtpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBhZnRlck5leHRSZW5kZXIsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBjb21wdXRlZCxcbiAgICBjb250ZW50Q2hpbGQsXG4gICAgRGVzdHJveVJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgZWZmZWN0LFxuICAgIGluamVjdCxcbiAgICBpbnB1dCxcbiAgICBzaWduYWwsXG4gICAgdW50cmFja2VkLFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHhQb3BvdmVyQW5jaG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLWFuY2hvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4UG9wb3ZlckFuY2hvclRva2VuIH0gZnJvbSAnLi9wb3BvdmVyLWFuY2hvci50b2tlbic7XG5pbXBvcnQgeyBSZHhQb3BvdmVyQXJyb3dUb2tlbiB9IGZyb20gJy4vcG9wb3Zlci1hcnJvdy50b2tlbic7XG5pbXBvcnQgeyBSZHhQb3BvdmVyQ2xvc2VUb2tlbiB9IGZyb20gJy4vcG9wb3Zlci1jbG9zZS50b2tlbic7XG5pbXBvcnQgeyBSZHhQb3BvdmVyQ29udGVudEF0dHJpYnV0ZXNUb2tlbiB9IGZyb20gJy4vcG9wb3Zlci1jb250ZW50LWF0dHJpYnV0ZXMudG9rZW4nO1xuaW1wb3J0IHsgUmR4UG9wb3ZlckNvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuL3BvcG92ZXItY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4UG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuL3BvcG92ZXItdHJpZ2dlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4UG9wb3ZlckFuaW1hdGlvblN0YXR1cywgUmR4UG9wb3ZlckF0dGFjaERldGFjaEV2ZW50LCBSZHhQb3BvdmVyU3RhdGUgfSBmcm9tICcuL3BvcG92ZXIudHlwZXMnO1xuaW1wb3J0IHsgaW5qZWN0UmR4Q2RrRXZlbnRTZXJ2aWNlIH0gZnJvbSAnLi91dGlscy9jZGstZXZlbnQuc2VydmljZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhQb3BvdmVyUm9vdF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgZXhwb3J0QXM6ICdyZHhQb3BvdmVyUm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUmR4UG9wb3ZlclJvb3REaXJlY3RpdmUge1xuICAgIC8qKiBAaWdub3JlICovXG4gICAgcmVhZG9ubHkgdW5pcXVlSWQgPSBzaWduYWwoKytuZXh0SWQpO1xuICAgIC8qKiBAaWdub3JlICovXG4gICAgcmVhZG9ubHkgbmFtZSA9IGNvbXB1dGVkKCgpID0+IGByZHgtcG9wb3Zlci1yb290LSR7dGhpcy51bmlxdWVJZCgpfWApO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFRoZSBhbmNob3IgZGlyZWN0aXZlIHRoYXQgY29tZXMgZm9ybSBvdXRzaWRlIHRoZSBwb3BvdmVyIHJvb3RcbiAgICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICAgKi9cbiAgICByZWFkb25seSBhbmNob3IgPSBpbnB1dDxSZHhQb3BvdmVyQW5jaG9yRGlyZWN0aXZlIHwgdW5kZWZpbmVkPih2b2lkIDApO1xuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBUaGUgb3BlbiBzdGF0ZSBvZiB0aGUgcG9wb3ZlciB3aGVuIGl0IGlzIGluaXRpYWxseSByZW5kZXJlZC4gVXNlIHdoZW4geW91IGRvIG5vdCBuZWVkIHRvIGNvbnRyb2wgaXRzIG9wZW4gc3RhdGUuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICByZWFkb25seSBkZWZhdWx0T3BlbiA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gVGhlIGNvbnRyb2xsZWQgc3RhdGUgb2YgdGhlIHBvcG92ZXIuIGBvcGVuYCBpbnB1dCB0YWtlIHByZWNlZGVuY2Ugb2YgYGRlZmF1bHRPcGVuYCBpbnB1dC5cbiAgICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICAgKi9cbiAgICByZWFkb25seSBvcGVuID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZD4odm9pZCAwKTtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gV2hldGhlciB0byBjb250cm9sIHRoZSBzdGF0ZSBvZiB0aGUgcG9wb3ZlciBmcm9tIGV4dGVybmFsLiBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCBgb3BlbmAgaW5wdXQuXG4gICAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXh0ZXJuYWxDb250cm9sID0gaW5wdXQ8Ym9vbGVhbiB8IHVuZGVmaW5lZD4odm9pZCAwKTtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gV2hldGhlciB0byB0YWtlIGludG8gYWNjb3VudCBDU1Mgb3BlbmluZy9jbG9zaW5nIGFuaW1hdGlvbnMuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICByZWFkb25seSBjc3NBbmltYXRpb24gPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gV2hldGhlciB0byB0YWtlIGludG8gYWNjb3VudCBDU1Mgb3BlbmluZyBhbmltYXRpb25zLiBgY3NzQW5pbWF0aW9uYCBpbnB1dCBtdXN0IGJlIHNldCB0byAndHJ1ZSdcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNzc09wZW5pbmdBbmltYXRpb24gPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gV2hldGhlciB0byB0YWtlIGludG8gYWNjb3VudCBDU1MgY2xvc2luZyBhbmltYXRpb25zLiBgY3NzQW5pbWF0aW9uYCBpbnB1dCBtdXN0IGJlIHNldCB0byAndHJ1ZSdcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNzc0Nsb3NpbmdBbmltYXRpb24gPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcmVhZG9ubHkgY3NzQW5pbWF0aW9uU3RhdHVzID0gc2lnbmFsPFJkeFBvcG92ZXJBbmltYXRpb25TdGF0dXMgfCBudWxsPihudWxsKTtcblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcmVhZG9ubHkgcG9wb3ZlckNvbnRlbnREaXJlY3RpdmUgPSBjb250ZW50Q2hpbGQucmVxdWlyZWQoUmR4UG9wb3ZlckNvbnRlbnREaXJlY3RpdmUpO1xuICAgIC8qKiBAaWdub3JlICovXG4gICAgcmVhZG9ubHkgcG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUgPSBjb250ZW50Q2hpbGQucmVxdWlyZWQoUmR4UG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUpO1xuICAgIC8qKiBAaWdub3JlICovXG4gICAgcmVhZG9ubHkgcG9wb3ZlckFycm93RGlyZWN0aXZlID0gY29udGVudENoaWxkKFJkeFBvcG92ZXJBcnJvd1Rva2VuKTtcbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHJlYWRvbmx5IHBvcG92ZXJDbG9zZURpcmVjdGl2ZSA9IGNvbnRlbnRDaGlsZChSZHhQb3BvdmVyQ2xvc2VUb2tlbik7XG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICByZWFkb25seSBwb3BvdmVyQ29udGVudEF0dHJpYnV0ZXNDb21wb25lbnQgPSBjb250ZW50Q2hpbGQoUmR4UG9wb3ZlckNvbnRlbnRBdHRyaWJ1dGVzVG9rZW4pO1xuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnRlcm5hbFBvcG92ZXJBbmNob3JEaXJlY3RpdmUgPSBjb250ZW50Q2hpbGQoUmR4UG9wb3ZlckFuY2hvclRva2VuKTtcblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHJlYWRvbmx5IHJkeENka0V2ZW50U2VydmljZSA9IGluamVjdFJkeENka0V2ZW50U2VydmljZSgpO1xuICAgIC8qKiBAaWdub3JlICovXG4gICAgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcmVhZG9ubHkgc3RhdGUgPSBzaWduYWwoUmR4UG9wb3ZlclN0YXRlLkNMT1NFRCk7XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHJlYWRvbmx5IGF0dGFjaERldGFjaEV2ZW50ID0gc2lnbmFsKFJkeFBvcG92ZXJBdHRhY2hEZXRhY2hFdmVudC5ERVRBQ0gpO1xuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzRmlyc3REZWZhdWx0T3BlbiA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHJlYWRvbmx5IHBvcG92ZXJBbmNob3JEaXJlY3RpdmUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmludGVybmFsUG9wb3ZlckFuY2hvckRpcmVjdGl2ZSgpID8/IHRoaXMuYW5jaG9yKCkpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMucmR4Q2RrRXZlbnRTZXJ2aWNlPy5yZWdpc3RlclByaW1pdGl2ZSh0aGlzKTtcbiAgICAgICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB0aGlzLnJkeENka0V2ZW50U2VydmljZT8uZGVyZWdpc3RlclByaW1pdGl2ZSh0aGlzKSk7XG4gICAgICAgIHRoaXMub25TdGF0ZUNoYW5nZUVmZmVjdCgpO1xuICAgICAgICB0aGlzLm9uQ3NzQW5pbWF0aW9uU3RhdHVzQ2hhbmdlQ2hhbmdlRWZmZWN0KCk7XG4gICAgICAgIHRoaXMub25PcGVuQ2hhbmdlRWZmZWN0KCk7XG4gICAgICAgIHRoaXMub25Jc0ZpcnN0RGVmYXVsdE9wZW5DaGFuZ2VFZmZlY3QoKTtcbiAgICAgICAgdGhpcy5vbkFuY2hvckNoYW5nZUVmZmVjdCgpO1xuICAgICAgICB0aGlzLmVtaXRPcGVuT3JDbG9zZWRFdmVudEVmZmVjdCgpO1xuICAgICAgICBhZnRlck5leHRSZW5kZXIoe1xuICAgICAgICAgICAgd3JpdGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kZWZhdWx0T3BlbigpICYmICF0aGlzLm9wZW4oKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRmlyc3REZWZhdWx0T3Blbi5zZXQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIGdldEFuaW1hdGlvblBhcmFtc1NuYXBzaG90KCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY3NzQW5pbWF0aW9uOiB0aGlzLmNzc0FuaW1hdGlvbigpLFxuICAgICAgICAgICAgY3NzT3BlbmluZ0FuaW1hdGlvbjogdGhpcy5jc3NPcGVuaW5nQW5pbWF0aW9uKCksXG4gICAgICAgICAgICBjc3NDbG9zaW5nQW5pbWF0aW9uOiB0aGlzLmNzc0Nsb3NpbmdBbmltYXRpb24oKSxcbiAgICAgICAgICAgIGNzc0FuaW1hdGlvblN0YXR1czogdGhpcy5jc3NBbmltYXRpb25TdGF0dXMoKSxcbiAgICAgICAgICAgIGF0dGFjaERldGFjaEV2ZW50OiB0aGlzLmF0dGFjaERldGFjaEV2ZW50KCksXG4gICAgICAgICAgICBzdGF0ZTogdGhpcy5zdGF0ZSgpLFxuICAgICAgICAgICAgY2FuRW1pdE9uT3Blbk9yT25DbG9zZWQ6IHRoaXMuY2FuRW1pdE9uT3Blbk9yT25DbG9zZWQoKVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgY29udHJvbGxlZEV4dGVybmFsbHkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4dGVybmFsQ29udHJvbDtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIGZpcnN0RGVmYXVsdE9wZW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRmlyc3REZWZhdWx0T3BlbigpO1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgaGFuZGxlT3BlbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZXh0ZXJuYWxDb250cm9sKCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldFN0YXRlKFJkeFBvcG92ZXJTdGF0ZS5PUEVOKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIGhhbmRsZUNsb3NlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc0ZpcnN0RGVmYXVsdE9wZW4oKSkge1xuICAgICAgICAgICAgdGhpcy5pc0ZpcnN0RGVmYXVsdE9wZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5leHRlcm5hbENvbnRyb2woKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoUmR4UG9wb3ZlclN0YXRlLkNMT1NFRCk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBoYW5kbGVUb2dnbGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmV4dGVybmFsQ29udHJvbCgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc09wZW4oKSA/IHRoaXMuaGFuZGxlQ2xvc2UoKSA6IHRoaXMuaGFuZGxlT3BlbigpO1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgaXNPcGVuKHN0YXRlPzogUmR4UG9wb3ZlclN0YXRlKSB7XG4gICAgICAgIHJldHVybiAoc3RhdGUgPz8gdGhpcy5zdGF0ZSgpKSA9PT0gUmR4UG9wb3ZlclN0YXRlLk9QRU47XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIHNldFN0YXRlKHN0YXRlID0gUmR4UG9wb3ZlclN0YXRlLkNMT1NFRCk6IHZvaWQge1xuICAgICAgICBpZiAoc3RhdGUgPT09IHRoaXMuc3RhdGUoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3RhdGUuc2V0KHN0YXRlKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgb3BlbkNvbnRlbnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucG9wb3ZlckNvbnRlbnREaXJlY3RpdmUoKS5vcGVuKCk7XG4gICAgICAgIGlmICghdGhpcy5jc3NBbmltYXRpb24oKSB8fCAhdGhpcy5jc3NPcGVuaW5nQW5pbWF0aW9uKCkpIHtcbiAgICAgICAgICAgIHRoaXMuY3NzQW5pbWF0aW9uU3RhdHVzLnNldChudWxsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJpdmF0ZSBjbG9zZUNvbnRlbnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucG9wb3ZlckNvbnRlbnREaXJlY3RpdmUoKS5jbG9zZSgpO1xuICAgICAgICBpZiAoIXRoaXMuY3NzQW5pbWF0aW9uKCkgfHwgIXRoaXMuY3NzQ2xvc2luZ0FuaW1hdGlvbigpKSB7XG4gICAgICAgICAgICB0aGlzLmNzc0FuaW1hdGlvblN0YXR1cy5zZXQobnVsbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgZW1pdE9uT3BlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wb3BvdmVyQ29udGVudERpcmVjdGl2ZSgpLm9uT3Blbi5lbWl0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIGVtaXRPbkNsb3NlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wb3BvdmVyQ29udGVudERpcmVjdGl2ZSgpLm9uQ2xvc2VkLmVtaXQoKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgaWZPcGVuT3JDbG9zZVdpdGhvdXRBbmltYXRpb25zKHN0YXRlOiBSZHhQb3BvdmVyU3RhdGUpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzLnBvcG92ZXJDb250ZW50QXR0cmlidXRlc0NvbXBvbmVudCgpIHx8XG4gICAgICAgICAgICAhdGhpcy5jc3NBbmltYXRpb24oKSB8fFxuICAgICAgICAgICAgKHRoaXMuY3NzQW5pbWF0aW9uKCkgJiYgIXRoaXMuY3NzQ2xvc2luZ0FuaW1hdGlvbigpICYmIHN0YXRlID09PSBSZHhQb3BvdmVyU3RhdGUuQ0xPU0VEKSB8fFxuICAgICAgICAgICAgKHRoaXMuY3NzQW5pbWF0aW9uKCkgJiYgIXRoaXMuY3NzT3BlbmluZ0FuaW1hdGlvbigpICYmIHN0YXRlID09PSBSZHhQb3BvdmVyU3RhdGUuT1BFTikgfHxcbiAgICAgICAgICAgIC8vICF0aGlzLmNzc0FuaW1hdGlvblN0YXR1cygpIHx8XG4gICAgICAgICAgICAodGhpcy5jc3NPcGVuaW5nQW5pbWF0aW9uKCkgJiZcbiAgICAgICAgICAgICAgICBzdGF0ZSA9PT0gUmR4UG9wb3ZlclN0YXRlLk9QRU4gJiZcbiAgICAgICAgICAgICAgICBbUmR4UG9wb3ZlckFuaW1hdGlvblN0YXR1cy5PUEVOX1NUQVJURURdLmluY2x1ZGVzKHRoaXMuY3NzQW5pbWF0aW9uU3RhdHVzKCkhKSkgfHxcbiAgICAgICAgICAgICh0aGlzLmNzc0Nsb3NpbmdBbmltYXRpb24oKSAmJlxuICAgICAgICAgICAgICAgIHN0YXRlID09PSBSZHhQb3BvdmVyU3RhdGUuQ0xPU0VEICYmXG4gICAgICAgICAgICAgICAgW1JkeFBvcG92ZXJBbmltYXRpb25TdGF0dXMuQ0xPU0VEX1NUQVJURURdLmluY2x1ZGVzKHRoaXMuY3NzQW5pbWF0aW9uU3RhdHVzKCkhKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgaWZPcGVuT3JDbG9zZVdpdGhBbmltYXRpb25zKGNzc0FuaW1hdGlvblN0YXR1czogUmR4UG9wb3ZlckFuaW1hdGlvblN0YXR1cyB8IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucG9wb3ZlckNvbnRlbnRBdHRyaWJ1dGVzQ29tcG9uZW50KCkgJiZcbiAgICAgICAgICAgIHRoaXMuY3NzQW5pbWF0aW9uKCkgJiZcbiAgICAgICAgICAgIGNzc0FuaW1hdGlvblN0YXR1cyAmJlxuICAgICAgICAgICAgKCh0aGlzLmNzc09wZW5pbmdBbmltYXRpb24oKSAmJlxuICAgICAgICAgICAgICAgIHRoaXMuc3RhdGUoKSA9PT0gUmR4UG9wb3ZlclN0YXRlLk9QRU4gJiZcbiAgICAgICAgICAgICAgICBbUmR4UG9wb3ZlckFuaW1hdGlvblN0YXR1cy5PUEVOX0VOREVEXS5pbmNsdWRlcyhjc3NBbmltYXRpb25TdGF0dXMpKSB8fFxuICAgICAgICAgICAgICAgICh0aGlzLmNzc0Nsb3NpbmdBbmltYXRpb24oKSAmJlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YXRlKCkgPT09IFJkeFBvcG92ZXJTdGF0ZS5DTE9TRUQgJiZcbiAgICAgICAgICAgICAgICAgICAgW1JkeFBvcG92ZXJBbmltYXRpb25TdGF0dXMuQ0xPU0VEX0VOREVEXS5pbmNsdWRlcyhjc3NBbmltYXRpb25TdGF0dXMpKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgb3Blbk9yQ2xvc2Uoc3RhdGU6IFJkeFBvcG92ZXJTdGF0ZSkge1xuICAgICAgICBjb25zdCBpc09wZW4gPSB0aGlzLmlzT3BlbihzdGF0ZSk7XG4gICAgICAgIGlzT3BlbiA/IHRoaXMub3BlbkNvbnRlbnQoKSA6IHRoaXMuY2xvc2VDb250ZW50KCk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIGVtaXRPbk9wZW5Pck9uQ2xvc2VkKHN0YXRlOiBSZHhQb3BvdmVyU3RhdGUpIHtcbiAgICAgICAgdGhpcy5pc09wZW4oc3RhdGUpXG4gICAgICAgICAgICA/IHRoaXMuYXR0YWNoRGV0YWNoRXZlbnQoKSA9PT0gUmR4UG9wb3ZlckF0dGFjaERldGFjaEV2ZW50LkFUVEFDSCAmJiB0aGlzLmVtaXRPbk9wZW4oKVxuICAgICAgICAgICAgOiB0aGlzLmF0dGFjaERldGFjaEV2ZW50KCkgPT09IFJkeFBvcG92ZXJBdHRhY2hEZXRhY2hFdmVudC5ERVRBQ0ggJiYgdGhpcy5lbWl0T25DbG9zZWQoKTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgY2FuRW1pdE9uT3Blbk9yT25DbG9zZWQoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcy5jc3NBbmltYXRpb24oKSB8fFxuICAgICAgICAgICAgKCF0aGlzLmNzc09wZW5pbmdBbmltYXRpb24oKSAmJiB0aGlzLnN0YXRlKCkgPT09IFJkeFBvcG92ZXJTdGF0ZS5PUEVOKSB8fFxuICAgICAgICAgICAgKHRoaXMuY3NzT3BlbmluZ0FuaW1hdGlvbigpICYmXG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZSgpID09PSBSZHhQb3BvdmVyU3RhdGUuT1BFTiAmJlxuICAgICAgICAgICAgICAgIHRoaXMuY3NzQW5pbWF0aW9uU3RhdHVzKCkgPT09IFJkeFBvcG92ZXJBbmltYXRpb25TdGF0dXMuT1BFTl9FTkRFRCkgfHxcbiAgICAgICAgICAgICghdGhpcy5jc3NDbG9zaW5nQW5pbWF0aW9uKCkgJiYgdGhpcy5zdGF0ZSgpID09PSBSZHhQb3BvdmVyU3RhdGUuQ0xPU0VEKSB8fFxuICAgICAgICAgICAgKHRoaXMuY3NzQ2xvc2luZ0FuaW1hdGlvbigpICYmXG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZSgpID09PSBSZHhQb3BvdmVyU3RhdGUuQ0xPU0VEICYmXG4gICAgICAgICAgICAgICAgdGhpcy5jc3NBbmltYXRpb25TdGF0dXMoKSA9PT0gUmR4UG9wb3ZlckFuaW1hdGlvblN0YXR1cy5DTE9TRURfRU5ERUQpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIG9uU3RhdGVDaGFuZ2VFZmZlY3QoKSB7XG4gICAgICAgIGxldCBpc0ZpcnN0ID0gdHJ1ZTtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZSgpO1xuICAgICAgICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXNGaXJzdCkge1xuICAgICAgICAgICAgICAgICAgICBpc0ZpcnN0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlmT3Blbk9yQ2xvc2VXaXRob3V0QW5pbWF0aW9ucyhzdGF0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5PckNsb3NlKHN0YXRlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LCB7fSk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIG9uQ3NzQW5pbWF0aW9uU3RhdHVzQ2hhbmdlQ2hhbmdlRWZmZWN0KCkge1xuICAgICAgICBsZXQgaXNGaXJzdCA9IHRydWU7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjc3NBbmltYXRpb25TdGF0dXMgPSB0aGlzLmNzc0FuaW1hdGlvblN0YXR1cygpO1xuICAgICAgICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaXNGaXJzdCkge1xuICAgICAgICAgICAgICAgICAgICBpc0ZpcnN0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlmT3Blbk9yQ2xvc2VXaXRoQW5pbWF0aW9ucyhjc3NBbmltYXRpb25TdGF0dXMpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuT3JDbG9zZSh0aGlzLnN0YXRlKCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJpdmF0ZSBlbWl0T3Blbk9yQ2xvc2VkRXZlbnRFZmZlY3QoKSB7XG4gICAgICAgIGxldCBpc0ZpcnN0ID0gdHJ1ZTtcbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXR0YWNoRGV0YWNoRXZlbnQoKTtcbiAgICAgICAgICAgIHRoaXMuY3NzQW5pbWF0aW9uU3RhdHVzKCk7XG4gICAgICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpc0ZpcnN0KSB7XG4gICAgICAgICAgICAgICAgICAgIGlzRmlyc3QgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBjYW5FbWl0T3BlbkNsb3NlID0gdW50cmFja2VkKCgpID0+IHRoaXMuY2FuRW1pdE9uT3Blbk9yT25DbG9zZWQoKSk7XG4gICAgICAgICAgICAgICAgaWYgKCFjYW5FbWl0T3BlbkNsb3NlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5lbWl0T25PcGVuT3JPbkNsb3NlZCh0aGlzLnN0YXRlKCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJpdmF0ZSBvbk9wZW5DaGFuZ2VFZmZlY3QoKSB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvcGVuID0gdGhpcy5vcGVuKCk7XG4gICAgICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUob3BlbiA/IFJkeFBvcG92ZXJTdGF0ZS5PUEVOIDogUmR4UG9wb3ZlclN0YXRlLkNMT1NFRCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBwcml2YXRlIG9uSXNGaXJzdERlZmF1bHRPcGVuQ2hhbmdlRWZmZWN0KCkge1xuICAgICAgICBjb25zdCBlZmZlY3RSZWYgPSBlZmZlY3QoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGVmYXVsdE9wZW4gPSB0aGlzLmRlZmF1bHRPcGVuKCk7XG4gICAgICAgICAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghZGVmYXVsdE9wZW4gfHwgdGhpcy5vcGVuKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgZWZmZWN0UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZU9wZW4oKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHByaXZhdGUgb25BbmNob3JDaGFuZ2VFZmZlY3QgPSAoKSA9PiB7XG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhbmNob3IgPSB0aGlzLmFuY2hvcigpO1xuICAgICAgICAgICAgdW50cmFja2VkKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYW5jaG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIGFuY2hvci5zZXRQb3BvdmVyUm9vdCh0aGlzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfTtcbn1cbiJdfQ==
@@ -1,7 +0,0 @@
1
- import { assertInInjectionContext, inject, isDevMode } from '@angular/core';
2
- import { RdxPopoverRootDirective } from './popover-root.directive';
3
- export function injectPopoverRoot(optional = false) {
4
- isDevMode() && assertInInjectionContext(injectPopoverRoot);
5
- return inject(RdxPopoverRootDirective, { optional });
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci1yb290LmluamVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcG9wb3Zlci9zcmMvcG9wb3Zlci1yb290LmluamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUluRSxNQUFNLFVBQVUsaUJBQWlCLENBQUMsUUFBUSxHQUFHLEtBQUs7SUFDOUMsU0FBUyxFQUFFLElBQUksd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUMzRCxPQUFPLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFzc2VydEluSW5qZWN0aW9uQ29udGV4dCwgaW5qZWN0LCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeFBvcG92ZXJSb290RGlyZWN0aXZlIH0gZnJvbSAnLi9wb3BvdmVyLXJvb3QuZGlyZWN0aXZlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFBvcG92ZXJSb290KG9wdGlvbmFsPzogZmFsc2UpOiBSZHhQb3BvdmVyUm9vdERpcmVjdGl2ZTtcbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RQb3BvdmVyUm9vdChvcHRpb25hbDogdHJ1ZSk6IFJkeFBvcG92ZXJSb290RGlyZWN0aXZlIHwgbnVsbDtcbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RQb3BvdmVyUm9vdChvcHRpb25hbCA9IGZhbHNlKTogUmR4UG9wb3ZlclJvb3REaXJlY3RpdmUgfCBudWxsIHtcbiAgICBpc0Rldk1vZGUoKSAmJiBhc3NlcnRJbkluamVjdGlvbkNvbnRleHQoaW5qZWN0UG9wb3ZlclJvb3QpO1xuICAgIHJldHVybiBpbmplY3QoUmR4UG9wb3ZlclJvb3REaXJlY3RpdmUsIHsgb3B0aW9uYWwgfSk7XG59XG4iXX0=
@@ -1,41 +0,0 @@
1
- import { CdkOverlayOrigin } from '@angular/cdk/overlay';
2
- import { computed, Directive, ElementRef, inject } from '@angular/core';
3
- import { injectPopoverRoot } from './popover-root.inject';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/cdk/overlay";
6
- export class RdxPopoverTriggerDirective {
7
- constructor() {
8
- /** @ignore */
9
- this.popoverRoot = injectPopoverRoot();
10
- /** @ignore */
11
- this.elementRef = inject(ElementRef);
12
- /** @ignore */
13
- this.overlayOrigin = inject(CdkOverlayOrigin);
14
- /** @ignore */
15
- this.name = computed(() => `rdx-popover-trigger-${this.popoverRoot.uniqueId()}`);
16
- }
17
- /** @ignore */
18
- click() {
19
- this.popoverRoot.handleToggle();
20
- }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
22
- 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 }); }
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxPopoverTriggerDirective, decorators: [{
25
- type: Directive,
26
- args: [{
27
- selector: '[rdxPopoverTrigger]',
28
- standalone: true,
29
- hostDirectives: [CdkOverlayOrigin],
30
- host: {
31
- type: 'button',
32
- '[attr.id]': 'name()',
33
- '[attr.aria-haspopup]': '"dialog"',
34
- '[attr.aria-expanded]': 'popoverRoot.isOpen()',
35
- '[attr.aria-controls]': 'popoverRoot.popoverContentDirective().name()',
36
- '[attr.data-state]': 'popoverRoot.state()',
37
- '(click)': 'click()'
38
- }
39
- }]
40
- }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcG9wb3Zlci9zcmMvcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFnQjFELE1BQU0sT0FBTywwQkFBMEI7SUFkdkM7UUFlSSxjQUFjO1FBQ0ssZ0JBQVcsR0FBRyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3JELGNBQWM7UUFDTCxlQUFVLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUNsRSxjQUFjO1FBQ0wsa0JBQWEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUVsRCxjQUFjO1FBQ0wsU0FBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FNeEY7SUFKRyxjQUFjO0lBQ2QsS0FBSztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDcEMsQ0FBQzsrR0FkUSwwQkFBMEI7bUdBQTFCLDBCQUEwQjs7NEZBQTFCLDBCQUEwQjtrQkFkdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsY0FBYyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2xDLElBQUksRUFBRTt3QkFDRixJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsUUFBUTt3QkFDckIsc0JBQXNCLEVBQUUsVUFBVTt3QkFDbEMsc0JBQXNCLEVBQUUsc0JBQXNCO3dCQUM5QyxzQkFBc0IsRUFBRSw4Q0FBOEM7d0JBQ3RFLG1CQUFtQixFQUFFLHFCQUFxQjt3QkFDMUMsU0FBUyxFQUFFLFNBQVM7cUJBQ3ZCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrT3ZlcmxheU9yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IGNvbXB1dGVkLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0UG9wb3ZlclJvb3QgfSBmcm9tICcuL3BvcG92ZXItcm9vdC5pbmplY3QnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhQb3BvdmVyVHJpZ2dlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtDZGtPdmVybGF5T3JpZ2luXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICAnW2F0dHIuaWRdJzogJ25hbWUoKScsXG4gICAgICAgICdbYXR0ci5hcmlhLWhhc3BvcHVwXSc6ICdcImRpYWxvZ1wiJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtZXhwYW5kZWRdJzogJ3BvcG92ZXJSb290LmlzT3BlbigpJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtY29udHJvbHNdJzogJ3BvcG92ZXJSb290LnBvcG92ZXJDb250ZW50RGlyZWN0aXZlKCkubmFtZSgpJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogJ3BvcG92ZXJSb290LnN0YXRlKCknLFxuICAgICAgICAnKGNsaWNrKSc6ICdjbGljaygpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4UG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUge1xuICAgIC8qKiBAaWdub3JlICovXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHBvcG92ZXJSb290ID0gaW5qZWN0UG9wb3ZlclJvb3QoKTtcbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICAgIC8qKiBAaWdub3JlICovXG4gICAgcmVhZG9ubHkgb3ZlcmxheU9yaWdpbiA9IGluamVjdChDZGtPdmVybGF5T3JpZ2luKTtcblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcmVhZG9ubHkgbmFtZSA9IGNvbXB1dGVkKCgpID0+IGByZHgtcG9wb3Zlci10cmlnZ2VyLSR7dGhpcy5wb3BvdmVyUm9vdC51bmlxdWVJZCgpfWApO1xuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBjbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wb3BvdmVyUm9vdC5oYW5kbGVUb2dnbGUoKTtcbiAgICB9XG59XG4iXX0=
@@ -1,90 +0,0 @@
1
- import { RdxPopoverAlign, RdxPopoverSide } from './popover.types';
2
- export const POPOVER_POSITIONS = {
3
- [RdxPopoverSide.Top]: {
4
- [RdxPopoverAlign.Center]: {
5
- originX: 'center',
6
- originY: 'top',
7
- overlayX: 'center',
8
- overlayY: 'bottom'
9
- },
10
- [RdxPopoverAlign.Start]: {
11
- originX: 'start',
12
- originY: 'top',
13
- overlayX: 'start',
14
- overlayY: 'bottom'
15
- },
16
- [RdxPopoverAlign.End]: {
17
- originX: 'end',
18
- originY: 'top',
19
- overlayX: 'end',
20
- overlayY: 'bottom'
21
- }
22
- },
23
- [RdxPopoverSide.Right]: {
24
- [RdxPopoverAlign.Center]: {
25
- originX: 'end',
26
- originY: 'center',
27
- overlayX: 'start',
28
- overlayY: 'center'
29
- },
30
- [RdxPopoverAlign.Start]: {
31
- originX: 'end',
32
- originY: 'top',
33
- overlayX: 'start',
34
- overlayY: 'top'
35
- },
36
- [RdxPopoverAlign.End]: {
37
- originX: 'end',
38
- originY: 'bottom',
39
- overlayX: 'start',
40
- overlayY: 'bottom'
41
- }
42
- },
43
- [RdxPopoverSide.Bottom]: {
44
- [RdxPopoverAlign.Center]: {
45
- originX: 'center',
46
- originY: 'bottom',
47
- overlayX: 'center',
48
- overlayY: 'top'
49
- },
50
- [RdxPopoverAlign.Start]: {
51
- originX: 'start',
52
- originY: 'bottom',
53
- overlayX: 'start',
54
- overlayY: 'top'
55
- },
56
- [RdxPopoverAlign.End]: {
57
- originX: 'end',
58
- originY: 'bottom',
59
- overlayX: 'end',
60
- overlayY: 'top'
61
- }
62
- },
63
- [RdxPopoverSide.Left]: {
64
- [RdxPopoverAlign.Center]: {
65
- originX: 'start',
66
- originY: 'center',
67
- overlayX: 'end',
68
- overlayY: 'center'
69
- },
70
- [RdxPopoverAlign.Start]: {
71
- originX: 'start',
72
- originY: 'top',
73
- overlayX: 'end',
74
- overlayY: 'top'
75
- },
76
- [RdxPopoverAlign.End]: {
77
- originX: 'start',
78
- originY: 'bottom',
79
- overlayX: 'end',
80
- overlayY: 'bottom'
81
- }
82
- }
83
- };
84
- export const DEFAULTS = {
85
- offsets: {
86
- side: 10,
87
- align: 0
88
- }
89
- };
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3BvcG92ZXIvc3JjL3BvcG92ZXIuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQXVCLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXZGLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUF3QjtJQUNsRCxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNsQixDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN0QixPQUFPLEVBQUUsUUFBUTtZQUNqQixPQUFPLEVBQUUsS0FBSztZQUNkLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFFBQVEsRUFBRSxRQUFRO1NBQ3JCO1FBQ0QsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckIsT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLEtBQUs7WUFDZCxRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUUsUUFBUTtTQUNyQjtRQUNELENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLE9BQU8sRUFBRSxLQUFLO1lBQ2QsT0FBTyxFQUFFLEtBQUs7WUFDZCxRQUFRLEVBQUUsS0FBSztZQUNmLFFBQVEsRUFBRSxRQUFRO1NBQ3JCO0tBQ0o7SUFDRCxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNwQixDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUN0QixPQUFPLEVBQUUsS0FBSztZQUNkLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsRUFBRSxRQUFRO1NBQ3JCO1FBQ0QsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckIsT0FBTyxFQUFFLEtBQUs7WUFDZCxPQUFPLEVBQUUsS0FBSztZQUNkLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsRUFBRSxLQUFLO1NBQ2xCO1FBQ0QsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkIsT0FBTyxFQUFFLEtBQUs7WUFDZCxPQUFPLEVBQUUsUUFBUTtZQUNqQixRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUUsUUFBUTtTQUNyQjtLQUNKO0lBQ0QsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDckIsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEIsT0FBTyxFQUFFLFFBQVE7WUFDakIsT0FBTyxFQUFFLFFBQVE7WUFDakIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsUUFBUSxFQUFFLEtBQUs7U0FDbEI7UUFDRCxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNyQixPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsUUFBUTtZQUNqQixRQUFRLEVBQUUsT0FBTztZQUNqQixRQUFRLEVBQUUsS0FBSztTQUNsQjtRQUNELENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLE9BQU8sRUFBRSxLQUFLO1lBQ2QsT0FBTyxFQUFFLFFBQVE7WUFDakIsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRLEVBQUUsS0FBSztTQUNsQjtLQUNKO0lBQ0QsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDbkIsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLFFBQVE7WUFDakIsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRLEVBQUUsUUFBUTtTQUNyQjtRQUNELENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE9BQU8sRUFBRSxLQUFLO1lBQ2QsUUFBUSxFQUFFLEtBQUs7WUFDZixRQUFRLEVBQUUsS0FBSztTQUNsQjtRQUNELENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsUUFBUSxFQUFFLFFBQVE7U0FDckI7S0FDSjtDQUNLLENBQUM7QUFFWCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUc7SUFDcEIsT0FBTyxFQUFFO1FBQ0wsSUFBSSxFQUFFLEVBQUU7UUFDUixLQUFLLEVBQUUsQ0FBQztLQUNYO0NBQ0ssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJkeFBvcG92ZXJBbGlnbiwgUmR4UG9wb3ZlclBvc2l0aW9ucywgUmR4UG9wb3ZlclNpZGUgfSBmcm9tICcuL3BvcG92ZXIudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgUE9QT1ZFUl9QT1NJVElPTlM6IFJkeFBvcG92ZXJQb3NpdGlvbnMgPSB7XG4gICAgW1JkeFBvcG92ZXJTaWRlLlRvcF06IHtcbiAgICAgICAgW1JkeFBvcG92ZXJBbGlnbi5DZW50ZXJdOiB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nXG4gICAgICAgIH0sXG4gICAgICAgIFtSZHhQb3BvdmVyQWxpZ24uU3RhcnRdOiB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgICAgICB9LFxuICAgICAgICBbUmR4UG9wb3ZlckFsaWduLkVuZF06IHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICAgICAgfVxuICAgIH0sXG4gICAgW1JkeFBvcG92ZXJTaWRlLlJpZ2h0XToge1xuICAgICAgICBbUmR4UG9wb3ZlckFsaWduLkNlbnRlcl06IHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJ1xuICAgICAgICB9LFxuICAgICAgICBbUmR4UG9wb3ZlckFsaWduLlN0YXJ0XToge1xuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgICAgIH0sXG4gICAgICAgIFtSZHhQb3BvdmVyQWxpZ24uRW5kXToge1xuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nXG4gICAgICAgIH1cbiAgICB9LFxuICAgIFtSZHhQb3BvdmVyU2lkZS5Cb3R0b21dOiB7XG4gICAgICAgIFtSZHhQb3BvdmVyQWxpZ24uQ2VudGVyXToge1xuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgICAgICB9LFxuICAgICAgICBbUmR4UG9wb3ZlckFsaWduLlN0YXJ0XToge1xuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCdcbiAgICAgICAgfSxcbiAgICAgICAgW1JkeFBvcG92ZXJBbGlnbi5FbmRdOiB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgICAgIH1cbiAgICB9LFxuICAgIFtSZHhQb3BvdmVyU2lkZS5MZWZ0XToge1xuICAgICAgICBbUmR4UG9wb3ZlckFsaWduLkNlbnRlcl06IHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJ1xuICAgICAgICB9LFxuICAgICAgICBbUmR4UG9wb3ZlckFsaWduLlN0YXJ0XToge1xuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgICAgIH0sXG4gICAgICAgIFtSZHhQb3BvdmVyQWxpZ24uRW5kXToge1xuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdlbmQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nXG4gICAgICAgIH1cbiAgICB9XG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVFMgPSB7XG4gICAgb2Zmc2V0czoge1xuICAgICAgICBzaWRlOiAxMCxcbiAgICAgICAgYWxpZ246IDBcbiAgICB9XG59IGFzIGNvbnN0O1xuIl19
@@ -1,31 +0,0 @@
1
- export var RdxPopoverSide;
2
- (function (RdxPopoverSide) {
3
- RdxPopoverSide["Top"] = "top";
4
- RdxPopoverSide["Right"] = "right";
5
- RdxPopoverSide["Bottom"] = "bottom";
6
- RdxPopoverSide["Left"] = "left";
7
- })(RdxPopoverSide || (RdxPopoverSide = {}));
8
- export var RdxPopoverAlign;
9
- (function (RdxPopoverAlign) {
10
- RdxPopoverAlign["Start"] = "start";
11
- RdxPopoverAlign["Center"] = "center";
12
- RdxPopoverAlign["End"] = "end";
13
- })(RdxPopoverAlign || (RdxPopoverAlign = {}));
14
- export var RdxPopoverState;
15
- (function (RdxPopoverState) {
16
- RdxPopoverState["OPEN"] = "open";
17
- RdxPopoverState["CLOSED"] = "closed";
18
- })(RdxPopoverState || (RdxPopoverState = {}));
19
- export var RdxPopoverAttachDetachEvent;
20
- (function (RdxPopoverAttachDetachEvent) {
21
- RdxPopoverAttachDetachEvent["ATTACH"] = "attach";
22
- RdxPopoverAttachDetachEvent["DETACH"] = "detach";
23
- })(RdxPopoverAttachDetachEvent || (RdxPopoverAttachDetachEvent = {}));
24
- export var RdxPopoverAnimationStatus;
25
- (function (RdxPopoverAnimationStatus) {
26
- RdxPopoverAnimationStatus["OPEN_STARTED"] = "open_started";
27
- RdxPopoverAnimationStatus["OPEN_ENDED"] = "open_ended";
28
- RdxPopoverAnimationStatus["CLOSED_STARTED"] = "closed_started";
29
- RdxPopoverAnimationStatus["CLOSED_ENDED"] = "closed_ended";
30
- })(RdxPopoverAnimationStatus || (RdxPopoverAnimationStatus = {}));
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvcG9wb3Zlci9zcmMvcG9wb3Zlci50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQU4sSUFBWSxjQUtYO0FBTEQsV0FBWSxjQUFjO0lBQ3RCLDZCQUFXLENBQUE7SUFDWCxpQ0FBZSxDQUFBO0lBQ2YsbUNBQWlCLENBQUE7SUFDakIsK0JBQWEsQ0FBQTtBQUNqQixDQUFDLEVBTFcsY0FBYyxLQUFkLGNBQWMsUUFLekI7QUFFRCxNQUFNLENBQU4sSUFBWSxlQUlYO0FBSkQsV0FBWSxlQUFlO0lBQ3ZCLGtDQUFlLENBQUE7SUFDZixvQ0FBaUIsQ0FBQTtJQUNqQiw4QkFBVyxDQUFBO0FBQ2YsQ0FBQyxFQUpXLGVBQWUsS0FBZixlQUFlLFFBSTFCO0FBRUQsTUFBTSxDQUFOLElBQVksZUFHWDtBQUhELFdBQVksZUFBZTtJQUN2QixnQ0FBYSxDQUFBO0lBQ2Isb0NBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUhXLGVBQWUsS0FBZixlQUFlLFFBRzFCO0FBRUQsTUFBTSxDQUFOLElBQVksMkJBR1g7QUFIRCxXQUFZLDJCQUEyQjtJQUNuQyxnREFBaUIsQ0FBQTtJQUNqQixnREFBaUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsMkJBQTJCLEtBQTNCLDJCQUEyQixRQUd0QztBQUVELE1BQU0sQ0FBTixJQUFZLHlCQUtYO0FBTEQsV0FBWSx5QkFBeUI7SUFDakMsMERBQTZCLENBQUE7SUFDN0Isc0RBQXlCLENBQUE7SUFDekIsOERBQWlDLENBQUE7SUFDakMsMERBQTZCLENBQUE7QUFDakMsQ0FBQyxFQUxXLHlCQUF5QixLQUF6Qix5QkFBeUIsUUFLcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0aW9uUG9zaXRpb25QYWlyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5leHBvcnQgZW51bSBSZHhQb3BvdmVyU2lkZSB7XG4gICAgVG9wID0gJ3RvcCcsXG4gICAgUmlnaHQgPSAncmlnaHQnLFxuICAgIEJvdHRvbSA9ICdib3R0b20nLFxuICAgIExlZnQgPSAnbGVmdCdcbn1cblxuZXhwb3J0IGVudW0gUmR4UG9wb3ZlckFsaWduIHtcbiAgICBTdGFydCA9ICdzdGFydCcsXG4gICAgQ2VudGVyID0gJ2NlbnRlcicsXG4gICAgRW5kID0gJ2VuZCdcbn1cblxuZXhwb3J0IGVudW0gUmR4UG9wb3ZlclN0YXRlIHtcbiAgICBPUEVOID0gJ29wZW4nLFxuICAgIENMT1NFRCA9ICdjbG9zZWQnXG59XG5cbmV4cG9ydCBlbnVtIFJkeFBvcG92ZXJBdHRhY2hEZXRhY2hFdmVudCB7XG4gICAgQVRUQUNIID0gJ2F0dGFjaCcsXG4gICAgREVUQUNIID0gJ2RldGFjaCdcbn1cblxuZXhwb3J0IGVudW0gUmR4UG9wb3ZlckFuaW1hdGlvblN0YXR1cyB7XG4gICAgT1BFTl9TVEFSVEVEID0gJ29wZW5fc3RhcnRlZCcsXG4gICAgT1BFTl9FTkRFRCA9ICdvcGVuX2VuZGVkJyxcbiAgICBDTE9TRURfU1RBUlRFRCA9ICdjbG9zZWRfc3RhcnRlZCcsXG4gICAgQ0xPU0VEX0VOREVEID0gJ2Nsb3NlZF9lbmRlZCdcbn1cblxuZXhwb3J0IHR5cGUgUmR4U2lkZUFuZEFsaWduID0geyBzaWRlOiBSZHhQb3BvdmVyU2lkZTsgYWxpZ246IFJkeFBvcG92ZXJBbGlnbiB9O1xuZXhwb3J0IHR5cGUgUmR4U2lkZUFuZEFsaWduT2Zmc2V0cyA9IHsgc2lkZU9mZnNldDogbnVtYmVyOyBhbGlnbk9mZnNldDogbnVtYmVyIH07XG5cbmV4cG9ydCB0eXBlIFJkeFBvcG92ZXJQb3NpdGlvbnMgPSB7XG4gICAgW2tleSBpbiBSZHhQb3BvdmVyU2lkZV06IHtcbiAgICAgICAgW2tleSBpbiBSZHhQb3BvdmVyQWxpZ25dOiBDb25uZWN0aW9uUG9zaXRpb25QYWlyO1xuICAgIH07XG59O1xuXG5leHBvcnQgdHlwZSBSZHhBbGxQb3NzaWJsZUNvbm5lY3RlZFBvc2l0aW9ucyA9IFJlYWRvbmx5TWFwPFxuICAgIGAke1JkeFBvcG92ZXJTaWRlfXwke1JkeFBvcG92ZXJBbGlnbn1gLFxuICAgIENvbm5lY3Rpb25Qb3NpdGlvblBhaXJcbj47XG5cbmV4cG9ydCB0eXBlIFJkeEFycm93UG9zaXRpb25QYXJhbXMgPSB7XG4gICAgdG9wOiBzdHJpbmc7XG4gICAgbGVmdDogc3RyaW5nO1xuICAgIHRyYW5zZm9ybTogc3RyaW5nO1xufTtcbiJdfQ==