@tailng-ui/primitives 0.11.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (274) hide show
  1. package/README.md +97 -11
  2. package/package.json +12 -6
  3. package/src/lib/feedback/empty/tng-empty.d.ts +11 -0
  4. package/src/lib/feedback/empty/tng-empty.d.ts.map +1 -1
  5. package/src/lib/feedback/empty/tng-empty.js +76 -61
  6. package/src/lib/feedback/empty/tng-empty.js.map +1 -1
  7. package/src/lib/feedback/progress-bar/tng-progress-bar.d.ts +5 -0
  8. package/src/lib/feedback/progress-bar/tng-progress-bar.d.ts.map +1 -1
  9. package/src/lib/feedback/progress-bar/tng-progress-bar.js +50 -52
  10. package/src/lib/feedback/progress-bar/tng-progress-bar.js.map +1 -1
  11. package/src/lib/feedback/progress-spinner/tng-progress-spinner.d.ts +3 -0
  12. package/src/lib/feedback/progress-spinner/tng-progress-spinner.d.ts.map +1 -1
  13. package/src/lib/feedback/progress-spinner/tng-progress-spinner.js +35 -40
  14. package/src/lib/feedback/progress-spinner/tng-progress-spinner.js.map +1 -1
  15. package/src/lib/feedback/skeleton/tng-skeleton.d.ts +3 -0
  16. package/src/lib/feedback/skeleton/tng-skeleton.d.ts.map +1 -1
  17. package/src/lib/feedback/skeleton/tng-skeleton.js +30 -31
  18. package/src/lib/feedback/skeleton/tng-skeleton.js.map +1 -1
  19. package/src/lib/feedback/toast/tng-toast.d.ts +5 -0
  20. package/src/lib/feedback/toast/tng-toast.d.ts.map +1 -1
  21. package/src/lib/feedback/toast/tng-toast.js +51 -47
  22. package/src/lib/feedback/toast/tng-toast.js.map +1 -1
  23. package/src/lib/form/_shared/id/tng-unique-id.service.d.ts +3 -0
  24. package/src/lib/form/_shared/id/tng-unique-id.service.d.ts.map +1 -1
  25. package/src/lib/form/_shared/id/tng-unique-id.service.js +9 -7
  26. package/src/lib/form/_shared/id/tng-unique-id.service.js.map +1 -1
  27. package/src/lib/form/_shared/select/tng-select.overlay.shared.d.ts +3 -0
  28. package/src/lib/form/_shared/select/tng-select.overlay.shared.d.ts.map +1 -1
  29. package/src/lib/form/_shared/select/tng-select.overlay.shared.js +22 -20
  30. package/src/lib/form/_shared/select/tng-select.overlay.shared.js.map +1 -1
  31. package/src/lib/form/_shared/select/tng-select.parts.shared.d.ts +9 -0
  32. package/src/lib/form/_shared/select/tng-select.parts.shared.d.ts.map +1 -1
  33. package/src/lib/form/_shared/select/tng-select.parts.shared.js +106 -98
  34. package/src/lib/form/_shared/select/tng-select.parts.shared.js.map +1 -1
  35. package/src/lib/form/autocomplete/tng-autocomplete.d.ts +3 -0
  36. package/src/lib/form/autocomplete/tng-autocomplete.d.ts.map +1 -1
  37. package/src/lib/form/autocomplete/tng-autocomplete.js +40 -38
  38. package/src/lib/form/autocomplete/tng-autocomplete.js.map +1 -1
  39. package/src/lib/form/autocomplete/tng-autocomplete.listbox.d.ts +6 -0
  40. package/src/lib/form/autocomplete/tng-autocomplete.listbox.d.ts.map +1 -1
  41. package/src/lib/form/autocomplete/tng-autocomplete.listbox.js +54 -46
  42. package/src/lib/form/autocomplete/tng-autocomplete.listbox.js.map +1 -1
  43. package/src/lib/form/autocomplete/tng-autocomplete.overlay.d.ts +3 -0
  44. package/src/lib/form/autocomplete/tng-autocomplete.overlay.d.ts.map +1 -1
  45. package/src/lib/form/autocomplete/tng-autocomplete.overlay.js +22 -20
  46. package/src/lib/form/autocomplete/tng-autocomplete.overlay.js.map +1 -1
  47. package/src/lib/form/autocomplete/tng-autocomplete.parts.d.ts +9 -0
  48. package/src/lib/form/autocomplete/tng-autocomplete.parts.d.ts.map +1 -1
  49. package/src/lib/form/autocomplete/tng-autocomplete.parts.js +109 -101
  50. package/src/lib/form/autocomplete/tng-autocomplete.parts.js.map +1 -1
  51. package/src/lib/form/button-toggle/tng-button-toggle.d.ts +5 -0
  52. package/src/lib/form/button-toggle/tng-button-toggle.d.ts.map +1 -1
  53. package/src/lib/form/button-toggle/tng-button-toggle.js +121 -155
  54. package/src/lib/form/button-toggle/tng-button-toggle.js.map +1 -1
  55. package/src/lib/form/checkbox/tng-checkbox.d.ts +3 -0
  56. package/src/lib/form/checkbox/tng-checkbox.d.ts.map +1 -1
  57. package/src/lib/form/checkbox/tng-checkbox.js +95 -106
  58. package/src/lib/form/checkbox/tng-checkbox.js.map +1 -1
  59. package/src/lib/form/chips/tng-chips.d.ts +7 -0
  60. package/src/lib/form/chips/tng-chips.d.ts.map +1 -1
  61. package/src/lib/form/chips/tng-chips.js +107 -112
  62. package/src/lib/form/chips/tng-chips.js.map +1 -1
  63. package/src/lib/form/combobox/tng-combobox.d.ts +3 -0
  64. package/src/lib/form/combobox/tng-combobox.d.ts.map +1 -1
  65. package/src/lib/form/combobox/tng-combobox.js +16 -13
  66. package/src/lib/form/combobox/tng-combobox.js.map +1 -1
  67. package/src/lib/form/input/tng-input.d.ts +9 -0
  68. package/src/lib/form/input/tng-input.d.ts.map +1 -1
  69. package/src/lib/form/input/tng-input.js +161 -141
  70. package/src/lib/form/input/tng-input.js.map +1 -1
  71. package/src/lib/form/input-otp/tng-input-otp.d.ts +3 -0
  72. package/src/lib/form/input-otp/tng-input-otp.d.ts.map +1 -1
  73. package/src/lib/form/input-otp/tng-input-otp.js +58 -69
  74. package/src/lib/form/input-otp/tng-input-otp.js.map +1 -1
  75. package/src/lib/form/label/tng-label.d.ts +3 -0
  76. package/src/lib/form/label/tng-label.d.ts.map +1 -1
  77. package/src/lib/form/label/tng-label.js +24 -25
  78. package/src/lib/form/label/tng-label.js.map +1 -1
  79. package/src/lib/form/listbox/listbox.directive.d.ts +3 -0
  80. package/src/lib/form/listbox/listbox.directive.d.ts.map +1 -1
  81. package/src/lib/form/listbox/listbox.directive.js +45 -43
  82. package/src/lib/form/listbox/listbox.directive.js.map +1 -1
  83. package/src/lib/form/listbox/option.directive.d.ts +3 -0
  84. package/src/lib/form/listbox/option.directive.d.ts.map +1 -1
  85. package/src/lib/form/listbox/option.directive.js +40 -38
  86. package/src/lib/form/listbox/option.directive.js.map +1 -1
  87. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.d.ts +3 -0
  88. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.d.ts.map +1 -1
  89. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.js +23 -21
  90. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.js.map +1 -1
  91. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.d.ts +3 -0
  92. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.d.ts.map +1 -1
  93. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.js +25 -23
  94. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.js.map +1 -1
  95. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.d.ts +3 -0
  96. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.d.ts.map +1 -1
  97. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.js +35 -33
  98. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.js.map +1 -1
  99. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.d.ts +6 -0
  100. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.d.ts.map +1 -1
  101. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.js +57 -46
  102. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.js.map +1 -1
  103. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.d.ts +3 -0
  104. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.d.ts.map +1 -1
  105. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.js +16 -14
  106. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.js.map +1 -1
  107. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.d.ts +3 -0
  108. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.d.ts.map +1 -1
  109. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js +52 -50
  110. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js.map +1 -1
  111. package/src/lib/form/multi-select/tng-multi-select.d.ts +3 -0
  112. package/src/lib/form/multi-select/tng-multi-select.d.ts.map +1 -1
  113. package/src/lib/form/multi-select/tng-multi-select.js +41 -36
  114. package/src/lib/form/multi-select/tng-multi-select.js.map +1 -1
  115. package/src/lib/form/multi-select/tng-multi-select.listbox.d.ts +6 -0
  116. package/src/lib/form/multi-select/tng-multi-select.listbox.d.ts.map +1 -1
  117. package/src/lib/form/multi-select/tng-multi-select.listbox.js +50 -45
  118. package/src/lib/form/multi-select/tng-multi-select.listbox.js.map +1 -1
  119. package/src/lib/form/multiselect/tng-multiselect.d.ts +3 -0
  120. package/src/lib/form/multiselect/tng-multiselect.d.ts.map +1 -1
  121. package/src/lib/form/multiselect/tng-multiselect.js +16 -13
  122. package/src/lib/form/multiselect/tng-multiselect.js.map +1 -1
  123. package/src/lib/form/radio/tng-radio.d.ts +3 -0
  124. package/src/lib/form/radio/tng-radio.d.ts.map +1 -1
  125. package/src/lib/form/radio/tng-radio.js +91 -100
  126. package/src/lib/form/radio/tng-radio.js.map +1 -1
  127. package/src/lib/form/select/tng-select.d.ts +3 -0
  128. package/src/lib/form/select/tng-select.d.ts.map +1 -1
  129. package/src/lib/form/select/tng-select.js +41 -36
  130. package/src/lib/form/select/tng-select.js.map +1 -1
  131. package/src/lib/form/select/tng-select.listbox.d.ts +6 -0
  132. package/src/lib/form/select/tng-select.listbox.d.ts.map +1 -1
  133. package/src/lib/form/select/tng-select.listbox.js +50 -45
  134. package/src/lib/form/select/tng-select.listbox.js.map +1 -1
  135. package/src/lib/form/slider/tng-slider.d.ts +3 -0
  136. package/src/lib/form/slider/tng-slider.d.ts.map +1 -1
  137. package/src/lib/form/slider/tng-slider.js +42 -49
  138. package/src/lib/form/slider/tng-slider.js.map +1 -1
  139. package/src/lib/form/switch/tng-switch.d.ts +3 -0
  140. package/src/lib/form/switch/tng-switch.d.ts.map +1 -1
  141. package/src/lib/form/switch/tng-switch.js +44 -47
  142. package/src/lib/form/switch/tng-switch.js.map +1 -1
  143. package/src/lib/form/textarea/tng-textarea.d.ts +4 -0
  144. package/src/lib/form/textarea/tng-textarea.d.ts.map +1 -1
  145. package/src/lib/form/textarea/tng-textarea.js +40 -41
  146. package/src/lib/form/textarea/tng-textarea.js.map +1 -1
  147. package/src/lib/form/toggle/tng-toggle.d.ts +3 -0
  148. package/src/lib/form/toggle/tng-toggle.d.ts.map +1 -1
  149. package/src/lib/form/toggle/tng-toggle.js +71 -74
  150. package/src/lib/form/toggle/tng-toggle.js.map +1 -1
  151. package/src/lib/form/toggle-group/tng-toggle-group.d.ts +3 -0
  152. package/src/lib/form/toggle-group/tng-toggle-group.d.ts.map +1 -1
  153. package/src/lib/form/toggle-group/tng-toggle-group.js +48 -49
  154. package/src/lib/form/toggle-group/tng-toggle-group.js.map +1 -1
  155. package/src/lib/layout/accordion/tng-accordion.d.ts +9 -0
  156. package/src/lib/layout/accordion/tng-accordion.d.ts.map +1 -1
  157. package/src/lib/layout/accordion/tng-accordion.js +143 -155
  158. package/src/lib/layout/accordion/tng-accordion.js.map +1 -1
  159. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.d.ts +3 -0
  160. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.d.ts.map +1 -1
  161. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js +16 -13
  162. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js.map +1 -1
  163. package/src/lib/layout/card/tng-card.d.ts +21 -0
  164. package/src/lib/layout/card/tng-card.d.ts.map +1 -1
  165. package/src/lib/layout/card/tng-card.js +151 -121
  166. package/src/lib/layout/card/tng-card.js.map +1 -1
  167. package/src/lib/layout/collapsible/tng-collapsible.d.ts +7 -0
  168. package/src/lib/layout/collapsible/tng-collapsible.d.ts.map +1 -1
  169. package/src/lib/layout/collapsible/tng-collapsible.js +82 -83
  170. package/src/lib/layout/collapsible/tng-collapsible.js.map +1 -1
  171. package/src/lib/layout/drawer/tng-drawer.d.ts +13 -0
  172. package/src/lib/layout/drawer/tng-drawer.d.ts.map +1 -1
  173. package/src/lib/layout/drawer/tng-drawer.js +217 -226
  174. package/src/lib/layout/drawer/tng-drawer.js.map +1 -1
  175. package/src/lib/layout/grid/tng-grid.d.ts +3 -0
  176. package/src/lib/layout/grid/tng-grid.d.ts.map +1 -1
  177. package/src/lib/layout/grid/tng-grid.js +16 -13
  178. package/src/lib/layout/grid/tng-grid.js.map +1 -1
  179. package/src/lib/layout/separator/tng-separator.d.ts +3 -0
  180. package/src/lib/layout/separator/tng-separator.d.ts.map +1 -1
  181. package/src/lib/layout/separator/tng-separator.js +30 -29
  182. package/src/lib/layout/separator/tng-separator.js.map +1 -1
  183. package/src/lib/layout/stepper/tng-stepper.d.ts +3 -0
  184. package/src/lib/layout/stepper/tng-stepper.d.ts.map +1 -1
  185. package/src/lib/layout/stepper/tng-stepper.js +16 -13
  186. package/src/lib/layout/stepper/tng-stepper.js.map +1 -1
  187. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.d.ts +3 -0
  188. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.d.ts.map +1 -1
  189. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.js +54 -11
  190. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.js.map +1 -1
  191. package/src/lib/layout/tree/tng-tree-group.d.ts +3 -0
  192. package/src/lib/layout/tree/tng-tree-group.d.ts.map +1 -1
  193. package/src/lib/layout/tree/tng-tree-group.js +19 -17
  194. package/src/lib/layout/tree/tng-tree-group.js.map +1 -1
  195. package/src/lib/layout/tree/tng-tree-indicator.d.ts +3 -0
  196. package/src/lib/layout/tree/tng-tree-indicator.d.ts.map +1 -1
  197. package/src/lib/layout/tree/tng-tree-indicator.js +22 -20
  198. package/src/lib/layout/tree/tng-tree-indicator.js.map +1 -1
  199. package/src/lib/layout/tree/tng-tree-item.d.ts +3 -0
  200. package/src/lib/layout/tree/tng-tree-item.d.ts.map +1 -1
  201. package/src/lib/layout/tree/tng-tree-item.js +47 -53
  202. package/src/lib/layout/tree/tng-tree-item.js.map +1 -1
  203. package/src/lib/layout/tree/tng-tree.d.ts +3 -0
  204. package/src/lib/layout/tree/tng-tree.d.ts.map +1 -1
  205. package/src/lib/layout/tree/tng-tree.js +39 -43
  206. package/src/lib/layout/tree/tng-tree.js.map +1 -1
  207. package/src/lib/navigation/breadcrumb/tng-breadcrumb.d.ts +11 -0
  208. package/src/lib/navigation/breadcrumb/tng-breadcrumb.d.ts.map +1 -1
  209. package/src/lib/navigation/breadcrumb/tng-breadcrumb.js +79 -64
  210. package/src/lib/navigation/breadcrumb/tng-breadcrumb.js.map +1 -1
  211. package/src/lib/navigation/context-menu/tng-context-menu.d.ts +5 -0
  212. package/src/lib/navigation/context-menu/tng-context-menu.d.ts.map +1 -1
  213. package/src/lib/navigation/context-menu/tng-context-menu.js +44 -42
  214. package/src/lib/navigation/context-menu/tng-context-menu.js.map +1 -1
  215. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.d.ts +3 -0
  216. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.d.ts.map +1 -1
  217. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js +16 -13
  218. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js.map +1 -1
  219. package/src/lib/navigation/menu/tng-menu.d.ts +13 -0
  220. package/src/lib/navigation/menu/tng-menu.d.ts.map +1 -1
  221. package/src/lib/navigation/menu/tng-menu.js +184 -186
  222. package/src/lib/navigation/menu/tng-menu.js.map +1 -1
  223. package/src/lib/navigation/menubar/tng-menubar.d.ts +5 -0
  224. package/src/lib/navigation/menubar/tng-menubar.d.ts.map +1 -1
  225. package/src/lib/navigation/menubar/tng-menubar.js +72 -70
  226. package/src/lib/navigation/menubar/tng-menubar.js.map +1 -1
  227. package/src/lib/navigation/navigation-menu/tng-navigation-menu.d.ts +3 -0
  228. package/src/lib/navigation/navigation-menu/tng-navigation-menu.d.ts.map +1 -1
  229. package/src/lib/navigation/navigation-menu/tng-navigation-menu.js +16 -13
  230. package/src/lib/navigation/navigation-menu/tng-navigation-menu.js.map +1 -1
  231. package/src/lib/navigation/tabs/tng-tabs.d.ts +13 -0
  232. package/src/lib/navigation/tabs/tng-tabs.d.ts.map +1 -1
  233. package/src/lib/navigation/tabs/tng-tabs.js +234 -258
  234. package/src/lib/navigation/tabs/tng-tabs.js.map +1 -1
  235. package/src/lib/navigation/toolbar/tng-toolbar.d.ts +3 -0
  236. package/src/lib/navigation/toolbar/tng-toolbar.d.ts.map +1 -1
  237. package/src/lib/navigation/toolbar/tng-toolbar.js +16 -13
  238. package/src/lib/navigation/toolbar/tng-toolbar.js.map +1 -1
  239. package/src/lib/overlay/dialog/tng-dialog.d.ts +19 -0
  240. package/src/lib/overlay/dialog/tng-dialog.d.ts.map +1 -1
  241. package/src/lib/overlay/dialog/tng-dialog.js +249 -255
  242. package/src/lib/overlay/dialog/tng-dialog.js.map +1 -1
  243. package/src/lib/overlay/popover/tng-popover.d.ts +9 -0
  244. package/src/lib/overlay/popover/tng-popover.d.ts.map +1 -1
  245. package/src/lib/overlay/popover/tng-popover.js +152 -170
  246. package/src/lib/overlay/popover/tng-popover.js.map +1 -1
  247. package/src/lib/overlay/tooltip/tng-tooltip.d.ts +7 -0
  248. package/src/lib/overlay/tooltip/tng-tooltip.d.ts.map +1 -1
  249. package/src/lib/overlay/tooltip/tng-tooltip.js +124 -127
  250. package/src/lib/overlay/tooltip/tng-tooltip.js.map +1 -1
  251. package/src/lib/utility/avatar/tng-avatar.d.ts +7 -0
  252. package/src/lib/utility/avatar/tng-avatar.d.ts.map +1 -1
  253. package/src/lib/utility/avatar/tng-avatar.js +46 -37
  254. package/src/lib/utility/avatar/tng-avatar.js.map +1 -1
  255. package/src/lib/utility/badge/tng-badge.d.ts +3 -0
  256. package/src/lib/utility/badge/tng-badge.d.ts.map +1 -1
  257. package/src/lib/utility/badge/tng-badge.js +26 -39
  258. package/src/lib/utility/badge/tng-badge.js.map +1 -1
  259. package/src/lib/utility/code-block/tng-code-block.d.ts +11 -0
  260. package/src/lib/utility/code-block/tng-code-block.d.ts.map +1 -1
  261. package/src/lib/utility/code-block/tng-code-block.js +76 -61
  262. package/src/lib/utility/code-block/tng-code-block.js.map +1 -1
  263. package/src/lib/utility/copy/tng-copy.d.ts +3 -0
  264. package/src/lib/utility/copy/tng-copy.d.ts.map +1 -1
  265. package/src/lib/utility/copy/tng-copy.js +44 -51
  266. package/src/lib/utility/copy/tng-copy.js.map +1 -1
  267. package/src/lib/utility/press/tng-press.d.ts +3 -0
  268. package/src/lib/utility/press/tng-press.d.ts.map +1 -1
  269. package/src/lib/utility/press/tng-press.js +55 -60
  270. package/src/lib/utility/press/tng-press.js.map +1 -1
  271. package/src/lib/utility/tag/tng-tag.d.ts +7 -0
  272. package/src/lib/utility/tag/tng-tag.d.ts.map +1 -1
  273. package/src/lib/utility/tag/tng-tag.js +94 -93
  274. package/src/lib/utility/tag/tng-tag.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"tng-tooltip.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/overlay/tooltip/tng-tooltip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tng-tooltip.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/overlay/tooltip/tng-tooltip.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { __decorate } from "tslib";
