@tailng-ui/primitives 0.13.0 → 0.15.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 (244) hide show
  1. package/package.json +3 -2
  2. package/src/index.d.ts +1 -0
  3. package/src/index.d.ts.map +1 -1
  4. package/src/index.js +1 -0
  5. package/src/index.js.map +1 -1
  6. package/src/lib/feedback/empty/tng-empty.d.ts.map +1 -1
  7. package/src/lib/feedback/empty/tng-empty.js +0 -5
  8. package/src/lib/feedback/empty/tng-empty.js.map +1 -1
  9. package/src/lib/feedback/progress-bar/tng-progress-bar.d.ts.map +1 -1
  10. package/src/lib/feedback/progress-bar/tng-progress-bar.js +0 -2
  11. package/src/lib/feedback/progress-bar/tng-progress-bar.js.map +1 -1
  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 +0 -1
  14. package/src/lib/feedback/progress-spinner/tng-progress-spinner.js.map +1 -1
  15. package/src/lib/feedback/skeleton/tng-skeleton.d.ts.map +1 -1
  16. package/src/lib/feedback/skeleton/tng-skeleton.js +0 -1
  17. package/src/lib/feedback/skeleton/tng-skeleton.js.map +1 -1
  18. package/src/lib/feedback/toast/tng-toast.d.ts.map +1 -1
  19. package/src/lib/feedback/toast/tng-toast.js +0 -2
  20. package/src/lib/feedback/toast/tng-toast.js.map +1 -1
  21. package/src/lib/form/_shared/select/tng-select.overlay.shared.d.ts.map +1 -1
  22. package/src/lib/form/_shared/select/tng-select.overlay.shared.js +0 -1
  23. package/src/lib/form/_shared/select/tng-select.overlay.shared.js.map +1 -1
  24. package/src/lib/form/_shared/select/tng-select.parts.shared.d.ts.map +1 -1
  25. package/src/lib/form/_shared/select/tng-select.parts.shared.js +0 -4
  26. package/src/lib/form/_shared/select/tng-select.parts.shared.js.map +1 -1
  27. package/src/lib/form/autocomplete/tng-autocomplete.d.ts.map +1 -1
  28. package/src/lib/form/autocomplete/tng-autocomplete.js +0 -1
  29. package/src/lib/form/autocomplete/tng-autocomplete.js.map +1 -1
  30. package/src/lib/form/autocomplete/tng-autocomplete.listbox.d.ts.map +1 -1
  31. package/src/lib/form/autocomplete/tng-autocomplete.listbox.js +0 -2
  32. package/src/lib/form/autocomplete/tng-autocomplete.listbox.js.map +1 -1
  33. package/src/lib/form/autocomplete/tng-autocomplete.overlay.d.ts.map +1 -1
  34. package/src/lib/form/autocomplete/tng-autocomplete.overlay.js +0 -1
  35. package/src/lib/form/autocomplete/tng-autocomplete.overlay.js.map +1 -1
  36. package/src/lib/form/autocomplete/tng-autocomplete.parts.d.ts.map +1 -1
  37. package/src/lib/form/autocomplete/tng-autocomplete.parts.js +0 -4
  38. package/src/lib/form/autocomplete/tng-autocomplete.parts.js.map +1 -1
  39. package/src/lib/form/button-toggle/tng-button-toggle.d.ts.map +1 -1
  40. package/src/lib/form/button-toggle/tng-button-toggle.js +0 -2
  41. package/src/lib/form/button-toggle/tng-button-toggle.js.map +1 -1
  42. package/src/lib/form/checkbox/tng-checkbox.d.ts.map +1 -1
  43. package/src/lib/form/checkbox/tng-checkbox.js +0 -1
  44. package/src/lib/form/checkbox/tng-checkbox.js.map +1 -1
  45. package/src/lib/form/chips/tng-chips.d.ts.map +1 -1
  46. package/src/lib/form/chips/tng-chips.js +0 -3
  47. package/src/lib/form/chips/tng-chips.js.map +1 -1
  48. package/src/lib/form/combobox/tng-combobox.d.ts.map +1 -1
  49. package/src/lib/form/combobox/tng-combobox.js +0 -1
  50. package/src/lib/form/combobox/tng-combobox.js.map +1 -1
  51. package/src/lib/form/datepicker/__tests__/tng-datepicker.test-helpers.d.ts +25 -0
  52. package/src/lib/form/datepicker/__tests__/tng-datepicker.test-helpers.d.ts.map +1 -0
  53. package/src/lib/form/datepicker/__tests__/tng-datepicker.test-helpers.js +105 -0
  54. package/src/lib/form/datepicker/__tests__/tng-datepicker.test-helpers.js.map +1 -0
  55. package/src/lib/form/datepicker/datepicker.adapters.d.ts +5 -0
  56. package/src/lib/form/datepicker/datepicker.adapters.d.ts.map +1 -0
  57. package/src/lib/form/datepicker/datepicker.adapters.js +194 -0
  58. package/src/lib/form/datepicker/datepicker.adapters.js.map +1 -0
  59. package/src/lib/form/datepicker/datepicker.state.d.ts +10 -0
  60. package/src/lib/form/datepicker/datepicker.state.d.ts.map +1 -0
  61. package/src/lib/form/datepicker/datepicker.state.js +97 -0
  62. package/src/lib/form/datepicker/datepicker.state.js.map +1 -0
  63. package/src/lib/form/datepicker/datepicker.types.d.ts +269 -0
  64. package/src/lib/form/datepicker/datepicker.types.d.ts.map +1 -0
  65. package/src/lib/form/datepicker/datepicker.types.js +1 -0
  66. package/src/lib/form/datepicker/datepicker.types.js.map +1 -0
  67. package/src/lib/form/datepicker/datepicker.utils.d.ts +75 -0
  68. package/src/lib/form/datepicker/datepicker.utils.d.ts.map +1 -0
  69. package/src/lib/form/datepicker/datepicker.utils.js +238 -0
  70. package/src/lib/form/datepicker/datepicker.utils.js.map +1 -0
  71. package/src/lib/form/datepicker/index.d.ts +3 -0
  72. package/src/lib/form/datepicker/index.d.ts.map +1 -0
  73. package/src/lib/form/datepicker/index.js +3 -0
  74. package/src/lib/form/datepicker/index.js.map +1 -0
  75. package/src/lib/form/datepicker/tng-datepicker.d.ts +5 -0
  76. package/src/lib/form/datepicker/tng-datepicker.d.ts.map +1 -0
  77. package/src/lib/form/datepicker/tng-datepicker.js +1948 -0
  78. package/src/lib/form/datepicker/tng-datepicker.js.map +1 -0
  79. package/src/lib/form/datepicker/tng-datepicker.overlay.d.ts +60 -0
  80. package/src/lib/form/datepicker/tng-datepicker.overlay.d.ts.map +1 -0
  81. package/src/lib/form/datepicker/tng-datepicker.overlay.js +275 -0
  82. package/src/lib/form/datepicker/tng-datepicker.overlay.js.map +1 -0
  83. package/src/lib/form/input/tng-input.d.ts.map +1 -1
  84. package/src/lib/form/input/tng-input.js +0 -4
  85. package/src/lib/form/input/tng-input.js.map +1 -1
  86. package/src/lib/form/input-otp/tng-input-otp.d.ts.map +1 -1
  87. package/src/lib/form/input-otp/tng-input-otp.js +0 -1
  88. package/src/lib/form/input-otp/tng-input-otp.js.map +1 -1
  89. package/src/lib/form/label/tng-label.d.ts.map +1 -1
  90. package/src/lib/form/label/tng-label.js +0 -1
  91. package/src/lib/form/label/tng-label.js.map +1 -1
  92. package/src/lib/form/listbox/listbox.directive.d.ts.map +1 -1
  93. package/src/lib/form/listbox/listbox.directive.js +0 -1
  94. package/src/lib/form/listbox/listbox.directive.js.map +1 -1
  95. package/src/lib/form/listbox/option.directive.d.ts.map +1 -1
  96. package/src/lib/form/listbox/option.directive.js +0 -1
  97. package/src/lib/form/listbox/option.directive.js.map +1 -1
  98. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.d.ts.map +1 -1
  99. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.js +0 -1
  100. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.js.map +1 -1
  101. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.d.ts.map +1 -1
  102. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.js +0 -1
  103. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.js.map +1 -1
  104. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.d.ts.map +1 -1
  105. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.js +0 -1
  106. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.js.map +1 -1
  107. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.d.ts.map +1 -1
  108. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.js +0 -2
  109. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.js.map +1 -1
  110. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.d.ts.map +1 -1
  111. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.js +0 -1
  112. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.js.map +1 -1
  113. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.d.ts.map +1 -1
  114. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js +0 -1
  115. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js.map +1 -1
  116. package/src/lib/form/multi-select/tng-multi-select.d.ts.map +1 -1
  117. package/src/lib/form/multi-select/tng-multi-select.js +0 -1
  118. package/src/lib/form/multi-select/tng-multi-select.js.map +1 -1
  119. package/src/lib/form/multi-select/tng-multi-select.listbox.d.ts.map +1 -1
  120. package/src/lib/form/multi-select/tng-multi-select.listbox.js +0 -2
  121. package/src/lib/form/multi-select/tng-multi-select.listbox.js.map +1 -1
  122. package/src/lib/form/multiselect/tng-multiselect.d.ts.map +1 -1
  123. package/src/lib/form/multiselect/tng-multiselect.js +0 -1
  124. package/src/lib/form/multiselect/tng-multiselect.js.map +1 -1
  125. package/src/lib/form/radio/tng-radio.d.ts.map +1 -1
  126. package/src/lib/form/radio/tng-radio.js +0 -1
  127. package/src/lib/form/radio/tng-radio.js.map +1 -1
  128. package/src/lib/form/select/tng-select.d.ts.map +1 -1
  129. package/src/lib/form/select/tng-select.js +0 -1
  130. package/src/lib/form/select/tng-select.js.map +1 -1
  131. package/src/lib/form/select/tng-select.listbox.d.ts.map +1 -1
  132. package/src/lib/form/select/tng-select.listbox.js +0 -2
  133. package/src/lib/form/select/tng-select.listbox.js.map +1 -1
  134. package/src/lib/form/slider/tng-slider.d.ts.map +1 -1
  135. package/src/lib/form/slider/tng-slider.js +0 -1
  136. package/src/lib/form/slider/tng-slider.js.map +1 -1
  137. package/src/lib/form/switch/tng-switch.d.ts.map +1 -1
  138. package/src/lib/form/switch/tng-switch.js +0 -1
  139. package/src/lib/form/switch/tng-switch.js.map +1 -1
  140. package/src/lib/form/textarea/tng-textarea.d.ts.map +1 -1
  141. package/src/lib/form/textarea/tng-textarea.js +0 -1
  142. package/src/lib/form/textarea/tng-textarea.js.map +1 -1
  143. package/src/lib/form/toggle/tng-toggle.d.ts.map +1 -1
  144. package/src/lib/form/toggle/tng-toggle.js +0 -1
  145. package/src/lib/form/toggle/tng-toggle.js.map +1 -1
  146. package/src/lib/form/toggle-group/tng-toggle-group.d.ts.map +1 -1
  147. package/src/lib/form/toggle-group/tng-toggle-group.js +0 -1
  148. package/src/lib/form/toggle-group/tng-toggle-group.js.map +1 -1
  149. package/src/lib/layout/accordion/tng-accordion.d.ts.map +1 -1
  150. package/src/lib/layout/accordion/tng-accordion.js +0 -4
  151. package/src/lib/layout/accordion/tng-accordion.js.map +1 -1
  152. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.d.ts.map +1 -1
  153. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js +0 -1
  154. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js.map +1 -1
  155. package/src/lib/layout/card/tng-card.d.ts.map +1 -1
  156. package/src/lib/layout/card/tng-card.js +0 -10
  157. package/src/lib/layout/card/tng-card.js.map +1 -1
  158. package/src/lib/layout/collapsible/tng-collapsible.d.ts.map +1 -1
  159. package/src/lib/layout/collapsible/tng-collapsible.js +0 -3
  160. package/src/lib/layout/collapsible/tng-collapsible.js.map +1 -1
  161. package/src/lib/layout/drawer/tng-drawer.d.ts.map +1 -1
  162. package/src/lib/layout/drawer/tng-drawer.js +0 -6
  163. package/src/lib/layout/drawer/tng-drawer.js.map +1 -1
  164. package/src/lib/layout/grid/__tests__/tng-grid.test-harness.d.ts +32 -0
  165. package/src/lib/layout/grid/__tests__/tng-grid.test-harness.d.ts.map +1 -0
  166. package/src/lib/layout/grid/__tests__/tng-grid.test-harness.js +312 -0
  167. package/src/lib/layout/grid/__tests__/tng-grid.test-harness.js.map +1 -0
  168. package/src/lib/layout/grid/tng-grid.d.ts +144 -2
  169. package/src/lib/layout/grid/tng-grid.d.ts.map +1 -1
  170. package/src/lib/layout/grid/tng-grid.js +669 -3
  171. package/src/lib/layout/grid/tng-grid.js.map +1 -1
  172. package/src/lib/layout/separator/tng-separator.d.ts.map +1 -1
  173. package/src/lib/layout/separator/tng-separator.js +0 -1
  174. package/src/lib/layout/separator/tng-separator.js.map +1 -1
  175. package/src/lib/layout/stepper/tng-stepper.d.ts.map +1 -1
  176. package/src/lib/layout/stepper/tng-stepper.js +0 -1
  177. package/src/lib/layout/stepper/tng-stepper.js.map +1 -1
  178. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.d.ts.map +1 -1
  179. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.js +0 -1
  180. package/src/lib/layout/tree/__tests__/tng-tree.test-harness.js.map +1 -1
  181. package/src/lib/layout/tree/tng-tree-group.d.ts.map +1 -1
  182. package/src/lib/layout/tree/tng-tree-group.js +0 -1
  183. package/src/lib/layout/tree/tng-tree-group.js.map +1 -1
  184. package/src/lib/layout/tree/tng-tree-indicator.d.ts.map +1 -1
  185. package/src/lib/layout/tree/tng-tree-indicator.js +0 -1
  186. package/src/lib/layout/tree/tng-tree-indicator.js.map +1 -1
  187. package/src/lib/layout/tree/tng-tree-item.d.ts.map +1 -1
  188. package/src/lib/layout/tree/tng-tree-item.js +0 -1
  189. package/src/lib/layout/tree/tng-tree-item.js.map +1 -1
  190. package/src/lib/layout/tree/tng-tree.d.ts.map +1 -1
  191. package/src/lib/layout/tree/tng-tree.js +0 -1
  192. package/src/lib/layout/tree/tng-tree.js.map +1 -1
  193. package/src/lib/navigation/breadcrumb/tng-breadcrumb.d.ts.map +1 -1
  194. package/src/lib/navigation/breadcrumb/tng-breadcrumb.js +0 -5
  195. package/src/lib/navigation/breadcrumb/tng-breadcrumb.js.map +1 -1
  196. package/src/lib/navigation/context-menu/tng-context-menu.d.ts.map +1 -1
  197. package/src/lib/navigation/context-menu/tng-context-menu.js +0 -2
  198. package/src/lib/navigation/context-menu/tng-context-menu.js.map +1 -1
  199. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.d.ts.map +1 -1
  200. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js +0 -1
  201. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js.map +1 -1
  202. package/src/lib/navigation/menu/tng-menu.d.ts.map +1 -1
  203. package/src/lib/navigation/menu/tng-menu.js +0 -6
  204. package/src/lib/navigation/menu/tng-menu.js.map +1 -1
  205. package/src/lib/navigation/menubar/tng-menubar.d.ts.map +1 -1
  206. package/src/lib/navigation/menubar/tng-menubar.js +0 -2
  207. package/src/lib/navigation/menubar/tng-menubar.js.map +1 -1
  208. package/src/lib/navigation/navigation-menu/tng-navigation-menu.d.ts.map +1 -1
  209. package/src/lib/navigation/navigation-menu/tng-navigation-menu.js +0 -1
  210. package/src/lib/navigation/navigation-menu/tng-navigation-menu.js.map +1 -1
  211. package/src/lib/navigation/tabs/tng-tabs.d.ts +13 -6
  212. package/src/lib/navigation/tabs/tng-tabs.d.ts.map +1 -1
  213. package/src/lib/navigation/tabs/tng-tabs.js +77 -41
  214. package/src/lib/navigation/tabs/tng-tabs.js.map +1 -1
  215. package/src/lib/navigation/toolbar/tng-toolbar.d.ts.map +1 -1
  216. package/src/lib/navigation/toolbar/tng-toolbar.js +0 -1
  217. package/src/lib/navigation/toolbar/tng-toolbar.js.map +1 -1
  218. package/src/lib/overlay/dialog/tng-dialog.d.ts.map +1 -1
  219. package/src/lib/overlay/dialog/tng-dialog.js +0 -9
  220. package/src/lib/overlay/dialog/tng-dialog.js.map +1 -1
  221. package/src/lib/overlay/popover/tng-popover.d.ts.map +1 -1
  222. package/src/lib/overlay/popover/tng-popover.js +0 -4
  223. package/src/lib/overlay/popover/tng-popover.js.map +1 -1
  224. package/src/lib/overlay/tooltip/tng-tooltip.d.ts.map +1 -1
  225. package/src/lib/overlay/tooltip/tng-tooltip.js +0 -3
  226. package/src/lib/overlay/tooltip/tng-tooltip.js.map +1 -1
  227. package/src/lib/utility/avatar/tng-avatar.d.ts.map +1 -1
  228. package/src/lib/utility/avatar/tng-avatar.js +0 -3
  229. package/src/lib/utility/avatar/tng-avatar.js.map +1 -1
  230. package/src/lib/utility/badge/tng-badge.d.ts.map +1 -1
  231. package/src/lib/utility/badge/tng-badge.js +0 -1
  232. package/src/lib/utility/badge/tng-badge.js.map +1 -1
  233. package/src/lib/utility/code-block/tng-code-block.d.ts.map +1 -1
  234. package/src/lib/utility/code-block/tng-code-block.js +0 -5
  235. package/src/lib/utility/code-block/tng-code-block.js.map +1 -1
  236. package/src/lib/utility/copy/tng-copy.d.ts.map +1 -1
  237. package/src/lib/utility/copy/tng-copy.js +0 -1
  238. package/src/lib/utility/copy/tng-copy.js.map +1 -1
  239. package/src/lib/utility/press/tng-press.d.ts.map +1 -1
  240. package/src/lib/utility/press/tng-press.js +0 -1
  241. package/src/lib/utility/press/tng-press.js.map +1 -1
  242. package/src/lib/utility/tag/tng-tag.d.ts.map +1 -1
  243. package/src/lib/utility/tag/tng-tag.js +0 -3
  244. package/src/lib/utility/tag/tng-tag.js.map +1 -1
