@cuby-ui/core 0.0.192 → 0.0.194

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 (348) hide show
  1. package/README.md +24 -24
  2. package/animations/animations.d.ts +36 -36
  3. package/animations/index.d.ts +1 -1
  4. package/classes/accessors.d.ts +17 -17
  5. package/classes/driver.d.ts +16 -16
  6. package/classes/index.d.ts +3 -3
  7. package/classes/vehicle.d.ts +6 -6
  8. package/components/accordion/accordion-item/accordion-item.component.d.ts +11 -11
  9. package/components/accordion/accordion.component.d.ts +5 -5
  10. package/components/accordion/accordion.module.d.ts +11 -11
  11. package/components/accordion/index.d.ts +3 -3
  12. package/components/alert/alert.component.d.ts +13 -13
  13. package/components/alert/alert.interfaces.d.ts +9 -9
  14. package/components/alert/alert.module.d.ts +11 -11
  15. package/components/alert/alert.service.d.ts +7 -7
  16. package/components/alert/alert.tokens.d.ts +16 -16
  17. package/components/alert/alert.types.d.ts +3 -3
  18. package/components/alert/alerts.component.d.ts +17 -17
  19. package/components/alert/index.d.ts +8 -8
  20. package/components/badge/badge.component.d.ts +10 -10
  21. package/components/badge/badge.module.d.ts +8 -8
  22. package/components/badge/badge.options.d.ts +8 -8
  23. package/components/badge/index.d.ts +2 -2
  24. package/components/banner/banner.component.d.ts +21 -21
  25. package/components/banner/banner.module.d.ts +11 -11
  26. package/components/banner/banner.options.d.ts +13 -13
  27. package/components/banner/index.d.ts +3 -3
  28. package/components/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +6 -6
  29. package/components/breadcrumbs/breadcrumbs.component.d.ts +7 -7
  30. package/components/breadcrumbs/breadcrumbs.module.d.ts +10 -10
  31. package/components/breadcrumbs/index.d.ts +3 -3
  32. package/components/button/button.component.d.ts +38 -38
  33. package/components/button/button.module.d.ts +9 -9
  34. package/components/button/button.options.d.ts +9 -9
  35. package/components/button/index.d.ts +3 -3
  36. package/components/button-group/button-group.component.d.ts +5 -5
  37. package/components/button-group/button-group.module.d.ts +7 -7
  38. package/components/button-group/index.d.ts +2 -2
  39. package/components/checkbox/checkbox.component.d.ts +5 -5
  40. package/components/checkbox/checkbox.module.d.ts +7 -7
  41. package/components/checkbox/index.d.ts +2 -2
  42. package/components/context-menu/context-menu.component.d.ts +39 -39
  43. package/components/context-menu/context-menu.module.d.ts +9 -9
  44. package/components/context-menu/index.d.ts +2 -2
  45. package/components/dialog/dialog-actions/dialog-actions.component.d.ts +5 -5
  46. package/components/dialog/dialog-header/dialog-header.component.d.ts +13 -13
  47. package/components/dialog/dialog.component.d.ts +33 -33
  48. package/components/dialog/dialog.interfaces.d.ts +11 -11
  49. package/components/dialog/dialog.module.d.ts +14 -14
  50. package/components/dialog/dialog.service.d.ts +7 -7
  51. package/components/dialog/dialog.tokens.d.ts +8 -8
  52. package/components/dialog/dialogs.component.d.ts +18 -18
  53. package/components/dialog/index.d.ts +8 -8
  54. package/components/form-field/form-field.component.d.ts +5 -5
  55. package/components/form-field/form-field.module.d.ts +7 -7
  56. package/components/form-field/index.d.ts +2 -2
  57. package/components/hint/hint.component.d.ts +7 -7
  58. package/components/hint/hint.module.d.ts +7 -7
  59. package/components/hint/index.d.ts +2 -2
  60. package/components/icon-button/icon-button.component.d.ts +13 -13
  61. package/components/icon-button/icon-button.module.d.ts +9 -9
  62. package/components/icon-button/index.d.ts +2 -2
  63. package/components/index.d.ts +26 -26
  64. package/components/input-number/index.d.ts +2 -2
  65. package/components/input-number/input-number.component.d.ts +38 -38
  66. package/components/input-number/input-number.module.d.ts +12 -12
  67. package/components/input-password/index.d.ts +2 -2
  68. package/components/input-password/input-password.component.d.ts +31 -31
  69. package/components/input-password/input-password.module.d.ts +11 -11
  70. package/components/input-text/index.d.ts +2 -2
  71. package/components/input-text/input-text.component.d.ts +31 -31
  72. package/components/input-text/input-text.module.d.ts +11 -11
  73. package/components/input-time/index.d.ts +3 -3
  74. package/components/input-time/input-time.component.d.ts +36 -36
  75. package/components/input-time/input-time.module.d.ts +12 -12
  76. package/components/input-time/input-time.options.d.ts +7 -7
  77. package/components/label/index.d.ts +2 -2
  78. package/components/label/label.component.d.ts +6 -6
  79. package/components/label/label.module.d.ts +8 -8
  80. package/components/notification/index.d.ts +3 -3
  81. package/components/notification/notification.component.d.ts +18 -18
  82. package/components/notification/notification.module.d.ts +9 -9
  83. package/components/notification/notification.options.d.ts +17 -17
  84. package/components/radio/index.d.ts +2 -2
  85. package/components/radio/radio.component.d.ts +5 -5
  86. package/components/radio/radio.module.d.ts +7 -7
  87. package/components/root/index.d.ts +3 -3
  88. package/components/root/root.component.d.ts +11 -11
  89. package/components/root/root.module.d.ts +11 -11
  90. package/components/root/root.options.d.ts +1 -1
  91. package/components/select/index.d.ts +2 -2
  92. package/components/select/select.component.d.ts +53 -53
  93. package/components/select/select.module.d.ts +11 -11
  94. package/components/svg/index.d.ts +2 -2
  95. package/components/svg/svg.component.d.ts +16 -16
  96. package/components/svg/svg.module.d.ts +8 -8
  97. package/components/tabs/index.d.ts +3 -3
  98. package/components/tabs/tab/index.d.ts +1 -1
  99. package/components/tabs/tab/tab.component.d.ts +8 -8
  100. package/components/tabs/tabs.component.d.ts +16 -16
  101. package/components/tabs/tabs.module.d.ts +8 -8
  102. package/components/textarea/index.d.ts +2 -2
  103. package/components/textarea/textarea.component.d.ts +10 -10
  104. package/components/textarea/textarea.module.d.ts +7 -7
  105. package/components/toggle/index.d.ts +2 -2
  106. package/components/toggle/toggle.component.d.ts +5 -5
  107. package/components/toggle/toggle.module.d.ts +7 -7
  108. package/directives/index.d.ts +2 -2
  109. package/directives/text-field-controller/index.d.ts +8 -8
  110. package/directives/text-field-controller/text-field-controller.module.d.ts +11 -11
  111. package/directives/text-field-controller/text-field-controller.provider.d.ts +4 -4
  112. package/directives/text-field-controller/text-field-icon-left.directive.d.ts +9 -9
  113. package/directives/text-field-controller/text-field-id.directive.d.ts +8 -8
  114. package/directives/text-field-controller/text-field-is-error.directive.d.ts +8 -8
  115. package/directives/text-field-controller/text-field-placeholder.directive.d.ts +8 -8
  116. package/directives/text-field-controller/text-field-size.directive.d.ts +9 -9
  117. package/directives/text-field-controller/text-field.controller.d.ts +20 -20
  118. package/directives/tooltip/index.d.ts +16 -16
  119. package/directives/tooltip/tooltip-describe.directive.d.ts +16 -16
  120. package/directives/tooltip/tooltip-driver.directive.d.ts +7 -7
  121. package/directives/tooltip/tooltip-host.directive.d.ts +9 -9
  122. package/directives/tooltip/tooltip-hover.directive.d.ts +21 -21
  123. package/directives/tooltip/tooltip-manual.directive.d.ts +13 -13
  124. package/directives/tooltip/tooltip-options.directive.d.ts +36 -36
  125. package/directives/tooltip/tooltip-overflow.directive.d.ts +8 -8
  126. package/directives/tooltip/tooltip-pointer.directive.d.ts +10 -10
  127. package/directives/tooltip/tooltip-position.directive.d.ts +20 -20
  128. package/directives/tooltip/tooltip-unstyled.component.d.ts +17 -17
  129. package/directives/tooltip/tooltip.component.d.ts +33 -33
  130. package/directives/tooltip/tooltip.d.ts +13 -13
  131. package/directives/tooltip/tooltip.directive.d.ts +26 -26
  132. package/directives/tooltip/tooltip.providers.d.ts +5 -5
  133. package/directives/tooltip/tooltip.service.d.ts +13 -13
  134. package/directives/tooltip/tooltips.component.d.ts +12 -12
  135. package/esm2022/animations/animations.mjs +272 -272
  136. package/esm2022/animations/index.mjs +1 -1
  137. package/esm2022/classes/accessors.mjs +31 -31
  138. package/esm2022/classes/driver.mjs +35 -35
  139. package/esm2022/classes/index.mjs +4 -4
  140. package/esm2022/classes/vehicle.mjs +7 -7
  141. package/esm2022/components/accordion/accordion-item/accordion-item.component.mjs +28 -28
  142. package/esm2022/components/accordion/accordion.component.mjs +11 -11
  143. package/esm2022/components/accordion/accordion.module.mjs +37 -37
  144. package/esm2022/components/accordion/index.mjs +4 -4
  145. package/esm2022/components/alert/alert.component.mjs +36 -36
  146. package/esm2022/components/alert/alert.interfaces.mjs +2 -2
  147. package/esm2022/components/alert/alert.module.mjs +40 -40
  148. package/esm2022/components/alert/alert.service.mjs +17 -17
  149. package/esm2022/components/alert/alert.tokens.mjs +20 -20
  150. package/esm2022/components/alert/alert.types.mjs +2 -2
  151. package/esm2022/components/alert/alerts.component.mjs +36 -36
  152. package/esm2022/components/alert/index.mjs +9 -9
  153. package/esm2022/components/badge/badge.component.mjs +31 -31
  154. package/esm2022/components/badge/badge.module.mjs +18 -18
  155. package/esm2022/components/badge/badge.options.mjs +8 -8
  156. package/esm2022/components/badge/index.mjs +3 -3
  157. package/esm2022/components/banner/banner.component.mjs +68 -68
  158. package/esm2022/components/banner/banner.module.mjs +31 -31
  159. package/esm2022/components/banner/banner.options.mjs +6 -6
  160. package/esm2022/components/banner/index.mjs +4 -4
  161. package/esm2022/components/breadcrumbs/breadcrumb/breadcrumb.component.mjs +16 -16
  162. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +17 -17
  163. package/esm2022/components/breadcrumbs/breadcrumbs.module.mjs +33 -33
  164. package/esm2022/components/breadcrumbs/index.mjs +4 -4
  165. package/esm2022/components/button/button.component.mjs +138 -138
  166. package/esm2022/components/button/button.module.mjs +24 -24
  167. package/esm2022/components/button/button.options.mjs +10 -10
  168. package/esm2022/components/button/index.mjs +4 -4
  169. package/esm2022/components/button-group/button-group.component.mjs +11 -11
  170. package/esm2022/components/button-group/button-group.module.mjs +16 -16
  171. package/esm2022/components/button-group/index.mjs +3 -3
  172. package/esm2022/components/checkbox/checkbox.component.mjs +11 -11
  173. package/esm2022/components/checkbox/checkbox.module.mjs +16 -16
  174. package/esm2022/components/checkbox/index.mjs +3 -3
  175. package/esm2022/components/context-menu/context-menu.component.mjs +148 -146
  176. package/esm2022/components/context-menu/context-menu.module.mjs +24 -24
  177. package/esm2022/components/context-menu/index.mjs +3 -3
  178. package/esm2022/components/dialog/dialog-actions/dialog-actions.component.mjs +11 -11
  179. package/esm2022/components/dialog/dialog-header/dialog-header.component.mjs +28 -28
  180. package/esm2022/components/dialog/dialog.component.mjs +67 -67
  181. package/esm2022/components/dialog/dialog.interfaces.mjs +2 -2
  182. package/esm2022/components/dialog/dialog.module.mjs +49 -49
  183. package/esm2022/components/dialog/dialog.service.mjs +17 -17
  184. package/esm2022/components/dialog/dialog.tokens.mjs +12 -12
  185. package/esm2022/components/dialog/dialogs.component.mjs +51 -51
  186. package/esm2022/components/dialog/index.mjs +9 -9
  187. package/esm2022/components/form-field/form-field.component.mjs +11 -11
  188. package/esm2022/components/form-field/form-field.module.mjs +16 -16
  189. package/esm2022/components/form-field/index.mjs +3 -3
  190. package/esm2022/components/hint/hint.component.mjs +19 -19
  191. package/esm2022/components/hint/hint.module.mjs +16 -16
  192. package/esm2022/components/hint/index.mjs +3 -3
  193. package/esm2022/components/icon-button/icon-button.component.mjs +32 -32
  194. package/esm2022/components/icon-button/icon-button.module.mjs +24 -24
  195. package/esm2022/components/icon-button/index.mjs +3 -3
  196. package/esm2022/components/index.mjs +27 -27
  197. package/esm2022/components/input-number/index.mjs +3 -3
  198. package/esm2022/components/input-number/input-number.component.mjs +113 -113
  199. package/esm2022/components/input-number/input-number.module.mjs +36 -36
  200. package/esm2022/components/input-password/index.mjs +3 -3
  201. package/esm2022/components/input-password/input-password.component.mjs +89 -89
  202. package/esm2022/components/input-password/input-password.module.mjs +33 -33
  203. package/esm2022/components/input-text/index.mjs +3 -3
  204. package/esm2022/components/input-text/input-text.component.mjs +87 -87
  205. package/esm2022/components/input-text/input-text.module.mjs +33 -33
  206. package/esm2022/components/input-time/index.mjs +4 -4
  207. package/esm2022/components/input-time/input-time.component.mjs +99 -99
  208. package/esm2022/components/input-time/input-time.module.mjs +36 -36
  209. package/esm2022/components/input-time/input-time.options.mjs +8 -8
  210. package/esm2022/components/label/index.mjs +3 -3
  211. package/esm2022/components/label/label.component.mjs +17 -17
  212. package/esm2022/components/label/label.module.mjs +18 -18
  213. package/esm2022/components/notification/index.mjs +4 -4
  214. package/esm2022/components/notification/notification.component.mjs +47 -47
  215. package/esm2022/components/notification/notification.module.mjs +24 -24
  216. package/esm2022/components/notification/notification.options.mjs +53 -53
  217. package/esm2022/components/radio/index.mjs +3 -3
  218. package/esm2022/components/radio/radio.component.mjs +11 -11
  219. package/esm2022/components/radio/radio.module.mjs +16 -16
  220. package/esm2022/components/root/index.mjs +4 -4
  221. package/esm2022/components/root/root.component.mjs +32 -32
  222. package/esm2022/components/root/root.module.mjs +31 -31
  223. package/esm2022/components/root/root.options.mjs +1 -1
  224. package/esm2022/components/select/index.mjs +3 -3
  225. package/esm2022/components/select/select.component.mjs +172 -172
  226. package/esm2022/components/select/select.module.mjs +32 -32
  227. package/esm2022/components/svg/index.mjs +3 -3
  228. package/esm2022/components/svg/svg.component.mjs +50 -50
  229. package/esm2022/components/svg/svg.module.mjs +18 -18
  230. package/esm2022/components/tabs/index.mjs +4 -4
  231. package/esm2022/components/tabs/tab/index.mjs +1 -1
  232. package/esm2022/components/tabs/tab/tab.component.mjs +21 -21
  233. package/esm2022/components/tabs/tabs.component.mjs +49 -49
  234. package/esm2022/components/tabs/tabs.module.mjs +18 -18
  235. package/esm2022/components/textarea/index.mjs +3 -3
  236. package/esm2022/components/textarea/textarea.component.mjs +35 -35
  237. package/esm2022/components/textarea/textarea.module.mjs +16 -16
  238. package/esm2022/components/toggle/index.mjs +3 -3
  239. package/esm2022/components/toggle/toggle.component.mjs +11 -11
  240. package/esm2022/components/toggle/toggle.module.mjs +16 -16
  241. package/esm2022/cuby-ui-core.mjs +4 -4
  242. package/esm2022/directives/index.mjs +3 -3
  243. package/esm2022/directives/text-field-controller/index.mjs +9 -9
  244. package/esm2022/directives/text-field-controller/text-field-controller.module.mjs +40 -40
  245. package/esm2022/directives/text-field-controller/text-field-controller.provider.mjs +24 -24
  246. package/esm2022/directives/text-field-controller/text-field-icon-left.directive.mjs +21 -21
  247. package/esm2022/directives/text-field-controller/text-field-id.directive.mjs +21 -21
  248. package/esm2022/directives/text-field-controller/text-field-is-error.directive.mjs +24 -24
  249. package/esm2022/directives/text-field-controller/text-field-placeholder.directive.mjs +21 -21
  250. package/esm2022/directives/text-field-controller/text-field-size.directive.mjs +24 -24
  251. package/esm2022/directives/text-field-controller/text-field.controller.mjs +25 -25
  252. package/esm2022/directives/tooltip/index.mjs +17 -17
  253. package/esm2022/directives/tooltip/tooltip-describe.directive.mjs +45 -45
  254. package/esm2022/directives/tooltip/tooltip-driver.directive.mjs +18 -18
  255. package/esm2022/directives/tooltip/tooltip-host.directive.mjs +26 -26
  256. package/esm2022/directives/tooltip/tooltip-hover.directive.mjs +53 -53
  257. package/esm2022/directives/tooltip/tooltip-manual.directive.mjs +31 -31
  258. package/esm2022/directives/tooltip/tooltip-options.directive.mjs +83 -83
  259. package/esm2022/directives/tooltip/tooltip-overflow.directive.mjs +31 -31
  260. package/esm2022/directives/tooltip/tooltip-pointer.directive.mjs +31 -31
  261. package/esm2022/directives/tooltip/tooltip-position.directive.mjs +96 -96
  262. package/esm2022/directives/tooltip/tooltip-unstyled.component.mjs +40 -40
  263. package/esm2022/directives/tooltip/tooltip.component.mjs +110 -110
  264. package/esm2022/directives/tooltip/tooltip.directive.mjs +92 -92
  265. package/esm2022/directives/tooltip/tooltip.mjs +27 -27
  266. package/esm2022/directives/tooltip/tooltip.providers.mjs +7 -7
  267. package/esm2022/directives/tooltip/tooltip.service.mjs +28 -28
  268. package/esm2022/directives/tooltip/tooltips.component.mjs +33 -33
  269. package/esm2022/index.mjs +7 -7
  270. package/esm2022/interfaces/context-menu-item.mjs +2 -2
  271. package/esm2022/interfaces/index.mjs +3 -3
  272. package/esm2022/interfaces/option.mjs +2 -2
  273. package/esm2022/services/index.mjs +5 -5
  274. package/esm2022/services/position.service.mjs +23 -23
  275. package/esm2022/services/theme.options.mjs +6 -6
  276. package/esm2022/services/theme.service.mjs +30 -30
  277. package/esm2022/services/visual-viewport.service.mjs +28 -28
  278. package/esm2022/tokens/animations-speed.mjs +8 -8
  279. package/esm2022/tokens/index.mjs +4 -4
  280. package/esm2022/tokens/reduced-motion.mjs +6 -6
  281. package/esm2022/tokens/viewport.mjs +31 -31
  282. package/esm2022/types/appearance.mjs +2 -2
  283. package/esm2022/types/hint-type.mjs +2 -2
  284. package/esm2022/types/index.mjs +10 -10
  285. package/esm2022/types/point.mjs +2 -2
  286. package/esm2022/types/portal-item.mjs +2 -2
  287. package/esm2022/types/position.mjs +2 -2
  288. package/esm2022/types/resizing.mjs +2 -2
  289. package/esm2022/types/shape.mjs +2 -2
  290. package/esm2022/types/size.mjs +2 -2
  291. package/esm2022/types/status.mjs +2 -2
  292. package/esm2022/utils/format/index.mjs +3 -3
  293. package/esm2022/utils/format/remove-spaces.mjs +4 -4
  294. package/esm2022/utils/format/replace.mjs +5 -5
  295. package/esm2022/utils/index.mjs +3 -3
  296. package/esm2022/utils/miscellaneous/index.mjs +4 -4
  297. package/esm2022/utils/miscellaneous/is-obscured.mjs +8 -8
  298. package/esm2022/utils/miscellaneous/override-options.mjs +11 -11
  299. package/esm2022/utils/miscellaneous/to-animation-options.mjs +14 -14
  300. package/fesm2022/cuby-ui-core.mjs +3195 -3193
  301. package/fesm2022/cuby-ui-core.mjs.map +1 -1
  302. package/fonts/Inter-Bold.svg +25443 -25443
  303. package/fonts/Inter-Medium.svg +25400 -25400
  304. package/fonts/Inter-Regular.svg +24341 -24341
  305. package/fonts/Inter-SemiBold.svg +25459 -25459
  306. package/index.d.ts +6 -6
  307. package/interfaces/context-menu-item.d.ts +7 -7
  308. package/interfaces/index.d.ts +2 -2
  309. package/interfaces/option.d.ts +5 -5
  310. package/package.json +3 -3
  311. package/services/index.d.ts +4 -4
  312. package/services/position.service.d.ts +10 -10
  313. package/services/theme.options.d.ts +5 -5
  314. package/services/theme.service.d.ts +12 -12
  315. package/services/visual-viewport.service.d.ts +9 -9
  316. package/styles/fonts.scss +51 -51
  317. package/styles/global.scss +9 -9
  318. package/styles/mixins/buttons.scss +13 -13
  319. package/styles/mixins/headings.scss +115 -115
  320. package/styles/mixins/inputs.scss +91 -91
  321. package/styles/mixins/lists.scss +5 -5
  322. package/styles/mixins/paddings.scss +35 -35
  323. package/styles/mixins/shadows.scss +38 -38
  324. package/styles/mixins/texts.scss +225 -225
  325. package/styles/theme.scss +385 -385
  326. package/styles/variables/colors.scss +253 -253
  327. package/tokens/animations-speed.d.ts +4 -4
  328. package/tokens/index.d.ts +3 -3
  329. package/tokens/reduced-motion.d.ts +1 -1
  330. package/tokens/viewport.d.ts +7 -7
  331. package/types/appearance.d.ts +8 -8
  332. package/types/hint-type.d.ts +1 -1
  333. package/types/index.d.ts +9 -9
  334. package/types/point.d.ts +1 -1
  335. package/types/portal-item.d.ts +9 -9
  336. package/types/position.d.ts +2 -2
  337. package/types/resizing.d.ts +2 -2
  338. package/types/shape.d.ts +1 -1
  339. package/types/size.d.ts +4 -4
  340. package/types/status.d.ts +1 -1
  341. package/utils/format/index.d.ts +2 -2
  342. package/utils/format/remove-spaces.d.ts +1 -1
  343. package/utils/format/replace.d.ts +1 -1
  344. package/utils/index.d.ts +2 -2
  345. package/utils/miscellaneous/index.d.ts +3 -3
  346. package/utils/miscellaneous/is-obscured.d.ts +4 -4
  347. package/utils/miscellaneous/override-options.d.ts +1 -1
  348. package/utils/miscellaneous/to-animation-options.d.ts +4 -4