2
1
  import { Directive, ElementRef, HostBinding, HostListener, booleanAttribute, effect, inject, input, output, signal, } from '@angular/core';
3
2
  import { computeOverlayPosition, createOverlayOpenCloseDelayController, createTngIdFactory, normalizeOverlayOpenCloseDelay, } from '@tailng-ui/cdk';
4
3
  import { tngPrimitiveOverlayRuntime } from '../tng-overlay-runtime';
4
+ import * as i0 from "@angular/core";
5
5
  const createTooltipContentId = createTngIdFactory('tng-tooltip-content');
6
6
  const createTooltipId = createTngIdFactory('tng-tooltip');
7
7
  const tooltipCollisionPadding = 8;
@@ -47,26 +47,20 @@ export function normalizeTngTooltipDelay(value) {
47
47
  export function shouldCloseTngTooltipForKey(key) {
48
48
  return key === 'Escape';
49
49
  }
50
- let TngTooltip = class TngTooltip {
50
+ export class TngTooltip {
51
51
  generatedContentId = createTooltipContentId();
52
52
  hostRef = inject(ElementRef);
53
53
  instanceId = createTooltipId();
54
- closeDelay = input(60);
55
- defaultOpen = input(false, {
56
- transform: booleanAttribute,
57
- });
58
- disabled = input(false, {
59
- transform: booleanAttribute,
60
- });
61
- openDelay = input(120);
62
- openInput = input(undefined, {
63
- alias: 'open',
64
- transform: normalizeOptionalBooleanInput,
65
- });
66
- side = input('top');
54
+ closeDelay = input(60, ...(ngDevMode ? [{ debugName: "closeDelay" }] : []));
55
+ defaultOpen = input(false, { ...(ngDevMode ? { debugName: "defaultOpen" } : {}), transform: booleanAttribute });
56
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
57
+ openDelay = input(120, ...(ngDevMode ? [{ debugName: "openDelay" }] : []));
58
+ openInput = input(undefined, { ...(ngDevMode ? { debugName: "openInput" } : {}), alias: 'open',
59
+ transform: normalizeOptionalBooleanInput });
60
+ side = input('top', ...(ngDevMode ? [{ debugName: "side" }] : []));
67
61
  openChange = output();
68
62
  win = typeof window === 'undefined' ? null : window;
69
- uncontrolledOpen = signal(false);
63
+ uncontrolledOpen = signal(false, ...(ngDevMode ? [{ debugName: "uncontrolledOpen" }] : []));
70
64
  animationFrameId = null;
71
65
  contentElement = null;
72
66
  contentId = null;
@@ -79,9 +73,9 @@ let TngTooltip = class TngTooltip {
79
73
  });
80
74
  isOverlayLayerRegistered = false;
81
75
  initialized = false;
82
- positionX = signal(null);
83
- positionY = signal(null);
84
- positionedSide = signal('top');
76
+ positionX = signal(null, ...(ngDevMode ? [{ debugName: "positionX" }] : []));
77
+ positionY = signal(null, ...(ngDevMode ? [{ debugName: "positionY" }] : []));
78
+ positionedSide = signal('top', ...(ngDevMode ? [{ debugName: "positionedSide" }] : []));
85
79
  syncDisabledState = effect(() => {
86
80
  if (this.disabled()) {
87
81
  this.openCloseDelayController.cancelAll();
@@ -89,7 +83,7 @@ let TngTooltip = class TngTooltip {
89
83
  this.setOpenState(false);
90
84
  }
91
85
  }
92
- });
86
+ }, ...(ngDevMode ? [{ debugName: "syncDisabledState" }] : []));
93
87
  syncPositioning = effect(() => {
94
88
  if (!this.initialized) {
95
89
  return;
@@ -102,7 +96,7 @@ let TngTooltip = class TngTooltip {
102
96
  }
103
97
  this.setupRepositionListeners();
104
98
  this.scheduleReposition();
105
- });
99
+ }, ...(ngDevMode ? [{ debugName: "syncPositioning" }] : []));
106
100
  syncOverlayLayer = effect(() => {
107
101
  if (!this.initialized) {
108
102
  return;
@@ -112,7 +106,7 @@ let TngTooltip = class TngTooltip {
112
106
  return;
113
107
  }
114
108
  this.unregisterOverlayLayer();
115
- });
109
+ }, ...(ngDevMode ? [{ debugName: "syncOverlayLayer" }] : []));
116
110
  syncSide = effect(() => {
117
111
  const requestedSide = this.side();
118
112
  if (!this.initialized || !this.isOpen()) {
@@ -120,7 +114,7 @@ let TngTooltip = class TngTooltip {
120
114
  return;
121
115
  }
122
116
  this.scheduleReposition();
123
- });
117
+ }, ...(ngDevMode ? [{ debugName: "syncSide" }] : []));
124
118
  dataSlot = 'tooltip';