@@ -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 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
+ {"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 +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,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"}
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;yCAFrC,SAAS;2CAAT,SAAS;CAGrB;AAED,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;yCAF3C,cAAc;2CAAd,cAAc;CAG1B;AAED,qBAIa,iBAAiB;IAE5B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,iBAAiB,CAAU;yCAF9C,iBAAiB;2CAAjB,iBAAiB;CAG7B"}
@@ -10,7 +10,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
10
10
  args: [{
11
11
  selector: '[tngAvatar]',
12
12
  exportAs: 'tngAvatar',
13
- standalone: true,
14
13
  }]
15
14
  }], propDecorators: { dataSlot: [{
16
15
  type: HostBinding,
@@ -26,7 +25,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
26
25
  args: [{
27
26
  selector: 'img[tngAvatarImage]',
28
27
  exportAs: 'tngAvatarImage',
29
- standalone: true,
30
28
  }]
31
29
  }], propDecorators: { dataSlot: [{
32
30
  type: HostBinding,
@@ -42,7 +40,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
42
40
  args: [{
43
41
  selector: '[tngAvatarFallback]',
44
42
  exportAs: 'tngAvatarFallback',
45
- standalone: true,
46
43
  }]
47
44
  }], propDecorators: { dataSlot: [{
48
45
  type: HostBinding,
@@ -1 +1 @@
1
- {"version":3,"file":"tng-avatar.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/avatar/tng-avatar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;;AAOvD,MAAM,OAAO,SAAS;IAED,QAAQ,GAAG,QAAiB,CAAC;uGAFrC,SAAS;2FAAT,SAAS;;2FAAT,SAAS;kBALrB,SAAS;mBAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,QAAQ,EAAE,WAAW;oBACrB,UAAU,EAAE,IAAI;iBACjB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAS/B,MAAM,OAAO,cAAc;IAEN,QAAQ,GAAG,cAAuB,CAAC;uGAF3C,cAAc;2FAAd,cAAc;;2FAAd,cAAc;kBAL1B,SAAS;mBAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,QAAQ,EAAE,gBAAgB;oBAC1B,UAAU,EAAE,IAAI;iBACjB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAS/B,MAAM,OAAO,iBAAiB;IAET,QAAQ,GAAG,iBAA0B,CAAC;uGAF9C,iBAAiB;2FAAjB,iBAAiB;;2FAAjB,iBAAiB;kBAL7B,SAAS;mBAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,QAAQ,EAAE,mBAAmB;oBAC7B,UAAU,EAAE,IAAI;iBACjB;;sBAEE,WAAW;uBAAC,gBAAgB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngAvatar]',\n exportAs: 'tngAvatar',\n standalone: true,\n})\nexport class TngAvatar {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'avatar' as const;\n}\n\n@Directive({\n selector: 'img[tngAvatarImage]',\n exportAs: 'tngAvatarImage',\n standalone: true,\n})\nexport class TngAvatarImage {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'avatar-image' as const;\n}\n\n@Directive({\n selector: '[tngAvatarFallback]',\n exportAs: 'tngAvatarFallback',\n standalone: true,\n})\nexport class TngAvatarFallback {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'avatar-fallback' as const;\n}\n"]}
1
+ {"version":3,"file":"tng-avatar.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/avatar/tng-avatar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;;AAMvD,MAAM,OAAO,SAAS;IAED,QAAQ,GAAG,QAAiB,CAAC;uGAFrC,SAAS;2FAAT,SAAS;;2FAAT,SAAS;kBAJrB,SAAS;mBAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,QAAQ,EAAE,WAAW;iBACtB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,cAAc;IAEN,QAAQ,GAAG,cAAuB,CAAC;uGAF3C,cAAc;2FAAd,cAAc;;2FAAd,cAAc;kBAJ1B,SAAS;mBAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,QAAQ,EAAE,gBAAgB;iBAC3B;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,iBAAiB;IAET,QAAQ,GAAG,iBAA0B,CAAC;uGAF9C,iBAAiB;2FAAjB,iBAAiB;;2FAAjB,iBAAiB;kBAJ7B,SAAS;mBAAC;oBACT,QAAQ,EAAE,qBAAqB;oBAC/B,QAAQ,EAAE,mBAAmB;iBAC9B;;sBAEE,WAAW;uBAAC,gBAAgB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngAvatar]',\n exportAs: 'tngAvatar',\n})\nexport class TngAvatar {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'avatar' as const;\n}\n\n@Directive({\n selector: 'img[tngAvatarImage]',\n exportAs: 'tngAvatarImage',\n})\nexport class TngAvatarImage {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'avatar-image' as const;\n}\n\n@Directive({\n selector: '[tngAvatarFallback]',\n exportAs: 'tngAvatarFallback',\n})\nexport class TngAvatarFallback {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'avatar-fallback' as const;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-badge.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/badge/tng-badge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tng-badge.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/badge/tng-badge.ts"],"names":[],"mappings":"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"}
@@ -391,7 +391,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
391
391
  args: [{
392
392
  selector: '[tngBadge]',
393
393
  exportAs: 'tngBadge',
394
- standalone: true,
395
394
  }]
396
395
  }], ctorParameters: () => [], propDecorators: { tngBadge: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadge", required: false }] }], tngBadgeClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeClass", required: false }] }], tngBadgeDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeDisabled", required: false }] }], tngBadgeStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeStyle", required: false }] }], tngBadgeDot: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeDot", required: false }] }], tngBadgeHidden: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeHidden", required: false }] }], tngBadgeMax: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeMax", required: false }] }], tngBadgeOffsetX: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeOffsetX", required: false }] }], tngBadgeOffsetY: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeOffsetY", required: false }] }], tngBadgePosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgePosition", required: false }] }], tngBadgeSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeSize", required: false }] }], tngBadgeTone: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeTone", required: false }] }], tngBadgeVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngBadgeVariant", required: false }] }] } });
