@cuby-ui/core 0.0.194 → 0.0.195

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 (337) hide show
  1. package/animations/animations.d.ts +36 -36
  2. package/animations/index.d.ts +1 -1
  3. package/classes/accessors.d.ts +17 -17
  4. package/classes/driver.d.ts +16 -16
  5. package/classes/index.d.ts +3 -3
  6. package/classes/vehicle.d.ts +6 -6
  7. package/components/accordion/accordion-item/accordion-item.component.d.ts +11 -11
  8. package/components/accordion/accordion.component.d.ts +5 -5
  9. package/components/accordion/accordion.module.d.ts +11 -11
  10. package/components/accordion/index.d.ts +3 -3
  11. package/components/alert/alert.component.d.ts +13 -13
  12. package/components/alert/alert.interfaces.d.ts +9 -9
  13. package/components/alert/alert.module.d.ts +11 -11
  14. package/components/alert/alert.service.d.ts +7 -7
  15. package/components/alert/alert.tokens.d.ts +16 -16
  16. package/components/alert/alert.types.d.ts +3 -3
  17. package/components/alert/alerts.component.d.ts +17 -17
  18. package/components/alert/index.d.ts +8 -8
  19. package/components/badge/badge.component.d.ts +10 -10
  20. package/components/badge/badge.module.d.ts +8 -8
  21. package/components/badge/badge.options.d.ts +8 -8
  22. package/components/badge/index.d.ts +2 -2
  23. package/components/banner/banner.component.d.ts +21 -21
  24. package/components/banner/banner.module.d.ts +11 -11
  25. package/components/banner/banner.options.d.ts +13 -13
  26. package/components/banner/index.d.ts +3 -3
  27. package/components/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +6 -6
  28. package/components/breadcrumbs/breadcrumbs.component.d.ts +7 -7
  29. package/components/breadcrumbs/breadcrumbs.module.d.ts +10 -10
  30. package/components/breadcrumbs/index.d.ts +3 -3
  31. package/components/button/button.component.d.ts +38 -38
  32. package/components/button/button.module.d.ts +9 -9
  33. package/components/button/button.options.d.ts +9 -9
  34. package/components/button/index.d.ts +3 -3
  35. package/components/button-group/button-group.component.d.ts +5 -5
  36. package/components/button-group/button-group.module.d.ts +7 -7
  37. package/components/button-group/index.d.ts +2 -2
  38. package/components/checkbox/checkbox.component.d.ts +5 -5
  39. package/components/checkbox/checkbox.module.d.ts +7 -7
  40. package/components/checkbox/index.d.ts +2 -2
  41. package/components/context-menu/context-menu.component.d.ts +39 -39
  42. package/components/context-menu/context-menu.module.d.ts +9 -9
  43. package/components/context-menu/index.d.ts +2 -2
  44. package/components/dialog/dialog-actions/dialog-actions.component.d.ts +5 -5
  45. package/components/dialog/dialog-header/dialog-header.component.d.ts +13 -13
  46. package/components/dialog/dialog.component.d.ts +33 -33
  47. package/components/dialog/dialog.interfaces.d.ts +11 -11
  48. package/components/dialog/dialog.module.d.ts +14 -14
  49. package/components/dialog/dialog.service.d.ts +7 -7
  50. package/components/dialog/dialog.tokens.d.ts +8 -8
  51. package/components/dialog/dialogs.component.d.ts +18 -18
  52. package/components/dialog/index.d.ts +8 -8
  53. package/components/form-field/form-field.component.d.ts +5 -5
  54. package/components/form-field/form-field.module.d.ts +7 -7
  55. package/components/form-field/index.d.ts +2 -2
  56. package/components/hint/hint.component.d.ts +7 -7
  57. package/components/hint/hint.module.d.ts +7 -7
  58. package/components/hint/index.d.ts +2 -2
  59. package/components/icon-button/icon-button.component.d.ts +13 -13
  60. package/components/icon-button/icon-button.module.d.ts +9 -9
  61. package/components/icon-button/index.d.ts +2 -2
  62. package/components/index.d.ts +26 -26
  63. package/components/input-number/index.d.ts +2 -2
  64. package/components/input-number/input-number.component.d.ts +38 -38
  65. package/components/input-number/input-number.module.d.ts +12 -12
  66. package/components/input-password/index.d.ts +2 -2
  67. package/components/input-password/input-password.component.d.ts +31 -31
  68. package/components/input-password/input-password.module.d.ts +11 -11
  69. package/components/input-text/index.d.ts +2 -2
  70. package/components/input-text/input-text.component.d.ts +31 -31
  71. package/components/input-text/input-text.module.d.ts +11 -11
  72. package/components/input-time/index.d.ts +3 -3
  73. package/components/input-time/input-time.component.d.ts +36 -36
  74. package/components/input-time/input-time.module.d.ts +12 -12
  75. package/components/input-time/input-time.options.d.ts +7 -7
  76. package/components/label/index.d.ts +2 -2
  77. package/components/label/label.component.d.ts +6 -6
  78. package/components/label/label.module.d.ts +8 -8
  79. package/components/notification/index.d.ts +3 -3
  80. package/components/notification/notification.component.d.ts +18 -18
  81. package/components/notification/notification.module.d.ts +9 -9
  82. package/components/notification/notification.options.d.ts +17 -17
  83. package/components/radio/index.d.ts +2 -2
  84. package/components/radio/radio.component.d.ts +5 -5
  85. package/components/radio/radio.module.d.ts +7 -7
  86. package/components/root/index.d.ts +3 -3
  87. package/components/root/root.component.d.ts +11 -11
  88. package/components/root/root.module.d.ts +11 -11
  89. package/components/root/root.options.d.ts +1 -1
  90. package/components/select/index.d.ts +2 -2
  91. package/components/select/select.component.d.ts +53 -53
  92. package/components/select/select.module.d.ts +11 -11
  93. package/components/svg/index.d.ts +2 -2
  94. package/components/svg/svg.component.d.ts +16 -16
  95. package/components/svg/svg.module.d.ts +8 -8
  96. package/components/tabs/index.d.ts +3 -3
  97. package/components/tabs/tab/index.d.ts +1 -1
  98. package/components/tabs/tab/tab.component.d.ts +8 -8
  99. package/components/tabs/tabs.component.d.ts +16 -16
  100. package/components/tabs/tabs.module.d.ts +8 -8
  101. package/components/textarea/index.d.ts +2 -2
  102. package/components/textarea/textarea.component.d.ts +10 -10
  103. package/components/textarea/textarea.module.d.ts +7 -7
  104. package/components/toggle/index.d.ts +2 -2
  105. package/components/toggle/toggle.component.d.ts +5 -5
  106. package/components/toggle/toggle.module.d.ts +7 -7
  107. package/directives/index.d.ts +2 -2
  108. package/directives/text-field-controller/index.d.ts +8 -8
  109. package/directives/text-field-controller/text-field-controller.module.d.ts +11 -11
  110. package/directives/text-field-controller/text-field-controller.provider.d.ts +4 -4
  111. package/directives/text-field-controller/text-field-icon-left.directive.d.ts +9 -9
  112. package/directives/text-field-controller/text-field-id.directive.d.ts +8 -8
  113. package/directives/text-field-controller/text-field-is-error.directive.d.ts +8 -8
  114. package/directives/text-field-controller/text-field-placeholder.directive.d.ts +8 -8
  115. package/directives/text-field-controller/text-field-size.directive.d.ts +9 -9
  116. package/directives/text-field-controller/text-field.controller.d.ts +20 -20
  117. package/directives/tooltip/index.d.ts +16 -16
  118. package/directives/tooltip/tooltip-describe.directive.d.ts +16 -16
  119. package/directives/tooltip/tooltip-driver.directive.d.ts +7 -7
  120. package/directives/tooltip/tooltip-host.directive.d.ts +9 -9
  121. package/directives/tooltip/tooltip-hover.directive.d.ts +21 -21
  122. package/directives/tooltip/tooltip-manual.directive.d.ts +13 -13
  123. package/directives/tooltip/tooltip-options.directive.d.ts +36 -36
  124. package/directives/tooltip/tooltip-overflow.directive.d.ts +8 -8
  125. package/directives/tooltip/tooltip-pointer.directive.d.ts +10 -10
  126. package/directives/tooltip/tooltip-position.directive.d.ts +20 -20
  127. package/directives/tooltip/tooltip-unstyled.component.d.ts +17 -17
  128. package/directives/tooltip/tooltip.component.d.ts +33 -33
  129. package/directives/tooltip/tooltip.d.ts +13 -13
  130. package/directives/tooltip/tooltip.directive.d.ts +26 -26
  131. package/directives/tooltip/tooltip.providers.d.ts +5 -5
  132. package/directives/tooltip/tooltip.service.d.ts +13 -13
  133. package/directives/tooltip/tooltips.component.d.ts +12 -12
  134. package/esm2022/animations/animations.mjs +271 -271
  135. package/esm2022/animations/index.mjs +1 -1
  136. package/esm2022/classes/accessors.mjs +30 -30
  137. package/esm2022/classes/driver.mjs +34 -34
  138. package/esm2022/classes/index.mjs +3 -3
  139. package/esm2022/classes/vehicle.mjs +6 -6
  140. package/esm2022/components/accordion/accordion-item/accordion-item.component.mjs +27 -27
  141. package/esm2022/components/accordion/accordion.component.mjs +10 -10
  142. package/esm2022/components/accordion/accordion.module.mjs +36 -36
  143. package/esm2022/components/accordion/index.mjs +3 -3
  144. package/esm2022/components/alert/alert.component.mjs +35 -35
  145. package/esm2022/components/alert/alert.interfaces.mjs +1 -1
  146. package/esm2022/components/alert/alert.module.mjs +39 -39
  147. package/esm2022/components/alert/alert.service.mjs +16 -16
  148. package/esm2022/components/alert/alert.tokens.mjs +19 -19
  149. package/esm2022/components/alert/alert.types.mjs +1 -1
  150. package/esm2022/components/alert/alerts.component.mjs +35 -35
  151. package/esm2022/components/alert/index.mjs +8 -8
  152. package/esm2022/components/badge/badge.component.mjs +30 -30
  153. package/esm2022/components/badge/badge.module.mjs +17 -17
  154. package/esm2022/components/badge/badge.options.mjs +7 -7
  155. package/esm2022/components/badge/index.mjs +2 -2
  156. package/esm2022/components/banner/banner.component.mjs +67 -67
  157. package/esm2022/components/banner/banner.module.mjs +30 -30
  158. package/esm2022/components/banner/banner.options.mjs +5 -5
  159. package/esm2022/components/banner/index.mjs +3 -3
  160. package/esm2022/components/breadcrumbs/breadcrumb/breadcrumb.component.mjs +15 -15
  161. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +16 -16
  162. package/esm2022/components/breadcrumbs/breadcrumbs.module.mjs +32 -32
  163. package/esm2022/components/breadcrumbs/index.mjs +3 -3
  164. package/esm2022/components/button/button.component.mjs +137 -137
  165. package/esm2022/components/button/button.module.mjs +23 -23
  166. package/esm2022/components/button/button.options.mjs +9 -9
  167. package/esm2022/components/button/index.mjs +3 -3
  168. package/esm2022/components/button-group/button-group.component.mjs +10 -10
  169. package/esm2022/components/button-group/button-group.module.mjs +15 -15
  170. package/esm2022/components/button-group/index.mjs +2 -2
  171. package/esm2022/components/checkbox/checkbox.component.mjs +10 -10
  172. package/esm2022/components/checkbox/checkbox.module.mjs +15 -15
  173. package/esm2022/components/checkbox/index.mjs +2 -2
  174. package/esm2022/components/context-menu/context-menu.component.mjs +147 -147
  175. package/esm2022/components/context-menu/context-menu.module.mjs +23 -23
  176. package/esm2022/components/context-menu/index.mjs +2 -2
  177. package/esm2022/components/dialog/dialog-actions/dialog-actions.component.mjs +10 -10
  178. package/esm2022/components/dialog/dialog-header/dialog-header.component.mjs +27 -27
  179. package/esm2022/components/dialog/dialog.component.mjs +66 -66
  180. package/esm2022/components/dialog/dialog.interfaces.mjs +1 -1
  181. package/esm2022/components/dialog/dialog.module.mjs +48 -48
  182. package/esm2022/components/dialog/dialog.service.mjs +16 -16
  183. package/esm2022/components/dialog/dialog.tokens.mjs +11 -11
  184. package/esm2022/components/dialog/dialogs.component.mjs +50 -50
  185. package/esm2022/components/dialog/index.mjs +8 -8
  186. package/esm2022/components/form-field/form-field.component.mjs +10 -10
  187. package/esm2022/components/form-field/form-field.module.mjs +15 -15
  188. package/esm2022/components/form-field/index.mjs +2 -2
  189. package/esm2022/components/hint/hint.component.mjs +18 -18
  190. package/esm2022/components/hint/hint.module.mjs +15 -15
  191. package/esm2022/components/hint/index.mjs +2 -2
  192. package/esm2022/components/icon-button/icon-button.component.mjs +31 -31
  193. package/esm2022/components/icon-button/icon-button.module.mjs +23 -23
  194. package/esm2022/components/icon-button/index.mjs +2 -2
  195. package/esm2022/components/index.mjs +26 -26
  196. package/esm2022/components/input-number/index.mjs +2 -2
  197. package/esm2022/components/input-number/input-number.component.mjs +112 -112
  198. package/esm2022/components/input-number/input-number.module.mjs +35 -35
  199. package/esm2022/components/input-password/index.mjs +2 -2
  200. package/esm2022/components/input-password/input-password.component.mjs +88 -88
  201. package/esm2022/components/input-password/input-password.module.mjs +32 -32
  202. package/esm2022/components/input-text/index.mjs +2 -2
  203. package/esm2022/components/input-text/input-text.component.mjs +86 -86
  204. package/esm2022/components/input-text/input-text.module.mjs +32 -32
  205. package/esm2022/components/input-time/index.mjs +3 -3
  206. package/esm2022/components/input-time/input-time.component.mjs +98 -98
  207. package/esm2022/components/input-time/input-time.module.mjs +35 -35
  208. package/esm2022/components/input-time/input-time.options.mjs +7 -7
  209. package/esm2022/components/label/index.mjs +2 -2
  210. package/esm2022/components/label/label.component.mjs +16 -16
  211. package/esm2022/components/label/label.module.mjs +17 -17
  212. package/esm2022/components/notification/index.mjs +3 -3
  213. package/esm2022/components/notification/notification.component.mjs +46 -46
  214. package/esm2022/components/notification/notification.module.mjs +23 -23
  215. package/esm2022/components/notification/notification.options.mjs +52 -52
  216. package/esm2022/components/radio/index.mjs +2 -2
  217. package/esm2022/components/radio/radio.component.mjs +10 -10
  218. package/esm2022/components/radio/radio.module.mjs +15 -15
  219. package/esm2022/components/root/index.mjs +3 -3
  220. package/esm2022/components/root/root.component.mjs +31 -31
  221. package/esm2022/components/root/root.module.mjs +30 -30
  222. package/esm2022/components/root/root.options.mjs +1 -1
  223. package/esm2022/components/select/index.mjs +2 -2
  224. package/esm2022/components/select/select.component.mjs +171 -171
  225. package/esm2022/components/select/select.module.mjs +31 -31
  226. package/esm2022/components/svg/index.mjs +2 -2
  227. package/esm2022/components/svg/svg.component.mjs +49 -49
  228. package/esm2022/components/svg/svg.module.mjs +17 -17
  229. package/esm2022/components/tabs/index.mjs +3 -3
  230. package/esm2022/components/tabs/tab/index.mjs +1 -1
  231. package/esm2022/components/tabs/tab/tab.component.mjs +20 -20
  232. package/esm2022/components/tabs/tabs.component.mjs +48 -48
  233. package/esm2022/components/tabs/tabs.module.mjs +17 -17
  234. package/esm2022/components/textarea/index.mjs +2 -2
  235. package/esm2022/components/textarea/textarea.component.mjs +34 -34
  236. package/esm2022/components/textarea/textarea.module.mjs +15 -15
  237. package/esm2022/components/toggle/index.mjs +2 -2
  238. package/esm2022/components/toggle/toggle.component.mjs +10 -10
  239. package/esm2022/components/toggle/toggle.module.mjs +15 -15
  240. package/esm2022/cuby-ui-core.mjs +4 -4
  241. package/esm2022/directives/index.mjs +2 -2
  242. package/esm2022/directives/text-field-controller/index.mjs +8 -8
  243. package/esm2022/directives/text-field-controller/text-field-controller.module.mjs +39 -39
  244. package/esm2022/directives/text-field-controller/text-field-controller.provider.mjs +23 -23
  245. package/esm2022/directives/text-field-controller/text-field-icon-left.directive.mjs +20 -20
  246. package/esm2022/directives/text-field-controller/text-field-id.directive.mjs +20 -20
  247. package/esm2022/directives/text-field-controller/text-field-is-error.directive.mjs +23 -23
  248. package/esm2022/directives/text-field-controller/text-field-placeholder.directive.mjs +20 -20
  249. package/esm2022/directives/text-field-controller/text-field-size.directive.mjs +23 -23
  250. package/esm2022/directives/text-field-controller/text-field.controller.mjs +24 -24
  251. package/esm2022/directives/tooltip/index.mjs +16 -16
  252. package/esm2022/directives/tooltip/tooltip-describe.directive.mjs +44 -44
  253. package/esm2022/directives/tooltip/tooltip-driver.directive.mjs +17 -17
  254. package/esm2022/directives/tooltip/tooltip-host.directive.mjs +25 -25
  255. package/esm2022/directives/tooltip/tooltip-hover.directive.mjs +52 -52
  256. package/esm2022/directives/tooltip/tooltip-manual.directive.mjs +30 -30
  257. package/esm2022/directives/tooltip/tooltip-options.directive.mjs +82 -82
  258. package/esm2022/directives/tooltip/tooltip-overflow.directive.mjs +30 -30
  259. package/esm2022/directives/tooltip/tooltip-pointer.directive.mjs +30 -30
  260. package/esm2022/directives/tooltip/tooltip-position.directive.mjs +96 -96
  261. package/esm2022/directives/tooltip/tooltip-unstyled.component.mjs +39 -39
  262. package/esm2022/directives/tooltip/tooltip.component.mjs +98 -98
  263. package/esm2022/directives/tooltip/tooltip.directive.mjs +91 -91
  264. package/esm2022/directives/tooltip/tooltip.mjs +26 -26
  265. package/esm2022/directives/tooltip/tooltip.providers.mjs +6 -6
  266. package/esm2022/directives/tooltip/tooltip.service.mjs +27 -27
  267. package/esm2022/directives/tooltip/tooltips.component.mjs +32 -32
  268. package/esm2022/index.mjs +8 -7
  269. package/esm2022/interceptors/index.mjs +2 -0
  270. package/esm2022/interceptors/x-ndjson.interceptor.mjs +48 -0
  271. package/esm2022/interfaces/context-menu-item.mjs +1 -1
  272. package/esm2022/interfaces/index.mjs +3 -3
  273. package/esm2022/interfaces/option.mjs +1 -1
  274. package/esm2022/services/index.mjs +4 -4
  275. package/esm2022/services/position.service.mjs +22 -22
  276. package/esm2022/services/theme.options.mjs +5 -5
  277. package/esm2022/services/theme.service.mjs +29 -29
  278. package/esm2022/services/visual-viewport.service.mjs +27 -27
  279. package/esm2022/tokens/animations-speed.mjs +7 -7
  280. package/esm2022/tokens/index.mjs +3 -3
  281. package/esm2022/tokens/reduced-motion.mjs +5 -5
  282. package/esm2022/tokens/viewport.mjs +30 -30
  283. package/esm2022/types/appearance.mjs +1 -1
  284. package/esm2022/types/hint-type.mjs +1 -1
  285. package/esm2022/types/index.mjs +9 -9
  286. package/esm2022/types/point.mjs +1 -1
  287. package/esm2022/types/portal-item.mjs +1 -1
  288. package/esm2022/types/position.mjs +1 -1
  289. package/esm2022/types/resizing.mjs +1 -1
  290. package/esm2022/types/shape.mjs +1 -1
  291. package/esm2022/types/size.mjs +1 -1
  292. package/esm2022/types/status.mjs +1 -1
  293. package/esm2022/utils/format/index.mjs +2 -2
  294. package/esm2022/utils/format/remove-spaces.mjs +3 -3
  295. package/esm2022/utils/format/replace.mjs +4 -4
  296. package/esm2022/utils/index.mjs +2 -2
  297. package/esm2022/utils/miscellaneous/index.mjs +3 -3
  298. package/esm2022/utils/miscellaneous/is-obscured.mjs +7 -7
  299. package/esm2022/utils/miscellaneous/override-options.mjs +10 -10
  300. package/esm2022/utils/miscellaneous/to-animation-options.mjs +13 -13
  301. package/fesm2022/cuby-ui-core.mjs +3230 -3183
  302. package/fesm2022/cuby-ui-core.mjs.map +1 -1
  303. package/index.d.ts +7 -6
  304. package/interceptors/index.d.ts +1 -0
  305. package/interceptors/x-ndjson.interceptor.d.ts +2 -0
  306. package/interfaces/context-menu-item.d.ts +7 -7
  307. package/interfaces/index.d.ts +2 -2
  308. package/interfaces/option.d.ts +5 -5
  309. package/package.json +6 -6
  310. package/services/index.d.ts +4 -4
  311. package/services/position.service.d.ts +10 -10
  312. package/services/theme.options.d.ts +5 -5
  313. package/services/theme.service.d.ts +12 -12
  314. package/services/visual-viewport.service.d.ts +9 -9
  315. package/styles/reset.scss +111 -0
  316. package/tokens/animations-speed.d.ts +4 -4
  317. package/tokens/index.d.ts +3 -3
  318. package/tokens/reduced-motion.d.ts +1 -1
  319. package/tokens/viewport.d.ts +7 -7
  320. package/types/appearance.d.ts +8 -8
  321. package/types/hint-type.d.ts +1 -1
  322. package/types/index.d.ts +9 -9
  323. package/types/point.d.ts +1 -1
  324. package/types/portal-item.d.ts +9 -9
  325. package/types/position.d.ts +2 -2
  326. package/types/resizing.d.ts +2 -2
  327. package/types/shape.d.ts +1 -1
  328. package/types/size.d.ts +4 -4
  329. package/types/status.d.ts +1 -1
  330. package/utils/format/index.d.ts +2 -2
  331. package/utils/format/remove-spaces.d.ts +1 -1
  332. package/utils/format/replace.d.ts +1 -1
  333. package/utils/index.d.ts +2 -2
  334. package/utils/miscellaneous/index.d.ts +3 -3
  335. package/utils/miscellaneous/is-obscured.d.ts +4 -4
  336. package/utils/miscellaneous/override-options.d.ts +1 -1
  337. package/utils/miscellaneous/to-animation-options.d.ts +4 -4