125
119
  get dataStateAttr() {
126
120
  return resolveTngTooltipDataState(this.isOpen());
@@ -368,36 +362,35 @@ let TngTooltip = class TngTooltip {
368
362
  this.resizeObserver?.disconnect();
369
363
  this.resizeObserver = null;
370
364
  }
371
- };
372
- __decorate([
373
- HostBinding('attr.data-slot')
374
- ], TngTooltip.prototype, "dataSlot", void 0);
375
- __decorate([
376
- HostBinding('attr.data-state')
377
- ], TngTooltip.prototype, "dataStateAttr", null);
378
- __decorate([
379
- HostBinding('attr.data-open')
380
- ], TngTooltip.prototype, "dataOpenAttr", null);
381
- __decorate([
382
- HostBinding('attr.data-disabled')
383
- ], TngTooltip.prototype, "dataDisabledAttr", null);
384
- TngTooltip = __decorate([
385
- Directive({
386
- selector: '[tngTooltip]',
387
- exportAs: 'tngTooltip',
388
- })
389
- ], TngTooltip);
390
- export { TngTooltip };
391
- let TngTooltipTrigger = class TngTooltipTrigger {
365
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngTooltip, deps: [], target: i0.ɵɵFactoryTarget.Directive });
366
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: TngTooltip, isStandalone: true, selector: "[tngTooltip]", inputs: { closeDelay: { classPropertyName: "closeDelay", publicName: "closeDelay", isSignal: true, isRequired: false, transformFunction: null }, defaultOpen: { classPropertyName: "defaultOpen", publicName: "defaultOpen", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, openDelay: { classPropertyName: "openDelay", publicName: "openDelay", isSignal: true, isRequired: false, transformFunction: null }, openInput: { classPropertyName: "openInput", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openChange: "openChange" }, host: { properties: { "attr.data-slot": "this.dataSlot", "attr.data-state": "this.dataStateAttr", "attr.data-open": "this.dataOpenAttr", "attr.data-disabled": "this.dataDisabledAttr" } }, exportAs: ["tngTooltip"], ngImport: i0 });
367
+ }
368
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngTooltip, decorators: [{
369
+ type: Directive,
370
+ args: [{
371
+ selector: '[tngTooltip]',
372
+ exportAs: 'tngTooltip',
373
+ standalone: true,
374
+ }]
375
+ }], propDecorators: { closeDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeDelay", required: false }] }], defaultOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultOpen", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], openDelay: [{ type: i0.Input, args: [{ isSignal: true, alias: "openDelay", required: false }] }], openInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], side: [{ type: i0.Input, args: [{ isSignal: true, alias: "side", required: false }] }], openChange: [{ type: i0.Output, args: ["openChange"] }], dataSlot: [{
376
+ type: HostBinding,
377
+ args: ['attr.data-slot']
378
+ }], dataStateAttr: [{
379
+ type: HostBinding,
380
+ args: ['attr.data-state']
381
+ }], dataOpenAttr: [{
382
+ type: HostBinding,
383
+ args: ['attr.data-open']
384
+ }], dataDisabledAttr: [{
385
+ type: HostBinding,
386
+ args: ['attr.data-disabled']
387
+ }] } });
388
+ export class TngTooltipTrigger {
392
389
  hostRef = inject(ElementRef);
393
390
  tooltip = inject(TngTooltip, { optional: true });
394
- describedBy = input(null);
395
- disabled = input(false, {
396
- transform: booleanAttribute,
397
- });
398
- open = input(false, {
399
- transform: booleanAttribute,
400
- });
391
+ describedBy = input(null, ...(ngDevMode ? [{ debugName: "describedBy" }] : []));
392
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
393
+ open = input(false, { ...(ngDevMode ? { debugName: "open" } : {}), transform: booleanAttribute });
401
394
  get ariaDescribedByAttr() {
402
395
  if (this.tooltip !== null) {
403
396
  return resolveTngTooltipAriaDescribedBy(this.tooltip.isOpen(), this.tooltip.getContentId());
@@ -438,51 +431,52 @@ let TngTooltipTrigger = class TngTooltipTrigger {
438
431
  onMouseEnter() {
439
432
  this.tooltip?.onTriggerOpenIntent();
440
433
  }
441
- };
442
- __decorate([
443
- HostBinding('attr.aria-describedby')
444
- ], TngTooltipTrigger.prototype, "ariaDescribedByAttr", null);
445
- __decorate([
446
- HostBinding('attr.data-disabled')
447
- ], TngTooltipTrigger.prototype, "dataDisabledAttr", null);
448
- __decorate([
449
- HostBinding('attr.data-slot')
450
- ], TngTooltipTrigger.prototype, "dataSlot", void 0);
451
- __decorate([
452
- HostBinding('attr.data-state')
453
- ], TngTooltipTrigger.prototype, "dataStateAttr", null);
454
- __decorate([
455
- HostListener('blur')
456
- ], TngTooltipTrigger.prototype, "onBlur", null);
457
- __decorate([
458
- HostListener('focus')
459
- ], TngTooltipTrigger.prototype, "onFocus", null);
460
- __decorate([
461
- HostListener('keydown', ['$event'])
462
- ], TngTooltipTrigger.prototype, "onKeydown", null);
463
- __decorate([
464
- HostListener('mouseleave')
465
- ], TngTooltipTrigger.prototype, "onMouseLeave", null);
466
- __decorate([
467
- HostListener('mouseenter')
468
- ], TngTooltipTrigger.prototype, "onMouseEnter", null);
469
- TngTooltipTrigger = __decorate([
470
- Directive({
471
- selector: '[tngTooltipTrigger]',
472
- exportAs: 'tngTooltipTrigger',
473
- })
474
- ], TngTooltipTrigger);
475
- export { TngTooltipTrigger };
476
- let TngTooltipContent = class TngTooltipContent {
434
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngTooltipTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
435
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: TngTooltipTrigger, isStandalone: true, selector: "[tngTooltipTrigger]", inputs: { describedBy: { classPropertyName: "describedBy", publicName: "describedBy", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "blur": "onBlur()", "focus": "onFocus()", "keydown": "onKeydown($event)", "mouseleave": "onMouseLeave()", "mouseenter": "onMouseEnter()" }, properties: { "attr.aria-describedby": "this.ariaDescribedByAttr", "attr.data-disabled": "this.dataDisabledAttr", "attr.data-slot": "this.dataSlot", "attr.data-state": "this.dataStateAttr" } }, exportAs: ["tngTooltipTrigger"], ngImport: i0 });
436
+ }
437
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngTooltipTrigger, decorators: [{
438
+ type: Directive,
439
+ args: [{
440
+ selector: '[tngTooltipTrigger]',
441
+ exportAs: 'tngTooltipTrigger',
442
+ standalone: true,
443
+ }]
444
+ }], propDecorators: { describedBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "describedBy", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], ariaDescribedByAttr: [{
445
+ type: HostBinding,
446
+ args: ['attr.aria-describedby']
447
+ }], dataDisabledAttr: [{
448
+ type: HostBinding,
449
+ args: ['attr.data-disabled']
450
+ }], dataSlot: [{
451
+ type: HostBinding,
452
+ args: ['attr.data-slot']
453
+ }], dataStateAttr: [{
454
+ type: HostBinding,
455
+ args: ['attr.data-state']
456
+ }], onBlur: [{
457
+ type: HostListener,
458
+ args: ['blur']
459
+ }], onFocus: [{
460
+ type: HostListener,
461
+ args: ['focus']
462
+ }], onKeydown: [{
463
+ type: HostListener,
464
+ args: ['keydown', ['$event']]
465
+ }], onMouseLeave: [{
466
+ type: HostListener,
467
+ args: ['mouseleave']
468
+ }], onMouseEnter: [{
469
+ type: HostListener,
470
+ args: ['mouseenter']
471
+ }] } });
472
+ export class TngTooltipContent {
477
473
  generatedId = createTooltipContentId();
478
474
  hostRef = inject(ElementRef);
479
475
  tooltip = inject(TngTooltip, { optional: true });
480
476
  resolvedId = '';
481
- id = input(null);
482
- open = input(false, {
483
- transform: booleanAttribute,
484
- });
485
- side = input('top');
477
+ id = input(null, ...(ngDevMode ? [{ debugName: "id" }] : []));
478
+ open = input(false, { ...(ngDevMode ? { debugName: "open" } : {}), transform: booleanAttribute });
479
+ side = input('top', ...(ngDevMode ? [{ debugName: "side" }] : []));
486
480
  get dataSideAttr() {
487
481
  if (this.tooltip !== null) {
488
482
  return this.tooltip.getPositionedSide();
@@ -532,39 +526,42 @@ let TngTooltipContent = class TngTooltipContent {
532
526
  const candidate = value?.trim() ?? '';
533
527
  return candidate.length > 0 ? candidate : this.generatedId;
534
528
  }
535
- };
536
- __decorate([
537
- HostBinding('attr.data-side')
538
- ], TngTooltipContent.prototype, "dataSideAttr", null);
539
- __decorate([
540
- HostBinding('attr.data-slot')
541
- ], TngTooltipContent.prototype, "dataSlot", void 0);
542
- __decorate([
543
- HostBinding('attr.data-state')
544
- ], TngTooltipContent.prototype, "dataStateAttr", null);
545
- __decorate([
546
- HostBinding('attr.hidden')
547
- ], TngTooltipContent.prototype, "hiddenAttr", null);
548
- __decorate([
549
- HostBinding('attr.id')
550
- ], TngTooltipContent.prototype, "idAttr", null);
551
- __decorate([
552
- HostBinding('attr.role')
553
- ], TngTooltipContent.prototype, "roleAttr", void 0);
554
- __decorate([
555
- HostBinding('style.position')
556
- ], TngTooltipContent.prototype, "positionStyle", null);
557
- __decorate([
558
- HostBinding('style.left.px')
559
- ], TngTooltipContent.prototype, "leftStyle", null);
560
- __decorate([
561
- HostBinding('style.top.px')
562
- ], TngTooltipContent.prototype, "topStyle", null);
563
- TngTooltipContent = __decorate([
564
- Directive({
565
- selector: '[tngTooltipContent]',
566
- exportAs: 'tngTooltipContent',
567
- })
568
- ], TngTooltipContent);
569
- export { TngTooltipContent };
529
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngTooltipContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
530
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: TngTooltipContent, isStandalone: true, selector: "[tngTooltipContent]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-side": "this.dataSideAttr", "attr.data-slot": "this.dataSlot", "attr.data-state": "this.dataStateAttr", "attr.hidden": "this.hiddenAttr", "attr.id": "this.idAttr", "attr.role": "this.roleAttr", "style.position": "this.positionStyle", "style.left.px": "this.leftStyle", "style.top.px": "this.topStyle" } }, exportAs: ["tngTooltipContent"], ngImport: i0 });
531
+ }
532
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TngTooltipContent, decorators: [{
533
+ type: Directive,
534
+ args: [{
535
+ selector: '[tngTooltipContent]',
536
+ exportAs: 'tngTooltipContent',
537
+ standalone: true,
538
+ }]
539
+ }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], side: [{ type: i0.Input, args: [{ isSignal: true, alias: "side", required: false }] }], dataSideAttr: [{
540
+ type: HostBinding,
541
+ args: ['attr.data-side']
542
+ }], dataSlot: [{
543
+ type: HostBinding,
544
+ args: ['attr.data-slot']
545
+ }], dataStateAttr: [{
546
+ type: HostBinding,
547
+ args: ['attr.data-state']
548
+ }], hiddenAttr: [{
549
+ type: HostBinding,
550
+ args: ['attr.hidden']
551
+ }], idAttr: [{
552
+ type: HostBinding,
553
+ args: ['attr.id']
554
+ }], roleAttr: [{
555
+ type: HostBinding,
556
+ args: ['attr.role']
557
+ }], positionStyle: [{
558
+ type: HostBinding,
559
+ args: ['style.position']
560
+ }], leftStyle: [{
561
+ type: HostBinding,
562
+ args: ['style.left.px']
563
+ }], topStyle: [{
564
+ type: HostBinding,
565
+ args: ['style.top.px']
566
+ }] } });
570
567
  //# sourceMappingURL=tng-tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tng-tooltip.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/overlay/tooltip/tng-tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n OnDestroy,\n OnInit,\n booleanAttribute,\n effect,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport {\n computeOverlayPosition,\n createOverlayOpenCloseDelayController,\n createTngIdFactory,\n normalizeOverlayOpenCloseDelay,\n type TngOverlayRect,\n} from '@tailng-ui/cdk';\nimport type { TngOverlayDismissReason } from '@tailng-ui/cdk/overlay';\nimport { tngPrimitiveOverlayRuntime } from '../tng-overlay-runtime';\n\nexport type TngTooltipSide = 'bottom' | 'left' | 'right' | 'top';\n\ntype OptionalBooleanInput = boolean | null | string | undefined;\n\nconst createTooltipContentId = createTngIdFactory('tng-tooltip-content');\nconst createTooltipId = createTngIdFactory('tng-tooltip');\nconst tooltipCollisionPadding = 8;\nconst tooltipSideOffset = 8;\nconst tooltipGlobalDocument = typeof document === 'undefined' ? null : document;\n\ntype TngTooltipKeyboardEvent = Readonly<Pick<KeyboardEvent, 'key'>> &\n Readonly<{ preventDefault: () => void }>;\n\nfunction normalizeOptionalBooleanInput(value: OptionalBooleanInput): boolean | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n\n return booleanAttribute(value);\n}\n\nfunction normalizeRect(rect: DOMRect | ClientRect): TngOverlayRect {\n return {\n height: rect.height,\n left: rect.left,\n top: rect.top,\n width: rect.width,\n };\n}\n\nfunction resolveTooltipViewportRect(win: Window): TngOverlayRect {\n return {\n height: win.innerHeight || 0,\n left: 0,\n top: 0,\n width: win.innerWidth || 0,\n };\n}\n\nexport function resolveTngTooltipAriaDescribedBy(\n open: boolean,\n tooltipId: string | null,\n): string | null {\n if (!open) {\n return null;\n }\n\n return tooltipId === null || tooltipId.trim().length === 0 ? null : tooltipId;\n}\n\nexport function resolveTngTooltipDataState(open: boolean): 'closed' | 'open' {\n return open ? 'open' : 'closed';\n}\n\nexport function resolveTngTooltipHidden(open: boolean): '' | null {\n return open ? null : '';\n}\n\nexport function normalizeTngTooltipDelay(value: number): number {\n return normalizeOverlayOpenCloseDelay(value);\n}\n\nexport function shouldCloseTngTooltipForKey(key: string): boolean {\n return key === 'Escape';\n}\n\n@Directive({\n selector: '[tngTooltip]',\n exportAs: 'tngTooltip',\n})\nexport class TngTooltip implements OnDestroy, OnInit {\n private readonly generatedContentId = createTooltipContentId();\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly instanceId = createTooltipId();\n public readonly closeDelay = input<number>(60);\n public readonly defaultOpen = input<boolean, OptionalBooleanInput>(false, {\n transform: booleanAttribute,\n });\n public readonly disabled = input<boolean, OptionalBooleanInput>(false, {\n transform: booleanAttribute,\n });\n public readonly openDelay = input<number>(120);\n public readonly openInput = input<boolean | undefined, OptionalBooleanInput>(undefined, {\n alias: 'open',\n transform: normalizeOptionalBooleanInput,\n });\n public readonly side = input<TngTooltipSide>('top');\n\n public readonly openChange = output<boolean>();\n\n private readonly win = typeof window === 'undefined' ? null : window;\n private readonly uncontrolledOpen = signal(false);\n\n private animationFrameId: number | null = null;\n private contentElement: HTMLElement | null = null;\n private contentId: string | null = null;\n private removeResizeListener: (() => void) | null = null;\n private removeScrollListener: (() => void) | null = null;\n private resizeObserver: ResizeObserver | null = null;\n private triggerElement: HTMLElement | null = null;\n private readonly openCloseDelayController = createOverlayOpenCloseDelayController({\n onStateChange: (nextOpen) => this.setOpenState(nextOpen),\n });\n private isOverlayLayerRegistered = false;\n\n private initialized = false;\n\n private readonly positionX = signal<number | null>(null);\n private readonly positionY = signal<number | null>(null);\n private readonly positionedSide = signal<TngTooltipSide>('top');\n\n private readonly syncDisabledState = effect(() => {\n if (this.disabled()) {\n this.openCloseDelayController.cancelAll();\n if (this.isOpen()) {\n this.setOpenState(false);\n }\n }\n });\n\n private readonly syncPositioning = effect(() => {\n if (!this.initialized) {\n return;\n }\n\n if (!this.isOpen()) {\n this.resetPosition();\n this.positionedSide.set(this.side());\n this.teardownRepositionListeners();\n return;\n }\n\n this.setupRepositionListeners();\n this.scheduleReposition();\n });\n\n private readonly syncOverlayLayer = effect(() => {\n if (!this.initialized) {\n return;\n }\n\n if (this.isOpen()) {\n this.registerOverlayLayer();\n return;\n }\n\n this.unregisterOverlayLayer();\n });\n\n private readonly syncSide = effect(() => {\n const requestedSide = this.side();\n if (!this.initialized || !this.isOpen()) {\n this.positionedSide.set(requestedSide);\n return;\n }\n\n this.scheduleReposition();\n });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'tooltip';\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return resolveTngTooltipDataState(this.isOpen());\n }\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n public ngOnInit(): void {\n if (!this.isControlled()) {\n this.uncontrolledOpen.set(this.defaultOpen());\n }\n\n this.initialized = true;\n if (this.isOpen()) {\n this.setupRepositionListeners();\n this.scheduleReposition();\n }\n }\n\n public ngOnDestroy(): void {\n this.syncDisabledState.destroy();\n this.syncPositioning.destroy();\n this.syncOverlayLayer.destroy();\n this.syncSide.destroy();\n this.openCloseDelayController.destroy();\n this.unregisterOverlayLayer();\n this.clearAnimationFrame();\n this.teardownRepositionListeners();\n }\n\n public isOpen(): boolean {\n return this.openInput() ?? this.uncontrolledOpen();\n }\n\n public getContentId(): string | null {\n return this.contentId;\n }\n\n public resolveContentId(id: string | null): string {\n const candidate = id?.trim() ?? '';\n return candidate.length > 0 ? candidate : this.generatedContentId;\n }\n\n public getPositionedSide(): TngTooltipSide {\n return this.positionedSide();\n }\n\n public getPositionX(): number | null {\n return this.positionX();\n }\n\n public getPositionY(): number | null {\n return this.positionY();\n }\n\n public registerContent(content: HTMLElement, id: string | null): void {\n this.contentElement = content;\n this.contentId = id;\n if (this.resizeObserver !== null) {\n this.resizeObserver.observe(content);\n }\n if (this.isOpen()) {\n this.scheduleReposition();\n }\n }\n\n public unregisterContent(content: HTMLElement): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.unobserve(content);\n }\n\n if (this.contentElement === content) {\n this.contentElement = null;\n this.contentId = null;\n }\n }\n\n public registerTrigger(trigger: HTMLElement): void {\n this.triggerElement = trigger;\n if (this.resizeObserver !== null) {\n this.resizeObserver.observe(trigger);\n }\n if (this.isOpen()) {\n this.scheduleReposition();\n }\n }\n\n public unregisterTrigger(trigger: HTMLElement): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.unobserve(trigger);\n }\n\n if (this.triggerElement === trigger) {\n this.triggerElement = null;\n }\n }\n\n public onTriggerCloseIntent(): void {\n if (this.disabled()) {\n return;\n }\n\n this.openCloseDelayController.requestClose(this.closeDelay());\n }\n\n public onTriggerOpenIntent(): void {\n if (this.disabled()) {\n return;\n }\n\n this.openCloseDelayController.requestOpen(this.openDelay());\n }\n\n public onTriggerKeydown(event: TngTooltipKeyboardEvent): void {\n if (this.disabled() || !shouldCloseTngTooltipForKey(event.key)) {\n return;\n }\n\n if (tooltipGlobalDocument === null) {\n event.preventDefault();\n this.openCloseDelayController.cancelAll();\n this.setOpenState(false);\n }\n }\n\n private clearAnimationFrame(): void {\n if (this.animationFrameId === null || this.win === null) {\n return;\n }\n\n this.win.cancelAnimationFrame(this.animationFrameId);\n this.animationFrameId = null;\n }\n\n private isControlled(): boolean {\n return this.openInput() !== undefined;\n }\n\n private reposition(): void {\n if (!this.isOpen() || this.win === null || this.triggerElement === null || this.contentElement === null) {\n return;\n }\n\n const result = computeOverlayPosition({\n anchorRect: normalizeRect(this.triggerElement.getBoundingClientRect()),\n collision: {\n flip: true,\n padding: tooltipCollisionPadding,\n shift: true,\n },\n offset: {\n side: tooltipSideOffset,\n },\n overlayRect: normalizeRect(this.contentElement.getBoundingClientRect()),\n placement: {\n align: 'center',\n side: this.side(),\n },\n viewportRect: resolveTooltipViewportRect(this.win),\n });\n\n this.positionX.set(result.x);\n this.positionY.set(result.y);\n this.positionedSide.set(result.side as TngTooltipSide);\n }\n\n private resetPosition(): void {\n this.positionX.set(null);\n this.positionY.set(null);\n }\n\n private scheduleReposition(): void {\n if (this.win === null || this.animationFrameId !== null) {\n return;\n }\n\n this.animationFrameId = this.win.requestAnimationFrame(() => {\n this.animationFrameId = null;\n this.reposition();\n });\n }\n\n private setOpenState(nextOpen: boolean): void {\n if (this.isOpen() === nextOpen) {\n return;\n }\n\n if (!this.isControlled()) {\n this.uncontrolledOpen.set(nextOpen);\n }\n if (!nextOpen) {\n this.resetPosition();\n }\n if (nextOpen) {\n this.scheduleReposition();\n }\n\n this.openChange.emit(nextOpen);\n }\n\n private shouldCloseFromEscape(): boolean {\n return this.isOpen();\n }\n\n private shouldCloseFromOutsidePointer(): boolean {\n return this.isOpen();\n }\n\n private registerOverlayLayer(): void {\n const hostElement = this.hostRef.nativeElement;\n tngPrimitiveOverlayRuntime.registerLayer({\n containsTarget: (target: unknown, path: readonly unknown[]): boolean => {\n if (target instanceof Node && hostElement.contains(target)) {\n return true;\n }\n\n return path.includes(hostElement);\n },\n dismissOnEscape: this.shouldCloseFromEscape(),\n dismissOnOutsidePointer: this.shouldCloseFromOutsidePointer(),\n id: this.instanceId,\n onDismiss: (reason: TngOverlayDismissReason): void => {\n if (reason === 'escape-key' && !this.shouldCloseFromEscape()) {\n return;\n }\n\n if (reason === 'outside-pointer' && !this.shouldCloseFromOutsidePointer()) {\n return;\n }\n\n this.openCloseDelayController.cancelAll();\n this.setOpenState(false);\n },\n });\n this.isOverlayLayerRegistered = true;\n }\n\n private unregisterOverlayLayer(): void {\n if (!this.isOverlayLayerRegistered) {\n return;\n }\n\n tngPrimitiveOverlayRuntime.unregisterLayer(this.instanceId);\n this.isOverlayLayerRegistered = false;\n }\n\n private setupRepositionListeners(): void {\n if (this.win === null || this.removeResizeListener !== null || this.removeScrollListener !== null) {\n return;\n }\n\n const onResize = (): void => {\n this.scheduleReposition();\n };\n const onScroll = (): void => {\n this.scheduleReposition();\n };\n\n this.win.addEventListener('resize', onResize);\n this.win.addEventListener('scroll', onScroll, true);\n this.removeResizeListener = (): void => {\n this.win?.removeEventListener('resize', onResize);\n };\n this.removeScrollListener = (): void => {\n this.win?.removeEventListener('scroll', onScroll, true);\n };\n\n if (typeof ResizeObserver === 'undefined') {\n return;\n }\n\n this.resizeObserver = new ResizeObserver(() => {\n this.scheduleReposition();\n });\n if (this.triggerElement !== null) {\n this.resizeObserver.observe(this.triggerElement);\n }\n if (this.contentElement !== null) {\n this.resizeObserver.observe(this.contentElement);\n }\n }\n\n private teardownRepositionListeners(): void {\n this.removeResizeListener?.();\n this.removeScrollListener?.();\n this.removeResizeListener = null;\n this.removeScrollListener = null;\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n }\n}\n\n@Directive({\n selector: '[tngTooltipTrigger]',\n exportAs: 'tngTooltipTrigger',\n})\nexport class TngTooltipTrigger implements OnDestroy, OnInit {\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly tooltip = inject(TngTooltip, { optional: true });\n\n public readonly describedBy = input<string | null>(null);\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly open = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n\n @HostBinding('attr.aria-describedby')\n protected get ariaDescribedByAttr(): string | null {\n if (this.tooltip !== null) {\n return resolveTngTooltipAriaDescribedBy(this.tooltip.isOpen(), this.tooltip.getContentId());\n }\n\n return resolveTngTooltipAriaDescribedBy(this.open(), this.describedBy());\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n if (this.tooltip !== null) {\n return this.tooltip.disabled() ? '' : null;\n }\n\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'tooltip-trigger' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n if (this.tooltip !== null) {\n return resolveTngTooltipDataState(this.tooltip.isOpen());\n }\n\n return resolveTngTooltipDataState(this.open());\n }\n\n public ngOnInit(): void {\n this.tooltip?.registerTrigger(this.hostRef.nativeElement);\n }\n\n public ngOnDestroy(): void {\n this.tooltip?.unregisterTrigger(this.hostRef.nativeElement);\n }\n\n @HostListener('blur')\n protected onBlur(): void {\n this.tooltip?.onTriggerCloseIntent();\n }\n\n @HostListener('focus')\n protected onFocus(): void {\n this.tooltip?.onTriggerOpenIntent();\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n this.tooltip?.onTriggerKeydown(event);\n }\n\n @HostListener('mouseleave')\n protected onMouseLeave(): void {\n this.tooltip?.onTriggerCloseIntent();\n }\n\n @HostListener('mouseenter')\n protected onMouseEnter(): void {\n this.tooltip?.onTriggerOpenIntent();\n }\n}\n\n@Directive({\n selector: '[tngTooltipContent]',\n exportAs: 'tngTooltipContent',\n})\nexport class TngTooltipContent implements OnDestroy, OnInit {\n private readonly generatedId = createTooltipContentId();\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly tooltip = inject(TngTooltip, { optional: true });\n private resolvedId = '';\n\n public readonly id = input<string | null>(null);\n public readonly open = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly side = input<TngTooltipSide>('top');\n\n @HostBinding('attr.data-side')\n protected get dataSideAttr(): TngTooltipSide {\n if (this.tooltip !== null) {\n return this.tooltip.getPositionedSide();\n }\n\n return this.side();\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'tooltip-content' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n if (this.tooltip !== null) {\n return resolveTngTooltipDataState(this.tooltip.isOpen());\n }\n\n return resolveTngTooltipDataState(this.open());\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n if (this.tooltip !== null) {\n return resolveTngTooltipHidden(this.tooltip.isOpen());\n }\n\n return resolveTngTooltipHidden(this.open());\n }\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvedId;\n }\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'tooltip' as const;\n\n @HostBinding('style.position')\n protected get positionStyle(): string | null {\n return this.tooltip === null ? null : 'fixed';\n }\n\n @HostBinding('style.left.px')\n protected get leftStyle(): number | null {\n if (this.tooltip === null) {\n return null;\n }\n\n return this.tooltip.getPositionX();\n }\n\n @HostBinding('style.top.px')\n protected get topStyle(): number | null {\n if (this.tooltip === null) {\n return null;\n }\n\n return this.tooltip.getPositionY();\n }\n\n public ngOnInit(): void {\n this.resolvedId = this.tooltip?.resolveContentId(this.id()) ?? this.resolveContentId(this.id());\n this.tooltip?.registerContent(this.hostRef.nativeElement, this.resolvedId);\n }\n\n public ngOnDestroy(): void {\n this.tooltip?.unregisterContent(this.hostRef.nativeElement);\n }\n\n private resolveContentId(value: string | null): string {\n const candidate = value?.trim() ?? '';\n return candidate.length > 0 ? candidate : this.generatedId;\n }\n}\n"]}