397
396
  //# sourceMappingURL=tng-badge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tng-badge.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/badge/tng-badge.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n booleanAttribute,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n type OnDestroy,\n Renderer2,\n} from '@angular/core';\n\nconst badgePositions = ['bottom-end', 'bottom-start', 'top-end', 'top-start'] as const;\nconst badgeSizes = ['lg', 'md', 'sm'] as const;\nconst badgeTones = ['danger', 'info', 'neutral', 'success', 'warning'] as const;\nconst badgeVariants = ['outline', 'soft', 'solid'] as const;\n\nconst badgePositionSet = new Set<TngBadgePosition>(badgePositions);\nconst badgeSizeSet = new Set<TngBadgeSize>(badgeSizes);\nconst badgeToneSet = new Set<TngBadgeTone>(badgeTones);\nconst badgeVariantSet = new Set<TngBadgeVariant>(badgeVariants);\n\nconst defaultBadgeMax = 99;\nconst defaultBadgePosition: TngBadgePosition = 'top-end';\nconst defaultBadgeSize: TngBadgeSize = 'md';\nconst defaultBadgeTone: TngBadgeTone = 'danger';\nconst defaultBadgeVariant: TngBadgeVariant = 'solid';\n\nexport type TngBadgePosition = (typeof badgePositions)[number];\nexport type TngBadgeSize = (typeof badgeSizes)[number];\nexport type TngBadgeStyleMap = Readonly<Record<string, number | string>>;\nexport type TngBadgeTone = (typeof badgeTones)[number];\nexport type TngBadgeVariant = (typeof badgeVariants)[number];\n\ntype TngBadgeToneColors = Readonly<{\n background: string;\n foreground: string;\n}>;\n\ntype TngResolvedBadgePlacement = Readonly<{\n bottom: string | null;\n left: string | null;\n right: string | null;\n top: string | null;\n transform: string;\n}>;\n\ntype ResizeObserverConstructor = new (callback: ResizeObserverCallback) => ResizeObserver;\n\nfunction isNonEmptyText(value: string): boolean {\n return value.trim().length > 0;\n}\n\nfunction toNumber(value: number | string): number {\n return typeof value === 'number' ? value : Number(value);\n}\n\nfunction toRoundedNonNegative(value: number): number {\n return Math.max(0, Math.round(value));\n}\n\nexport function normalizeTngBadgeMax(value: number): number {\n if (!Number.isFinite(value)) {\n return defaultBadgeMax;\n }\n\n return toRoundedNonNegative(value);\n}\n\nexport function coerceTngBadgeMax(value: number | string): number {\n return normalizeTngBadgeMax(toNumber(value));\n}\n\nexport function coerceTngBadgePosition(value: string): TngBadgePosition {\n if (badgePositionSet.has(value as TngBadgePosition)) {\n return value as TngBadgePosition;\n }\n\n return defaultBadgePosition;\n}\n\nexport function coerceTngBadgeSize(value: string): TngBadgeSize {\n if (badgeSizeSet.has(value as TngBadgeSize)) {\n return value as TngBadgeSize;\n }\n\n return defaultBadgeSize;\n}\n\nexport function coerceTngBadgeTone(value: string): TngBadgeTone {\n if (badgeToneSet.has(value as TngBadgeTone)) {\n return value as TngBadgeTone;\n }\n\n return defaultBadgeTone;\n}\n\nexport function coerceTngBadgeVariant(value: string): TngBadgeVariant {\n if (badgeVariantSet.has(value as TngBadgeVariant)) {\n return value as TngBadgeVariant;\n }\n\n return defaultBadgeVariant;\n}\n\nexport function resolveTngBadgeContent(\n value: number | string | null | undefined,\n max: number,\n dot: boolean,\n): string {\n if (dot || value === null || value === undefined) {\n return '';\n }\n\n if (typeof value === 'number') {\n if (!Number.isFinite(value)) {\n return '';\n }\n\n const normalized = toRoundedNonNegative(value);\n if (normalized > max) {\n return `${max}+`;\n }\n\n return String(normalized);\n }\n\n return isNonEmptyText(value) ? value : '';\n}\n\nexport function resolveTngBadgePlacement(position: TngBadgePosition): TngResolvedBadgePlacement {\n if (position === 'top-start') {\n return { bottom: null, left: '0', right: null, top: '0', transform: 'translate(-50%, -50%)' };\n }\n\n if (position === 'bottom-start') {\n return { bottom: '0', left: '0', right: null, top: null, transform: 'translate(-50%, 50%)' };\n }\n\n if (position === 'bottom-end') {\n return { bottom: '0', left: null, right: '0', top: null, transform: 'translate(50%, 50%)' };\n }\n\n return { bottom: null, left: null, right: '0', top: '0', transform: 'translate(50%, -50%)' };\n}\n\nexport function toTngBadgeCssLength(value: number | string | null | undefined): string | null {\n if (value === null || value === undefined) {\n return null;\n }\n\n if (typeof value === 'number') {\n if (!Number.isFinite(value)) {\n return null;\n }\n\n return `${value}px`;\n }\n\n return isNonEmptyText(value) ? value.trim() : null;\n}\n\nfunction resolveTngBadgeToneColors(tone: TngBadgeTone): TngBadgeToneColors {\n if (tone === 'success') {\n return { background: '#16a34a', foreground: '#f0fdf4' };\n }\n\n if (tone === 'warning') {\n return { background: '#d97706', foreground: '#fffbeb' };\n }\n\n if (tone === 'danger') {\n return { background: '#dc2626', foreground: '#fef2f2' };\n }\n\n if (tone === 'neutral') {\n return { background: '#334155', foreground: '#f8fafc' };\n }\n\n return { background: '#2563eb', foreground: '#eff6ff' };\n}\n\nfunction hasVisibleBadge(hidden: boolean, dot: boolean, content: string): boolean {\n if (hidden) {\n return false;\n }\n\n return dot || content.length > 0;\n}\n\nfunction resolveResizeObserverConstructor(): ResizeObserverConstructor | null {\n const globalObject = globalThis as { ResizeObserver?: ResizeObserverConstructor };\n const resizeObserver = globalObject.ResizeObserver;\n return typeof resizeObserver === 'function' ? resizeObserver : null;\n}\n\nfunction toCssPixelLength(value: number): string {\n if (!Number.isFinite(value)) {\n return '0px';\n }\n\n return `${Math.max(0, value)}px`;\n}\n\n@Directive({\n selector: '[tngBadge]',\n exportAs: 'tngBadge',\n standalone: true,\n})\nexport class TngBadge implements OnDestroy {\n public readonly tngBadge = input<number | string | null | undefined>(null);\n public readonly tngBadgeClass = input<string | null | undefined>(null);\n public readonly tngBadgeDisabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly tngBadgeStyle = input<TngBadgeStyleMap | null | undefined>(null);\n public readonly tngBadgeDot = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly tngBadgeHidden = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly tngBadgeMax = input<number, number | string>(defaultBadgeMax, {\n transform: coerceTngBadgeMax,\n });\n public readonly tngBadgeOffsetX = input<number | string | null | undefined>(null);\n public readonly tngBadgeOffsetY = input<number | string | null | undefined>(null);\n public readonly tngBadgePosition = input<TngBadgePosition, string>(defaultBadgePosition, {\n transform: coerceTngBadgePosition,\n });\n public readonly tngBadgeSize = input<TngBadgeSize, string>(defaultBadgeSize, {\n transform: coerceTngBadgeSize,\n });\n public readonly tngBadgeTone = input<TngBadgeTone, string>(defaultBadgeTone, {\n transform: coerceTngBadgeTone,\n });\n public readonly tngBadgeVariant = input<TngBadgeVariant, string>(defaultBadgeVariant, {\n transform: coerceTngBadgeVariant,\n });\n\n private readonly hostElement = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n private readonly renderer = inject(Renderer2);\n private badgeElement: HTMLElement | null = null;\n private readonly customStyleKeys = new Set<string>();\n private resizeObserver: ResizeObserver | null = null;\n private removeWindowResizeListener: (() => void) | null = null;\n\n public constructor() {\n this.configureHost();\n effect((): void => {\n this.renderBadge();\n });\n }\n\n public ngOnDestroy(): void {\n this.destroyBadge();\n }\n\n private configureHost(): void {\n this.renderer.addClass(this.hostElement, 'tng-badge-host');\n this.renderer.setAttribute(this.hostElement, 'data-tng-badge-host', '');\n\n if (this.hostElement.style.position.length === 0) {\n this.renderer.setStyle(this.hostElement, 'position', 'relative');\n }\n }\n\n private renderBadge(): void {\n const content = resolveTngBadgeContent(this.tngBadge(), this.tngBadgeMax(), this.tngBadgeDot());\n if (!hasVisibleBadge(this.tngBadgeHidden(), this.tngBadgeDot(), content)) {\n this.destroyBadge();\n return;\n }\n\n this.ensureBadgeElement();\n this.beginRuntimePositionTracking();\n this.patchBadgeClasses();\n this.patchBadgeAttributes();\n this.patchBadgePlacement();\n this.patchBadgeVisualStyles();\n this.patchBadgeCustomStyles();\n this.patchBadgeRuntimeMetrics();\n this.patchBadgeContent(content);\n }\n\n private ensureBadgeElement(): HTMLElement {\n if (this.badgeElement !== null) {\n return this.badgeElement;\n }\n\n const badgeElement = this.renderer.createElement('span') as HTMLElement;\n this.renderer.appendChild(this.hostElement, badgeElement);\n this.badgeElement = badgeElement;\n return badgeElement;\n }\n\n private destroyBadge(): void {\n this.endRuntimePositionTracking();\n\n if (this.badgeElement === null) {\n return;\n }\n\n this.renderer.removeChild(this.hostElement, this.badgeElement);\n this.badgeElement = null;\n this.customStyleKeys.clear();\n }\n\n private patchBadgeAttributes(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const badgeElement = this.badgeElement;\n this.renderer.setAttribute(badgeElement, 'aria-hidden', 'true');\n this.renderer.setAttribute(badgeElement, 'data-placement', this.tngBadgePosition());\n this.renderer.setAttribute(badgeElement, 'data-position', this.tngBadgePosition());\n this.renderer.setAttribute(badgeElement, 'data-size', this.tngBadgeSize());\n this.renderer.setAttribute(badgeElement, 'data-slot', 'badge');\n this.renderer.setAttribute(badgeElement, 'data-tone', this.tngBadgeTone());\n this.renderer.setAttribute(badgeElement, 'data-variant', this.tngBadgeVariant());\n\n if (this.tngBadgeDisabled()) {\n this.renderer.setAttribute(badgeElement, 'data-disabled', '');\n } else {\n this.renderer.removeAttribute(badgeElement, 'data-disabled');\n }\n\n if (this.tngBadgeDot()) {\n this.renderer.setAttribute(badgeElement, 'data-dot', '');\n return;\n }\n\n this.renderer.removeAttribute(badgeElement, 'data-dot');\n }\n\n private patchBadgeClasses(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const badgeElement = this.badgeElement;\n const className = this.tngBadgeClass() ?? '';\n const normalizedClassName = className.trim();\n const classes =\n normalizedClassName.length > 0 ? `tng-badge ${normalizedClassName}` : 'tng-badge';\n this.renderer.setAttribute(badgeElement, 'class', classes);\n }\n\n private patchBadgeContent(content: string): void {\n if (this.badgeElement === null) {\n return;\n }\n\n this.renderer.setProperty(this.badgeElement, 'textContent', content);\n }\n\n private patchBadgeCustomStyles(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const badgeElement = this.badgeElement;\n const nextStyleKeys = new Set<string>();\n const styleMap = this.tngBadgeStyle();\n if (styleMap !== null && styleMap !== undefined) {\n for (const [key, value] of Object.entries(styleMap)) {\n this.renderer.setStyle(badgeElement, key, String(value));\n nextStyleKeys.add(key);\n }\n }\n\n for (const key of this.customStyleKeys) {\n if (!nextStyleKeys.has(key)) {\n this.renderer.removeStyle(badgeElement, key);\n }\n }\n\n this.customStyleKeys.clear();\n for (const key of nextStyleKeys) {\n this.customStyleKeys.add(key);\n }\n }\n\n private patchBadgePlacement(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const placement = resolveTngBadgePlacement(this.tngBadgePosition());\n this.setNullableStyle('bottom', placement.bottom);\n this.setNullableStyle('left', placement.left);\n this.setNullableStyle('right', placement.right);\n this.setNullableStyle('top', placement.top);\n\n const offsetX = toTngBadgeCssLength(this.tngBadgeOffsetX()) ?? '0px';\n const offsetY = toTngBadgeCssLength(this.tngBadgeOffsetY()) ?? '0px';\n const transform = `${placement.transform} translate(${offsetX}, ${offsetY})`;\n this.renderer.setStyle(this.badgeElement, 'transform', transform);\n }\n\n private patchBadgeRuntimeMetrics(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const hostRect = this.hostElement.getBoundingClientRect();\n const badgeRect = this.badgeElement.getBoundingClientRect();\n this.badgeElement.style.setProperty('--tng-badge-anchor-width', toCssPixelLength(hostRect.width));\n this.badgeElement.style.setProperty('--tng-badge-anchor-height', toCssPixelLength(hostRect.height));\n this.badgeElement.style.setProperty('--tng-badge-self-width', toCssPixelLength(badgeRect.width));\n this.badgeElement.style.setProperty('--tng-badge-self-height', toCssPixelLength(badgeRect.height));\n }\n\n private patchBadgeVisualStyles(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const badgeElement = this.badgeElement;\n const toneColors = resolveTngBadgeToneColors(this.tngBadgeTone());\n const sharedStyles = this.resolveSharedStyles(toneColors);\n for (const [property, value] of sharedStyles) {\n this.renderer.setStyle(badgeElement, property, value);\n }\n\n if (this.tngBadgeDot()) {\n this.patchDotStyles();\n return;\n }\n\n this.patchContentStyles();\n }\n\n private patchContentStyles(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n this.renderer.setStyle(this.badgeElement, 'height', 'var(--tng-badge-size, 1.125rem)');\n this.renderer.setStyle(this.badgeElement, 'min-width', 'var(--tng-badge-size, 1.125rem)');\n this.renderer.setStyle(\n this.badgeElement,\n 'padding-inline',\n 'var(--tng-badge-padding-x, 0.3rem)',\n );\n }\n\n private patchDotStyles(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n this.renderer.setStyle(this.badgeElement, 'height', 'var(--tng-badge-dot-size, 0.625rem)');\n this.renderer.setStyle(this.badgeElement, 'min-width', 'var(--tng-badge-dot-size, 0.625rem)');\n this.renderer.setStyle(this.badgeElement, 'padding-inline', '0');\n }\n\n private resolveSharedStyles(\n toneColors: TngBadgeToneColors,\n ): readonly Readonly<[string, string]>[] {\n return [\n ['align-items', 'center'],\n ['background', `var(--tng-badge-bg, ${toneColors.background})`],\n ['border-radius', 'var(--tng-badge-radius, 9999px)'],\n ['box-sizing', 'border-box'],\n ['color', `var(--tng-badge-fg, ${toneColors.foreground})`],\n ['display', 'inline-flex'],\n ['font-size', 'var(--tng-badge-font-size, 0.7rem)'],\n ['font-weight', 'var(--tng-badge-font-weight, 700)'],\n ['justify-content', 'center'],\n ['line-height', '1'],\n ['pointer-events', 'none'],\n ['position', 'absolute'],\n ['white-space', 'nowrap'],\n ['z-index', 'var(--tng-badge-z-index, 1)'],\n ];\n }\n\n private setNullableStyle(property: string, value: string | null): void {\n if (this.badgeElement === null) {\n return;\n }\n\n if (value === null) {\n this.renderer.removeStyle(this.badgeElement, property);\n return;\n }\n\n this.renderer.setStyle(this.badgeElement, property, value);\n }\n\n private beginRuntimePositionTracking(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const resizeObserverConstructor = resolveResizeObserverConstructor();\n if (resizeObserverConstructor !== null) {\n if (this.resizeObserver === null) {\n this.resizeObserver = new resizeObserverConstructor(() => {\n this.syncRuntimePositioning();\n });\n }\n\n this.resizeObserver.observe(this.hostElement);\n this.resizeObserver.observe(this.badgeElement);\n return;\n }\n\n if (this.removeWindowResizeListener === null) {\n this.removeWindowResizeListener = this.renderer.listen('window', 'resize', () => {\n this.syncRuntimePositioning();\n });\n }\n }\n\n private endRuntimePositionTracking(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n\n if (this.removeWindowResizeListener !== null) {\n this.removeWindowResizeListener();\n this.removeWindowResizeListener = null;\n }\n }\n\n private syncRuntimePositioning(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n this.patchBadgePlacement();\n this.patchBadgeRuntimeMetrics();\n }\n}\n"]}