@@ -1,96 +1,96 @@
1
- import { __decorate } from "tslib";
2
- import { Directive, EventEmitter, inject, Input, Output } from '@angular/core';
3
- import { EMPTY_CLIENT_RECT, CUI_IS_MOBILE, cuiPure } from '@cuby-ui/cdk';
4
- import { cuiFallbackAccessor, CuiPositionAccessor, CuiRectAccessor, } from '../../classes';
5
- import { CUI_VIEWPORT } from '../../tokens';
6
- import { CuiTooltipDirective } from './tooltip.directive';
7
- import { CUI_TOOLTIP_DIRECTIONS, CUI_TOOLTIP_OPTIONS } from './tooltip-options.directive';
8
- import * as i0 from "@angular/core";
9
- const GAP = 8;
10
- const ARROW_OFFSET = 24;
11
- const TOP = 0;
12
- const LEFT = 1;
13
- export class CuiTooltipPosition extends CuiPositionAccessor {
14
- constructor() {
15
- super(...arguments);
16
- this.offset = inject(CUI_IS_MOBILE) ? 16 : 5;
17
- this.viewport = inject(CUI_VIEWPORT);
18
- this.accessor = cuiFallbackAccessor('hint')(inject(CuiRectAccessor), inject(CuiTooltipDirective));
19
- this.points = CUI_TOOLTIP_DIRECTIONS.reduce((acc, direction) => ({ ...acc, [direction]: [0, 0] }), {});
20
- this.direction = inject(CUI_TOOLTIP_OPTIONS).direction;
21
- this.directionChange = new EventEmitter();
22
- this.type = 'hint';
23
- }
24
- emitDirection(direction) {
25
- this.directionChange.emit(direction);
26
- }
27
- getPosition(rect, el) {
28
- const width = el?.clientWidth ?? rect.width;
29
- const height = el?.clientHeight ?? rect.height;
30
- const hostRect = this.accessor.getClientRect() ?? EMPTY_CLIENT_RECT;
31
- const leftCenter = hostRect.left + hostRect.width / 2;
32
- const topCenter = hostRect.top + hostRect.height / 2;
33
- this.points['top-left'][TOP] = hostRect.top - height - this.offset;
34
- this.points['top-left'][LEFT] = leftCenter - width + ARROW_OFFSET;
35
- this.points.top[TOP] = this.points['top-left'][TOP];
36
- this.points.top[LEFT] = leftCenter - width / 2;
37
- this.points['top-right'][TOP] = this.points['top-left'][TOP];
38
- this.points['top-right'][LEFT] = leftCenter - ARROW_OFFSET;
39
- this.points['bottom-left'][TOP] = hostRect.bottom + this.offset;
40
- this.points['bottom-left'][LEFT] = this.points['top-left'][LEFT];
41
- this.points.bottom[TOP] = this.points['bottom-left'][TOP];
42
- this.points.bottom[LEFT] = this.points.top[LEFT];
43
- this.points['bottom-right'][TOP] = this.points['bottom-left'][TOP];
44
- this.points['bottom-right'][LEFT] = this.points['top-right'][LEFT];
45
- this.points['left-top'][TOP] = topCenter - height + ARROW_OFFSET;
46
- this.points['left-top'][LEFT] = hostRect.left - width - this.offset;
47
- this.points.left[TOP] = topCenter - height / 2;
48
- this.points.left[LEFT] = this.points['left-top'][LEFT];
49
- this.points['left-bottom'][TOP] = topCenter - ARROW_OFFSET;
50
- this.points['left-bottom'][LEFT] = this.points['left-top'][LEFT];
51
- this.points['right-top'][TOP] = this.points['left-top'][TOP];
52
- this.points['right-top'][LEFT] = hostRect.right + this.offset;
53
- this.points.right[TOP] = this.points.left[TOP];
54
- this.points.right[LEFT] = this.points['right-top'][LEFT];
55
- this.points['right-bottom'][TOP] = this.points['left-bottom'][TOP];
56
- this.points['right-bottom'][LEFT] = this.points['right-top'][LEFT];
57
- const priorityDirections = Array.isArray(this.direction)
58
- ? this.direction
59
- : [this.direction];
60
- const sortedDirections = priorityDirections.concat(CUI_TOOLTIP_DIRECTIONS);
61
- const direction = sortedDirections.find((direction) => this.checkPosition(this.points[direction], width, height));
62
- this.emitDirection(direction || this.fallback);
63
- return this.points[direction || this.fallback];
64
- }
65
- get fallback() {
66
- return this.points.top[TOP] >
67
- this.viewport.getClientRect().bottom - this.points.bottom[TOP]
68
- ? 'top'
69
- : 'bottom';
70
- }
71
- checkPosition([top, left], width, height) {
72
- const viewport = this.viewport.getClientRect();
73
- return (top > GAP &&
74
- left > GAP &&
75
- top + height < viewport.bottom - GAP &&
76
- left + width < viewport.right - GAP);
77
- }
78
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipPosition, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
79
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CuiTooltipPosition, isStandalone: true, inputs: { direction: ["cuiTooltipDirection", "direction"] }, outputs: { directionChange: "cuiTooltipDirectionChange" }, usesInheritance: true, ngImport: i0 }); }
80
- }
81
- __decorate([
82
- cuiPure
83
- ], CuiTooltipPosition.prototype, "emitDirection", null);
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipPosition, decorators: [{
85
- type: Directive,
86
- args: [{
87
- standalone: true,
88
- }]
89
- }], propDecorators: { direction: [{
90
- type: Input,
91
- args: ['cuiTooltipDirection']
92
- }], directionChange: [{
93
- type: Output,
94
- args: ['cuiTooltipDirectionChange']
95
- }], emitDirection: [] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1wb3NpdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvdG9vbHRpcC90b29sdGlwLXBvc2l0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEUsT0FBTyxFQUNILG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDOztBQUV4RixNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDZCxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQ2QsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0FBS2YsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG1CQUFtQjtJQUgzRDs7UUFJcUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoQyxhQUFRLEdBQUcsbUJBQW1CLENBQWtCLE1BQU0sQ0FBQyxDQUNwRSxNQUFNLENBQU0sZUFBZSxDQUFDLEVBQzVCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUM5QixDQUFDO1FBRWUsV0FBTSxHQUNuQixzQkFBc0IsQ0FBQyxNQUFNLENBQ3pCLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUNuRCxFQUFtRCxDQUN0RCxDQUFDO1FBR0MsY0FBUyxHQUFtQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFHekUsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUUxRCxTQUFJLEdBQUcsTUFBTSxDQUFDO0tBeUVqQztJQXRFVSxhQUFhLENBQUMsU0FBOEI7UUFDL0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxJQUFhLEVBQUUsRUFBZ0I7UUFDOUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVDLE1BQU0sTUFBTSxHQUFHLEVBQUUsRUFBRSxZQUFZLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMvQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLGlCQUFpQixDQUFDO1FBQ3BFLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDdEQsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUVyRCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDbkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFVLEdBQUcsS0FBSyxHQUFHLFlBQVksQ0FBQztRQUNsRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsR0FBRyxZQUFZLENBQUM7UUFFM0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDaEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFB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QUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUM5RCxDQUFDLENBQUMsS0FBSztZQUNQLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDbkIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQVcsRUFBRSxLQUFhLEVBQUUsTUFBYztRQUN0RSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRS9DLE9BQU8sQ0FDSCxHQUFHLEdBQUcsR0FBRztZQUNULElBQUksR0FBRyxHQUFHO1lBQ1YsR0FBRyxHQUFHLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLEdBQUc7WUFDcEMsSUFBSSxHQUFHLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FDdEMsQ0FBQztJQUNOLENBQUM7K0dBNUZRLGtCQUFrQjttR0FBbEIsa0JBQWtCOztBQXVCM0I7SUFEQyxPQUFPO3VEQUdQOzRGQXpCUSxrQkFBa0I7a0JBSDlCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQWdCVSxTQUFTO3NCQURmLEtBQUs7dUJBQUMscUJBQXFCO2dCQUlaLGVBQWU7c0JBRDlCLE1BQU07dUJBQUMsMkJBQTJCO2dCQU01QixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtFTVBUWV9DTElFTlRfUkVDVCwgQ1VJX0lTX01PQklMRSwgY3VpUHVyZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XHJcbmltcG9ydCB7XHJcbiAgICBjdWlGYWxsYmFja0FjY2Vzc29yLFxyXG4gICAgQ3VpUG9zaXRpb25BY2Nlc3NvcixcclxuICAgIEN1aVJlY3RBY2Nlc3NvcixcclxufSBmcm9tICcuLi8uLi9jbGFzc2VzJztcclxuaW1wb3J0IHtDVUlfVklFV1BPUlR9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcbmltcG9ydCB0eXBlIHtDdWlQb2ludH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xyXG5cclxuaW1wb3J0IHtDdWlUb29sdGlwRGlyZWN0aXZlfSBmcm9tICcuL3Rvb2x0aXAuZGlyZWN0aXZlJztcclxuaW1wb3J0IHR5cGUge0N1aVRvb2x0aXBEaXJlY3Rpb24sIEN1aVRvb2x0aXBPcHRpb25zfSBmcm9tICcuL3Rvb2x0aXAtb3B0aW9ucy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge0NVSV9UT09MVElQX0RJUkVDVElPTlMsIENVSV9UT09MVElQX09QVElPTlN9IGZyb20gJy4vdG9vbHRpcC1vcHRpb25zLmRpcmVjdGl2ZSc7XHJcblxyXG5jb25zdCBHQVAgPSA4O1xyXG5jb25zdCBBUlJPV19PRkZTRVQgPSAyNDtcclxuY29uc3QgVE9QID0gMDtcclxuY29uc3QgTEVGVCA9IDE7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWlUb29sdGlwUG9zaXRpb24gZXh0ZW5kcyBDdWlQb3NpdGlvbkFjY2Vzc29yIHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgb2Zmc2V0ID0gaW5qZWN0KENVSV9JU19NT0JJTEUpID8gMTYgOiA1O1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3cG9ydCA9IGluamVjdChDVUlfVklFV1BPUlQpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY2Nlc3NvciA9IGN1aUZhbGxiYWNrQWNjZXNzb3I8Q3VpUmVjdEFjY2Vzc29yPignaGludCcpKFxyXG4gICAgICAgIGluamVjdDxhbnk+KEN1aVJlY3RBY2Nlc3NvciksXHJcbiAgICAgICAgaW5qZWN0KEN1aVRvb2x0aXBEaXJlY3RpdmUpLFxyXG4gICAgKTtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvaW50czogUmVjb3JkPEN1aVRvb2x0aXBEaXJlY3Rpb24sIFtudW1iZXIsIG51bWJlcl0+ID1cclxuICAgICAgICBDVUlfVE9PTFRJUF9ESVJFQ1RJT05TLnJlZHVjZShcclxuICAgICAgICAgICAgKGFjYywgZGlyZWN0aW9uKSA9PiAoey4uLmFjYywgW2RpcmVjdGlvbl06IFswLCAwXX0pLFxyXG4gICAgICAgICAgICB7fSBhcyBSZWNvcmQ8Q3VpVG9vbHRpcERpcmVjdGlvbiwgW251bWJlciwgbnVtYmVyXT4sXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICBASW5wdXQoJ2N1aVRvb2x0aXBEaXJlY3Rpb24nKVxyXG4gICAgcHVibGljIGRpcmVjdGlvbjogQ3VpVG9vbHRpcE9wdGlvbnNbJ2RpcmVjdGlvbiddID0gaW5qZWN0KENVSV9UT09MVElQX09QVElPTlMpLmRpcmVjdGlvbjtcclxuXHJcbiAgICBAT3V0cHV0KCdjdWlUb29sdGlwRGlyZWN0aW9uQ2hhbmdlJylcclxuICAgIHB1YmxpYyByZWFkb25seSBkaXJlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1aVRvb2x0aXBEaXJlY3Rpb24+KCk7XHJcblxyXG4gICAgcHVibGljIHJlYWRvbmx5IHR5cGUgPSAnaGludCc7XHJcblxyXG4gICAgQGN1aVB1cmVcclxuICAgIHB1YmxpYyBlbWl0RGlyZWN0aW9uKGRpcmVjdGlvbjogQ3VpVG9vbHRpcERpcmVjdGlvbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGlyZWN0aW9uQ2hhbmdlLmVtaXQoZGlyZWN0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0UG9zaXRpb24ocmVjdDogRE9NUmVjdCwgZWw/OiBIVE1MRWxlbWVudCk6IEN1aVBvaW50IHtcclxuICAgICAgICBjb25zdCB3aWR0aCA9IGVsPy5jbGllbnRXaWR0aCA/PyByZWN0LndpZHRoO1xyXG4gICAgICAgIGNvbnN0IGhlaWdodCA9IGVsPy5jbGllbnRIZWlnaHQgPz8gcmVjdC5oZWlnaHQ7XHJcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmFjY2Vzc29yLmdldENsaWVudFJlY3QoKSA/PyBFTVBUWV9DTElFTlRfUkVDVDtcclxuICAgICAgICBjb25zdCBsZWZ0Q2VudGVyID0gaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoIC8gMjtcclxuICAgICAgICBjb25zdCB0b3BDZW50ZXIgPSBob3N0UmVjdC50b3AgKyBob3N0UmVjdC5oZWlnaHQgLyAyO1xyXG5cclxuICAgICAgICB0aGlzLnBvaW50c1sndG9wLWxlZnQnXVtUT1BdID0gaG9zdFJlY3QudG9wIC0gaGVpZ2h0IC0gdGhpcy5vZmZzZXQ7XHJcbiAgICAgICAgdGhpcy5wb2ludHNbJ3RvcC1sZWZ0J11bTEVGVF0gPSBsZWZ0Q2VudGVyIC0gd2lkdGggKyBBUlJPV19PRkZTRVQ7XHJcbiAgICAgICAgdGhpcy5wb2ludHMudG9wW1RPUF0gPSB0aGlzLnBvaW50c1sndG9wLWxlZnQnXVtUT1BdO1xyXG4gICAgICAgIHRoaXMucG9pbnRzLnRvcFtMRUZUXSA9IGxlZnRDZW50ZXIgLSB3aWR0aCAvIDI7XHJcbiAgICAgICAgdGhpcy5wb2ludHNbJ3RvcC1yaWdodCddW1RPUF0gPSB0aGlzLnBvaW50c1sndG9wLWxlZnQnXVtUT1BdO1xyXG4gICAgICAgIHRoaXMucG9pbnRzWyd0b3AtcmlnaHQnXVtMRUZUXSA9IGxlZnRDZW50ZXIgLSBBUlJPV19PRkZTRVQ7XHJcblxyXG4gICAgICAgIHRoaXMucG9pbnRzWydib3R0b20tbGVmdCddW1RPUF0gPSBob3N0UmVjdC5ib3R0b20gKyB0aGlzLm9mZnNldDtcclxuICAgICAgICB0aGlzLnBvaW50c1snYm90dG9tLWxlZnQnXVtMRUZUXSA9IHRoaXMucG9pbnRzWyd0b3AtbGVmdCddW0xFRlRdO1xyXG4gICAgICAgIHRoaXMucG9pbnRzLmJvdHRvbVtUT1BdID0gdGhpcy5wb2ludHNbJ2JvdHRvbS1sZWZ0J11bVE9QXTtcclxuICAgICAgICB0aGlzLnBvaW50cy5ib3R0b21bTEVGVF0gPSB0aGlzLnBvaW50cy50b3BbTEVGVF07XHJcbiAgICAgICAgdGhpcy5wb2ludHNbJ2JvdHRvbS1yaWdodCddW1RPUF0gPSB0aGlzLnBvaW50c1snYm90dG9tLWxlZnQnXVtUT1BdO1xyXG4gICAgICAgIHRoaXMucG9pbnRzWydib3R0b20tcmlnaHQnXVtMRUZUXSA9IHRoaXMucG9pbnRzWyd0b3AtcmlnaHQnXVtMRUZUXTtcclxuXHJcbiAgICAgICAgdGhpcy5wb2ludHNbJ2xlZnQtdG9wJ11bVE9QXSA9IHRvcENlbnRlciAtIGhlaWdodCArIEFSUk9XX09GRlNFVDtcclxuICAgICAgICB0aGlzLnBvaW50c1snbGVmdC10b3AnXVtMRUZUXSA9IGhvc3RSZWN0LmxlZnQgLSB3aWR0aCAtIHRoaXMub2Zmc2V0O1xyXG4gICAgICAgIHRoaXMucG9pbnRzLmxlZnRbVE9QXSA9IHRvcENlbnRlciAtIGhlaWdodCAvIDI7XHJcbiAgICAgICAgdGhpcy5wb2ludHMubGVmdFtMRUZUXSA9IHRoaXMucG9pbnRzWydsZWZ0LXRvcCddW0xFRlRdO1xyXG4gICAgICAgIHRoaXMucG9pbnRzWydsZWZ0LWJvdHRvbSddW1RPUF0gPSB0b3BDZW50ZXIgLSBBUlJPV19PRkZTRVQ7XHJcbiAgICAgICAgdGhpcy5wb2ludHNbJ2xlZnQtYm90dG9tJ11bTEVGVF0gPSB0aGlzLnBvaW50c1snbGVmdC10b3AnXVtMRUZUXTtcclxuXHJcbiAgICAgICAgdGhpcy5wb2ludHNbJ3JpZ2h0LXRvcCddW1RPUF0gPSB0aGlzLnBvaW50c1snbGVmdC10b3AnXVtUT1BdO1xyXG4gICAgICAgIHRoaXMucG9pbnRzWydyaWdodC10b3AnXVtMRUZUXSA9IGhvc3RSZWN0LnJpZ2h0ICsgdGhpcy5vZmZzZXQ7XHJcbiAgICAgICAgdGhpcy5wb2ludHMucmlnaHRbVE9QXSA9IHRoaXMucG9pbnRzLmxlZnRbVE9QXTtcclxuICAgICAgICB0aGlzLnBvaW50cy5yaWdodFtMRUZUXSA9IHRoaXMucG9pbnRzWydyaWdodC10b3AnXVtMRUZUXTtcclxuICAgICAgICB0aGlzLnBvaW50c1sncmlnaHQtYm90dG9tJ11bVE9QXSA9IHRoaXMucG9pbnRzWydsZWZ0LWJvdHRvbSddW1RPUF07XHJcbiAgICAgICAgdGhpcy5wb2ludHNbJ3JpZ2h0LWJvdHRvbSddW0xFRlRdID0gdGhpcy5wb2ludHNbJ3JpZ2h0LXRvcCddW0xFRlRdO1xyXG5cclxuICAgICAgICBjb25zdCBwcmlvcml0eURpcmVjdGlvbnMgPSBBcnJheS5pc0FycmF5KHRoaXMuZGlyZWN0aW9uKVxyXG4gICAgICAgICAgICA/IHRoaXMuZGlyZWN0aW9uXHJcbiAgICAgICAgICAgIDogW3RoaXMuZGlyZWN0aW9uXTtcclxuICAgICAgICBjb25zdCBzb3J0ZWREaXJlY3Rpb25zID0gcHJpb3JpdHlEaXJlY3Rpb25zLmNvbmNhdChDVUlfVE9PTFRJUF9ESVJFQ1RJT05TKTtcclxuXHJcbiAgICAgICAgY29uc3QgZGlyZWN0aW9uID0gc29ydGVkRGlyZWN0aW9ucy5maW5kKChkaXJlY3Rpb24pID0+XHJcbiAgICAgICAgICAgIHRoaXMuY2hlY2tQb3NpdGlvbih0aGlzLnBvaW50c1tkaXJlY3Rpb25dLCB3aWR0aCwgaGVpZ2h0KSxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICB0aGlzLmVtaXREaXJlY3Rpb24oZGlyZWN0aW9uIHx8IHRoaXMuZmFsbGJhY2spO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5wb2ludHNbZGlyZWN0aW9uIHx8IHRoaXMuZmFsbGJhY2tdO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0IGZhbGxiYWNrKCk6IEN1aVRvb2x0aXBEaXJlY3Rpb24ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBvaW50cy50b3BbVE9QXSA+XHJcbiAgICAgICAgICAgIHRoaXMudmlld3BvcnQuZ2V0Q2xpZW50UmVjdCgpLmJvdHRvbSAtIHRoaXMucG9pbnRzLmJvdHRvbVtUT1BdXHJcbiAgICAgICAgICAgID8gJ3RvcCdcclxuICAgICAgICAgICAgOiAnYm90dG9tJztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrUG9zaXRpb24oW3RvcCwgbGVmdF06IEN1aVBvaW50LCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IHZpZXdwb3J0ID0gdGhpcy52aWV3cG9ydC5nZXRDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIHRvcCA+IEdBUCAmJlxyXG4gICAgICAgICAgICBsZWZ0ID4gR0FQICYmXHJcbiAgICAgICAgICAgIHRvcCArIGhlaWdodCA8IHZpZXdwb3J0LmJvdHRvbSAtIEdBUCAmJlxyXG4gICAgICAgICAgICBsZWZ0ICsgd2lkdGggPCB2aWV3cG9ydC5yaWdodCAtIEdBUFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
1
+ import { __decorate } from "tslib";
2
+ import { Directive, EventEmitter, inject, Input, Output } from '@angular/core';
3
+ import { EMPTY_CLIENT_RECT, CUI_IS_MOBILE, cuiPure } from '@cuby-ui/cdk';
4
+ import { cuiFallbackAccessor, CuiPositionAccessor, CuiRectAccessor, } from '../../classes';
5
+ import { CUI_VIEWPORT } from '../../tokens';
6
+ import { CuiTooltipDirective } from './tooltip.directive';
7
+ import { CUI_TOOLTIP_DIRECTIONS, CUI_TOOLTIP_OPTIONS } from './tooltip-options.directive';
8
+ import * as i0 from "@angular/core";
9
+ const GAP = 8;
10
+ const ARROW_OFFSET = 24;
11
+ const TOP = 0;
12
+ const LEFT = 1;
13
+ export class CuiTooltipPosition extends CuiPositionAccessor {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.offset = inject(CUI_IS_MOBILE) ? 16 : 5;
17
+ this.viewport = inject(CUI_VIEWPORT);
18
+ this.accessor = cuiFallbackAccessor('hint')(inject(CuiRectAccessor), inject(CuiTooltipDirective));
19
+ this.points = CUI_TOOLTIP_DIRECTIONS.reduce((acc, direction) => ({ ...acc, [direction]: [0, 0] }), {});
20
+ this.direction = inject(CUI_TOOLTIP_OPTIONS).direction;
21
+ this.directionChange = new EventEmitter();
22
+ this.type = 'hint';
23
+ }
24
+ emitDirection(direction) {
25
+ this.directionChange.emit(direction);
26
+ }
27
+ getPosition(rect, el) {
28
+ const width = el?.clientWidth ?? rect.width;
29
+ const height = el?.clientHeight ?? rect.height;
30
+ const hostRect = this.accessor.getClientRect() ?? EMPTY_CLIENT_RECT;
31
+ const leftCenter = hostRect.left + hostRect.width / 2;
32
+ const topCenter = hostRect.top + hostRect.height / 2;
33
+ this.points['top-left'][TOP] = hostRect.top - height - this.offset;
34
+ this.points['top-left'][LEFT] = leftCenter - width + ARROW_OFFSET;
35
+ this.points.top[TOP] = this.points['top-left'][TOP];
36
+ this.points.top[LEFT] = leftCenter - width / 2;
37
+ this.points['top-right'][TOP] = this.points['top-left'][TOP];
38
+ this.points['top-right'][LEFT] = leftCenter - ARROW_OFFSET;
39
+ this.points['bottom-left'][TOP] = hostRect.bottom + this.offset;
40
+ this.points['bottom-left'][LEFT] = this.points['top-left'][LEFT];
41
+ this.points.bottom[TOP] = this.points['bottom-left'][TOP];
42
+ this.points.bottom[LEFT] = this.points.top[LEFT];
43
+ this.points['bottom-right'][TOP] = this.points['bottom-left'][TOP];
44
+ this.points['bottom-right'][LEFT] = this.points['top-right'][LEFT];
45
+ this.points['left-top'][TOP] = topCenter - height + ARROW_OFFSET;
46
+ this.points['left-top'][LEFT] = hostRect.left - width - this.offset;
47
+ this.points.left[TOP] = topCenter - height / 2;
48
+ this.points.left[LEFT] = this.points['left-top'][LEFT];
49
+ this.points['left-bottom'][TOP] = topCenter - ARROW_OFFSET;
50
+ this.points['left-bottom'][LEFT] = this.points['left-top'][LEFT];
51
+ this.points['right-top'][TOP] = this.points['left-top'][TOP];
52
+ this.points['right-top'][LEFT] = hostRect.right + this.offset;
53
+ this.points.right[TOP] = this.points.left[TOP];
54
+ this.points.right[LEFT] = this.points['right-top'][LEFT];
55
+ this.points['right-bottom'][TOP] = this.points['left-bottom'][TOP];
56
+ this.points['right-bottom'][LEFT] = this.points['right-top'][LEFT];
57
+ const priorityDirections = Array.isArray(this.direction)
58
+ ? this.direction
59
+ : [this.direction];
60
+ const sortedDirections = priorityDirections.concat(CUI_TOOLTIP_DIRECTIONS);
61
+ const direction = sortedDirections.find((direction) => this.checkPosition(this.points[direction], width, height));
62
+ this.emitDirection(direction || this.fallback);
63
+ return this.points[direction || this.fallback];
64
+ }
65
+ get fallback() {
66
+ return this.points.top[TOP] >
67
+ this.viewport.getClientRect().bottom - this.points.bottom[TOP]
68
+ ? 'top'
69
+ : 'bottom';
70
+ }
71
+ checkPosition([top, left], width, height) {
72
+ const viewport = this.viewport.getClientRect();
73
+ return (top > GAP &&
74
+ left > GAP &&
75
+ top + height < viewport.bottom - GAP &&
76
+ left + width < viewport.right - GAP);
77
+ }
78
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipPosition, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
79
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CuiTooltipPosition, isStandalone: true, inputs: { direction: ["cuiTooltipDirection", "direction"] }, outputs: { directionChange: "cuiTooltipDirectionChange" }, usesInheritance: true, ngImport: i0 }); }
80
+ }
81
+ __decorate([
82
+ cuiPure
83
+ ], CuiTooltipPosition.prototype, "emitDirection", null);
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipPosition, decorators: [{
85
+ type: Directive,
86
+ args: [{
87
+ standalone: true,
88
+ }]
89
+ }], propDecorators: { direction: [{
90
+ type: Input,
91
+ args: ['cuiTooltipDirection']
92
+ }], directionChange: [{
93
+ type: Output,
94
+ args: ['cuiTooltipDirectionChange']
95
+ }], emitDirection: [] } });
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1wb3NpdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvdG9vbHRpcC90b29sdGlwLXBvc2l0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEUsT0FBTyxFQUNILG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsZUFBZSxHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRzFDLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXhELE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDOztBQUV4RixNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUM7QUFDZCxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQ2QsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0FBS2YsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG1CQUFtQjtJQUgzRDs7UUFJcUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoQyxhQUFRLEdBQUcsbUJBQW1CLENBQWtCLE1BQU0sQ0FBQyxDQUNwRSxNQUFNLENBQU0sZUFBZSxDQUFDLEVBQzVCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUM5QixDQUFDO1FBRWUsV0FBTSxHQUNuQixzQkFBc0IsQ0FBQyxNQUFNLENBQ3pCLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUNuRCxFQUFtRCxDQUN0RCxDQUFDO1FBR0MsY0FBUyxHQUFtQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFHekUsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBdUIsQ0FBQztRQUUxRCxTQUFJLEdBQUcsTUFBTSxDQUFDO0tBeUVqQztJQXRFVSxhQUFhLENBQUMsU0FBOEI7UUFDL0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxJQUFhLEVBQUUsRUFBZ0I7UUFDOUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVDLE1BQU0sTUFBTSxHQUFHLEVBQUUsRUFBRSxZQUFZLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMvQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLGlCQUFpQixDQUFDO1FBQ3BFLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDdEQsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUVyRCxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDbkUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxVQUFVLEdBQUcsS0FBSyxHQUFHLFlBQVksQ0FBQztRQUNsRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsR0FBRyxZQUFZLENBQUM7UUFFM0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDaEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsTUFB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QUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUM5RCxDQUFDLENBQUMsS0FBSztZQUNQLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDbkIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQVcsRUFBRSxLQUFhLEVBQUUsTUFBYztRQUN0RSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRS9DLE9BQU8sQ0FDSCxHQUFHLEdBQUcsR0FBRztZQUNULElBQUksR0FBRyxHQUFHO1lBQ1YsR0FBRyxHQUFHLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLEdBQUc7WUFDcEMsSUFBSSxHQUFHLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FDdEMsQ0FBQztJQUNOLENBQUM7K0dBNUZRLGtCQUFrQjttR0FBbEIsa0JBQWtCOztBQXVCcEI7SUFETixPQUFPO3VEQUdQOzRGQXpCUSxrQkFBa0I7a0JBSDlCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQWdCVSxTQUFTO3NCQURmLEtBQUs7dUJBQUMscUJBQXFCO2dCQUlaLGVBQWU7c0JBRDlCLE1BQU07dUJBQUMsMkJBQTJCO2dCQU01QixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtFTVBUWV9DTElFTlRfUkVDVCwgQ1VJX0lTX01PQklMRSwgY3VpUHVyZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XHJcbmltcG9ydCB7XHJcbiAgICBjdWlGYWxsYmFja0FjY2Vzc29yLFxyXG4gICAgQ3VpUG9zaXRpb25BY2Nlc3NvcixcclxuICAgIEN1aVJlY3RBY2Nlc3NvcixcclxufSBmcm9tICcuLi8uLi9jbGFzc2VzJztcclxuaW1wb3J0IHtDVUlfVklFV1BPUlR9IGZyb20gJy4uLy4uL3Rva2Vucyc7XHJcbmltcG9ydCB0eXBlIHtDdWlQb2ludH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xyXG5cclxuaW1wb3J0IHtDdWlUb29sdGlwRGlyZWN0aXZlfSBmcm9tICcuL3Rvb2x0aXAuZGlyZWN0aXZlJztcclxuaW1wb3J0IHR5cGUge0N1aVRvb2x0aXBEaXJlY3Rpb24sIEN1aVRvb2x0aXBPcHRpb25zfSBmcm9tICcuL3Rvb2x0aXAtb3B0aW9ucy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQge0NVSV9UT09MVElQX0RJUkVDVElPTlMsIENVSV9UT09MVElQX09QVElPTlN9IGZyb20gJy4vdG9vbHRpcC1vcHRpb25zLmRpcmVjdGl2ZSc7XHJcblxyXG5jb25zdCBHQVAgPSA4O1xyXG5jb25zdCBBUlJPV19PRkZTRVQgPSAyNDtcclxuY29uc3QgVE9QID0gMDtcclxuY29uc3QgTEVGVCA9IDE7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWlUb29sdGlwUG9zaXRpb24gZXh0ZW5kcyBDdWlQb3NpdGlvbkFjY2Vzc29yIHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgb2Zmc2V0ID0gaW5qZWN0KENVSV9JU19NT0JJTEUpID8gMTYgOiA1O1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3cG9ydCA9IGluamVjdChDVUlfVklFV1BPUlQpO1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBhY2Nlc3NvciA9IGN1aUZhbGxiYWNrQWNjZXNzb3I8Q3VpUmVjdEFjY2Vzc29yPignaGludCcpKFxyXG4gICAgICAgIGluamVjdDxhbnk+KEN1aVJlY3RBY2Nlc3NvciksXHJcbiAgICAgICAgaW5qZWN0KEN1aVRvb2x0aXBEaXJlY3RpdmUpLFxyXG4gICAgKTtcclxuXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvaW50czogUmVjb3JkPEN1aVRvb2x0aXBEaXJlY3Rpb24sIFtudW1iZXIsIG51bWJlcl0+ID1cclxuICAgICAgICBDVUlfVE9PTFRJUF9ESVJFQ1RJT05TLnJlZHVjZShcclxuICAgICAgICAgICAgKGFjYywgZGlyZWN0aW9uKSA9PiAoey4uLmFjYywgW2RpcmVjdGlvbl06IFswLCAwXX0pLFxyXG4gICAgICAgICAgICB7fSBhcyBSZWNvcmQ8Q3VpVG9vbHRpcERpcmVjdGlvbiwgW251bWJlciwgbnVtYmVyXT4sXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICBASW5wdXQoJ2N1aVRvb2x0aXBEaXJlY3Rpb24nKVxyXG4gICAgcHVibGljIGRpcmVjdGlvbjogQ3VpVG9vbHRpcE9wdGlvbnNbJ2RpcmVjdGlvbiddID0gaW5qZWN0KENVSV9UT09MVElQX09QVElPTlMpLmRpcmVjdGlvbjtcclxuXHJcbiAgICBAT3V0cHV0KCdjdWlUb29sdGlwRGlyZWN0aW9uQ2hhbmdlJylcclxuICAgIHB1YmxpYyByZWFkb25seSBkaXJlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEN1aVRvb2x0aXBEaXJlY3Rpb24+KCk7XHJcblxyXG4gICAgcHVibGljIHJlYWRvbmx5IHR5cGUgPSAnaGludCc7XHJcblxyXG4gICAgQGN1aVB1cmVcclxuICAgIHB1YmxpYyBlbWl0RGlyZWN0aW9uKGRpcmVjdGlvbjogQ3VpVG9vbHRpcERpcmVjdGlvbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGlyZWN0aW9uQ2hhbmdlLmVtaXQoZGlyZWN0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0UG9zaXRpb24ocmVjdDogRE9NUmVjdCwgZWw/OiBIVE1MRWxlbWVudCk6IEN1aVBvaW50IHtcclxuICAgICAgICBjb25zdCB3aWR0aCA9IGVsPy5jbGllbnRXaWR0aCA/PyByZWN0LndpZHRoO1xyXG4gICAgICAgIGNvbnN0IGhlaWdodCA9IGVsPy5jbGllbnRIZWlnaHQgPz8gcmVjdC5oZWlnaHQ7XHJcbiAgICAgICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmFjY2Vzc29yLmdldENsaWVudFJlY3QoKSA/PyBFTVBUWV9DTElFTlRfUkVDVDtcclxuICAgICAgICBjb25zdCBsZWZ0Q2VudGVyID0gaG9zdFJlY3QubGVmdCArIGhvc3RSZWN0LndpZHRoIC8gMjtcclxuICAgICAgICBjb25zdCB0b3BDZW50ZXIgPSBob3N0UmVjdC50b3AgKyBob3N0UmVjdC5oZWlnaHQgLyAyO1xyXG5cclxuICAgICAgICB0aGlzLnBvaW50c1sndG9wLWxlZnQnXVtUT1BdID0gaG9zdFJlY3QudG9wIC0gaGVpZ2h0IC0gdGhpcy5vZmZzZXQ7XHJcbiAgICAgICAgdGhpcy5wb2ludHNbJ3RvcC1sZWZ0J11bTEVGVF0gPSBsZWZ0Q2VudGVyIC0gd2lkdGggKyBBUlJPV19PRkZTRVQ7XHJcbiAgICAgICAgdGhpcy5wb2ludHMudG9wW1RPUF0gPSB0aGlzLnBvaW50c1sndG9wLWxlZnQnXVtUT1BdO1xyXG4gICAgICAgIHRoaXMucG9pbnRzLnRvcFtMRUZUXSA9IGxlZnRDZW50ZXIgLSB3aWR0aCAvIDI7XHJcbiAgICAgICAgdGhpcy5wb2ludHNbJ3RvcC1yaWdodCddW1RPUF0gPSB0aGlzLnBvaW50c1sndG9wLWxlZnQnXVtUT1BdO1xyXG4gICAgICAgIHRoaXMucG9pbnRzWyd0b3AtcmlnaHQnXVtMRUZUXSA9IGxlZnRDZW50ZXIgLSBBUlJPV19PRkZTRVQ7XHJcblxyXG4gICAgICAgIHRoaXMucG9pbnRzWydib3R0b20tbGVmdCddW1RPUF0gPSBob3N0UmVjdC5ib3R0b20gKyB0aGlzLm9mZnNldDtcclxuICAgICAgICB0aGlzLnBvaW50c1snYm90dG9tLWxlZnQnXVtMRUZUXSA9IHRoaXMucG9pbnRzWyd0b3AtbGVmdCddW0xFRlRdO1xyXG4gICAgICAgIHRoaXMucG9pbnRzLmJvdHRvbVtUT1BdID0gdGhpcy5wb2ludHNbJ2JvdHRvbS1sZWZ0J11bVE9QXTtcclxuICAgICAgICB0aGlzLnBvaW50cy5ib3R0b21bTEVGVF0gPSB0aGlzLnBvaW50cy50b3BbTEVGVF07XHJcbiAgICAgICAgdGhpcy5wb2ludHNbJ2JvdHRvbS1yaWdodCddW1RPUF0gPSB0aGlzLnBvaW50c1snYm90dG9tLWxlZnQnXVtUT1BdO1xyXG4gICAgICAgIHRoaXMucG9pbnRzWydib3R0b20tcmlnaHQnXVtMRUZUXSA9IHRoaXMucG9pbnRzWyd0b3AtcmlnaHQnXVtMRUZUXTtcclxuXHJcbiAgICAgICAgdGhpcy5wb2ludHNbJ2xlZnQtdG9wJ11bVE9QXSA9IHRvcENlbnRlciAtIGhlaWdodCArIEFSUk9XX09GRlNFVDtcclxuICAgICAgICB0aGlzLnBvaW50c1snbGVmdC10b3AnXVtMRUZUXSA9IGhvc3RSZWN0LmxlZnQgLSB3aWR0aCAtIHRoaXMub2Zmc2V0O1xyXG4gICAgICAgIHRoaXMucG9pbnRzLmxlZnRbVE9QXSA9IHRvcENlbnRlciAtIGhlaWdodCAvIDI7XHJcbiAgICAgICAgdGhpcy5wb2ludHMubGVmdFtMRUZUXSA9IHRoaXMucG9pbnRzWydsZWZ0LXRvcCddW0xFRlRdO1xyXG4gICAgICAgIHRoaXMucG9pbnRzWydsZWZ0LWJvdHRvbSddW1RPUF0gPSB0b3BDZW50ZXIgLSBBUlJPV19PRkZTRVQ7XHJcbiAgICAgICAgdGhpcy5wb2ludHNbJ2xlZnQtYm90dG9tJ11bTEVGVF0gPSB0aGlzLnBvaW50c1snbGVmdC10b3AnXVtMRUZUXTtcclxuXHJcbiAgICAgICAgdGhpcy5wb2ludHNbJ3JpZ2h0LXRvcCddW1RPUF0gPSB0aGlzLnBvaW50c1snbGVmdC10b3AnXVtUT1BdO1xyXG4gICAgICAgIHRoaXMucG9pbnRzWydyaWdodC10b3AnXVtMRUZUXSA9IGhvc3RSZWN0LnJpZ2h0ICsgdGhpcy5vZmZzZXQ7XHJcbiAgICAgICAgdGhpcy5wb2ludHMucmlnaHRbVE9QXSA9IHRoaXMucG9pbnRzLmxlZnRbVE9QXTtcclxuICAgICAgICB0aGlzLnBvaW50cy5yaWdodFtMRUZUXSA9IHRoaXMucG9pbnRzWydyaWdodC10b3AnXVtMRUZUXTtcclxuICAgICAgICB0aGlzLnBvaW50c1sncmlnaHQtYm90dG9tJ11bVE9QXSA9IHRoaXMucG9pbnRzWydsZWZ0LWJvdHRvbSddW1RPUF07XHJcbiAgICAgICAgdGhpcy5wb2ludHNbJ3JpZ2h0LWJvdHRvbSddW0xFRlRdID0gdGhpcy5wb2ludHNbJ3JpZ2h0LXRvcCddW0xFRlRdO1xyXG5cclxuICAgICAgICBjb25zdCBwcmlvcml0eURpcmVjdGlvbnMgPSBBcnJheS5pc0FycmF5KHRoaXMuZGlyZWN0aW9uKVxyXG4gICAgICAgICAgICA/IHRoaXMuZGlyZWN0aW9uXHJcbiAgICAgICAgICAgIDogW3RoaXMuZGlyZWN0aW9uXTtcclxuICAgICAgICBjb25zdCBzb3J0ZWREaXJlY3Rpb25zID0gcHJpb3JpdHlEaXJlY3Rpb25zLmNvbmNhdChDVUlfVE9PTFRJUF9ESVJFQ1RJT05TKTtcclxuXHJcbiAgICAgICAgY29uc3QgZGlyZWN0aW9uID0gc29ydGVkRGlyZWN0aW9ucy5maW5kKChkaXJlY3Rpb24pID0+XHJcbiAgICAgICAgICAgIHRoaXMuY2hlY2tQb3NpdGlvbih0aGlzLnBvaW50c1tkaXJlY3Rpb25dLCB3aWR0aCwgaGVpZ2h0KSxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICB0aGlzLmVtaXREaXJlY3Rpb24oZGlyZWN0aW9uIHx8IHRoaXMuZmFsbGJhY2spO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5wb2ludHNbZGlyZWN0aW9uIHx8IHRoaXMuZmFsbGJhY2tdO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0IGZhbGxiYWNrKCk6IEN1aVRvb2x0aXBEaXJlY3Rpb24ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnBvaW50cy50b3BbVE9QXSA+XHJcbiAgICAgICAgICAgIHRoaXMudmlld3BvcnQuZ2V0Q2xpZW50UmVjdCgpLmJvdHRvbSAtIHRoaXMucG9pbnRzLmJvdHRvbVtUT1BdXHJcbiAgICAgICAgICAgID8gJ3RvcCdcclxuICAgICAgICAgICAgOiAnYm90dG9tJztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGNoZWNrUG9zaXRpb24oW3RvcCwgbGVmdF06IEN1aVBvaW50LCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgICAgIGNvbnN0IHZpZXdwb3J0ID0gdGhpcy52aWV3cG9ydC5nZXRDbGllbnRSZWN0KCk7XHJcblxyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICAgIHRvcCA+IEdBUCAmJlxyXG4gICAgICAgICAgICBsZWZ0ID4gR0FQICYmXHJcbiAgICAgICAgICAgIHRvcCArIGhlaWdodCA8IHZpZXdwb3J0LmJvdHRvbSAtIEdBUCAmJlxyXG4gICAgICAgICAgICBsZWZ0ICsgd2lkdGggPCB2aWV3cG9ydC5yaWdodCAtIEdBUFxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,40 +1,40 @@
1
- import { ChangeDetectionStrategy, Component, Directive, inject, TemplateRef, } from '@angular/core';
2
- import { cuiParentAnimation } from '../../animations';
3
- import { injectContext, PolymorpheusComponent, PolymorpheusOutlet, } from '@taiga-ui/polymorpheus';
4
- import { CuiTooltipDirective } from './tooltip.directive';
5
- import * as i0 from "@angular/core";
6
- export class CuiTooltipUnstyledComponent {
7
- constructor() {
8
- this.context = injectContext();
9
- }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipUnstyledComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CuiTooltipUnstyledComponent, isStandalone: true, selector: "ng-component", host: { properties: { "@cuiParentAnimation": "" } }, ngImport: i0, template: '<ng-container *polymorpheusOutlet="context.$implicit.content()" />', isInline: true, dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [cuiParentAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipUnstyledComponent, decorators: [{
14
- type: Component,
15
- args: [{
16
- standalone: true,
17
- imports: [PolymorpheusOutlet],
18
- template: '<ng-container *polymorpheusOutlet="context.$implicit.content()" />',
19
- changeDetection: ChangeDetectionStrategy.OnPush,
20
- animations: [cuiParentAnimation],
21
- host: { '[@cuiParentAnimation]': '' },
22
- }]
23
- }] });
24
- export class CuiTooltipUnstyled {
25
- constructor() {
26
- const hint = inject((CuiTooltipDirective));
27
- hint.component = new PolymorpheusComponent(CuiTooltipUnstyledComponent);
28
- hint.content.set(inject((TemplateRef)));
29
- }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipUnstyled, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
31
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CuiTooltipUnstyled, isStandalone: true, selector: "ng-template[cuiTooltip]", ngImport: i0 }); }
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipUnstyled, decorators: [{
34
- type: Directive,
35
- args: [{
36
- standalone: true,
37
- selector: 'ng-template[cuiTooltip]',
38
- }]
39
- }], ctorParameters: function () { return []; } });
1
+ import { ChangeDetectionStrategy, Component, Directive, inject, TemplateRef, } from '@angular/core';
2
+ import { cuiParentAnimation } from '../../animations';
3
+ import { injectContext, PolymorpheusComponent, PolymorpheusOutlet, } from '@taiga-ui/polymorpheus';
4
+ import { CuiTooltipDirective } from './tooltip.directive';
5
+ import * as i0 from "@angular/core";
6
+ export class CuiTooltipUnstyledComponent {
7
+ constructor() {
8
+ this.context = injectContext();
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipUnstyledComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CuiTooltipUnstyledComponent, isStandalone: true, selector: "ng-component", host: { properties: { "@cuiParentAnimation": "" } }, ngImport: i0, template: '<ng-container *polymorpheusOutlet="context.$implicit.content()" />', isInline: true, dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [cuiParentAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipUnstyledComponent, decorators: [{
14
+ type: Component,
15
+ args: [{
16
+ standalone: true,
17
+ imports: [PolymorpheusOutlet],
18
+ template: '<ng-container *polymorpheusOutlet="context.$implicit.content()" />',
19
+ changeDetection: ChangeDetectionStrategy.OnPush,
20
+ animations: [cuiParentAnimation],
21
+ host: { '[@cuiParentAnimation]': '' },
22
+ }]
23
+ }] });
24
+ export class CuiTooltipUnstyled {
25
+ constructor() {
26
+ const hint = inject((CuiTooltipDirective));
27
+ hint.component = new PolymorpheusComponent(CuiTooltipUnstyledComponent);
28
+ hint.content.set(inject((TemplateRef)));
29
+ }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipUnstyled, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
31
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CuiTooltipUnstyled, isStandalone: true, selector: "ng-template[cuiTooltip]", ngImport: i0 }); }
32
+ }
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipUnstyled, decorators: [{
34
+ type: Directive,
35
+ args: [{
36
+ standalone: true,
37
+ selector: 'ng-template[cuiTooltip]',
38
+ }]
39
+ }], ctorParameters: function () { return []; } });
40
40
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC11bnN0eWxlZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvdG9vbHRpcC90b29sdGlwLXVuc3R5bGVkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxFQUNOLFdBQVcsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUdwRCxPQUFPLEVBQ0gsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixrQkFBa0IsR0FDckIsTUFBTSx3QkFBd0IsQ0FBQztBQUVoQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7QUFVeEQsTUFBTSxPQUFPLDJCQUEyQjtJQVJ4QztRQVN1QixZQUFPLEdBQ3RCLGFBQWEsRUFFVixDQUFDO0tBQ1g7K0dBTFksMkJBQTJCO21HQUEzQiwyQkFBMkIsNkhBTDFCLG9FQUFvRSw0REFEcEUsa0JBQWtCLGdIQUdoQixDQUFDLGtCQUFrQixDQUFDOzs0RkFHdkIsMkJBQTJCO2tCQVJ2QyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDN0IsUUFBUSxFQUFFLG9FQUFvRTtvQkFDOUUsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUNoQyxJQUFJLEVBQUUsRUFBQyx1QkFBdUIsRUFBRSxFQUFFLEVBQUM7aUJBQ3RDOztBQVlELE1BQU0sT0FBTyxrQkFBa0I7SUFDM0I7UUFDSSxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsQ0FBQSxtQkFBc0IsQ0FBQSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHFCQUFxQixDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUEsV0FBYyxDQUFBLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7K0dBTlEsa0JBQWtCO21HQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx5QkFBeUI7aUJBQ3RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1dyaXRhYmxlU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gICAgQ29tcG9uZW50LFxyXG4gICAgRGlyZWN0aXZlLFxyXG4gICAgaW5qZWN0LFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB0eXBlIHtDdWlDb250ZXh0fSBmcm9tICdAY3VieS11aS9jZGsnO1xyXG5pbXBvcnQge2N1aVBhcmVudEFuaW1hdGlvbn0gZnJvbSAnLi4vLi4vYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB0eXBlIHtDdWlQb3J0YWxJdGVtfSBmcm9tICcuLi8uLi90eXBlcyc7XHJcbmltcG9ydCB0eXBlIHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcclxuaW1wb3J0IHtcclxuICAgIGluamVjdENvbnRleHQsXHJcbiAgICBQb2x5bW9ycGhldXNDb21wb25lbnQsXHJcbiAgICBQb2x5bW9ycGhldXNPdXRsZXQsXHJcbn0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XHJcblxyXG5pbXBvcnQge0N1aVRvb2x0aXBEaXJlY3RpdmV9IGZyb20gJy4vdG9vbHRpcC5kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gICAgaW1wb3J0czogW1BvbHltb3JwaGV1c091dGxldF0sXHJcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cImNvbnRleHQuJGltcGxpY2l0LmNvbnRlbnQoKVwiIC8+JyxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgYW5pbWF0aW9uczogW2N1aVBhcmVudEFuaW1hdGlvbl0sXHJcbiAgICBob3N0OiB7J1tAY3VpUGFyZW50QW5pbWF0aW9uXSc6ICcnfSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1aVRvb2x0aXBVbnN0eWxlZENvbXBvbmVudCB7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGV4dCA9XHJcbiAgICAgICAgaW5qZWN0Q29udGV4dDxcclxuICAgICAgICAgIEN1aUNvbnRleHQ8Q3VpUG9ydGFsSXRlbSAmIHtjb250ZW50OiBXcml0YWJsZVNpZ25hbDxQb2x5bW9ycGhldXNDb250ZW50Pn0+XHJcbiAgICAgICAgPigpO1xyXG59XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBzZWxlY3RvcjogJ25nLXRlbXBsYXRlW2N1aVRvb2x0aXBdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1aVRvb2x0aXBVbnN0eWxlZDxDPiB7XHJcbiAgICBjb25zdHJ1Y3RvcigpIHtcclxuICAgICAgICBjb25zdCBoaW50ID0gaW5qZWN0KEN1aVRvb2x0aXBEaXJlY3RpdmU8Qz4pO1xyXG5cclxuICAgICAgICBoaW50LmNvbXBvbmVudCA9IG5ldyBQb2x5bW9ycGhldXNDb21wb25lbnQoQ3VpVG9vbHRpcFVuc3R5bGVkQ29tcG9uZW50KTtcclxuICAgICAgICBoaW50LmNvbnRlbnQuc2V0KGluamVjdChUZW1wbGF0ZVJlZjxDPikpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==