1
+ {"version":3,"file":"tng-tooltip.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/overlay/tooltip/tng-tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n OnDestroy,\n OnInit,\n booleanAttribute,\n effect,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport {\n computeOverlayPosition,\n createOverlayOpenCloseDelayController,\n createTngIdFactory,\n normalizeOverlayOpenCloseDelay,\n type TngOverlayRect,\n} from '@tailng-ui/cdk';\nimport type { TngOverlayDismissReason } from '@tailng-ui/cdk/overlay';\nimport { tngPrimitiveOverlayRuntime } from '../tng-overlay-runtime';\n\nexport type TngTooltipSide = 'bottom' | 'left' | 'right' | 'top';\n\ntype OptionalBooleanInput = boolean | null | string | undefined;\n\nconst createTooltipContentId = createTngIdFactory('tng-tooltip-content');\nconst createTooltipId = createTngIdFactory('tng-tooltip');\nconst tooltipCollisionPadding = 8;\nconst tooltipSideOffset = 8;\nconst tooltipGlobalDocument = typeof document === 'undefined' ? null : document;\n\ntype TngTooltipKeyboardEvent = Readonly<Pick<KeyboardEvent, 'key'>> &\n Readonly<{ preventDefault: () => void }>;\n\nfunction normalizeOptionalBooleanInput(value: OptionalBooleanInput): boolean | undefined {\n if (value === null || value === undefined) {\n return undefined;\n }\n\n return booleanAttribute(value);\n}\n\nfunction normalizeRect(rect: DOMRect | ClientRect): TngOverlayRect {\n return {\n height: rect.height,\n left: rect.left,\n top: rect.top,\n width: rect.width,\n };\n}\n\nfunction resolveTooltipViewportRect(win: Window): TngOverlayRect {\n return {\n height: win.innerHeight || 0,\n left: 0,\n top: 0,\n width: win.innerWidth || 0,\n };\n}\n\nexport function resolveTngTooltipAriaDescribedBy(\n open: boolean,\n tooltipId: string | null,\n): string | null {\n if (!open) {\n return null;\n }\n\n return tooltipId === null || tooltipId.trim().length === 0 ? null : tooltipId;\n}\n\nexport function resolveTngTooltipDataState(open: boolean): 'closed' | 'open' {\n return open ? 'open' : 'closed';\n}\n\nexport function resolveTngTooltipHidden(open: boolean): '' | null {\n return open ? null : '';\n}\n\nexport function normalizeTngTooltipDelay(value: number): number {\n return normalizeOverlayOpenCloseDelay(value);\n}\n\nexport function shouldCloseTngTooltipForKey(key: string): boolean {\n return key === 'Escape';\n}\n\n@Directive({\n selector: '[tngTooltip]',\n exportAs: 'tngTooltip',\n standalone: true,\n})\nexport class TngTooltip implements OnDestroy, OnInit {\n private readonly generatedContentId = createTooltipContentId();\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly instanceId = createTooltipId();\n public readonly closeDelay = input<number>(60);\n public readonly defaultOpen = input<boolean, OptionalBooleanInput>(false, {\n transform: booleanAttribute,\n });\n public readonly disabled = input<boolean, OptionalBooleanInput>(false, {\n transform: booleanAttribute,\n });\n public readonly openDelay = input<number>(120);\n public readonly openInput = input<boolean | undefined, OptionalBooleanInput>(undefined, {\n alias: 'open',\n transform: normalizeOptionalBooleanInput,\n });\n public readonly side = input<TngTooltipSide>('top');\n\n public readonly openChange = output<boolean>();\n\n private readonly win = typeof window === 'undefined' ? null : window;\n private readonly uncontrolledOpen = signal(false);\n\n private animationFrameId: number | null = null;\n private contentElement: HTMLElement | null = null;\n private contentId: string | null = null;\n private removeResizeListener: (() => void) | null = null;\n private removeScrollListener: (() => void) | null = null;\n private resizeObserver: ResizeObserver | null = null;\n private triggerElement: HTMLElement | null = null;\n private readonly openCloseDelayController = createOverlayOpenCloseDelayController({\n onStateChange: (nextOpen) => this.setOpenState(nextOpen),\n });\n private isOverlayLayerRegistered = false;\n\n private initialized = false;\n\n private readonly positionX = signal<number | null>(null);\n private readonly positionY = signal<number | null>(null);\n private readonly positionedSide = signal<TngTooltipSide>('top');\n\n private readonly syncDisabledState = effect(() => {\n if (this.disabled()) {\n this.openCloseDelayController.cancelAll();\n if (this.isOpen()) {\n this.setOpenState(false);\n }\n }\n });\n\n private readonly syncPositioning = effect(() => {\n if (!this.initialized) {\n return;\n }\n\n if (!this.isOpen()) {\n this.resetPosition();\n this.positionedSide.set(this.side());\n this.teardownRepositionListeners();\n return;\n }\n\n this.setupRepositionListeners();\n this.scheduleReposition();\n });\n\n private readonly syncOverlayLayer = effect(() => {\n if (!this.initialized) {\n return;\n }\n\n if (this.isOpen()) {\n this.registerOverlayLayer();\n return;\n }\n\n this.unregisterOverlayLayer();\n });\n\n private readonly syncSide = effect(() => {\n const requestedSide = this.side();\n if (!this.initialized || !this.isOpen()) {\n this.positionedSide.set(requestedSide);\n return;\n }\n\n this.scheduleReposition();\n });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'tooltip';\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return resolveTngTooltipDataState(this.isOpen());\n }\n\n @HostBinding('attr.data-open')\n protected get dataOpenAttr(): 'false' | 'true' {\n return this.isOpen() ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n public ngOnInit(): void {\n if (!this.isControlled()) {\n this.uncontrolledOpen.set(this.defaultOpen());\n }\n\n this.initialized = true;\n if (this.isOpen()) {\n this.setupRepositionListeners();\n this.scheduleReposition();\n }\n }\n\n public ngOnDestroy(): void {\n this.syncDisabledState.destroy();\n this.syncPositioning.destroy();\n this.syncOverlayLayer.destroy();\n this.syncSide.destroy();\n this.openCloseDelayController.destroy();\n this.unregisterOverlayLayer();\n this.clearAnimationFrame();\n this.teardownRepositionListeners();\n }\n\n public isOpen(): boolean {\n return this.openInput() ?? this.uncontrolledOpen();\n }\n\n public getContentId(): string | null {\n return this.contentId;\n }\n\n public resolveContentId(id: string | null): string {\n const candidate = id?.trim() ?? '';\n return candidate.length > 0 ? candidate : this.generatedContentId;\n }\n\n public getPositionedSide(): TngTooltipSide {\n return this.positionedSide();\n }\n\n public getPositionX(): number | null {\n return this.positionX();\n }\n\n public getPositionY(): number | null {\n return this.positionY();\n }\n\n public registerContent(content: HTMLElement, id: string | null): void {\n this.contentElement = content;\n this.contentId = id;\n if (this.resizeObserver !== null) {\n this.resizeObserver.observe(content);\n }\n if (this.isOpen()) {\n this.scheduleReposition();\n }\n }\n\n public unregisterContent(content: HTMLElement): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.unobserve(content);\n }\n\n if (this.contentElement === content) {\n this.contentElement = null;\n this.contentId = null;\n }\n }\n\n public registerTrigger(trigger: HTMLElement): void {\n this.triggerElement = trigger;\n if (this.resizeObserver !== null) {\n this.resizeObserver.observe(trigger);\n }\n if (this.isOpen()) {\n this.scheduleReposition();\n }\n }\n\n public unregisterTrigger(trigger: HTMLElement): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.unobserve(trigger);\n }\n\n if (this.triggerElement === trigger) {\n this.triggerElement = null;\n }\n }\n\n public onTriggerCloseIntent(): void {\n if (this.disabled()) {\n return;\n }\n\n this.openCloseDelayController.requestClose(this.closeDelay());\n }\n\n public onTriggerOpenIntent(): void {\n if (this.disabled()) {\n return;\n }\n\n this.openCloseDelayController.requestOpen(this.openDelay());\n }\n\n public onTriggerKeydown(event: TngTooltipKeyboardEvent): void {\n if (this.disabled() || !shouldCloseTngTooltipForKey(event.key)) {\n return;\n }\n\n if (tooltipGlobalDocument === null) {\n event.preventDefault();\n this.openCloseDelayController.cancelAll();\n this.setOpenState(false);\n }\n }\n\n private clearAnimationFrame(): void {\n if (this.animationFrameId === null || this.win === null) {\n return;\n }\n\n this.win.cancelAnimationFrame(this.animationFrameId);\n this.animationFrameId = null;\n }\n\n private isControlled(): boolean {\n return this.openInput() !== undefined;\n }\n\n private reposition(): void {\n if (!this.isOpen() || this.win === null || this.triggerElement === null || this.contentElement === null) {\n return;\n }\n\n const result = computeOverlayPosition({\n anchorRect: normalizeRect(this.triggerElement.getBoundingClientRect()),\n collision: {\n flip: true,\n padding: tooltipCollisionPadding,\n shift: true,\n },\n offset: {\n side: tooltipSideOffset,\n },\n overlayRect: normalizeRect(this.contentElement.getBoundingClientRect()),\n placement: {\n align: 'center',\n side: this.side(),\n },\n viewportRect: resolveTooltipViewportRect(this.win),\n });\n\n this.positionX.set(result.x);\n this.positionY.set(result.y);\n this.positionedSide.set(result.side as TngTooltipSide);\n }\n\n private resetPosition(): void {\n this.positionX.set(null);\n this.positionY.set(null);\n }\n\n private scheduleReposition(): void {\n if (this.win === null || this.animationFrameId !== null) {\n return;\n }\n\n this.animationFrameId = this.win.requestAnimationFrame(() => {\n this.animationFrameId = null;\n this.reposition();\n });\n }\n\n private setOpenState(nextOpen: boolean): void {\n if (this.isOpen() === nextOpen) {\n return;\n }\n\n if (!this.isControlled()) {\n this.uncontrolledOpen.set(nextOpen);\n }\n if (!nextOpen) {\n this.resetPosition();\n }\n if (nextOpen) {\n this.scheduleReposition();\n }\n\n this.openChange.emit(nextOpen);\n }\n\n private shouldCloseFromEscape(): boolean {\n return this.isOpen();\n }\n\n private shouldCloseFromOutsidePointer(): boolean {\n return this.isOpen();\n }\n\n private registerOverlayLayer(): void {\n const hostElement = this.hostRef.nativeElement;\n tngPrimitiveOverlayRuntime.registerLayer({\n containsTarget: (target: unknown, path: readonly unknown[]): boolean => {\n if (target instanceof Node && hostElement.contains(target)) {\n return true;\n }\n\n return path.includes(hostElement);\n },\n dismissOnEscape: this.shouldCloseFromEscape(),\n dismissOnOutsidePointer: this.shouldCloseFromOutsidePointer(),\n id: this.instanceId,\n onDismiss: (reason: TngOverlayDismissReason): void => {\n if (reason === 'escape-key' && !this.shouldCloseFromEscape()) {\n return;\n }\n\n if (reason === 'outside-pointer' && !this.shouldCloseFromOutsidePointer()) {\n return;\n }\n\n this.openCloseDelayController.cancelAll();\n this.setOpenState(false);\n },\n });\n this.isOverlayLayerRegistered = true;\n }\n\n private unregisterOverlayLayer(): void {\n if (!this.isOverlayLayerRegistered) {\n return;\n }\n\n tngPrimitiveOverlayRuntime.unregisterLayer(this.instanceId);\n this.isOverlayLayerRegistered = false;\n }\n\n private setupRepositionListeners(): void {\n if (this.win === null || this.removeResizeListener !== null || this.removeScrollListener !== null) {\n return;\n }\n\n const onResize = (): void => {\n this.scheduleReposition();\n };\n const onScroll = (): void => {\n this.scheduleReposition();\n };\n\n this.win.addEventListener('resize', onResize);\n this.win.addEventListener('scroll', onScroll, true);\n this.removeResizeListener = (): void => {\n this.win?.removeEventListener('resize', onResize);\n };\n this.removeScrollListener = (): void => {\n this.win?.removeEventListener('scroll', onScroll, true);\n };\n\n if (typeof ResizeObserver === 'undefined') {\n return;\n }\n\n this.resizeObserver = new ResizeObserver(() => {\n this.scheduleReposition();\n });\n if (this.triggerElement !== null) {\n this.resizeObserver.observe(this.triggerElement);\n }\n if (this.contentElement !== null) {\n this.resizeObserver.observe(this.contentElement);\n }\n }\n\n private teardownRepositionListeners(): void {\n this.removeResizeListener?.();\n this.removeScrollListener?.();\n this.removeResizeListener = null;\n this.removeScrollListener = null;\n this.resizeObserver?.disconnect();\n this.resizeObserver = null;\n }\n}\n\n@Directive({\n selector: '[tngTooltipTrigger]',\n exportAs: 'tngTooltipTrigger',\n standalone: true,\n})\nexport class TngTooltipTrigger implements OnDestroy, OnInit {\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly tooltip = inject(TngTooltip, { optional: true });\n\n public readonly describedBy = input<string | null>(null);\n public readonly disabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly open = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n\n @HostBinding('attr.aria-describedby')\n protected get ariaDescribedByAttr(): string | null {\n if (this.tooltip !== null) {\n return resolveTngTooltipAriaDescribedBy(this.tooltip.isOpen(), this.tooltip.getContentId());\n }\n\n return resolveTngTooltipAriaDescribedBy(this.open(), this.describedBy());\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n if (this.tooltip !== null) {\n return this.tooltip.disabled() ? '' : null;\n }\n\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'tooltip-trigger' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n if (this.tooltip !== null) {\n return resolveTngTooltipDataState(this.tooltip.isOpen());\n }\n\n return resolveTngTooltipDataState(this.open());\n }\n\n public ngOnInit(): void {\n this.tooltip?.registerTrigger(this.hostRef.nativeElement);\n }\n\n public ngOnDestroy(): void {\n this.tooltip?.unregisterTrigger(this.hostRef.nativeElement);\n }\n\n @HostListener('blur')\n protected onBlur(): void {\n this.tooltip?.onTriggerCloseIntent();\n }\n\n @HostListener('focus')\n protected onFocus(): void {\n this.tooltip?.onTriggerOpenIntent();\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n this.tooltip?.onTriggerKeydown(event);\n }\n\n @HostListener('mouseleave')\n protected onMouseLeave(): void {\n this.tooltip?.onTriggerCloseIntent();\n }\n\n @HostListener('mouseenter')\n protected onMouseEnter(): void {\n this.tooltip?.onTriggerOpenIntent();\n }\n}\n\n@Directive({\n selector: '[tngTooltipContent]',\n exportAs: 'tngTooltipContent',\n standalone: true,\n})\nexport class TngTooltipContent implements OnDestroy, OnInit {\n private readonly generatedId = createTooltipContentId();\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly tooltip = inject(TngTooltip, { optional: true });\n private resolvedId = '';\n\n public readonly id = input<string | null>(null);\n public readonly open = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly side = input<TngTooltipSide>('top');\n\n @HostBinding('attr.data-side')\n protected get dataSideAttr(): TngTooltipSide {\n if (this.tooltip !== null) {\n return this.tooltip.getPositionedSide();\n }\n\n return this.side();\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'tooltip-content' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n if (this.tooltip !== null) {\n return resolveTngTooltipDataState(this.tooltip.isOpen());\n }\n\n return resolveTngTooltipDataState(this.open());\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n if (this.tooltip !== null) {\n return resolveTngTooltipHidden(this.tooltip.isOpen());\n }\n\n return resolveTngTooltipHidden(this.open());\n }\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvedId;\n }\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'tooltip' as const;\n\n @HostBinding('style.position')\n protected get positionStyle(): string | null {\n return this.tooltip === null ? null : 'fixed';\n }\n\n @HostBinding('style.left.px')\n protected get leftStyle(): number | null {\n if (this.tooltip === null) {\n return null;\n }\n\n return this.tooltip.getPositionX();\n }\n\n @HostBinding('style.top.px')\n protected get topStyle(): number | null {\n if (this.tooltip === null) {\n return null;\n }\n\n return this.tooltip.getPositionY();\n }\n\n public ngOnInit(): void {\n this.resolvedId = this.tooltip?.resolveContentId(this.id()) ?? this.resolveContentId(this.id());\n this.tooltip?.registerContent(this.hostRef.nativeElement, this.resolvedId);\n }\n\n public ngOnDestroy(): void {\n this.tooltip?.unregisterContent(this.hostRef.nativeElement);\n }\n\n private resolveContentId(value: string | null): string {\n const candidate = value?.trim() ?? '';\n return candidate.length > 0 ? candidate : this.generatedId;\n }\n}\n"]}
@@ -1,10 +1,17 @@
1
+ import * as i0 from "@angular/core";
1
2
  export declare class TngAvatar {
2
3
  protected readonly dataSlot: "avatar";
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<TngAvatar, never>;
5
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TngAvatar, "[tngAvatar]", ["tngAvatar"], {}, {}, never, never, true, never>;
3
6
  }