1
+ {"version":3,"file":"tng-badge.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/badge/tng-badge.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n booleanAttribute,\n Directive,\n effect,\n ElementRef,\n inject,\n input,\n type OnDestroy,\n Renderer2,\n} from '@angular/core';\n\nconst badgePositions = ['bottom-end', 'bottom-start', 'top-end', 'top-start'] as const;\nconst badgeSizes = ['lg', 'md', 'sm'] as const;\nconst badgeTones = ['danger', 'info', 'neutral', 'success', 'warning'] as const;\nconst badgeVariants = ['outline', 'soft', 'solid'] as const;\n\nconst badgePositionSet = new Set<TngBadgePosition>(badgePositions);\nconst badgeSizeSet = new Set<TngBadgeSize>(badgeSizes);\nconst badgeToneSet = new Set<TngBadgeTone>(badgeTones);\nconst badgeVariantSet = new Set<TngBadgeVariant>(badgeVariants);\n\nconst defaultBadgeMax = 99;\nconst defaultBadgePosition: TngBadgePosition = 'top-end';\nconst defaultBadgeSize: TngBadgeSize = 'md';\nconst defaultBadgeTone: TngBadgeTone = 'danger';\nconst defaultBadgeVariant: TngBadgeVariant = 'solid';\n\nexport type TngBadgePosition = (typeof badgePositions)[number];\nexport type TngBadgeSize = (typeof badgeSizes)[number];\nexport type TngBadgeStyleMap = Readonly<Record<string, number | string>>;\nexport type TngBadgeTone = (typeof badgeTones)[number];\nexport type TngBadgeVariant = (typeof badgeVariants)[number];\n\ntype TngBadgeToneColors = Readonly<{\n background: string;\n foreground: string;\n}>;\n\ntype TngResolvedBadgePlacement = Readonly<{\n bottom: string | null;\n left: string | null;\n right: string | null;\n top: string | null;\n transform: string;\n}>;\n\ntype ResizeObserverConstructor = new (callback: ResizeObserverCallback) => ResizeObserver;\n\nfunction isNonEmptyText(value: string): boolean {\n return value.trim().length > 0;\n}\n\nfunction toNumber(value: number | string): number {\n return typeof value === 'number' ? value : Number(value);\n}\n\nfunction toRoundedNonNegative(value: number): number {\n return Math.max(0, Math.round(value));\n}\n\nexport function normalizeTngBadgeMax(value: number): number {\n if (!Number.isFinite(value)) {\n return defaultBadgeMax;\n }\n\n return toRoundedNonNegative(value);\n}\n\nexport function coerceTngBadgeMax(value: number | string): number {\n return normalizeTngBadgeMax(toNumber(value));\n}\n\nexport function coerceTngBadgePosition(value: string): TngBadgePosition {\n if (badgePositionSet.has(value as TngBadgePosition)) {\n return value as TngBadgePosition;\n }\n\n return defaultBadgePosition;\n}\n\nexport function coerceTngBadgeSize(value: string): TngBadgeSize {\n if (badgeSizeSet.has(value as TngBadgeSize)) {\n return value as TngBadgeSize;\n }\n\n return defaultBadgeSize;\n}\n\nexport function coerceTngBadgeTone(value: string): TngBadgeTone {\n if (badgeToneSet.has(value as TngBadgeTone)) {\n return value as TngBadgeTone;\n }\n\n return defaultBadgeTone;\n}\n\nexport function coerceTngBadgeVariant(value: string): TngBadgeVariant {\n if (badgeVariantSet.has(value as TngBadgeVariant)) {\n return value as TngBadgeVariant;\n }\n\n return defaultBadgeVariant;\n}\n\nexport function resolveTngBadgeContent(\n value: number | string | null | undefined,\n max: number,\n dot: boolean,\n): string {\n if (dot || value === null || value === undefined) {\n return '';\n }\n\n if (typeof value === 'number') {\n if (!Number.isFinite(value)) {\n return '';\n }\n\n const normalized = toRoundedNonNegative(value);\n if (normalized > max) {\n return `${max}+`;\n }\n\n return String(normalized);\n }\n\n return isNonEmptyText(value) ? value : '';\n}\n\nexport function resolveTngBadgePlacement(position: TngBadgePosition): TngResolvedBadgePlacement {\n if (position === 'top-start') {\n return { bottom: null, left: '0', right: null, top: '0', transform: 'translate(-50%, -50%)' };\n }\n\n if (position === 'bottom-start') {\n return { bottom: '0', left: '0', right: null, top: null, transform: 'translate(-50%, 50%)' };\n }\n\n if (position === 'bottom-end') {\n return { bottom: '0', left: null, right: '0', top: null, transform: 'translate(50%, 50%)' };\n }\n\n return { bottom: null, left: null, right: '0', top: '0', transform: 'translate(50%, -50%)' };\n}\n\nexport function toTngBadgeCssLength(value: number | string | null | undefined): string | null {\n if (value === null || value === undefined) {\n return null;\n }\n\n if (typeof value === 'number') {\n if (!Number.isFinite(value)) {\n return null;\n }\n\n return `${value}px`;\n }\n\n return isNonEmptyText(value) ? value.trim() : null;\n}\n\nfunction resolveTngBadgeToneColors(tone: TngBadgeTone): TngBadgeToneColors {\n if (tone === 'success') {\n return { background: '#16a34a', foreground: '#f0fdf4' };\n }\n\n if (tone === 'warning') {\n return { background: '#d97706', foreground: '#fffbeb' };\n }\n\n if (tone === 'danger') {\n return { background: '#dc2626', foreground: '#fef2f2' };\n }\n\n if (tone === 'neutral') {\n return { background: '#334155', foreground: '#f8fafc' };\n }\n\n return { background: '#2563eb', foreground: '#eff6ff' };\n}\n\nfunction hasVisibleBadge(hidden: boolean, dot: boolean, content: string): boolean {\n if (hidden) {\n return false;\n }\n\n return dot || content.length > 0;\n}\n\nfunction resolveResizeObserverConstructor(): ResizeObserverConstructor | null {\n const globalObject = globalThis as { ResizeObserver?: ResizeObserverConstructor };\n const resizeObserver = globalObject.ResizeObserver;\n return typeof resizeObserver === 'function' ? resizeObserver : null;\n}\n\nfunction toCssPixelLength(value: number): string {\n if (!Number.isFinite(value)) {\n return '0px';\n }\n\n return `${Math.max(0, value)}px`;\n}\n\n@Directive({\n selector: '[tngBadge]',\n exportAs: 'tngBadge',\n})\nexport class TngBadge implements OnDestroy {\n public readonly tngBadge = input<number | string | null | undefined>(null);\n public readonly tngBadgeClass = input<string | null | undefined>(null);\n public readonly tngBadgeDisabled = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly tngBadgeStyle = input<TngBadgeStyleMap | null | undefined>(null);\n public readonly tngBadgeDot = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly tngBadgeHidden = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly tngBadgeMax = input<number, number | string>(defaultBadgeMax, {\n transform: coerceTngBadgeMax,\n });\n public readonly tngBadgeOffsetX = input<number | string | null | undefined>(null);\n public readonly tngBadgeOffsetY = input<number | string | null | undefined>(null);\n public readonly tngBadgePosition = input<TngBadgePosition, string>(defaultBadgePosition, {\n transform: coerceTngBadgePosition,\n });\n public readonly tngBadgeSize = input<TngBadgeSize, string>(defaultBadgeSize, {\n transform: coerceTngBadgeSize,\n });\n public readonly tngBadgeTone = input<TngBadgeTone, string>(defaultBadgeTone, {\n transform: coerceTngBadgeTone,\n });\n public readonly tngBadgeVariant = input<TngBadgeVariant, string>(defaultBadgeVariant, {\n transform: coerceTngBadgeVariant,\n });\n\n private readonly hostElement = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n private readonly renderer = inject(Renderer2);\n private badgeElement: HTMLElement | null = null;\n private readonly customStyleKeys = new Set<string>();\n private resizeObserver: ResizeObserver | null = null;\n private removeWindowResizeListener: (() => void) | null = null;\n\n public constructor() {\n this.configureHost();\n effect((): void => {\n this.renderBadge();\n });\n }\n\n public ngOnDestroy(): void {\n this.destroyBadge();\n }\n\n private configureHost(): void {\n this.renderer.addClass(this.hostElement, 'tng-badge-host');\n this.renderer.setAttribute(this.hostElement, 'data-tng-badge-host', '');\n\n if (this.hostElement.style.position.length === 0) {\n this.renderer.setStyle(this.hostElement, 'position', 'relative');\n }\n }\n\n private renderBadge(): void {\n const content = resolveTngBadgeContent(this.tngBadge(), this.tngBadgeMax(), this.tngBadgeDot());\n if (!hasVisibleBadge(this.tngBadgeHidden(), this.tngBadgeDot(), content)) {\n this.destroyBadge();\n return;\n }\n\n this.ensureBadgeElement();\n this.beginRuntimePositionTracking();\n this.patchBadgeClasses();\n this.patchBadgeAttributes();\n this.patchBadgePlacement();\n this.patchBadgeVisualStyles();\n this.patchBadgeCustomStyles();\n this.patchBadgeRuntimeMetrics();\n this.patchBadgeContent(content);\n }\n\n private ensureBadgeElement(): HTMLElement {\n if (this.badgeElement !== null) {\n return this.badgeElement;\n }\n\n const badgeElement = this.renderer.createElement('span') as HTMLElement;\n this.renderer.appendChild(this.hostElement, badgeElement);\n this.badgeElement = badgeElement;\n return badgeElement;\n }\n\n private destroyBadge(): void {\n this.endRuntimePositionTracking();\n\n if (this.badgeElement === null) {\n return;\n }\n\n this.renderer.removeChild(this.hostElement, this.badgeElement);\n this.badgeElement = null;\n this.customStyleKeys.clear();\n }\n\n private patchBadgeAttributes(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const badgeElement = this.badgeElement;\n this.renderer.setAttribute(badgeElement, 'aria-hidden', 'true');\n this.renderer.setAttribute(badgeElement, 'data-placement', this.tngBadgePosition());\n this.renderer.setAttribute(badgeElement, 'data-position', this.tngBadgePosition());\n this.renderer.setAttribute(badgeElement, 'data-size', this.tngBadgeSize());\n this.renderer.setAttribute(badgeElement, 'data-slot', 'badge');\n this.renderer.setAttribute(badgeElement, 'data-tone', this.tngBadgeTone());\n this.renderer.setAttribute(badgeElement, 'data-variant', this.tngBadgeVariant());\n\n if (this.tngBadgeDisabled()) {\n this.renderer.setAttribute(badgeElement, 'data-disabled', '');\n } else {\n this.renderer.removeAttribute(badgeElement, 'data-disabled');\n }\n\n if (this.tngBadgeDot()) {\n this.renderer.setAttribute(badgeElement, 'data-dot', '');\n return;\n }\n\n this.renderer.removeAttribute(badgeElement, 'data-dot');\n }\n\n private patchBadgeClasses(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const badgeElement = this.badgeElement;\n const className = this.tngBadgeClass() ?? '';\n const normalizedClassName = className.trim();\n const classes =\n normalizedClassName.length > 0 ? `tng-badge ${normalizedClassName}` : 'tng-badge';\n this.renderer.setAttribute(badgeElement, 'class', classes);\n }\n\n private patchBadgeContent(content: string): void {\n if (this.badgeElement === null) {\n return;\n }\n\n this.renderer.setProperty(this.badgeElement, 'textContent', content);\n }\n\n private patchBadgeCustomStyles(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const badgeElement = this.badgeElement;\n const nextStyleKeys = new Set<string>();\n const styleMap = this.tngBadgeStyle();\n if (styleMap !== null && styleMap !== undefined) {\n for (const [key, value] of Object.entries(styleMap)) {\n this.renderer.setStyle(badgeElement, key, String(value));\n nextStyleKeys.add(key);\n }\n }\n\n for (const key of this.customStyleKeys) {\n if (!nextStyleKeys.has(key)) {\n this.renderer.removeStyle(badgeElement, key);\n }\n }\n\n this.customStyleKeys.clear();\n for (const key of nextStyleKeys) {\n this.customStyleKeys.add(key);\n }\n }\n\n private patchBadgePlacement(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const placement = resolveTngBadgePlacement(this.tngBadgePosition());\n this.setNullableStyle('bottom', placement.bottom);\n this.setNullableStyle('left', placement.left);\n this.setNullableStyle('right', placement.right);\n this.setNullableStyle('top', placement.top);\n\n const offsetX = toTngBadgeCssLength(this.tngBadgeOffsetX()) ?? '0px';\n const offsetY = toTngBadgeCssLength(this.tngBadgeOffsetY()) ?? '0px';\n const transform = `${placement.transform} translate(${offsetX}, ${offsetY})`;\n this.renderer.setStyle(this.badgeElement, 'transform', transform);\n }\n\n private patchBadgeRuntimeMetrics(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const hostRect = this.hostElement.getBoundingClientRect();\n const badgeRect = this.badgeElement.getBoundingClientRect();\n this.badgeElement.style.setProperty('--tng-badge-anchor-width', toCssPixelLength(hostRect.width));\n this.badgeElement.style.setProperty('--tng-badge-anchor-height', toCssPixelLength(hostRect.height));\n this.badgeElement.style.setProperty('--tng-badge-self-width', toCssPixelLength(badgeRect.width));\n this.badgeElement.style.setProperty('--tng-badge-self-height', toCssPixelLength(badgeRect.height));\n }\n\n private patchBadgeVisualStyles(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const badgeElement = this.badgeElement;\n const toneColors = resolveTngBadgeToneColors(this.tngBadgeTone());\n const sharedStyles = this.resolveSharedStyles(toneColors);\n for (const [property, value] of sharedStyles) {\n this.renderer.setStyle(badgeElement, property, value);\n }\n\n if (this.tngBadgeDot()) {\n this.patchDotStyles();\n return;\n }\n\n this.patchContentStyles();\n }\n\n private patchContentStyles(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n this.renderer.setStyle(this.badgeElement, 'height', 'var(--tng-badge-size, 1.125rem)');\n this.renderer.setStyle(this.badgeElement, 'min-width', 'var(--tng-badge-size, 1.125rem)');\n this.renderer.setStyle(\n this.badgeElement,\n 'padding-inline',\n 'var(--tng-badge-padding-x, 0.3rem)',\n );\n }\n\n private patchDotStyles(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n this.renderer.setStyle(this.badgeElement, 'height', 'var(--tng-badge-dot-size, 0.625rem)');\n this.renderer.setStyle(this.badgeElement, 'min-width', 'var(--tng-badge-dot-size, 0.625rem)');\n this.renderer.setStyle(this.badgeElement, 'padding-inline', '0');\n }\n\n private resolveSharedStyles(\n toneColors: TngBadgeToneColors,\n ): readonly Readonly<[string, string]>[] {\n return [\n ['align-items', 'center'],\n ['background', `var(--tng-badge-bg, ${toneColors.background})`],\n ['border-radius', 'var(--tng-badge-radius, 9999px)'],\n ['box-sizing', 'border-box'],\n ['color', `var(--tng-badge-fg, ${toneColors.foreground})`],\n ['display', 'inline-flex'],\n ['font-size', 'var(--tng-badge-font-size, 0.7rem)'],\n ['font-weight', 'var(--tng-badge-font-weight, 700)'],\n ['justify-content', 'center'],\n ['line-height', '1'],\n ['pointer-events', 'none'],\n ['position', 'absolute'],\n ['white-space', 'nowrap'],\n ['z-index', 'var(--tng-badge-z-index, 1)'],\n ];\n }\n\n private setNullableStyle(property: string, value: string | null): void {\n if (this.badgeElement === null) {\n return;\n }\n\n if (value === null) {\n this.renderer.removeStyle(this.badgeElement, property);\n return;\n }\n\n this.renderer.setStyle(this.badgeElement, property, value);\n }\n\n private beginRuntimePositionTracking(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n const resizeObserverConstructor = resolveResizeObserverConstructor();\n if (resizeObserverConstructor !== null) {\n if (this.resizeObserver === null) {\n this.resizeObserver = new resizeObserverConstructor(() => {\n this.syncRuntimePositioning();\n });\n }\n\n this.resizeObserver.observe(this.hostElement);\n this.resizeObserver.observe(this.badgeElement);\n return;\n }\n\n if (this.removeWindowResizeListener === null) {\n this.removeWindowResizeListener = this.renderer.listen('window', 'resize', () => {\n this.syncRuntimePositioning();\n });\n }\n }\n\n private endRuntimePositionTracking(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n\n if (this.removeWindowResizeListener !== null) {\n this.removeWindowResizeListener();\n this.removeWindowResizeListener = null;\n }\n }\n\n private syncRuntimePositioning(): void {\n if (this.badgeElement === null) {\n return;\n }\n\n this.patchBadgePlacement();\n this.patchBadgeRuntimeMetrics();\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-code-block.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/code-block/tng-code-block.ts"],"names":[],"mappings":";AAEA,qBAKa,YAAY;IAEvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;yCAFzC,YAAY;2CAAZ,YAAY;CAGxB;AAED,qBAKa,kBAAkB;IAE7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,mBAAmB,CAAU;yCAFhD,kBAAkB;2CAAlB,kBAAkB;CAG9B;AAED,qBAKa,gBAAgB;IAE3B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,iBAAiB,CAAU;yCAF9C,gBAAgB;2CAAhB,gBAAgB;CAG5B;AAED,qBAKa,kBAAkB;IAE7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,mBAAmB,CAAU;yCAFhD,kBAAkB;2CAAlB,kBAAkB;CAG9B;AAED,qBAKa,gBAAgB;IAE3B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,iBAAiB,CAAU;yCAF9C,gBAAgB;2CAAhB,gBAAgB;CAG5B"}
1
+ {"version":3,"file":"tng-code-block.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/code-block/tng-code-block.ts"],"names":[],"mappings":";AAEA,qBAIa,YAAY;IAEvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;yCAFzC,YAAY;2CAAZ,YAAY;CAGxB;AAED,qBAIa,kBAAkB;IAE7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,mBAAmB,CAAU;yCAFhD,kBAAkB;2CAAlB,kBAAkB;CAG9B;AAED,qBAIa,gBAAgB;IAE3B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,iBAAiB,CAAU;yCAF9C,gBAAgB;2CAAhB,gBAAgB;CAG5B;AAED,qBAIa,kBAAkB;IAE7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,mBAAmB,CAAU;yCAFhD,kBAAkB;2CAAlB,kBAAkB;CAG9B;AAED,qBAIa,gBAAgB;IAE3B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,iBAAiB,CAAU;yCAF9C,gBAAgB;2CAAhB,gBAAgB;CAG5B"}
@@ -10,7 +10,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
10
10
  args: [{
11
11
  selector: '[tngCodeBlock]',
12
12
  exportAs: 'tngCodeBlock',
13
- standalone: true,
14
13
  }]