@@ -1,83 +1,83 @@
1
- import { Directive, inject, Input, Optional, Self, SkipSelf } from '@angular/core';
2
- import { cuiCreateToken, cuiProvide } from '@cuby-ui/cdk';
3
- import { cuiOverrideOptions } from '../../utils';
4
- import { Subject } from 'rxjs';
5
- import * as i0 from "@angular/core";
6
- export const CUI_TOOLTIP_DIRECTIONS = [
7
- 'top',
8
- 'top-left',
9
- 'top-right',
10
- 'bottom',
11
- 'bottom-left',
12
- 'bottom-right',
13
- 'left-top',
14
- 'left',
15
- 'left-bottom',
16
- 'right-top',
17
- 'right',
18
- 'right-bottom',
19
- ];
20
- /** Default values for tooltip options */
21
- export const CUI_TOOLTIP_DEFAULT_OPTIONS = {
22
- direction: 'top',
23
- showDelay: 500,
24
- hideDelay: 200,
25
- appearance: '',
26
- /** TODO @deprecated use {@link CUI_TOOLTIP_OPTIONS} instead **/
27
- icon: '@cui.circle-help',
28
- };
29
- /**
30
- * Default parameters for tooltip directive
31
- */
32
- export const CUI_TOOLTIP_OPTIONS = cuiCreateToken(CUI_TOOLTIP_DEFAULT_OPTIONS);
33
- export const cuiTooltipOptionsProvider = (override) => ({
34
- provide: CUI_TOOLTIP_OPTIONS,
35
- deps: [
36
- [new Optional(), new Self(), CuiTooltipOptionsDirective],
37
- [new Optional(), new SkipSelf(), CUI_TOOLTIP_OPTIONS],
38
- ],
39
- useFactory: cuiOverrideOptions(override, CUI_TOOLTIP_DEFAULT_OPTIONS),
40
- });
41
- /**
42
- * @deprecated: drop in 5.0
43
- */
44
- export class CuiTooltipOptionsDirective {
45
- constructor() {
46
- this.options = inject(CUI_TOOLTIP_OPTIONS, { skipSelf: true });
47
- this.direction = this.options.direction;
48
- this.appearance = this.options.appearance;
49
- this.showDelay = this.options.showDelay;
50
- this.hideDelay = this.options.hideDelay;
51
- this.icon = this.options.icon;
52
- this.change$ = new Subject();
53
- }
54
- ngOnChanges() {
55
- this.change$.next();
56
- }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipOptionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
58
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CuiTooltipOptionsDirective, isStandalone: true, selector: "[cuiTooltipContent]", inputs: { content: ["cuiTooltipContent", "content"], direction: ["cuiTooltipDirection", "direction"], appearance: ["cuiTooltipAppearance", "appearance"], showDelay: ["cuiTooltipShowDelay", "showDelay"], hideDelay: ["cuiTooltipHideDelay", "hideDelay"] }, providers: [cuiProvide(CUI_TOOLTIP_OPTIONS, CuiTooltipOptionsDirective)], usesOnChanges: true, ngImport: i0 }); }
59
- }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipOptionsDirective, decorators: [{
61
- type: Directive,
62
- args: [{
63
- standalone: true,
64
- selector: '[cuiTooltipContent]',
65
- providers: [cuiProvide(CUI_TOOLTIP_OPTIONS, CuiTooltipOptionsDirective)],
66
- }]
67
- }], propDecorators: { content: [{
68
- type: Input,
69
- args: ['cuiTooltipContent']
70
- }], direction: [{
71
- type: Input,
72
- args: ['cuiTooltipDirection']
73
- }], appearance: [{
74
- type: Input,
75
- args: ['cuiTooltipAppearance']
76
- }], showDelay: [{
77
- type: Input,
78
- args: ['cuiTooltipShowDelay']
79
- }], hideDelay: [{
80
- type: Input,
81
- args: ['cuiTooltipHideDelay']
82
- }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1vcHRpb25zLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy90b29sdGlwL3Rvb2x0aXAtb3B0aW9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUUvQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDOztBQWdCN0IsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQW1DO0lBQ2xFLEtBQUs7SUFDTCxVQUFVO0lBQ1YsV0FBVztJQUNYLFFBQVE7SUFDUixhQUFhO0lBQ2IsY0FBYztJQUNkLFVBQVU7SUFDVixNQUFNO0lBQ04sYUFBYTtJQUNiLFdBQVc7SUFDWCxPQUFPO0lBQ1AsY0FBYztDQUNqQixDQUFDO0FBVUYseUNBQXlDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFzQjtJQUMxRCxTQUFTLEVBQUUsS0FBSztJQUNoQixTQUFTLEVBQUUsR0FBRztJQUNkLFNBQVMsRUFBRSxHQUFHO0lBQ2QsVUFBVSxFQUFFLEVBQUU7SUFDZCxnRUFBZ0U7SUFDaEUsSUFBSSxFQUFFLGtCQUFrQjtDQUMzQixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxjQUFjLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUUvRSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FFZixDQUFDLFFBQW9DLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUQsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixJQUFJLEVBQUU7UUFDRixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFBRSwwQkFBMEIsQ0FBQztRQUN4RCxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQztLQUN4RDtJQUNELFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsMkJBQTJCLENBQUM7Q0FDeEUsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFNSCxNQUFNLE9BQU8sMEJBQTBCO0lBTHZDO1FBTXFCLFlBQU8sR0FBRyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQU1sRSxjQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFHbkMsZUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBR3JDLGNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUduQyxjQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFFbkMsU0FBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBRWhCLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0tBS2pEO0lBSFUsV0FBVztRQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0F4QlEsMEJBQTBCO21HQUExQiwwQkFBMEIsZ1VBRnhCLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLDBCQUEwQixDQUFDLENBQUM7OzRGQUUvRCwwQkFBMEI7a0JBTHRDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsNkJBQTZCLENBQUM7aUJBQzNFOzhCQUtVLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBSW5CLFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBSXJCLFVBQVU7c0JBRGhCLEtBQUs7dUJBQUMsc0JBQXNCO2dCQUl0QixTQUFTO3NCQURmLEtBQUs7dUJBQUMscUJBQXFCO2dCQUlyQixTQUFTO3NCQURmLEtBQUs7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0ZhY3RvcnlQcm92aWRlciwgT25DaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBPcHRpb25hbCwgU2VsZiwgU2tpcFNlbGZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY3VpQ3JlYXRlVG9rZW4sIGN1aVByb3ZpZGUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHtjdWlPdmVycmlkZU9wdGlvbnN9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB0eXBlIHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEN1aVRvb2x0aXBEaXJlY3Rpb24gPVxuICAgIHwgJ2JvdHRvbS1sZWZ0J1xuICAgIHwgJ2JvdHRvbS1yaWdodCdcbiAgICB8ICdib3R0b20nXG4gICAgfCAnbGVmdC1ib3R0b20nXG4gICAgfCAnbGVmdC10b3AnXG4gICAgfCAnbGVmdCdcbiAgICB8ICdyaWdodC1ib3R0b20nXG4gICAgfCAncmlnaHQtdG9wJ1xuICAgIHwgJ3JpZ2h0J1xuICAgIHwgJ3RvcC1sZWZ0J1xuICAgIHwgJ3RvcC1yaWdodCdcbiAgICB8ICd0b3AnO1xuXG5leHBvcnQgY29uc3QgQ1VJX1RPT0xUSVBfRElSRUNUSU9OUzogcmVhZG9ubHkgQ3VpVG9vbHRpcERpcmVjdGlvbltdID0gW1xuICAgICd0b3AnLFxuICAgICd0b3AtbGVmdCcsXG4gICAgJ3RvcC1yaWdodCcsXG4gICAgJ2JvdHRvbScsXG4gICAgJ2JvdHRvbS1sZWZ0JyxcbiAgICAnYm90dG9tLXJpZ2h0JyxcbiAgICAnbGVmdC10b3AnLFxuICAgICdsZWZ0JyxcbiAgICAnbGVmdC1ib3R0b20nLFxuICAgICdyaWdodC10b3AnLFxuICAgICdyaWdodCcsXG4gICAgJ3JpZ2h0LWJvdHRvbScsXG5dO1xuXG5leHBvcnQgaW50ZXJmYWNlIEN1aVRvb2x0aXBPcHRpb25zIHtcbiAgICByZWFkb25seSBhcHBlYXJhbmNlOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgZGlyZWN0aW9uOiBDdWlUb29sdGlwRGlyZWN0aW9uIHwgQ3VpVG9vbHRpcERpcmVjdGlvbltdO1xuICAgIHJlYWRvbmx5IGhpZGVEZWxheTogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGljb246IHN0cmluZztcbiAgICByZWFkb25seSBzaG93RGVsYXk6IG51bWJlcjtcbn1cblxuLyoqIERlZmF1bHQgdmFsdWVzIGZvciB0b29sdGlwIG9wdGlvbnMgKi9cbmV4cG9ydCBjb25zdCBDVUlfVE9PTFRJUF9ERUZBVUxUX09QVElPTlM6IEN1aVRvb2x0aXBPcHRpb25zID0ge1xuICAgIGRpcmVjdGlvbjogJ3RvcCcsXG4gICAgc2hvd0RlbGF5OiA1MDAsXG4gICAgaGlkZURlbGF5OiAyMDAsXG4gICAgYXBwZWFyYW5jZTogJycsXG4gICAgLyoqIFRPRE8gQGRlcHJlY2F0ZWQgdXNlIHtAbGluayBDVUlfVE9PTFRJUF9PUFRJT05TfSBpbnN0ZWFkICoqL1xuICAgIGljb246ICdAY3VpLmNpcmNsZS1oZWxwJyxcbn07XG5cbi8qKlxuICogRGVmYXVsdCBwYXJhbWV0ZXJzIGZvciB0b29sdGlwIGRpcmVjdGl2ZVxuICovXG5leHBvcnQgY29uc3QgQ1VJX1RPT0xUSVBfT1BUSU9OUyA9IGN1aUNyZWF0ZVRva2VuKENVSV9UT09MVElQX0RFRkFVTFRfT1BUSU9OUyk7XG5cbmV4cG9ydCBjb25zdCBjdWlUb29sdGlwT3B0aW9uc1Byb3ZpZGVyOiAoXG4gICAgb3B0aW9uczogUGFydGlhbDxDdWlUb29sdGlwT3B0aW9ucz4sXG4pID0+IEZhY3RvcnlQcm92aWRlciA9IChvdmVycmlkZTogUGFydGlhbDxDdWlUb29sdGlwT3B0aW9ucz4pID0+ICh7XG4gICAgcHJvdmlkZTogQ1VJX1RPT0xUSVBfT1BUSU9OUyxcbiAgICBkZXBzOiBbXG4gICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgbmV3IFNlbGYoKSwgQ3VpVG9vbHRpcE9wdGlvbnNEaXJlY3RpdmVdLFxuICAgICAgICBbbmV3IE9wdGlvbmFsKCksIG5ldyBTa2lwU2VsZigpLCBDVUlfVE9PTFRJUF9PUFRJT05TXSxcbiAgICBdLFxuICAgIHVzZUZhY3Rvcnk6IGN1aU92ZXJyaWRlT3B0aW9ucyhvdmVycmlkZSwgQ1VJX1RPT0xUSVBfREVGQVVMVF9PUFRJT05TKSxcbn0pO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkOiBkcm9wIGluIDUuMFxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW2N1aVRvb2x0aXBDb250ZW50XScsXG4gICAgcHJvdmlkZXJzOiBbY3VpUHJvdmlkZShDVUlfVE9PTFRJUF9PUFRJT05TLCBDdWlUb29sdGlwT3B0aW9uc0RpcmVjdGl2ZSldLFxufSlcbmV4cG9ydCBjbGFzcyBDdWlUb29sdGlwT3B0aW9uc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEN1aVRvb2x0aXBPcHRpb25zLCBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChDVUlfVE9PTFRJUF9PUFRJT05TLCB7c2tpcFNlbGY6IHRydWV9KTtcblxuICAgIEBJbnB1dCgnY3VpVG9vbHRpcENvbnRlbnQnKVxuICAgIHB1YmxpYyBjb250ZW50OiBQb2x5bW9ycGhldXNDb250ZW50O1xuXG4gICAgQElucHV0KCdjdWlUb29sdGlwRGlyZWN0aW9uJylcbiAgICBwdWJsaWMgZGlyZWN0aW9uID0gdGhpcy5vcHRpb25zLmRpcmVjdGlvbjtcblxuICAgIEBJbnB1dCgnY3VpVG9vbHRpcEFwcGVhcmFuY2UnKVxuICAgIHB1YmxpYyBhcHBlYXJhbmNlID0gdGhpcy5vcHRpb25zLmFwcGVhcmFuY2U7XG5cbiAgICBASW5wdXQoJ2N1aVRvb2x0aXBTaG93RGVsYXknKVxuICAgIHB1YmxpYyBzaG93RGVsYXkgPSB0aGlzLm9wdGlvbnMuc2hvd0RlbGF5O1xuXG4gICAgQElucHV0KCdjdWlUb29sdGlwSGlkZURlbGF5JylcbiAgICBwdWJsaWMgaGlkZURlbGF5ID0gdGhpcy5vcHRpb25zLmhpZGVEZWxheTtcblxuICAgIHB1YmxpYyBpY29uID0gdGhpcy5vcHRpb25zLmljb247XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY2hhbmdlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hhbmdlJC5uZXh0KCk7XG4gICAgfVxufVxuIl19
1
+ import { Directive, inject, Input, Optional, Self, SkipSelf } from '@angular/core';
2
+ import { cuiCreateToken, cuiProvide } from '@cuby-ui/cdk';
3
+ import { cuiOverrideOptions } from '../../utils';
4
+ import { Subject } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ export const CUI_TOOLTIP_DIRECTIONS = [
7
+ 'top',
8
+ 'top-left',
9
+ 'top-right',
10
+ 'bottom',
11
+ 'bottom-left',
12
+ 'bottom-right',
13
+ 'left-top',
14
+ 'left',
15
+ 'left-bottom',
16
+ 'right-top',
17
+ 'right',
18
+ 'right-bottom',
19
+ ];
20
+ /** Default values for tooltip options */
21
+ export const CUI_TOOLTIP_DEFAULT_OPTIONS = {
22
+ direction: 'top',
23
+ showDelay: 500,
24
+ hideDelay: 200,
25
+ appearance: '',
26
+ /** TODO @deprecated use {@link CUI_TOOLTIP_OPTIONS} instead **/
27
+ icon: '@cui.circle-help',
28
+ };
29
+ /**
30
+ * Default parameters for tooltip directive
31
+ */
32
+ export const CUI_TOOLTIP_OPTIONS = cuiCreateToken(CUI_TOOLTIP_DEFAULT_OPTIONS);
33
+ export const cuiTooltipOptionsProvider = (override) => ({
34
+ provide: CUI_TOOLTIP_OPTIONS,
35
+ deps: [
36
+ [new Optional(), new Self(), CuiTooltipOptionsDirective],
37
+ [new Optional(), new SkipSelf(), CUI_TOOLTIP_OPTIONS],
38
+ ],
39
+ useFactory: cuiOverrideOptions(override, CUI_TOOLTIP_DEFAULT_OPTIONS),
40
+ });
41
+ /**
42
+ * @deprecated: drop in 5.0
43
+ */
44
+ export class CuiTooltipOptionsDirective {
45
+ constructor() {
46
+ this.options = inject(CUI_TOOLTIP_OPTIONS, { skipSelf: true });
47
+ this.direction = this.options.direction;
48
+ this.appearance = this.options.appearance;
49
+ this.showDelay = this.options.showDelay;
50
+ this.hideDelay = this.options.hideDelay;
51
+ this.icon = this.options.icon;
52
+ this.change$ = new Subject();
53
+ }
54
+ ngOnChanges() {
55
+ this.change$.next();
56
+ }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipOptionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
58
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CuiTooltipOptionsDirective, isStandalone: true, selector: "[cuiTooltipContent]", inputs: { content: ["cuiTooltipContent", "content"], direction: ["cuiTooltipDirection", "direction"], appearance: ["cuiTooltipAppearance", "appearance"], showDelay: ["cuiTooltipShowDelay", "showDelay"], hideDelay: ["cuiTooltipHideDelay", "hideDelay"] }, providers: [cuiProvide(CUI_TOOLTIP_OPTIONS, CuiTooltipOptionsDirective)], usesOnChanges: true, ngImport: i0 }); }
59
+ }
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipOptionsDirective, decorators: [{
61
+ type: Directive,
62
+ args: [{
63
+ standalone: true,
64
+ selector: '[cuiTooltipContent]',
65
+ providers: [cuiProvide(CUI_TOOLTIP_OPTIONS, CuiTooltipOptionsDirective)],
66
+ }]
67
+ }], propDecorators: { content: [{
68
+ type: Input,
69
+ args: ['cuiTooltipContent']
70
+ }], direction: [{
71
+ type: Input,
72
+ args: ['cuiTooltipDirection']
73
+ }], appearance: [{
74
+ type: Input,
75
+ args: ['cuiTooltipAppearance']
76
+ }], showDelay: [{
77
+ type: Input,
78
+ args: ['cuiTooltipShowDelay']
79
+ }], hideDelay: [{
80
+ type: Input,
81
+ args: ['cuiTooltipHideDelay']
82
+ }] } });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1vcHRpb25zLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy90b29sdGlwL3Rvb2x0aXAtb3B0aW9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUUvQyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDOztBQWdCN0IsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQW1DO0lBQ2xFLEtBQUs7SUFDTCxVQUFVO0lBQ1YsV0FBVztJQUNYLFFBQVE7SUFDUixhQUFhO0lBQ2IsY0FBYztJQUNkLFVBQVU7SUFDVixNQUFNO0lBQ04sYUFBYTtJQUNiLFdBQVc7SUFDWCxPQUFPO0lBQ1AsY0FBYztDQUNqQixDQUFDO0FBVUYseUNBQXlDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFzQjtJQUMxRCxTQUFTLEVBQUUsS0FBSztJQUNoQixTQUFTLEVBQUUsR0FBRztJQUNkLFNBQVMsRUFBRSxHQUFHO0lBQ2QsVUFBVSxFQUFFLEVBQUU7SUFDZCxnRUFBZ0U7SUFDaEUsSUFBSSxFQUFFLGtCQUFrQjtDQUMzQixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxjQUFjLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUUvRSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FFZixDQUFDLFFBQW9DLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUQsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixJQUFJLEVBQUU7UUFDRixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFBRSwwQkFBMEIsQ0FBQztRQUN4RCxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQztLQUN4RDtJQUNELFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsMkJBQTJCLENBQUM7Q0FDeEUsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFNSCxNQUFNLE9BQU8sMEJBQTBCO0lBTHZDO1FBTXFCLFlBQU8sR0FBRyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQU1sRSxjQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFHbkMsZUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBR3JDLGNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUduQyxjQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFFbkMsU0FBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBRWhCLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0tBS2pEO0lBSFUsV0FBVztRQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0F4QlEsMEJBQTBCO21HQUExQiwwQkFBMEIsZ1VBRnhCLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLDBCQUEwQixDQUFDLENBQUM7OzRGQUUvRCwwQkFBMEI7a0JBTHRDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsNkJBQTZCLENBQUM7aUJBQzNFOzhCQUtVLE9BQU87c0JBRGIsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBSW5CLFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxxQkFBcUI7Z0JBSXJCLFVBQVU7c0JBRGhCLEtBQUs7dUJBQUMsc0JBQXNCO2dCQUl0QixTQUFTO3NCQURmLEtBQUs7dUJBQUMscUJBQXFCO2dCQUlyQixTQUFTO3NCQURmLEtBQUs7dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0ZhY3RvcnlQcm92aWRlciwgT25DaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIE9wdGlvbmFsLCBTZWxmLCBTa2lwU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGN1aUNyZWF0ZVRva2VuLCBjdWlQcm92aWRlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcclxuaW1wb3J0IHtjdWlPdmVycmlkZU9wdGlvbnN9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHR5cGUge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xyXG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xyXG5cclxuZXhwb3J0IHR5cGUgQ3VpVG9vbHRpcERpcmVjdGlvbiA9XHJcbiAgICB8ICdib3R0b20tbGVmdCdcclxuICAgIHwgJ2JvdHRvbS1yaWdodCdcclxuICAgIHwgJ2JvdHRvbSdcclxuICAgIHwgJ2xlZnQtYm90dG9tJ1xyXG4gICAgfCAnbGVmdC10b3AnXHJcbiAgICB8ICdsZWZ0J1xyXG4gICAgfCAncmlnaHQtYm90dG9tJ1xyXG4gICAgfCAncmlnaHQtdG9wJ1xyXG4gICAgfCAncmlnaHQnXHJcbiAgICB8ICd0b3AtbGVmdCdcclxuICAgIHwgJ3RvcC1yaWdodCdcclxuICAgIHwgJ3RvcCc7XHJcblxyXG5leHBvcnQgY29uc3QgQ1VJX1RPT0xUSVBfRElSRUNUSU9OUzogcmVhZG9ubHkgQ3VpVG9vbHRpcERpcmVjdGlvbltdID0gW1xyXG4gICAgJ3RvcCcsXHJcbiAgICAndG9wLWxlZnQnLFxyXG4gICAgJ3RvcC1yaWdodCcsXHJcbiAgICAnYm90dG9tJyxcclxuICAgICdib3R0b20tbGVmdCcsXHJcbiAgICAnYm90dG9tLXJpZ2h0JyxcclxuICAgICdsZWZ0LXRvcCcsXHJcbiAgICAnbGVmdCcsXHJcbiAgICAnbGVmdC1ib3R0b20nLFxyXG4gICAgJ3JpZ2h0LXRvcCcsXHJcbiAgICAncmlnaHQnLFxyXG4gICAgJ3JpZ2h0LWJvdHRvbScsXHJcbl07XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1aVRvb2x0aXBPcHRpb25zIHtcclxuICAgIHJlYWRvbmx5IGFwcGVhcmFuY2U6IHN0cmluZztcclxuICAgIHJlYWRvbmx5IGRpcmVjdGlvbjogQ3VpVG9vbHRpcERpcmVjdGlvbiB8IEN1aVRvb2x0aXBEaXJlY3Rpb25bXTtcclxuICAgIHJlYWRvbmx5IGhpZGVEZWxheTogbnVtYmVyO1xyXG4gICAgcmVhZG9ubHkgaWNvbjogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgc2hvd0RlbGF5OiBudW1iZXI7XHJcbn1cclxuXHJcbi8qKiBEZWZhdWx0IHZhbHVlcyBmb3IgdG9vbHRpcCBvcHRpb25zICovXHJcbmV4cG9ydCBjb25zdCBDVUlfVE9PTFRJUF9ERUZBVUxUX09QVElPTlM6IEN1aVRvb2x0aXBPcHRpb25zID0ge1xyXG4gICAgZGlyZWN0aW9uOiAndG9wJyxcclxuICAgIHNob3dEZWxheTogNTAwLFxyXG4gICAgaGlkZURlbGF5OiAyMDAsXHJcbiAgICBhcHBlYXJhbmNlOiAnJyxcclxuICAgIC8qKiBUT0RPIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgQ1VJX1RPT0xUSVBfT1BUSU9OU30gaW5zdGVhZCAqKi9cclxuICAgIGljb246ICdAY3VpLmNpcmNsZS1oZWxwJyxcclxufTtcclxuXHJcbi8qKlxyXG4gKiBEZWZhdWx0IHBhcmFtZXRlcnMgZm9yIHRvb2x0aXAgZGlyZWN0aXZlXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgQ1VJX1RPT0xUSVBfT1BUSU9OUyA9IGN1aUNyZWF0ZVRva2VuKENVSV9UT09MVElQX0RFRkFVTFRfT1BUSU9OUyk7XHJcblxyXG5leHBvcnQgY29uc3QgY3VpVG9vbHRpcE9wdGlvbnNQcm92aWRlcjogKFxyXG4gICAgb3B0aW9uczogUGFydGlhbDxDdWlUb29sdGlwT3B0aW9ucz4sXHJcbikgPT4gRmFjdG9yeVByb3ZpZGVyID0gKG92ZXJyaWRlOiBQYXJ0aWFsPEN1aVRvb2x0aXBPcHRpb25zPikgPT4gKHtcclxuICAgIHByb3ZpZGU6IENVSV9UT09MVElQX09QVElPTlMsXHJcbiAgICBkZXBzOiBbXHJcbiAgICAgICAgW25ldyBPcHRpb25hbCgpLCBuZXcgU2VsZigpLCBDdWlUb29sdGlwT3B0aW9uc0RpcmVjdGl2ZV0sXHJcbiAgICAgICAgW25ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKSwgQ1VJX1RPT0xUSVBfT1BUSU9OU10sXHJcbiAgICBdLFxyXG4gICAgdXNlRmFjdG9yeTogY3VpT3ZlcnJpZGVPcHRpb25zKG92ZXJyaWRlLCBDVUlfVE9PTFRJUF9ERUZBVUxUX09QVElPTlMpLFxyXG59KTtcclxuXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZDogZHJvcCBpbiA1LjBcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIHNlbGVjdG9yOiAnW2N1aVRvb2x0aXBDb250ZW50XScsXHJcbiAgICBwcm92aWRlcnM6IFtjdWlQcm92aWRlKENVSV9UT09MVElQX09QVElPTlMsIEN1aVRvb2x0aXBPcHRpb25zRGlyZWN0aXZlKV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdWlUb29sdGlwT3B0aW9uc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIEN1aVRvb2x0aXBPcHRpb25zLCBPbkNoYW5nZXMge1xyXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KENVSV9UT09MVElQX09QVElPTlMsIHtza2lwU2VsZjogdHJ1ZX0pO1xyXG5cclxuICAgIEBJbnB1dCgnY3VpVG9vbHRpcENvbnRlbnQnKVxyXG4gICAgcHVibGljIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ7XHJcblxyXG4gICAgQElucHV0KCdjdWlUb29sdGlwRGlyZWN0aW9uJylcclxuICAgIHB1YmxpYyBkaXJlY3Rpb24gPSB0aGlzLm9wdGlvbnMuZGlyZWN0aW9uO1xyXG5cclxuICAgIEBJbnB1dCgnY3VpVG9vbHRpcEFwcGVhcmFuY2UnKVxyXG4gICAgcHVibGljIGFwcGVhcmFuY2UgPSB0aGlzLm9wdGlvbnMuYXBwZWFyYW5jZTtcclxuXHJcbiAgICBASW5wdXQoJ2N1aVRvb2x0aXBTaG93RGVsYXknKVxyXG4gICAgcHVibGljIHNob3dEZWxheSA9IHRoaXMub3B0aW9ucy5zaG93RGVsYXk7XHJcblxyXG4gICAgQElucHV0KCdjdWlUb29sdGlwSGlkZURlbGF5JylcclxuICAgIHB1YmxpYyBoaWRlRGVsYXkgPSB0aGlzLm9wdGlvbnMuaGlkZURlbGF5O1xyXG5cclxuICAgIHB1YmxpYyBpY29uID0gdGhpcy5vcHRpb25zLmljb247XHJcblxyXG4gICAgcHVibGljIHJlYWRvbmx5IGNoYW5nZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmNoYW5nZSQubmV4dCgpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,31 +1,31 @@
1
- import { Directive, inject } from '@angular/core';
2
- import { CuiTooltipDirective } from './tooltip.directive';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./tooltip.directive";
5
- export class CuiTooltipOverflow {
6
- constructor() {
7
- this.hint = inject(CuiTooltipDirective);
8
- }
9
- onMouseEnter({ scrollWidth, clientWidth, textContent }) {
10
- this.hint.cuiTooltip = scrollWidth > clientWidth ? textContent : '';
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipOverflow, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
13
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CuiTooltipOverflow, isStandalone: true, selector: "[cuiTooltipOverflow]", host: { listeners: { "mouseenter": "onMouseEnter($event.currentTarget)" } }, hostDirectives: [{ directive: i1.CuiTooltipDirective, inputs: ["cuiTooltipAppearance", "cuiTooltipAppearance"] }], ngImport: i0 }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipOverflow, decorators: [{
16
- type: Directive,
17
- args: [{
18
- standalone: true,
19
- selector: '[cuiTooltipOverflow]',
20
- hostDirectives: [
21
- {
22
- directive: CuiTooltipDirective,
23
- inputs: ['cuiTooltipAppearance'],
24
- },
25
- ],
26
- host: {
27
- '(mouseenter)': 'onMouseEnter($event.currentTarget)',
28
- },
29
- }]
30
- }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1vdmVyZmxvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvdG9vbHRpcC90b29sdGlwLW92ZXJmbG93LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVoRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBZXhELE1BQU0sT0FBTyxrQkFBa0I7SUFiL0I7UUFjcUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0tBS3ZEO0lBSGEsWUFBWSxDQUFDLEVBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQVU7UUFDbkUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDeEUsQ0FBQzsrR0FMUSxrQkFBa0I7bUdBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFiOUIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsY0FBYyxFQUFFO3dCQUNaOzRCQUNJLFNBQVMsRUFBRSxtQkFBbUI7NEJBQzlCLE1BQU0sRUFBRSxDQUFDLHNCQUFzQixDQUFDO3lCQUNuQztxQkFDSjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsY0FBYyxFQUFFLG9DQUFvQztxQkFDdkQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtDdWlUb29sdGlwRGlyZWN0aXZlfSBmcm9tICcuL3Rvb2x0aXAuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1tjdWlUb29sdGlwT3ZlcmZsb3ddJyxcbiAgICBob3N0RGlyZWN0aXZlczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBkaXJlY3RpdmU6IEN1aVRvb2x0aXBEaXJlY3RpdmUsXG4gICAgICAgICAgICBpbnB1dHM6IFsnY3VpVG9vbHRpcEFwcGVhcmFuY2UnXSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhtb3VzZWVudGVyKSc6ICdvbk1vdXNlRW50ZXIoJGV2ZW50LmN1cnJlbnRUYXJnZXQpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDdWlUb29sdGlwT3ZlcmZsb3cge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaGludCA9IGluamVjdChDdWlUb29sdGlwRGlyZWN0aXZlKTtcblxuICAgIHByb3RlY3RlZCBvbk1vdXNlRW50ZXIoe3Njcm9sbFdpZHRoLCBjbGllbnRXaWR0aCwgdGV4dENvbnRlbnR9OiBFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGludC5jdWlUb29sdGlwID0gc2Nyb2xsV2lkdGggPiBjbGllbnRXaWR0aCA/IHRleHRDb250ZW50IDogJyc7XG4gICAgfVxufVxuIl19
1
+ import { Directive, inject } from '@angular/core';
2
+ import { CuiTooltipDirective } from './tooltip.directive';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./tooltip.directive";
5
+ export class CuiTooltipOverflow {
6
+ constructor() {
7
+ this.hint = inject(CuiTooltipDirective);
8
+ }
9
+ onMouseEnter({ scrollWidth, clientWidth, textContent }) {
10
+ this.hint.cuiTooltip = scrollWidth > clientWidth ? textContent : '';
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipOverflow, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
13
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CuiTooltipOverflow, isStandalone: true, selector: "[cuiTooltipOverflow]", host: { listeners: { "mouseenter": "onMouseEnter($event.currentTarget)" } }, hostDirectives: [{ directive: i1.CuiTooltipDirective, inputs: ["cuiTooltipAppearance", "cuiTooltipAppearance"] }], ngImport: i0 }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipOverflow, decorators: [{
16
+ type: Directive,
17
+ args: [{
18
+ standalone: true,
19
+ selector: '[cuiTooltipOverflow]',
20
+ hostDirectives: [
21
+ {
22
+ directive: CuiTooltipDirective,
23
+ inputs: ['cuiTooltipAppearance'],
24
+ },
25
+ ],
26
+ host: {
27
+ '(mouseenter)': 'onMouseEnter($event.currentTarget)',
28
+ },
29
+ }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1vdmVyZmxvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvdG9vbHRpcC90b29sdGlwLW92ZXJmbG93LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVoRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBZXhELE1BQU0sT0FBTyxrQkFBa0I7SUFiL0I7UUFjcUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0tBS3ZEO0lBSGEsWUFBWSxDQUFDLEVBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQVU7UUFDbkUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsV0FBVyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDeEUsQ0FBQzsrR0FMUSxrQkFBa0I7bUdBQWxCLGtCQUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFiOUIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsY0FBYyxFQUFFO3dCQUNaOzRCQUNJLFNBQVMsRUFBRSxtQkFBbUI7NEJBQzlCLE1BQU0sRUFBRSxDQUFDLHNCQUFzQixDQUFDO3lCQUNuQztxQkFDSjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsY0FBYyxFQUFFLG9DQUFvQztxQkFDdkQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7Q3VpVG9vbHRpcERpcmVjdGl2ZX0gZnJvbSAnLi90b29sdGlwLmRpcmVjdGl2ZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBzZWxlY3RvcjogJ1tjdWlUb29sdGlwT3ZlcmZsb3ddJyxcclxuICAgIGhvc3REaXJlY3RpdmVzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBkaXJlY3RpdmU6IEN1aVRvb2x0aXBEaXJlY3RpdmUsXHJcbiAgICAgICAgICAgIGlucHV0czogWydjdWlUb29sdGlwQXBwZWFyYW5jZSddLFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgaG9zdDoge1xyXG4gICAgICAgICcobW91c2VlbnRlciknOiAnb25Nb3VzZUVudGVyKCRldmVudC5jdXJyZW50VGFyZ2V0KScsXHJcbiAgICB9LFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VpVG9vbHRpcE92ZXJmbG93IHtcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGludCA9IGluamVjdChDdWlUb29sdGlwRGlyZWN0aXZlKTtcclxuXHJcbiAgICBwcm90ZWN0ZWQgb25Nb3VzZUVudGVyKHtzY3JvbGxXaWR0aCwgY2xpZW50V2lkdGgsIHRleHRDb250ZW50fTogRWxlbWVudCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaGludC5jdWlUb29sdGlwID0gc2Nyb2xsV2lkdGggPiBjbGllbnRXaWR0aCA/IHRleHRDb250ZW50IDogJyc7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,31 +1,31 @@
1
- import { Directive } from '@angular/core';
2
- import { EMPTY_CLIENT_RECT, cuiPointToClientRect } from '@cuby-ui/cdk';
3
- import { cuiAsDriver, cuiAsRectAccessor } from '../../classes';
4
- import { CuiTooltipHover } from './tooltip-hover.directive';
5
- import * as i0 from "@angular/core";
6
- export class CuiTooltipPointer extends CuiTooltipHover {
7
- constructor() {
8
- super(...arguments);
9
- this.currentRect = EMPTY_CLIENT_RECT;
10
- }
11
- getClientRect() {
12
- return this.currentRect;
13
- }
14
- onMove({ clientX, clientY }) {
15
- this.currentRect = cuiPointToClientRect(clientX, clientY);
16
- }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipPointer, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
18
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CuiTooltipPointer, isStandalone: true, selector: "[cuiTooltip][cuiTooltipPointer]", host: { listeners: { "mousemove.silent": "onMove($event)" } }, providers: [cuiAsRectAccessor(CuiTooltipPointer), cuiAsDriver(CuiTooltipPointer)], usesInheritance: true, ngImport: i0 }); }
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipPointer, decorators: [{
21
- type: Directive,
22
- args: [{
23
- standalone: true,
24
- selector: '[cuiTooltip][cuiTooltipPointer]',
25
- providers: [cuiAsRectAccessor(CuiTooltipPointer), cuiAsDriver(CuiTooltipPointer)],
26
- host: {
27
- '(mousemove.silent)': 'onMove($event)',
28
- },
29
- }]
30
- }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1wb2ludGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy90b29sdGlwL3Rvb2x0aXAtcG9pbnRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFckUsT0FBTyxFQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7O0FBVTFELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxlQUFlO0lBUnREOztRQVNZLGdCQUFXLEdBQUcsaUJBQWlCLENBQUM7S0FTM0M7SUFQVSxhQUFhO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRVMsTUFBTSxDQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBYTtRQUMzQyxJQUFJLENBQUMsV0FBVyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RCxDQUFDOytHQVRRLGlCQUFpQjttR0FBakIsaUJBQWlCLDZJQUxmLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQzs7NEZBS3hFLGlCQUFpQjtrQkFSN0IsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGlDQUFpQztvQkFDM0MsU0FBUyxFQUFFLENBQUMsaUJBQWlCLG1CQUFtQixFQUFFLFdBQVcsbUJBQW1CLENBQUM7b0JBQ2pGLElBQUksRUFBRTt3QkFDRixvQkFBb0IsRUFBRSxnQkFBZ0I7cUJBQ3pDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFTVBUWV9DTElFTlRfUkVDVCwgY3VpUG9pbnRUb0NsaWVudFJlY3R9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgdHlwZSB7Q3VpUmVjdEFjY2Vzc29yfSBmcm9tICcuLi8uLi9jbGFzc2VzJztcbmltcG9ydCB7Y3VpQXNEcml2ZXIsIGN1aUFzUmVjdEFjY2Vzc29yfSBmcm9tICcuLi8uLi9jbGFzc2VzJztcblxuaW1wb3J0IHtDdWlUb29sdGlwSG92ZXJ9IGZyb20gJy4vdG9vbHRpcC1ob3Zlci5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW2N1aVRvb2x0aXBdW2N1aVRvb2x0aXBQb2ludGVyXScsXG4gICAgcHJvdmlkZXJzOiBbY3VpQXNSZWN0QWNjZXNzb3IoQ3VpVG9vbHRpcFBvaW50ZXIpLCBjdWlBc0RyaXZlcihDdWlUb29sdGlwUG9pbnRlcildLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhtb3VzZW1vdmUuc2lsZW50KSc6ICdvbk1vdmUoJGV2ZW50KScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ3VpVG9vbHRpcFBvaW50ZXIgZXh0ZW5kcyBDdWlUb29sdGlwSG92ZXIgaW1wbGVtZW50cyBDdWlSZWN0QWNjZXNzb3Ige1xuICAgIHByaXZhdGUgY3VycmVudFJlY3QgPSBFTVBUWV9DTElFTlRfUkVDVDtcblxuICAgIHB1YmxpYyBnZXRDbGllbnRSZWN0KCk6IERPTVJlY3Qge1xuICAgICAgICByZXR1cm4gdGhpcy5jdXJyZW50UmVjdDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25Nb3ZlKHtjbGllbnRYLCBjbGllbnRZfTogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmN1cnJlbnRSZWN0ID0gY3VpUG9pbnRUb0NsaWVudFJlY3QoY2xpZW50WCwgY2xpZW50WSk7XG4gICAgfVxufVxuIl19
1
+ import { Directive } from '@angular/core';
2
+ import { EMPTY_CLIENT_RECT, cuiPointToClientRect } from '@cuby-ui/cdk';
3
+ import { cuiAsDriver, cuiAsRectAccessor } from '../../classes';
4
+ import { CuiTooltipHover } from './tooltip-hover.directive';
5
+ import * as i0 from "@angular/core";
6
+ export class CuiTooltipPointer extends CuiTooltipHover {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.currentRect = EMPTY_CLIENT_RECT;
10
+ }
11
+ getClientRect() {
12
+ return this.currentRect;
13
+ }
14
+ onMove({ clientX, clientY }) {
15
+ this.currentRect = cuiPointToClientRect(clientX, clientY);
16
+ }
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipPointer, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
18
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: CuiTooltipPointer, isStandalone: true, selector: "[cuiTooltip][cuiTooltipPointer]", host: { listeners: { "mousemove.silent": "onMove($event)" } }, providers: [cuiAsRectAccessor(CuiTooltipPointer), cuiAsDriver(CuiTooltipPointer)], usesInheritance: true, ngImport: i0 }); }
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CuiTooltipPointer, decorators: [{
21
+ type: Directive,
22
+ args: [{
23
+ standalone: true,
24
+ selector: '[cuiTooltip][cuiTooltipPointer]',
25
+ providers: [cuiAsRectAccessor(CuiTooltipPointer), cuiAsDriver(CuiTooltipPointer)],
26
+ host: {
27
+ '(mousemove.silent)': 'onMove($event)',
28
+ },
29
+ }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1wb2ludGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy90b29sdGlwL3Rvb2x0aXAtcG9pbnRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFFckUsT0FBTyxFQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7O0FBVTFELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxlQUFlO0lBUnREOztRQVNZLGdCQUFXLEdBQUcsaUJBQWlCLENBQUM7S0FTM0M7SUFQVSxhQUFhO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBRVMsTUFBTSxDQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBYTtRQUMzQyxJQUFJLENBQUMsV0FBVyxHQUFHLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RCxDQUFDOytHQVRRLGlCQUFpQjttR0FBakIsaUJBQWlCLDZJQUxmLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQzs7NEZBS3hFLGlCQUFpQjtrQkFSN0IsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGlDQUFpQztvQkFDM0MsU0FBUyxFQUFFLENBQUMsaUJBQWlCLG1CQUFtQixFQUFFLFdBQVcsbUJBQW1CLENBQUM7b0JBQ2pGLElBQUksRUFBRTt3QkFDRixvQkFBb0IsRUFBRSxnQkFBZ0I7cUJBQ3pDO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0VNUFRZX0NMSUVOVF9SRUNULCBjdWlQb2ludFRvQ2xpZW50UmVjdH0gZnJvbSAnQGN1YnktdWkvY2RrJztcclxuaW1wb3J0IHR5cGUge0N1aVJlY3RBY2Nlc3Nvcn0gZnJvbSAnLi4vLi4vY2xhc3Nlcyc7XHJcbmltcG9ydCB7Y3VpQXNEcml2ZXIsIGN1aUFzUmVjdEFjY2Vzc29yfSBmcm9tICcuLi8uLi9jbGFzc2VzJztcclxuXHJcbmltcG9ydCB7Q3VpVG9vbHRpcEhvdmVyfSBmcm9tICcuL3Rvb2x0aXAtaG92ZXIuZGlyZWN0aXZlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIHNlbGVjdG9yOiAnW2N1aVRvb2x0aXBdW2N1aVRvb2x0aXBQb2ludGVyXScsXHJcbiAgICBwcm92aWRlcnM6IFtjdWlBc1JlY3RBY2Nlc3NvcihDdWlUb29sdGlwUG9pbnRlciksIGN1aUFzRHJpdmVyKEN1aVRvb2x0aXBQb2ludGVyKV0sXHJcbiAgICBob3N0OiB7XHJcbiAgICAgICAgJyhtb3VzZW1vdmUuc2lsZW50KSc6ICdvbk1vdmUoJGV2ZW50KScsXHJcbiAgICB9LFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VpVG9vbHRpcFBvaW50ZXIgZXh0ZW5kcyBDdWlUb29sdGlwSG92ZXIgaW1wbGVtZW50cyBDdWlSZWN0QWNjZXNzb3Ige1xyXG4gICAgcHJpdmF0ZSBjdXJyZW50UmVjdCA9IEVNUFRZX0NMSUVOVF9SRUNUO1xyXG5cclxuICAgIHB1YmxpYyBnZXRDbGllbnRSZWN0KCk6IERPTVJlY3Qge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRSZWN0O1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBvbk1vdmUoe2NsaWVudFgsIGNsaWVudFl9OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50UmVjdCA9IGN1aVBvaW50VG9DbGllbnRSZWN0KGNsaWVudFgsIGNsaWVudFkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -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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QUFDO0lBRUQsSUFBWSxRQUFRO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUM5RCxDQUFDLENBQUMsS0FBSztZQUNQLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDbkIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQVcsRUFBRSxLQUFhLEVBQUUsTUFBYztRQUN0RSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRS9DLE9BQU8sQ0FDSCxHQUFHLEdBQUcsR0FBRztZQUNULElBQUksR0FBRyxHQUFHO1lBQ1YsR0FBRyxHQUFHLE1BQU0sR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLEdBQUc7WUFDcEMsSUFBSSxHQUFHLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FDdEMsQ0FBQztJQUNOLENBQUM7K0dBNUZRLGtCQUFrQjttR0FBbEIsa0JBQWtCOztBQXVCM0I7SUFEQyxPQUFPO3VEQUdQOzRGQXpCUSxrQkFBa0I7a0JBSDlCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7aUJBQ25COzhCQWdCVSxTQUFTO3NCQURmLEtBQUs7dUJBQUMscUJBQXFCO2dCQUlaLGVBQWU7c0JBRDlCLE1BQU07dUJBQUMsMkJBQTJCO2dCQU01QixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RU1QVFlfQ0xJRU5UX1JFQ1QsIENVSV9JU19NT0JJTEUsIGN1aVB1cmUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHtcbiAgICBjdWlGYWxsYmFja0FjY2Vzc29yLFxuICAgIEN1aVBvc2l0aW9uQWNjZXNzb3IsXG4gICAgQ3VpUmVjdEFjY2Vzc29yLFxufSBmcm9tICcuLi8uLi9jbGFzc2VzJztcbmltcG9ydCB7Q1VJX1ZJRVdQT1JUfSBmcm9tICcuLi8uLi90b2tlbnMnO1xuaW1wb3J0IHR5cGUge0N1aVBvaW50fSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmltcG9ydCB7Q3VpVG9vbHRpcERpcmVjdGl2ZX0gZnJvbSAnLi90b29sdGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQgdHlwZSB7Q3VpVG9vbHRpcERpcmVjdGlvbiwgQ3VpVG9vbHRpcE9wdGlvbnN9IGZyb20gJy4vdG9vbHRpcC1vcHRpb25zLmRpcmVjdGl2ZSc7XG5pbXBvcnQge0NVSV9UT09MVElQX0RJUkVDVElPTlMsIENVSV9UT09MVElQX09QVElPTlN9IGZyb20gJy4vdG9vbHRpcC1vcHRpb25zLmRpcmVjdGl2ZSc7XG5cbmNvbnN0IEdBUCA9IDg7XG5jb25zdCBBUlJPV19PRkZTRVQgPSAyNDtcbmNvbnN0IFRPUCA9IDA7XG5jb25zdCBMRUZUID0gMTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ3VpVG9vbHRpcFBvc2l0aW9uIGV4dGVuZHMgQ3VpUG9zaXRpb25BY2Nlc3NvciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvZmZzZXQgPSBpbmplY3QoQ1VJX0lTX01PQklMRSkgPyAxNiA6IDU7XG4gICAgcHJpdmF0ZSByZWFkb25seSB2aWV3cG9ydCA9IGluamVjdChDVUlfVklFV1BPUlQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWNjZXNzb3IgPSBjdWlGYWxsYmFja0FjY2Vzc29yPEN1aVJlY3RBY2Nlc3Nvcj4oJ2hpbnQnKShcbiAgICAgICAgaW5qZWN0PGFueT4oQ3VpUmVjdEFjY2Vzc29yKSxcbiAgICAgICAgaW5qZWN0KEN1aVRvb2x0aXBEaXJlY3RpdmUpLFxuICAgICk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBvaW50czogUmVjb3JkPEN1aVRvb2x0aXBEaXJlY3Rpb24sIFtudW1iZXIsIG51bWJlcl0+ID1cbiAgICAgICAgQ1VJX1RPT0xUSVBfRElSRUNUSU9OUy5yZWR1Y2UoXG4gICAgICAgICAgICAoYWNjLCBkaXJlY3Rpb24pID0+ICh7Li4uYWNjLCBbZGlyZWN0aW9uXTogWzAsIDBdfSksXG4gICAgICAgICAgICB7fSBhcyBSZWNvcmQ8Q3VpVG9vbHRpcERpcmVjdGlvbiwgW251bWJlciwgbnVtYmVyXT4sXG4gICAgICAgICk7XG5cbiAgICBASW5wdXQoJ2N1aVRvb2x0aXBEaXJlY3Rpb24nKVxuICAgIHB1YmxpYyBkaXJlY3Rpb246IEN1aVRvb2x0aXBPcHRpb25zWydkaXJlY3Rpb24nXSA9IGluamVjdChDVUlfVE9PTFRJUF9PUFRJT05TKS5kaXJlY3Rpb247XG5cbiAgICBAT3V0cHV0KCdjdWlUb29sdGlwRGlyZWN0aW9uQ2hhbmdlJylcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGlyZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxDdWlUb29sdGlwRGlyZWN0aW9uPigpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHR5cGUgPSAnaGludCc7XG5cbiAgICBAY3VpUHVyZVxuICAgIHB1YmxpYyBlbWl0RGlyZWN0aW9uKGRpcmVjdGlvbjogQ3VpVG9vbHRpcERpcmVjdGlvbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpcmVjdGlvbkNoYW5nZS5lbWl0KGRpcmVjdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBvc2l0aW9uKHJlY3Q6IERPTVJlY3QsIGVsPzogSFRNTEVsZW1lbnQpOiBDdWlQb2ludCB7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gZWw/LmNsaWVudFdpZHRoID8/IHJlY3Qud2lkdGg7XG4gICAgICAgIGNvbnN0IGhlaWdodCA9IGVsPy5jbGllbnRIZWlnaHQgPz8gcmVjdC5oZWlnaHQ7XG4gICAgICAgIGNvbnN0IGhvc3RSZWN0ID0gdGhpcy5hY2Nlc3Nvci5nZXRDbGllbnRSZWN0KCkgPz8gRU1QVFlfQ0xJRU5UX1JFQ1Q7XG4gICAgICAgIGNvbnN0IGxlZnRDZW50ZXIgPSBob3N0UmVjdC5sZWZ0ICsgaG9zdFJlY3Qud2lkdGggLyAyO1xuICAgICAgICBjb25zdCB0b3BDZW50ZXIgPSBob3N0UmVjdC50b3AgKyBob3N0UmVjdC5oZWlnaHQgLyAyO1xuXG4gICAgICAgIHRoaXMucG9pbnRzWyd0b3AtbGVmdCddW1RPUF0gPSBob3N0UmVjdC50b3AgLSBoZWlnaHQgLSB0aGlzLm9mZnNldDtcbiAgICAgICAgdGhpcy5wb2ludHNbJ3RvcC1sZWZ0J11bTEVGVF0gPSBsZWZ0Q2VudGVyIC0gd2lkdGggKyBBUlJPV19PRkZTRVQ7XG4gICAgICAgIHRoaXMucG9pbnRzLnRvcFtUT1BdID0gdGhpcy5wb2ludHNbJ3RvcC1sZWZ0J11bVE9QXTtcbiAgICAgICAgdGhpcy5wb2ludHMudG9wW0xFRlRdID0gbGVmdENlbnRlciAtIHdpZHRoIC8gMjtcbiAgICAgICAgdGhpcy5wb2ludHNbJ3RvcC1yaWdodCddW1RPUF0gPSB0aGlzLnBvaW50c1sndG9wLWxlZnQnXVtUT1BdO1xuICAgICAgICB0aGlzLnBvaW50c1sndG9wLXJpZ2h0J11bTEVGVF0gPSBsZWZ0Q2VudGVyIC0gQVJST1dfT0ZGU0VUO1xuXG4gICAgICAgIHRoaXMucG9pbnRzWydib3R0b20tbGVmdCddW1RPUF0gPSBob3N0UmVjdC5ib3R0b20gKyB0aGlzLm9mZnNldDtcbiAgICAgICAgdGhpcy5wb2ludHNbJ2JvdHRvbS1sZWZ0J11bTEVGVF0gPSB0aGlzLnBvaW50c1sndG9wLWxlZnQnXVtMRUZUXTtcbiAgICAgICAgdGhpcy5wb2ludHMuYm90dG9tW1RPUF0gPSB0aGlzLnBvaW50c1snYm90dG9tLWxlZnQnXVtUT1BdO1xuICAgICAgICB0aGlzLnBvaW50cy5ib3R0b21bTEVGVF0gPSB0aGlzLnBvaW50cy50b3BbTEVGVF07XG4gICAgICAgIHRoaXMucG9pbnRzWydib3R0b20tcmlnaHQnXVtUT1BdID0gdGhpcy5wb2ludHNbJ2JvdHRvbS1sZWZ0J11bVE9QXTtcbiAgICAgICAgdGhpcy5wb2ludHNbJ2JvdHRvbS1yaWdodCddW0xFRlRdID0gdGhpcy5wb2ludHNbJ3RvcC1yaWdodCddW0xFRlRdO1xuXG4gICAgICAgIHRoaXMucG9pbnRzWydsZWZ0LXRvcCddW1RPUF0gPSB0b3BDZW50ZXIgLSBoZWlnaHQgKyBBUlJPV19PRkZTRVQ7XG4gICAgICAgIHRoaXMucG9pbnRzWydsZWZ0LXRvcCddW0xFRlRdID0gaG9zdFJlY3QubGVmdCAtIHdpZHRoIC0gdGhpcy5vZmZzZXQ7XG4gICAgICAgIHRoaXMucG9pbnRzLmxlZnRbVE9QXSA9IHRvcENlbnRlciAtIGhlaWdodCAvIDI7XG4gICAgICAgIHRoaXMucG9pbnRzLmxlZnRbTEVGVF0gPSB0aGlzLnBvaW50c1snbGVmdC10b3AnXVtMRUZUXTtcbiAgICAgICAgdGhpcy5wb2ludHNbJ2xlZnQtYm90dG9tJ11bVE9QXSA9IHRvcENlbnRlciAtIEFSUk9XX09GRlNFVDtcbiAgICAgICAgdGhpcy5wb2ludHNbJ2xlZnQtYm90dG9tJ11bTEVGVF0gPSB0aGlzLnBvaW50c1snbGVmdC10b3AnXVtMRUZUXTtcblxuICAgICAgICB0aGlzLnBvaW50c1sncmlnaHQtdG9wJ11bVE9QXSA9IHRoaXMucG9pbnRzWydsZWZ0LXRvcCddW1RPUF07XG4gICAgICAgIHRoaXMucG9pbnRzWydyaWdodC10b3AnXVtMRUZUXSA9IGhvc3RSZWN0LnJpZ2h0ICsgdGhpcy5vZmZzZXQ7XG4gICAgICAgIHRoaXMucG9pbnRzLnJpZ2h0W1RPUF0gPSB0aGlzLnBvaW50cy5sZWZ0W1RPUF07XG4gICAgICAgIHRoaXMucG9pbnRzLnJpZ2h0W0xFRlRdID0gdGhpcy5wb2ludHNbJ3JpZ2h0LXRvcCddW0xFRlRdO1xuICAgICAgICB0aGlzLnBvaW50c1sncmlnaHQtYm90dG9tJ11bVE9QXSA9IHRoaXMucG9pbnRzWydsZWZ0LWJvdHRvbSddW1RPUF07XG4gICAgICAgIHRoaXMucG9pbnRzWydyaWdodC1ib3R0b20nXVtMRUZUXSA9IHRoaXMucG9pbnRzWydyaWdodC10b3AnXVtMRUZUXTtcblxuICAgICAgICBjb25zdCBwcmlvcml0eURpcmVjdGlvbnMgPSBBcnJheS5pc0FycmF5KHRoaXMuZGlyZWN0aW9uKVxuICAgICAgICAgICAgPyB0aGlzLmRpcmVjdGlvblxuICAgICAgICAgICAgOiBbdGhpcy5kaXJlY3Rpb25dO1xuICAgICAgICBjb25zdCBzb3J0ZWREaXJlY3Rpb25zID0gcHJpb3JpdHlEaXJlY3Rpb25zLmNvbmNhdChDVUlfVE9PTFRJUF9ESVJFQ1RJT05TKTtcblxuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSBzb3J0ZWREaXJlY3Rpb25zLmZpbmQoKGRpcmVjdGlvbikgPT5cbiAgICAgICAgICAgIHRoaXMuY2hlY2tQb3NpdGlvbih0aGlzLnBvaW50c1tkaXJlY3Rpb25dLCB3aWR0aCwgaGVpZ2h0KSxcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmVtaXREaXJlY3Rpb24oZGlyZWN0aW9uIHx8IHRoaXMuZmFsbGJhY2spO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnBvaW50c1tkaXJlY3Rpb24gfHwgdGhpcy5mYWxsYmFja107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgZmFsbGJhY2soKTogQ3VpVG9vbHRpcERpcmVjdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvaW50cy50b3BbVE9QXSA+XG4gICAgICAgICAgICB0aGlzLnZpZXdwb3J0LmdldENsaWVudFJlY3QoKS5ib3R0b20gLSB0aGlzLnBvaW50cy5ib3R0b21bVE9QXVxuICAgICAgICAgICAgPyAndG9wJ1xuICAgICAgICAgICAgOiAnYm90dG9tJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrUG9zaXRpb24oW3RvcCwgbGVmdF06IEN1aVBvaW50LCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB2aWV3cG9ydCA9IHRoaXMudmlld3BvcnQuZ2V0Q2xpZW50UmVjdCgpO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0b3AgPiBHQVAgJiZcbiAgICAgICAgICAgIGxlZnQgPiBHQVAgJiZcbiAgICAgICAgICAgIHRvcCArIGhlaWdodCA8IHZpZXdwb3J0LmJvdHRvbSAtIEdBUCAmJlxuICAgICAgICAgICAgbGVmdCArIHdpZHRoIDwgdmlld3BvcnQucmlnaHQgLSBHQVBcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
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