4
7
  export declare class TngAvatarImage {
5
8
  protected readonly dataSlot: "avatar-image";
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<TngAvatarImage, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TngAvatarImage, "img[tngAvatarImage]", ["tngAvatarImage"], {}, {}, never, never, true, never>;
6
11
  }
7
12
  export declare class TngAvatarFallback {
8
13
  protected readonly dataSlot: "avatar-fallback";
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<TngAvatarFallback, never>;
15
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TngAvatarFallback, "[tngAvatarFallback]", ["tngAvatarFallback"], {}, {}, never, never, true, never>;
9
16
  }
10
17
  //# sourceMappingURL=tng-avatar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tng-avatar.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/avatar/tng-avatar.ts"],"names":[],"mappings":"AAEA,qBAIa,SAAS;IAEpB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;CACjD;AAED,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD;AAED,qBAIa,iBAAiB;IAE5B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,iBAAiB,CAAU;CAC1D"}
1
+ {"version":3,"file":"tng-avatar.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/avatar/tng-avatar.ts"],"names":[],"mappings":";AAEA,qBAKa,SAAS;IAEpB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;yCAFrC,SAAS;2CAAT,SAAS;CAGrB;AAED,qBAKa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;yCAF3C,cAAc;2CAAd,cAAc;CAG1B;AAED,qBAKa,iBAAiB;IAE5B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,iBAAiB,CAAU;yCAF9C,iBAAiB;2CAAjB,iBAAiB;CAG7B"}