15
14
  }], propDecorators: { dataSlot: [{
16
15
  type: HostBinding,
@@ -26,7 +25,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
26
25
  args: [{
27
26
  selector: '[tngCodeBlockHeader]',
28
27
  exportAs: 'tngCodeBlockHeader',
29
- standalone: true,
30
28
  }]
31
29
  }], propDecorators: { dataSlot: [{
32
30
  type: HostBinding,
@@ -42,7 +40,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
42
40
  args: [{
43
41
  selector: '[tngCodeBlockBody]',
44
42
  exportAs: 'tngCodeBlockBody',
45
- standalone: true,
46
43
  }]
47
44
  }], propDecorators: { dataSlot: [{
48
45
  type: HostBinding,
@@ -58,7 +55,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
58
55
  args: [{
59
56
  selector: '[tngCodeBlockGutter]',
60
57
  exportAs: 'tngCodeBlockGutter',
61
- standalone: true,
62
58
  }]
63
59
  }], propDecorators: { dataSlot: [{
64
60
  type: HostBinding,
@@ -74,7 +70,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
74
70
  args: [{
75
71
  selector: '[tngCodeBlockCode]',
76
72
  exportAs: 'tngCodeBlockCode',
77
- standalone: true,
78
73
  }]
79
74
  }], propDecorators: { dataSlot: [{
80
75
  type: HostBinding,
@@ -1 +1 @@
1
- {"version":3,"file":"tng-code-block.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/code-block/tng-code-block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;;AAOvD,MAAM,OAAO,YAAY;IAEJ,QAAQ,GAAG,YAAqB,CAAC;uGAFzC,YAAY;2FAAZ,YAAY;;2FAAZ,YAAY;kBALxB,SAAS;mBAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,QAAQ,EAAE,cAAc;oBACxB,UAAU,EAAE,IAAI;iBACjB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAS/B,MAAM,OAAO,kBAAkB;IAEV,QAAQ,GAAG,mBAA4B,CAAC;uGAFhD,kBAAkB;2FAAlB,kBAAkB;;2FAAlB,kBAAkB;kBAL9B,SAAS;mBAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,oBAAoB;oBAC9B,UAAU,EAAE,IAAI;iBACjB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAS/B,MAAM,OAAO,gBAAgB;IAER,QAAQ,GAAG,iBAA0B,CAAC;uGAF9C,gBAAgB;2FAAhB,gBAAgB;;2FAAhB,gBAAgB;kBAL5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,kBAAkB;oBAC5B,UAAU,EAAE,IAAI;iBACjB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAS/B,MAAM,OAAO,kBAAkB;IAEV,QAAQ,GAAG,mBAA4B,CAAC;uGAFhD,kBAAkB;2FAAlB,kBAAkB;;2FAAlB,kBAAkB;kBAL9B,SAAS;mBAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,oBAAoB;oBAC9B,UAAU,EAAE,IAAI;iBACjB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAS/B,MAAM,OAAO,gBAAgB;IAER,QAAQ,GAAG,iBAA0B,CAAC;uGAF9C,gBAAgB;2FAAhB,gBAAgB;;2FAAhB,gBAAgB;kBAL5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,kBAAkB;oBAC5B,UAAU,EAAE,IAAI;iBACjB;;sBAEE,WAAW;uBAAC,gBAAgB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngCodeBlock]',\n exportAs: 'tngCodeBlock',\n standalone: true,\n})\nexport class TngCodeBlock {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'code-block' as const;\n}\n\n@Directive({\n selector: '[tngCodeBlockHeader]',\n exportAs: 'tngCodeBlockHeader',\n standalone: true,\n})\nexport class TngCodeBlockHeader {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'code-block-header' as const;\n}\n\n@Directive({\n selector: '[tngCodeBlockBody]',\n exportAs: 'tngCodeBlockBody',\n standalone: true,\n})\nexport class TngCodeBlockBody {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'code-block-body' as const;\n}\n\n@Directive({\n selector: '[tngCodeBlockGutter]',\n exportAs: 'tngCodeBlockGutter',\n standalone: true,\n})\nexport class TngCodeBlockGutter {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'code-block-gutter' as const;\n}\n\n@Directive({\n selector: '[tngCodeBlockCode]',\n exportAs: 'tngCodeBlockCode',\n standalone: true,\n})\nexport class TngCodeBlockCode {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'code-block-code' as const;\n}\n"]}
1
+ {"version":3,"file":"tng-code-block.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/code-block/tng-code-block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;;AAMvD,MAAM,OAAO,YAAY;IAEJ,QAAQ,GAAG,YAAqB,CAAC;uGAFzC,YAAY;2FAAZ,YAAY;;2FAAZ,YAAY;kBAJxB,SAAS;mBAAC;oBACT,QAAQ,EAAE,gBAAgB;oBAC1B,QAAQ,EAAE,cAAc;iBACzB;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,kBAAkB;IAEV,QAAQ,GAAG,mBAA4B,CAAC;uGAFhD,kBAAkB;2FAAlB,kBAAkB;;2FAAlB,kBAAkB;kBAJ9B,SAAS;mBAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,oBAAoB;iBAC/B;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,gBAAgB;IAER,QAAQ,GAAG,iBAA0B,CAAC;uGAF9C,gBAAgB;2FAAhB,gBAAgB;;2FAAhB,gBAAgB;kBAJ5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,kBAAkB;iBAC7B;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,kBAAkB;IAEV,QAAQ,GAAG,mBAA4B,CAAC;uGAFhD,kBAAkB;2FAAlB,kBAAkB;;2FAAlB,kBAAkB;kBAJ9B,SAAS;mBAAC;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,QAAQ,EAAE,oBAAoB;iBAC/B;;sBAEE,WAAW;uBAAC,gBAAgB;;AAQ/B,MAAM,OAAO,gBAAgB;IAER,QAAQ,GAAG,iBAA0B,CAAC;uGAF9C,gBAAgB;2FAAhB,gBAAgB;;2FAAhB,gBAAgB;kBAJ5B,SAAS;mBAAC;oBACT,QAAQ,EAAE,oBAAoB;oBAC9B,QAAQ,EAAE,kBAAkB;iBAC7B;;sBAEE,WAAW;uBAAC,gBAAgB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngCodeBlock]',\n exportAs: 'tngCodeBlock',\n})\nexport class TngCodeBlock {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'code-block' as const;\n}\n\n@Directive({\n selector: '[tngCodeBlockHeader]',\n exportAs: 'tngCodeBlockHeader',\n})\nexport class TngCodeBlockHeader {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'code-block-header' as const;\n}\n\n@Directive({\n selector: '[tngCodeBlockBody]',\n exportAs: 'tngCodeBlockBody',\n})\nexport class TngCodeBlockBody {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'code-block-body' as const;\n}\n\n@Directive({\n selector: '[tngCodeBlockGutter]',\n exportAs: 'tngCodeBlockGutter',\n})\nexport class TngCodeBlockGutter {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'code-block-gutter' as const;\n}\n\n@Directive({\n selector: '[tngCodeBlockCode]',\n exportAs: 'tngCodeBlockCode',\n})\nexport class TngCodeBlockCode {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'code-block-code' as const;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tng-copy.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/copy/tng-copy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tng-copy.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/copy/tng-copy.ts"],"names":[],"mappings":"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"}
@@ -545,7 +545,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
545
545
  args: [{
546
546
  selector: '[tngCopy], [tngCopyButton]',
547
547
  exportAs: 'tngCopy',
548
- standalone: true,
549
548
  }]
550
549
  }], ctorParameters: () => [], propDecorators: { tngCopy: [{ type: i0.Output, args: ["tngCopy"] }], tngCopyButtonText: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngCopyButtonText", required: false }] }], tngCopyButtonTarget: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngCopyButtonTarget", required: false }] }], tngCopyButtonFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngCopyButtonFormat", required: false }] }], tngCopyButtonSuccessDurationMs: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngCopyButtonSuccessDurationMs", required: false }] }], tngCopyButtonDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngCopyButtonDisabled", required: false }] }], tngCopyButtonHotkey: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngCopyButtonHotkey", required: false }] }], tngCopyButtonAnnounce: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngCopyButtonAnnounce", required: false }] }], tngCopyButtonSuccessMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngCopyButtonSuccessMessage", required: false }] }], tngCopyButtonErrorMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngCopyButtonErrorMessage", required: false }] }], tngCopyDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngCopyDisabled", required: false }] }], tngCopied: [{ type: i0.Output, args: ["tngCopied"] }], tngCopySuccess: [{ type: i0.Output, args: ["tngCopySuccess"] }], tngCopyError: [{ type: i0.Output, args: ["tngCopyError"] }], tngCopyFrom: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngCopyFrom", required: false }] }], tngCopyIgnoreSelectors: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngCopyIgnoreSelectors", required: false }] }], tngCopyText: [{ type: i0.Input, args: [{ isSignal: true, alias: "tngCopyText", required: false }] }], tngCopyAnnounced: [{ type: i0.Output, args: ["tngCopyAnnounced"] }], dataCopyDisabledAttr: [{
551
550
  type: HostBinding,