@tailng-ui/primitives 0.1.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 (374) hide show
  1. package/README.md +36 -0
  2. package/package.json +13 -0
  3. package/src/index.d.ts +55 -0
  4. package/src/index.d.ts.map +1 -0
  5. package/src/index.js +61 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/feedback/empty/tng-empty.d.ts +16 -0
  8. package/src/lib/feedback/empty/tng-empty.d.ts.map +1 -0
  9. package/src/lib/feedback/empty/tng-empty.js +68 -0
  10. package/src/lib/feedback/empty/tng-empty.js.map +1 -0
  11. package/src/lib/feedback/progress-bar/tng-progress-bar.d.ts +24 -0
  12. package/src/lib/feedback/progress-bar/tng-progress-bar.d.ts.map +1 -0
  13. package/src/lib/feedback/progress-bar/tng-progress-bar.js +100 -0
  14. package/src/lib/feedback/progress-bar/tng-progress-bar.js.map +1 -0
  15. package/src/lib/feedback/progress-spinner/tng-progress-spinner.d.ts +21 -0
  16. package/src/lib/feedback/progress-spinner/tng-progress-spinner.d.ts.map +1 -0
  17. package/src/lib/feedback/progress-spinner/tng-progress-spinner.js +87 -0
  18. package/src/lib/feedback/progress-spinner/tng-progress-spinner.js.map +1 -0
  19. package/src/lib/feedback/skeleton/tng-skeleton.d.ts +11 -0
  20. package/src/lib/feedback/skeleton/tng-skeleton.d.ts.map +1 -0
  21. package/src/lib/feedback/skeleton/tng-skeleton.js +44 -0
  22. package/src/lib/feedback/skeleton/tng-skeleton.js.map +1 -0
  23. package/src/lib/feedback/toast/tng-toast.d.ts +20 -0
  24. package/src/lib/feedback/toast/tng-toast.d.ts.map +1 -0
  25. package/src/lib/feedback/toast/tng-toast.js +79 -0
  26. package/src/lib/feedback/toast/tng-toast.js.map +1 -0
  27. package/src/lib/form/_shared/id/index.d.ts +4 -0
  28. package/src/lib/form/_shared/id/index.d.ts.map +1 -0
  29. package/src/lib/form/_shared/id/index.js +4 -0
  30. package/src/lib/form/_shared/id/index.js.map +1 -0
  31. package/src/lib/form/_shared/id/tng-unique-id.provider.d.ts +11 -0
  32. package/src/lib/form/_shared/id/tng-unique-id.provider.d.ts.map +1 -0
  33. package/src/lib/form/_shared/id/tng-unique-id.provider.js +15 -0
  34. package/src/lib/form/_shared/id/tng-unique-id.provider.js.map +1 -0
  35. package/src/lib/form/_shared/id/tng-unique-id.service.d.ts +9 -0
  36. package/src/lib/form/_shared/id/tng-unique-id.service.d.ts.map +1 -0
  37. package/src/lib/form/_shared/id/tng-unique-id.service.js +18 -0
  38. package/src/lib/form/_shared/id/tng-unique-id.service.js.map +1 -0
  39. package/src/lib/form/_shared/id/tng-unique-id.token.d.ts +8 -0
  40. package/src/lib/form/_shared/id/tng-unique-id.token.d.ts.map +1 -0
  41. package/src/lib/form/_shared/id/tng-unique-id.token.js +13 -0
  42. package/src/lib/form/_shared/id/tng-unique-id.token.js.map +1 -0
  43. package/src/lib/form/_shared/select/tng-select.host-api.d.ts +28 -0
  44. package/src/lib/form/_shared/select/tng-select.host-api.d.ts.map +1 -0
  45. package/src/lib/form/_shared/select/tng-select.host-api.js +1 -0
  46. package/src/lib/form/_shared/select/tng-select.host-api.js.map +1 -0
  47. package/src/lib/form/_shared/select/tng-select.overlay.shared.d.ts +38 -0
  48. package/src/lib/form/_shared/select/tng-select.overlay.shared.d.ts.map +1 -0
  49. package/src/lib/form/_shared/select/tng-select.overlay.shared.js +226 -0
  50. package/src/lib/form/_shared/select/tng-select.overlay.shared.js.map +1 -0
  51. package/src/lib/form/_shared/select/tng-select.parts.shared.d.ts +35 -0
  52. package/src/lib/form/_shared/select/tng-select.parts.shared.d.ts.map +1 -0
  53. package/src/lib/form/_shared/select/tng-select.parts.shared.js +199 -0
  54. package/src/lib/form/_shared/select/tng-select.parts.shared.js.map +1 -0
  55. package/src/lib/form/_shared/select/tng-select.tokens.shared.d.ts +8 -0
  56. package/src/lib/form/_shared/select/tng-select.tokens.shared.d.ts.map +1 -0
  57. package/src/lib/form/_shared/select/tng-select.tokens.shared.js +7 -0
  58. package/src/lib/form/_shared/select/tng-select.tokens.shared.js.map +1 -0
  59. package/src/lib/form/autocomplete/index.d.ts +7 -0
  60. package/src/lib/form/autocomplete/index.d.ts.map +1 -0
  61. package/src/lib/form/autocomplete/index.js +6 -0
  62. package/src/lib/form/autocomplete/index.js.map +1 -0
  63. package/src/lib/form/autocomplete/tng-autocomplete.d.ts +52 -0
  64. package/src/lib/form/autocomplete/tng-autocomplete.d.ts.map +1 -0
  65. package/src/lib/form/autocomplete/tng-autocomplete.js +95 -0
  66. package/src/lib/form/autocomplete/tng-autocomplete.js.map +1 -0
  67. package/src/lib/form/autocomplete/tng-autocomplete.listbox.d.ts +19 -0
  68. package/src/lib/form/autocomplete/tng-autocomplete.listbox.d.ts.map +1 -0
  69. package/src/lib/form/autocomplete/tng-autocomplete.listbox.js +123 -0
  70. package/src/lib/form/autocomplete/tng-autocomplete.listbox.js.map +1 -0
  71. package/src/lib/form/autocomplete/tng-autocomplete.listbox.tokens.d.ts +4 -0
  72. package/src/lib/form/autocomplete/tng-autocomplete.listbox.tokens.d.ts.map +1 -0
  73. package/src/lib/form/autocomplete/tng-autocomplete.listbox.tokens.js +3 -0
  74. package/src/lib/form/autocomplete/tng-autocomplete.listbox.tokens.js.map +1 -0
  75. package/src/lib/form/autocomplete/tng-autocomplete.listbox.types.d.ts +4 -0
  76. package/src/lib/form/autocomplete/tng-autocomplete.listbox.types.d.ts.map +1 -0
  77. package/src/lib/form/autocomplete/tng-autocomplete.listbox.types.js +1 -0
  78. package/src/lib/form/autocomplete/tng-autocomplete.listbox.types.js.map +1 -0
  79. package/src/lib/form/autocomplete/tng-autocomplete.overlay.d.ts +40 -0
  80. package/src/lib/form/autocomplete/tng-autocomplete.overlay.d.ts.map +1 -0
  81. package/src/lib/form/autocomplete/tng-autocomplete.overlay.js +236 -0
  82. package/src/lib/form/autocomplete/tng-autocomplete.overlay.js.map +1 -0
  83. package/src/lib/form/autocomplete/tng-autocomplete.parts.d.ts +38 -0
  84. package/src/lib/form/autocomplete/tng-autocomplete.parts.d.ts.map +1 -0
  85. package/src/lib/form/autocomplete/tng-autocomplete.parts.js +252 -0
  86. package/src/lib/form/autocomplete/tng-autocomplete.parts.js.map +1 -0
  87. package/src/lib/form/autocomplete/tng-autocomplete.tokens.d.ts +4 -0
  88. package/src/lib/form/autocomplete/tng-autocomplete.tokens.d.ts.map +1 -0
  89. package/src/lib/form/autocomplete/tng-autocomplete.tokens.js +3 -0
  90. package/src/lib/form/autocomplete/tng-autocomplete.tokens.js.map +1 -0
  91. package/src/lib/form/button-toggle/tng-button-toggle.d.ts +164 -0
  92. package/src/lib/form/button-toggle/tng-button-toggle.d.ts.map +1 -0
  93. package/src/lib/form/button-toggle/tng-button-toggle.js +1097 -0
  94. package/src/lib/form/button-toggle/tng-button-toggle.js.map +1 -0
  95. package/src/lib/form/checkbox/tng-checkbox.d.ts +48 -0
  96. package/src/lib/form/checkbox/tng-checkbox.d.ts.map +1 -0
  97. package/src/lib/form/checkbox/tng-checkbox.js +234 -0
  98. package/src/lib/form/checkbox/tng-checkbox.js.map +1 -0
  99. package/src/lib/form/chips/tng-chips.d.ts +4 -0
  100. package/src/lib/form/chips/tng-chips.d.ts.map +1 -0
  101. package/src/lib/form/chips/tng-chips.js +16 -0
  102. package/src/lib/form/chips/tng-chips.js.map +1 -0
  103. package/src/lib/form/combobox/tng-combobox.d.ts +4 -0
  104. package/src/lib/form/combobox/tng-combobox.d.ts.map +1 -0
  105. package/src/lib/form/combobox/tng-combobox.js +16 -0
  106. package/src/lib/form/combobox/tng-combobox.js.map +1 -0
  107. package/src/lib/form/input/tng-input.d.ts +87 -0
  108. package/src/lib/form/input/tng-input.d.ts.map +1 -0
  109. package/src/lib/form/input/tng-input.js +393 -0
  110. package/src/lib/form/input/tng-input.js.map +1 -0
  111. package/src/lib/form/input-otp/tng-input-otp.d.ts +7 -0
  112. package/src/lib/form/input-otp/tng-input-otp.d.ts.map +1 -0
  113. package/src/lib/form/input-otp/tng-input-otp.js +33 -0
  114. package/src/lib/form/input-otp/tng-input-otp.js.map +1 -0
  115. package/src/lib/form/label/tng-label.d.ts +6 -0
  116. package/src/lib/form/label/tng-label.d.ts.map +1 -0
  117. package/src/lib/form/label/tng-label.js +25 -0
  118. package/src/lib/form/label/tng-label.js.map +1 -0
  119. package/src/lib/form/listbox/listbox.directive.d.ts +51 -0
  120. package/src/lib/form/listbox/listbox.directive.d.ts.map +1 -0
  121. package/src/lib/form/listbox/listbox.directive.js +439 -0
  122. package/src/lib/form/listbox/listbox.directive.js.map +1 -0
  123. package/src/lib/form/listbox/option.directive.d.ts +22 -0
  124. package/src/lib/form/listbox/option.directive.d.ts.map +1 -0
  125. package/src/lib/form/listbox/option.directive.js +109 -0
  126. package/src/lib/form/listbox/option.directive.js.map +1 -0
  127. package/src/lib/form/listbox/tokens.d.ts +14 -0
  128. package/src/lib/form/listbox/tokens.d.ts.map +1 -0
  129. package/src/lib/form/listbox/tokens.js +13 -0
  130. package/src/lib/form/listbox/tokens.js.map +1 -0
  131. package/src/lib/form/multi-autocomplete/index.d.ts +10 -0
  132. package/src/lib/form/multi-autocomplete/index.d.ts.map +1 -0
  133. package/src/lib/form/multi-autocomplete/index.js +10 -0
  134. package/src/lib/form/multi-autocomplete/index.js.map +1 -0
  135. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.d.ts +11 -0
  136. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.d.ts.map +1 -0
  137. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.js +98 -0
  138. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.chip.js.map +1 -0
  139. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.d.ts +10 -0
  140. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.d.ts.map +1 -0
  141. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.js +45 -0
  142. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.content.js.map +1 -0
  143. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.d.ts +43 -0
  144. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.d.ts.map +1 -0
  145. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.js +150 -0
  146. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.js.map +1 -0
  147. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.d.ts +20 -0
  148. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.d.ts.map +1 -0
  149. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.js +138 -0
  150. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.js.map +1 -0
  151. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.tokens.d.ts +4 -0
  152. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.tokens.d.ts.map +1 -0
  153. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.tokens.js +3 -0
  154. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.tokens.js.map +1 -0
  155. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.types.d.ts +18 -0
  156. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.types.d.ts.map +1 -0
  157. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.types.js +2 -0
  158. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.listbox.types.js.map +1 -0
  159. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.d.ts +4 -0
  160. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.d.ts.map +1 -0
  161. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.js +17 -0
  162. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.overlay.js.map +1 -0
  163. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.tokens.d.ts +4 -0
  164. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.tokens.d.ts.map +1 -0
  165. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.tokens.js +3 -0
  166. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.tokens.js.map +1 -0
  167. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.d.ts +21 -0
  168. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.d.ts.map +1 -0
  169. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js +241 -0
  170. package/src/lib/form/multi-autocomplete/tng-multi-autocomplete.trigger.js.map +1 -0
  171. package/src/lib/form/multi-select/index.d.ts +7 -0
  172. package/src/lib/form/multi-select/index.d.ts.map +1 -0
  173. package/src/lib/form/multi-select/index.js +6 -0
  174. package/src/lib/form/multi-select/index.js.map +1 -0
  175. package/src/lib/form/multi-select/tng-multi-select.d.ts +45 -0
  176. package/src/lib/form/multi-select/tng-multi-select.d.ts.map +1 -0
  177. package/src/lib/form/multi-select/tng-multi-select.js +136 -0
  178. package/src/lib/form/multi-select/tng-multi-select.js.map +1 -0
  179. package/src/lib/form/multi-select/tng-multi-select.listbox.d.ts +21 -0
  180. package/src/lib/form/multi-select/tng-multi-select.listbox.d.ts.map +1 -0
  181. package/src/lib/form/multi-select/tng-multi-select.listbox.js +107 -0
  182. package/src/lib/form/multi-select/tng-multi-select.listbox.js.map +1 -0
  183. package/src/lib/form/multi-select/tng-multi-select.listbox.tokens.d.ts +3 -0
  184. package/src/lib/form/multi-select/tng-multi-select.listbox.tokens.d.ts.map +1 -0
  185. package/src/lib/form/multi-select/tng-multi-select.listbox.tokens.js +3 -0
  186. package/src/lib/form/multi-select/tng-multi-select.listbox.tokens.js.map +1 -0
  187. package/src/lib/form/multi-select/tng-multi-select.listbox.types.d.ts +3 -0
  188. package/src/lib/form/multi-select/tng-multi-select.listbox.types.d.ts.map +1 -0
  189. package/src/lib/form/multi-select/tng-multi-select.listbox.types.js +1 -0
  190. package/src/lib/form/multi-select/tng-multi-select.listbox.types.js.map +1 -0
  191. package/src/lib/form/multi-select/tng-multi-select.overlay.d.ts +5 -0
  192. package/src/lib/form/multi-select/tng-multi-select.overlay.d.ts.map +1 -0
  193. package/src/lib/form/multi-select/tng-multi-select.overlay.js +5 -0
  194. package/src/lib/form/multi-select/tng-multi-select.overlay.js.map +1 -0
  195. package/src/lib/form/multi-select/tng-multi-select.parts.d.ts +5 -0
  196. package/src/lib/form/multi-select/tng-multi-select.parts.d.ts.map +1 -0
  197. package/src/lib/form/multi-select/tng-multi-select.parts.js +5 -0
  198. package/src/lib/form/multi-select/tng-multi-select.parts.js.map +1 -0
  199. package/src/lib/form/multi-select/tng-multi-select.tokens.d.ts +4 -0
  200. package/src/lib/form/multi-select/tng-multi-select.tokens.d.ts.map +1 -0
  201. package/src/lib/form/multi-select/tng-multi-select.tokens.js +3 -0
  202. package/src/lib/form/multi-select/tng-multi-select.tokens.js.map +1 -0
  203. package/src/lib/form/multiselect/tng-multiselect.d.ts +4 -0
  204. package/src/lib/form/multiselect/tng-multiselect.d.ts.map +1 -0
  205. package/src/lib/form/multiselect/tng-multiselect.js +16 -0
  206. package/src/lib/form/multiselect/tng-multiselect.js.map +1 -0
  207. package/src/lib/form/radio/tng-radio.d.ts +20 -0
  208. package/src/lib/form/radio/tng-radio.d.ts.map +1 -0
  209. package/src/lib/form/radio/tng-radio.js +86 -0
  210. package/src/lib/form/radio/tng-radio.js.map +1 -0
  211. package/src/lib/form/select/tng-select.d.ts +38 -0
  212. package/src/lib/form/select/tng-select.d.ts.map +1 -0
  213. package/src/lib/form/select/tng-select.js +106 -0
  214. package/src/lib/form/select/tng-select.js.map +1 -0
  215. package/src/lib/form/select/tng-select.listbox.d.ts +20 -0
  216. package/src/lib/form/select/tng-select.listbox.d.ts.map +1 -0
  217. package/src/lib/form/select/tng-select.listbox.js +123 -0
  218. package/src/lib/form/select/tng-select.listbox.js.map +1 -0
  219. package/src/lib/form/select/tng-select.listbox.tokens.d.ts +3 -0
  220. package/src/lib/form/select/tng-select.listbox.tokens.d.ts.map +1 -0
  221. package/src/lib/form/select/tng-select.listbox.tokens.js +3 -0
  222. package/src/lib/form/select/tng-select.listbox.tokens.js.map +1 -0
  223. package/src/lib/form/select/tng-select.listbox.types.d.ts +4 -0
  224. package/src/lib/form/select/tng-select.listbox.types.d.ts.map +1 -0
  225. package/src/lib/form/select/tng-select.listbox.types.js +1 -0
  226. package/src/lib/form/select/tng-select.listbox.types.js.map +1 -0
  227. package/src/lib/form/select/tng-select.overlay.d.ts +5 -0
  228. package/src/lib/form/select/tng-select.overlay.d.ts.map +1 -0
  229. package/src/lib/form/select/tng-select.overlay.js +5 -0
  230. package/src/lib/form/select/tng-select.overlay.js.map +1 -0
  231. package/src/lib/form/select/tng-select.parts.d.ts +5 -0
  232. package/src/lib/form/select/tng-select.parts.d.ts.map +1 -0
  233. package/src/lib/form/select/tng-select.parts.js +5 -0
  234. package/src/lib/form/select/tng-select.parts.js.map +1 -0
  235. package/src/lib/form/select/tng-select.tokens.d.ts +4 -0
  236. package/src/lib/form/select/tng-select.tokens.d.ts.map +1 -0
  237. package/src/lib/form/select/tng-select.tokens.js +3 -0
  238. package/src/lib/form/select/tng-select.tokens.js.map +1 -0
  239. package/src/lib/form/slider/tng-slider.d.ts +19 -0
  240. package/src/lib/form/slider/tng-slider.d.ts.map +1 -0
  241. package/src/lib/form/slider/tng-slider.js +84 -0
  242. package/src/lib/form/slider/tng-slider.js.map +1 -0
  243. package/src/lib/form/switch/tng-switch.d.ts +19 -0
  244. package/src/lib/form/switch/tng-switch.d.ts.map +1 -0
  245. package/src/lib/form/switch/tng-switch.js +79 -0
  246. package/src/lib/form/switch/tng-switch.js.map +1 -0
  247. package/src/lib/form/textarea/tng-textarea.d.ts +23 -0
  248. package/src/lib/form/textarea/tng-textarea.d.ts.map +1 -0
  249. package/src/lib/form/textarea/tng-textarea.js +119 -0
  250. package/src/lib/form/textarea/tng-textarea.js.map +1 -0
  251. package/src/lib/form/toggle/tng-toggle.d.ts +44 -0
  252. package/src/lib/form/toggle/tng-toggle.d.ts.map +1 -0
  253. package/src/lib/form/toggle/tng-toggle.js +203 -0
  254. package/src/lib/form/toggle/tng-toggle.js.map +1 -0
  255. package/src/lib/form/toggle-group/tng-toggle-group.d.ts +35 -0
  256. package/src/lib/form/toggle-group/tng-toggle-group.d.ts.map +1 -0
  257. package/src/lib/form/toggle-group/tng-toggle-group.js +156 -0
  258. package/src/lib/form/toggle-group/tng-toggle-group.js.map +1 -0
  259. package/src/lib/internal/combobox/combobox.active.d.ts +17 -0
  260. package/src/lib/internal/combobox/combobox.active.d.ts.map +1 -0
  261. package/src/lib/internal/combobox/combobox.active.js +19 -0
  262. package/src/lib/internal/combobox/combobox.active.js.map +1 -0
  263. package/src/lib/internal/combobox/combobox.commit.d.ts +20 -0
  264. package/src/lib/internal/combobox/combobox.commit.d.ts.map +1 -0
  265. package/src/lib/internal/combobox/combobox.commit.js +34 -0
  266. package/src/lib/internal/combobox/combobox.commit.js.map +1 -0
  267. package/src/lib/internal/combobox/combobox.keyboard.d.ts +39 -0
  268. package/src/lib/internal/combobox/combobox.keyboard.d.ts.map +1 -0
  269. package/src/lib/internal/combobox/combobox.keyboard.js +88 -0
  270. package/src/lib/internal/combobox/combobox.keyboard.js.map +1 -0
  271. package/src/lib/internal/combobox/combobox.listbox-api.d.ts +19 -0
  272. package/src/lib/internal/combobox/combobox.listbox-api.d.ts.map +1 -0
  273. package/src/lib/internal/combobox/combobox.listbox-api.js +5 -0
  274. package/src/lib/internal/combobox/combobox.listbox-api.js.map +1 -0
  275. package/src/lib/internal/combobox/index.d.ts +5 -0
  276. package/src/lib/internal/combobox/index.d.ts.map +1 -0
  277. package/src/lib/internal/combobox/index.js +4 -0
  278. package/src/lib/internal/combobox/index.js.map +1 -0
  279. package/src/lib/layout/accordion/tng-accordion.d.ts +150 -0
  280. package/src/lib/layout/accordion/tng-accordion.d.ts.map +1 -0
  281. package/src/lib/layout/accordion/tng-accordion.js +852 -0
  282. package/src/lib/layout/accordion/tng-accordion.js.map +1 -0
  283. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.d.ts +4 -0
  284. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.d.ts.map +1 -0
  285. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js +16 -0
  286. package/src/lib/layout/bottom-sheet/tng-bottom-sheet.js.map +1 -0
  287. package/src/lib/layout/card/tng-card.d.ts +31 -0
  288. package/src/lib/layout/card/tng-card.d.ts.map +1 -0
  289. package/src/lib/layout/card/tng-card.js +133 -0
  290. package/src/lib/layout/card/tng-card.js.map +1 -0
  291. package/src/lib/layout/collapsible/tng-collapsible.d.ts +28 -0
  292. package/src/lib/layout/collapsible/tng-collapsible.d.ts.map +1 -0
  293. package/src/lib/layout/collapsible/tng-collapsible.js +123 -0
  294. package/src/lib/layout/collapsible/tng-collapsible.js.map +1 -0
  295. package/src/lib/layout/drawer/tng-drawer.d.ts +177 -0
  296. package/src/lib/layout/drawer/tng-drawer.d.ts.map +1 -0
  297. package/src/lib/layout/drawer/tng-drawer.js +1147 -0
  298. package/src/lib/layout/drawer/tng-drawer.js.map +1 -0
  299. package/src/lib/layout/grid/tng-grid.d.ts +4 -0
  300. package/src/lib/layout/grid/tng-grid.d.ts.map +1 -0
  301. package/src/lib/layout/grid/tng-grid.js +16 -0
  302. package/src/lib/layout/grid/tng-grid.js.map +1 -0
  303. package/src/lib/layout/separator/tng-separator.d.ts +11 -0
  304. package/src/lib/layout/separator/tng-separator.d.ts.map +1 -0
  305. package/src/lib/layout/separator/tng-separator.js +47 -0
  306. package/src/lib/layout/separator/tng-separator.js.map +1 -0
  307. package/src/lib/layout/stepper/tng-stepper.d.ts +4 -0
  308. package/src/lib/layout/stepper/tng-stepper.d.ts.map +1 -0
  309. package/src/lib/layout/stepper/tng-stepper.js +16 -0
  310. package/src/lib/layout/stepper/tng-stepper.js.map +1 -0
  311. package/src/lib/layout/tree/tng-tree.d.ts +4 -0
  312. package/src/lib/layout/tree/tng-tree.d.ts.map +1 -0
  313. package/src/lib/layout/tree/tng-tree.js +16 -0
  314. package/src/lib/layout/tree/tng-tree.js.map +1 -0
  315. package/src/lib/navigation/breadcrumb/tng-breadcrumb.d.ts +17 -0
  316. package/src/lib/navigation/breadcrumb/tng-breadcrumb.d.ts.map +1 -0
  317. package/src/lib/navigation/breadcrumb/tng-breadcrumb.js +72 -0
  318. package/src/lib/navigation/breadcrumb/tng-breadcrumb.js.map +1 -0
  319. package/src/lib/navigation/context-menu/tng-context-menu.d.ts +36 -0
  320. package/src/lib/navigation/context-menu/tng-context-menu.d.ts.map +1 -0
  321. package/src/lib/navigation/context-menu/tng-context-menu.js +159 -0
  322. package/src/lib/navigation/context-menu/tng-context-menu.js.map +1 -0
  323. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.d.ts +4 -0
  324. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.d.ts.map +1 -0
  325. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js +16 -0
  326. package/src/lib/navigation/dropdown-menu/tng-dropdown-menu.js.map +1 -0
  327. package/src/lib/navigation/menu/tng-menu.d.ts +173 -0
  328. package/src/lib/navigation/menu/tng-menu.d.ts.map +1 -0
  329. package/src/lib/navigation/menu/tng-menu.js +1026 -0
  330. package/src/lib/navigation/menu/tng-menu.js.map +1 -0
  331. package/src/lib/navigation/menubar/tng-menubar.d.ts +64 -0
  332. package/src/lib/navigation/menubar/tng-menubar.d.ts.map +1 -0
  333. package/src/lib/navigation/menubar/tng-menubar.js +478 -0
  334. package/src/lib/navigation/menubar/tng-menubar.js.map +1 -0
  335. package/src/lib/navigation/navigation-menu/tng-navigation-menu.d.ts +4 -0
  336. package/src/lib/navigation/navigation-menu/tng-navigation-menu.d.ts.map +1 -0
  337. package/src/lib/navigation/navigation-menu/tng-navigation-menu.js +16 -0
  338. package/src/lib/navigation/navigation-menu/tng-navigation-menu.js.map +1 -0
  339. package/src/lib/navigation/tabs/tng-tabs.d.ts +234 -0
  340. package/src/lib/navigation/tabs/tng-tabs.d.ts.map +1 -0
  341. package/src/lib/navigation/tabs/tng-tabs.js +1350 -0
  342. package/src/lib/navigation/tabs/tng-tabs.js.map +1 -0
  343. package/src/lib/navigation/toolbar/tng-toolbar.d.ts +4 -0
  344. package/src/lib/navigation/toolbar/tng-toolbar.d.ts.map +1 -0
  345. package/src/lib/navigation/toolbar/tng-toolbar.js +16 -0
  346. package/src/lib/navigation/toolbar/tng-toolbar.js.map +1 -0
  347. package/src/lib/overlay/tooltip/tng-tooltip.d.ts +25 -0
  348. package/src/lib/overlay/tooltip/tng-tooltip.d.ts.map +1 -0
  349. package/src/lib/overlay/tooltip/tng-tooltip.js +99 -0
  350. package/src/lib/overlay/tooltip/tng-tooltip.js.map +1 -0
  351. package/src/lib/utility/avatar/tng-avatar.d.ts +10 -0
  352. package/src/lib/utility/avatar/tng-avatar.d.ts.map +1 -0
  353. package/src/lib/utility/avatar/tng-avatar.js +42 -0
  354. package/src/lib/utility/avatar/tng-avatar.js.map +1 -0
  355. package/src/lib/utility/badge/tng-badge.d.ts +63 -0
  356. package/src/lib/utility/badge/tng-badge.d.ts.map +1 -0
  357. package/src/lib/utility/badge/tng-badge.js +345 -0
  358. package/src/lib/utility/badge/tng-badge.js.map +1 -0
  359. package/src/lib/utility/code-block/tng-code-block.d.ts +16 -0
  360. package/src/lib/utility/code-block/tng-code-block.d.ts.map +1 -0
  361. package/src/lib/utility/code-block/tng-code-block.js +68 -0
  362. package/src/lib/utility/code-block/tng-code-block.js.map +1 -0
  363. package/src/lib/utility/copy/tng-copy.d.ts +75 -0
  364. package/src/lib/utility/copy/tng-copy.d.ts.map +1 -0
  365. package/src/lib/utility/copy/tng-copy.js +544 -0
  366. package/src/lib/utility/copy/tng-copy.js.map +1 -0
  367. package/src/lib/utility/press/tng-press.d.ts +33 -0
  368. package/src/lib/utility/press/tng-press.d.ts.map +1 -0
  369. package/src/lib/utility/press/tng-press.js +207 -0
  370. package/src/lib/utility/press/tng-press.js.map +1 -0
  371. package/src/lib/utility/tag/tng-tag.d.ts +4 -0
  372. package/src/lib/utility/tag/tng-tag.d.ts.map +1 -0
  373. package/src/lib/utility/tag/tng-tag.js +16 -0
  374. package/src/lib/utility/tag/tng-tag.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-tabs.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/navigation/tabs/tng-tabs.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n input,\n output,\n} from '@angular/core';\nimport { createTngIdFactory } from '@tailng-ui/cdk';\n\ntype TngTabsDirection = 'ltr' | 'rtl' | 'auto';\ntype TngTabsOrientation = 'horizontal' | 'vertical';\ntype TngTabsActivationMode = 'auto' | 'manual';\ntype TngTabsScrollButtonsMode = 'auto' | 'off' | 'on';\ntype TngTabsFocusMove = 'next' | 'prev' | 'first' | 'last';\ntype TngTabsFocusTrigger = 'pointer' | 'keyboard' | 'programmatic';\ntype TngTabsSelectionTrigger = 'pointer' | 'keyboard' | 'programmatic';\n\nexport type TngTabsValue = string | number;\n\nexport type TngTabChangeEvent = Readonly<{\n value: TngTabsValue;\n previousValue: TngTabsValue | null;\n trigger: TngTabsSelectionTrigger;\n}>;\n\nexport type TngTabsFocusChangeEvent = Readonly<{\n value: TngTabsValue;\n previousValue: TngTabsValue | null;\n trigger: TngTabsFocusTrigger;\n}>;\n\nconst createTabId = createTngIdFactory('tng-tab');\nconst createPanelId = createTngIdFactory('tng-tab-panel');\nlet nextRegistrationOrder = 0;\n\nfunction normalizeBooleanInput(value: unknown): boolean {\n if (typeof value === 'boolean') {\n return value;\n }\n\n if (typeof value === 'string') {\n const normalized = value.trim().toLowerCase();\n if (normalized === '' || normalized === 'true') {\n return true;\n }\n\n if (normalized === 'false') {\n return false;\n }\n }\n\n return false;\n}\n\nfunction normalizeOptionalBooleanInput(value: unknown): boolean | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n return normalizeBooleanInput(value);\n}\n\nfunction normalizeDirectionInput(value: unknown): TngTabsDirection {\n if (value === 'ltr' || value === 'rtl' || value === 'auto') {\n return value;\n }\n\n return 'auto';\n}\n\nfunction normalizeOrientationInput(value: unknown): TngTabsOrientation {\n return value === 'vertical' ? 'vertical' : 'horizontal';\n}\n\nfunction normalizeActivationInput(value: unknown): TngTabsActivationMode {\n return value === 'manual' ? 'manual' : 'auto';\n}\n\nfunction normalizeScrollButtonsInput(value: unknown): TngTabsScrollButtonsMode {\n if (value === 'auto' || value === 'on' || value === 'off') {\n return value;\n }\n\n if (value === '' || value === true || value === 'true') {\n return 'auto';\n }\n\n return 'off';\n}\n\nfunction normalizeOptionalValueInput(value: unknown): TngTabsValue | null | undefined {\n if (value === undefined) {\n return undefined;\n }\n\n if (value === null) {\n return null;\n }\n\n if (typeof value === 'number' || typeof value === 'string') {\n return value;\n }\n\n return String(value);\n}\n\nfunction normalizeOptionalStringInput(value: unknown): string | null | undefined {\n if (value === undefined) {\n return undefined;\n }\n\n if (value === null) {\n return null;\n }\n\n return String(value);\n}\n\nfunction valuesEqual(a: TngTabsValue | null, b: TngTabsValue | null): boolean {\n return a === b;\n}\n\nfunction compareByDomPosition(\n aElement: HTMLElement,\n bElement: HTMLElement,\n aOrder: number,\n bOrder: number,\n): number {\n if (aElement === bElement) {\n return 0;\n }\n\n const relativePosition = aElement.compareDocumentPosition(bElement);\n if (relativePosition & Node.DOCUMENT_POSITION_FOLLOWING) {\n return -1;\n }\n\n if (relativePosition & Node.DOCUMENT_POSITION_PRECEDING) {\n return 1;\n }\n\n return aOrder - bOrder;\n}\n\nfunction isFocusableInteractiveElement(element: Element): boolean {\n return (\n element.matches('a[href]') ||\n element.matches('button') ||\n element.matches('input') ||\n element.matches('select') ||\n element.matches('textarea') ||\n element.matches('[tabindex]') ||\n element.matches('[contenteditable=\"true\"]')\n );\n}\n\n@Directive({\n selector: '[tngTabs]',\n exportAs: 'tngTabs',\n standalone: true,\n})\nexport class TngTabs {\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly tabs = new Set<TngTab>();\n private readonly panels = new Set<TngTabPanel>();\n private tabList: TngTabList | null = null;\n private scrollPrevControl: TngTabsScrollButtonPrev | null = null;\n private scrollNextControl: TngTabsScrollButtonNext | null = null;\n private uncontrolledValue: TngTabsValue | null = null;\n private focusedValue: TngTabsValue | null = null;\n private hasUserSelection = false;\n private initialized = false;\n\n readonly value = input<TngTabsValue | null | undefined, unknown>(undefined, {\n transform: normalizeOptionalValueInput,\n });\n readonly defaultValue = input<TngTabsValue | null | undefined, unknown>(undefined, {\n transform: normalizeOptionalValueInput,\n });\n readonly activation = input<TngTabsActivationMode, unknown>('auto', {\n transform: normalizeActivationInput,\n });\n readonly orientation = input<TngTabsOrientation, unknown>('horizontal', {\n transform: normalizeOrientationInput,\n });\n readonly scrollButtons = input<TngTabsScrollButtonsMode, unknown>('off', {\n transform: normalizeScrollButtonsInput,\n });\n readonly loop = input<boolean, unknown>(true, {\n transform: normalizeBooleanInput,\n });\n readonly dir = input<TngTabsDirection, unknown>('auto', {\n transform: normalizeDirectionInput,\n });\n readonly disabled = input<boolean, unknown>(false, {\n transform: normalizeBooleanInput,\n });\n readonly lazy = input<boolean | undefined, unknown>(undefined, {\n transform: normalizeOptionalBooleanInput,\n });\n readonly keepAlive = input<boolean | undefined, unknown>(undefined, {\n transform: normalizeOptionalBooleanInput,\n });\n\n readonly valueChange = output<TngTabsValue | null>();\n readonly tabChange = output<TngTabChangeEvent>();\n readonly focusChange = output<TngTabsFocusChangeEvent>();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'tabs' as const;\n\n @HostBinding('attr.data-orientation')\n protected get dataOrientation(): TngTabsOrientation {\n return this.orientation();\n }\n\n @HostBinding('attr.data-activation')\n protected get dataActivation(): TngTabsActivationMode {\n return this.activation();\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabled(): 'true' | 'false' {\n return this.disabled() ? 'true' : 'false';\n }\n\n ngDoCheck(): void {\n this.syncStateFromRegistry();\n }\n\n isDisabled(): boolean {\n return this.disabled();\n }\n\n isKeepAliveEnabled(): boolean {\n return this.keepAlive() ?? true;\n }\n\n isLazyEnabled(): boolean {\n return this.lazy() ?? false;\n }\n\n select(value: TngTabsValue): void {\n const targetTab = this.findEnabledTabByValue(value);\n if (targetTab === null) {\n return;\n }\n\n this.requestSelection(targetTab, 'programmatic');\n }\n\n focus(value: TngTabsValue): void {\n const targetTab = this.findEnabledTabByValue(value);\n if (targetTab === null) {\n return;\n }\n\n this.moveFocusToTab(targetTab, 'programmatic');\n if (this.activation() === 'auto') {\n this.requestSelection(targetTab, 'programmatic');\n }\n }\n\n next(): void {\n this.moveFocusFromCurrentTab('next', 'programmatic');\n }\n\n prev(): void {\n this.moveFocusFromCurrentTab('prev', 'programmatic');\n }\n\n registerTab(tab: TngTab): void {\n this.tabs.add(tab);\n }\n\n unregisterTab(tab: TngTab): void {\n const orderedTabs = this.getOrderedTabs();\n const removedIndex = orderedTabs.indexOf(tab);\n const removedValue = tab.getValue();\n const selectedValue = this.getEffectiveSelectedValue();\n const focusedValue = this.resolveCurrentTabStopValue();\n\n this.tabs.delete(tab);\n\n if (selectedValue !== null && valuesEqual(selectedValue, removedValue)) {\n const nextSelectedValue = this.resolveNeighborValueOnRemoval(orderedTabs, removedIndex);\n this.applyLifecycleSelection(nextSelectedValue);\n }\n\n if (focusedValue !== null && valuesEqual(focusedValue, removedValue)) {\n const nextFocusedValue = this.resolveNeighborValueOnRemoval(orderedTabs, removedIndex);\n this.focusedValue = nextFocusedValue;\n }\n\n this.syncStateFromRegistry();\n }\n\n notifyTabMutated(tab: TngTab): void {\n const selectedValue = this.getEffectiveSelectedValue();\n if (selectedValue !== null && valuesEqual(selectedValue, tab.getValue()) && tab.isDisabledInContext()) {\n const replacement = this.resolveNeighborForDisabledTab(tab);\n this.applyLifecycleSelection(replacement);\n }\n\n const focusedValue = this.resolveCurrentTabStopValue();\n if (focusedValue !== null && valuesEqual(focusedValue, tab.getValue()) && tab.isDisabledInContext()) {\n this.focusedValue = this.resolveNeighborForDisabledTab(tab);\n }\n\n this.syncStateFromRegistry();\n }\n\n registerPanel(panel: TngTabPanel): void {\n this.panels.add(panel);\n }\n\n unregisterPanel(panel: TngTabPanel): void {\n this.panels.delete(panel);\n this.syncStateFromRegistry();\n }\n\n notifyPanelMutated(): void {\n this.syncStateFromRegistry();\n }\n\n registerScrollPrevControl(control: TngTabsScrollButtonPrev): void {\n this.scrollPrevControl = control;\n }\n\n unregisterScrollPrevControl(control: TngTabsScrollButtonPrev): void {\n if (this.scrollPrevControl === control) {\n this.scrollPrevControl = null;\n }\n }\n\n registerScrollNextControl(control: TngTabsScrollButtonNext): void {\n this.scrollNextControl = control;\n }\n\n unregisterScrollNextControl(control: TngTabsScrollButtonNext): void {\n if (this.scrollNextControl === control) {\n this.scrollNextControl = null;\n }\n }\n\n registerTabList(tabList: TngTabList): void {\n this.tabList = tabList;\n }\n\n unregisterTabList(tabList: TngTabList): void {\n if (this.tabList !== tabList) {\n return;\n }\n\n this.tabList = null;\n }\n\n onTabListScrolled(): void {}\n\n onTabListFocused(): void {\n if (this.disabled()) {\n return;\n }\n\n const enabledTabs = this.getEnabledTabs();\n if (enabledTabs.length === 0) {\n return;\n }\n\n const currentTabStopValue = this.resolveCurrentTabStopValue(enabledTabs);\n const currentTab =\n this.findEnabledTabByValue(currentTabStopValue, enabledTabs) ??\n enabledTabs[0] ??\n null;\n if (currentTab === null) {\n return;\n }\n\n currentTab.focusSelf();\n }\n\n handleTabListWheel(event: WheelEvent): void {\n if (this.orientation() !== 'horizontal') {\n return;\n }\n\n if (!this.isTabListOverflowing()) {\n return;\n }\n\n const dominantDelta = Math.abs(event.deltaX) > Math.abs(event.deltaY) ? event.deltaX : event.deltaY;\n if (dominantDelta === 0) {\n return;\n }\n\n event.preventDefault();\n this.scrollTabListBy(dominantDelta);\n }\n\n isScrollButtonHidden(): boolean {\n return !this.shouldShowScrollButtons();\n }\n\n isScrollButtonDisabled(direction: 'next' | 'prev'): boolean {\n if (this.isScrollButtonHidden()) {\n return true;\n }\n\n const tabListElement = this.getTabListElement();\n if (tabListElement === null) {\n return true;\n }\n\n const maxScrollLeft = Math.max(0, tabListElement.scrollWidth - tabListElement.clientWidth);\n if (direction === 'prev') {\n return tabListElement.scrollLeft <= 0;\n }\n\n return tabListElement.scrollLeft >= maxScrollLeft;\n }\n\n onScrollButtonClick(direction: 'next' | 'prev', event: MouseEvent): void {\n if (this.isScrollButtonDisabled(direction)) {\n event.preventDefault();\n return;\n }\n\n const delta = direction === 'prev' ? -this.resolveTabListScrollStep() : this.resolveTabListScrollStep();\n this.scrollTabListBy(delta);\n event.preventDefault();\n }\n\n getTabIndex(tab: TngTab): string {\n if (this.disabled() || tab.isDisabledInContext()) {\n return '-1';\n }\n\n const tabStop = this.resolveCurrentTabStopValue();\n if (tabStop === null) {\n return '-1';\n }\n\n return valuesEqual(tabStop, tab.getValue()) ? '0' : '-1';\n }\n\n isTabSelected(tab: TngTab): boolean {\n const selectedValue = this.getEffectiveSelectedValue();\n if (selectedValue === null) {\n return false;\n }\n\n return valuesEqual(selectedValue, tab.getValue());\n }\n\n isTabFocused(tab: TngTab): boolean {\n const tabStop = this.resolveCurrentTabStopValue();\n return tabStop !== null && valuesEqual(tabStop, tab.getValue());\n }\n\n getPanelIdForTab(tab: TngTab): string | null {\n const explicitPanelId = tab.getExplicitPanelId();\n if (explicitPanelId !== null) {\n return explicitPanelId;\n }\n\n const matchedPanel = this.findPanelByValue(tab.getValue());\n if (matchedPanel !== null) {\n return matchedPanel.getPanelId();\n }\n\n const tabs = this.getOrderedTabs();\n const panels = this.getOrderedPanels();\n const tabIndex = tabs.indexOf(tab);\n if (tabIndex < 0) {\n return null;\n }\n\n return panels[tabIndex]?.getPanelId() ?? null;\n }\n\n getTabIdForPanel(panel: TngTabPanel): string | null {\n const explicitLabelledById = panel.getExplicitLabelledById();\n if (explicitLabelledById !== null) {\n return explicitLabelledById;\n }\n\n const matchedTab = this.findTabByValue(panel.getValue());\n if (matchedTab !== null) {\n return matchedTab.getItemId();\n }\n\n const tabs = this.getOrderedTabs();\n const panels = this.getOrderedPanels();\n const panelIndex = panels.indexOf(panel);\n if (panelIndex < 0) {\n return null;\n }\n\n return tabs[panelIndex]?.getItemId() ?? null;\n }\n\n isPanelActive(panel: TngTabPanel): boolean {\n const selectedValue = this.getEffectiveSelectedValue();\n if (selectedValue === null) {\n return false;\n }\n\n return valuesEqual(selectedValue, panel.getValue());\n }\n\n isPanelMounted(panel: TngTabPanel): boolean {\n if (this.isPanelActive(panel)) {\n panel.markActivated();\n return true;\n }\n\n const keepAlive = panel.unmountOnExit() ? false : this.isKeepAliveEnabled();\n if (!keepAlive) {\n return false;\n }\n\n if (!this.isLazyEnabled()) {\n return true;\n }\n\n return panel.hasActivated();\n }\n\n onTabFocused(tab: TngTab, trigger: TngTabsFocusTrigger): void {\n if (this.disabled() || tab.isDisabledInContext()) {\n return;\n }\n\n this.setFocusedValue(tab.getValue(), trigger);\n this.scrollTabIntoView(tab);\n }\n\n requestSelection(tab: TngTab, trigger: TngTabsSelectionTrigger): void {\n if (this.disabled() || tab.isDisabledInContext()) {\n return;\n }\n\n const nextValue = tab.getValue();\n const previousValue = this.getEffectiveSelectedValue();\n if (previousValue !== null && valuesEqual(previousValue, nextValue)) {\n return;\n }\n\n if (!this.isControlled()) {\n this.uncontrolledValue = nextValue;\n this.hasUserSelection = true;\n }\n\n this.focusedValue = nextValue;\n this.valueChange.emit(nextValue);\n this.tabChange.emit({\n value: nextValue,\n previousValue,\n trigger,\n });\n\n this.scrollTabIntoView(tab);\n this.syncStateFromRegistry();\n }\n\n handleTabKeydown(tab: TngTab, event: KeyboardEvent): void {\n if (this.disabled() || tab.isDisabledInContext()) {\n return;\n }\n\n const focusMove = this.resolveFocusMove(event.key);\n if (focusMove !== null) {\n event.preventDefault();\n this.moveFocusByAction(tab, focusMove, 'keyboard');\n return;\n }\n\n if (event.key !== 'Enter' && event.key !== ' ' && event.key !== 'Spacebar') {\n return;\n }\n\n if (this.activation() === 'manual' || this.activation() === 'auto') {\n event.preventDefault();\n this.requestSelection(tab, 'keyboard');\n }\n }\n\n private resolveFocusMove(key: string): TngTabsFocusMove | null {\n if (key === 'Home') {\n return 'first';\n }\n\n if (key === 'End') {\n return 'last';\n }\n\n if (this.orientation() === 'vertical') {\n if (key === 'ArrowDown') {\n return 'next';\n }\n\n if (key === 'ArrowUp') {\n return 'prev';\n }\n\n return null;\n }\n\n if (key !== 'ArrowLeft' && key !== 'ArrowRight') {\n return null;\n }\n\n const isRtl = this.resolveDirection() === 'rtl';\n const moveToNext = key === (isRtl ? 'ArrowLeft' : 'ArrowRight');\n return moveToNext ? 'next' : 'prev';\n }\n\n private moveFocusByAction(\n sourceTab: TngTab,\n action: TngTabsFocusMove,\n trigger: TngTabsFocusTrigger,\n ): void {\n const enabledTabs = this.getEnabledTabs();\n if (enabledTabs.length === 0) {\n return;\n }\n\n const currentIndex = enabledTabs.indexOf(sourceTab);\n if (currentIndex < 0) {\n return;\n }\n\n const nextTab = this.resolveFocusTarget(enabledTabs, currentIndex, action);\n if (nextTab === null) {\n return;\n }\n\n this.moveFocusToTab(nextTab, trigger);\n if (this.activation() === 'auto') {\n this.requestSelection(nextTab, trigger === 'programmatic' ? 'programmatic' : 'keyboard');\n }\n }\n\n private moveFocusToTab(tab: TngTab, trigger: TngTabsFocusTrigger): void {\n if (this.disabled() || tab.isDisabledInContext()) {\n return;\n }\n\n this.setFocusedValue(tab.getValue(), trigger);\n tab.focusSelf();\n }\n\n private moveFocusFromCurrentTab(\n direction: 'next' | 'prev',\n trigger: TngTabsFocusTrigger,\n ): void {\n const enabledTabs = this.getEnabledTabs();\n if (enabledTabs.length === 0) {\n return;\n }\n\n const activeElement = this.hostRef.nativeElement.ownerDocument?.activeElement ?? null;\n const activeTab = this.findTabContainingElement(activeElement);\n const currentTab = activeTab ?? this.findEnabledTabByValue(this.resolveCurrentTabStopValue(), enabledTabs);\n if (currentTab === null) {\n return;\n }\n\n const currentIndex = enabledTabs.indexOf(currentTab);\n if (currentIndex < 0) {\n return;\n }\n\n const nextTab = this.resolveFocusTarget(enabledTabs, currentIndex, direction);\n if (nextTab === null) {\n return;\n }\n\n this.moveFocusToTab(nextTab, trigger);\n if (this.activation() === 'auto') {\n this.requestSelection(nextTab, trigger === 'programmatic' ? 'programmatic' : 'keyboard');\n }\n }\n\n private resolveFocusTarget(\n enabledTabs: readonly TngTab[],\n currentIndex: number,\n action: TngTabsFocusMove,\n ): TngTab | null {\n if (enabledTabs.length === 0 || currentIndex < 0) {\n return null;\n }\n\n if (action === 'first') {\n return enabledTabs[0] ?? null;\n }\n\n if (action === 'last') {\n return enabledTabs[enabledTabs.length - 1] ?? null;\n }\n\n if (action === 'next') {\n if (currentIndex + 1 < enabledTabs.length) {\n return enabledTabs[currentIndex + 1] ?? null;\n }\n\n return this.loop() ? (enabledTabs[0] ?? null) : (enabledTabs[currentIndex] ?? null);\n }\n\n if (currentIndex - 1 >= 0) {\n return enabledTabs[currentIndex - 1] ?? null;\n }\n\n return this.loop()\n ? (enabledTabs[enabledTabs.length - 1] ?? null)\n : (enabledTabs[currentIndex] ?? null);\n }\n\n private setFocusedValue(value: TngTabsValue, trigger: TngTabsFocusTrigger): void {\n const previousValue = this.focusedValue;\n if (previousValue !== null && valuesEqual(previousValue, value)) {\n return;\n }\n\n this.focusedValue = value;\n this.focusChange.emit({\n value,\n previousValue,\n trigger,\n });\n }\n\n private applyLifecycleSelection(nextValue: TngTabsValue | null): void {\n if (this.isControlled()) {\n return;\n }\n\n this.uncontrolledValue = nextValue;\n if (nextValue !== null) {\n this.focusedValue = nextValue;\n }\n }\n\n private resolveDirection(): 'ltr' | 'rtl' {\n const configuredDirection = this.dir();\n if (configuredDirection !== 'auto') {\n return configuredDirection;\n }\n\n const host = this.hostRef.nativeElement;\n const nearestDirection =\n host.closest<HTMLElement>('[dir]')?.getAttribute('dir') ??\n host.ownerDocument?.documentElement.getAttribute('dir');\n\n return nearestDirection?.toLowerCase() === 'rtl' ? 'rtl' : 'ltr';\n }\n\n private getSelectedValue(): TngTabsValue | null {\n if (this.isControlled()) {\n return this.value() as TngTabsValue;\n }\n\n return this.uncontrolledValue;\n }\n\n private getEffectiveSelectedValue(enabledTabs = this.getEnabledTabs()): TngTabsValue | null {\n if (enabledTabs.length === 0) {\n return null;\n }\n\n const selectedValue = this.getSelectedValue();\n if (selectedValue !== null && this.findEnabledTabByValue(selectedValue, enabledTabs) !== null) {\n return selectedValue;\n }\n\n return enabledTabs[0]?.getValue() ?? null;\n }\n\n private resolveCurrentTabStopValue(enabledTabs = this.getEnabledTabs()): TngTabsValue | null {\n if (enabledTabs.length === 0) {\n return null;\n }\n\n if (this.focusedValue !== null && this.findEnabledTabByValue(this.focusedValue, enabledTabs) !== null) {\n return this.focusedValue;\n }\n\n const selectedValue = this.getEffectiveSelectedValue(enabledTabs);\n if (selectedValue !== null) {\n return selectedValue;\n }\n\n return enabledTabs[0]?.getValue() ?? null;\n }\n\n private syncStateFromRegistry(): void {\n const enabledTabs = this.getEnabledTabs();\n\n if (!this.initialized) {\n this.initialized = true;\n if (!this.isControlled()) {\n const defaultValue = this.defaultValue();\n if (defaultValue !== undefined && defaultValue !== null) {\n this.uncontrolledValue = this.findEnabledTabByValue(defaultValue, enabledTabs)?.getValue() ?? null;\n } else {\n this.uncontrolledValue = enabledTabs[0]?.getValue() ?? null;\n }\n }\n }\n\n if (enabledTabs.length === 0) {\n if (!this.isControlled()) {\n this.uncontrolledValue = null;\n }\n this.focusedValue = null;\n return;\n }\n\n if (!this.isControlled()) {\n const defaultValue = this.defaultValue();\n if (!this.hasUserSelection && defaultValue !== undefined && defaultValue !== null) {\n const defaultTab = this.findEnabledTabByValue(defaultValue, enabledTabs);\n if (defaultTab !== null) {\n this.uncontrolledValue = defaultTab.getValue();\n } else if (this.uncontrolledValue === null) {\n this.uncontrolledValue = enabledTabs[0]?.getValue() ?? null;\n }\n } else {\n const current = this.uncontrolledValue;\n if (current === null || this.findEnabledTabByValue(current, enabledTabs) === null) {\n this.uncontrolledValue = enabledTabs[0]?.getValue() ?? null;\n }\n }\n }\n\n const selectedValue = this.getEffectiveSelectedValue(enabledTabs);\n if (selectedValue !== null) {\n this.findPanelByValue(selectedValue)?.markActivated();\n }\n\n this.focusedValue = this.resolveCurrentTabStopValue(enabledTabs);\n }\n\n private resolveNeighborValueOnRemoval(\n orderedTabs: readonly TngTab[],\n removedIndex: number,\n ): TngTabsValue | null {\n if (removedIndex < 0) {\n return this.getEnabledTabs()[0]?.getValue() ?? null;\n }\n\n for (let index = removedIndex + 1; index < orderedTabs.length; index += 1) {\n const candidate = orderedTabs[index];\n if (candidate !== undefined && !candidate.isDisabledInContext()) {\n return candidate.getValue();\n }\n }\n\n for (let index = removedIndex - 1; index >= 0; index -= 1) {\n const candidate = orderedTabs[index];\n if (candidate !== undefined && !candidate.isDisabledInContext()) {\n return candidate.getValue();\n }\n }\n\n return null;\n }\n\n private resolveNeighborForDisabledTab(tab: TngTab): TngTabsValue | null {\n const orderedTabs = this.getOrderedTabs();\n const currentIndex = orderedTabs.indexOf(tab);\n if (currentIndex < 0) {\n return this.getEnabledTabs()[0]?.getValue() ?? null;\n }\n\n for (let index = currentIndex - 1; index >= 0; index -= 1) {\n const candidate = orderedTabs[index];\n if (candidate !== undefined && !candidate.isDisabledInContext()) {\n return candidate.getValue();\n }\n }\n\n for (let index = currentIndex + 1; index < orderedTabs.length; index += 1) {\n const candidate = orderedTabs[index];\n if (candidate !== undefined && !candidate.isDisabledInContext()) {\n return candidate.getValue();\n }\n }\n\n return null;\n }\n\n private isControlled(): boolean {\n const value = this.value();\n return value !== undefined && value !== null;\n }\n\n private getOrderedTabs(): TngTab[] {\n const tabs = Array.from(this.tabs);\n tabs.sort((a, b) =>\n compareByDomPosition(\n a.getHostElement(),\n b.getHostElement(),\n a.getRegistrationOrder(),\n b.getRegistrationOrder(),\n ),\n );\n return tabs;\n }\n\n private getEnabledTabs(): TngTab[] {\n return this.getOrderedTabs().filter((tab) => !tab.isDisabledInContext());\n }\n\n private getOrderedPanels(): TngTabPanel[] {\n const panels = Array.from(this.panels);\n panels.sort((a, b) =>\n compareByDomPosition(\n a.getHostElement(),\n b.getHostElement(),\n a.getRegistrationOrder(),\n b.getRegistrationOrder(),\n ),\n );\n return panels;\n }\n\n private findTabByValue(value: TngTabsValue | null): TngTab | null {\n if (value === null) {\n return null;\n }\n\n const tabs = this.getOrderedTabs();\n return tabs.find((tab) => valuesEqual(tab.getValue(), value)) ?? null;\n }\n\n private findEnabledTabByValue(\n value: TngTabsValue | null,\n enabledTabs = this.getEnabledTabs(),\n ): TngTab | null {\n if (value === null) {\n return null;\n }\n\n return enabledTabs.find((tab) => valuesEqual(tab.getValue(), value)) ?? null;\n }\n\n private findPanelByValue(value: TngTabsValue | null): TngTabPanel | null {\n if (value === null) {\n return null;\n }\n\n const panels = this.getOrderedPanels();\n return panels.find((panel) => valuesEqual(panel.getValue(), value)) ?? null;\n }\n\n private findTabContainingElement(element: Element | null): TngTab | null {\n if (element === null) {\n return null;\n }\n\n const tabs = this.getOrderedTabs();\n return (\n tabs.find((tab) => {\n const host = tab.getHostElement();\n return host === element || host.contains(element);\n }) ?? null\n );\n }\n\n private getTabListElement(): HTMLElement | null {\n return this.tabList?.getHostElement() ?? null;\n }\n\n private isTabListOverflowing(): boolean {\n const tabListElement = this.getTabListElement();\n if (tabListElement === null) {\n return false;\n }\n\n return tabListElement.scrollWidth > tabListElement.clientWidth;\n }\n\n private shouldShowScrollButtons(): boolean {\n if (this.scrollPrevControl === null && this.scrollNextControl === null) {\n return false;\n }\n\n const mode = this.scrollButtons();\n if (mode === 'on') {\n return true;\n }\n\n if (mode !== 'auto') {\n return false;\n }\n\n return this.isTabListOverflowing();\n }\n\n private resolveTabListScrollStep(): number {\n const tabListElement = this.getTabListElement();\n if (tabListElement === null) {\n return 120;\n }\n\n return Math.max(80, Math.round(tabListElement.clientWidth * 0.7));\n }\n\n private scrollTabListBy(delta: number): void {\n const tabListElement = this.getTabListElement();\n if (tabListElement === null || delta === 0) {\n return;\n }\n\n tabListElement.scrollLeft += delta;\n }\n\n private scrollTabIntoView(tab: TngTab): void {\n if (!this.isTabListOverflowing()) {\n return;\n }\n\n const host = tab.getHostElement();\n const scrollIntoView = host.scrollIntoView as\n | ((options?: ScrollIntoViewOptions) => void)\n | undefined;\n if (typeof scrollIntoView !== 'function') {\n return;\n }\n\n scrollIntoView.call(host, {\n block: 'nearest',\n inline: 'nearest',\n });\n }\n}\n\n@Directive({\n selector: '[tngTabList]',\n exportAs: 'tngTabList',\n standalone: true,\n})\nexport class TngTabList {\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly tabs = inject(TngTabs, { host: true });\n\n readonly ariaLabel = input<string | null | undefined, unknown>(undefined, {\n alias: 'ariaLabel',\n transform: normalizeOptionalStringInput,\n });\n readonly ariaLabelledby = input<string | null | undefined, unknown>(undefined, {\n alias: 'ariaLabelledby',\n transform: normalizeOptionalStringInput,\n });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'tab-list' as const;\n\n @HostBinding('attr.role')\n protected readonly role = 'tablist' as const;\n\n @HostBinding('attr.tabindex')\n protected readonly tabIndex = '-1' as const;\n\n @HostBinding('attr.aria-orientation')\n protected get ariaOrientation(): TngTabsOrientation {\n return this.tabs.orientation();\n }\n\n @HostBinding('attr.aria-label')\n protected get hostAriaLabel(): string | null {\n return this.ariaLabel() ?? null;\n }\n\n @HostBinding('attr.aria-labelledby')\n protected get hostAriaLabelledby(): string | null {\n return this.ariaLabelledby() ?? null;\n }\n\n constructor() {\n this.tabs.registerTabList(this);\n }\n\n ngOnDestroy(): void {\n this.tabs.unregisterTabList(this);\n }\n\n @HostListener('wheel', ['$event'])\n protected onWheel(event: WheelEvent): void {\n this.tabs.handleTabListWheel(event);\n }\n\n @HostListener('scroll')\n protected onScroll(): void {\n this.tabs.onTabListScrolled();\n }\n\n @HostListener('focus')\n protected onFocus(): void {\n this.tabs.onTabListFocused();\n }\n\n getHostElement(): HTMLElement {\n return this.hostRef.nativeElement;\n }\n}\n\n@Directive({\n selector: '[tngTabsScrollButtonPrev]',\n exportAs: 'tngTabsScrollButtonPrev',\n standalone: true,\n})\nexport class TngTabsScrollButtonPrev {\n private readonly tabs = inject(TngTabs, { host: true });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'tabs-scroll-button-prev' as const;\n\n @HostBinding('attr.hidden')\n protected get hidden(): '' | null {\n return this.tabs.isScrollButtonHidden() ? '' : null;\n }\n\n @HostBinding('attr.disabled')\n protected get disabled(): '' | null {\n return this.tabs.isScrollButtonDisabled('prev') ? '' : null;\n }\n\n @HostBinding('attr.aria-disabled')\n protected get ariaDisabled(): 'true' | null {\n return this.tabs.isScrollButtonDisabled('prev') ? 'true' : null;\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabled(): 'true' | 'false' {\n return this.tabs.isScrollButtonDisabled('prev') ? 'true' : 'false';\n }\n\n constructor() {\n this.tabs.registerScrollPrevControl(this);\n }\n\n ngOnDestroy(): void {\n this.tabs.unregisterScrollPrevControl(this);\n }\n\n @HostListener('click', ['$event'])\n protected onClick(event: MouseEvent): void {\n this.tabs.onScrollButtonClick('prev', event);\n }\n}\n\n@Directive({\n selector: '[tngTabsScrollButtonNext]',\n exportAs: 'tngTabsScrollButtonNext',\n standalone: true,\n})\nexport class TngTabsScrollButtonNext {\n private readonly tabs = inject(TngTabs, { host: true });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'tabs-scroll-button-next' as const;\n\n @HostBinding('attr.hidden')\n protected get hidden(): '' | null {\n return this.tabs.isScrollButtonHidden() ? '' : null;\n }\n\n @HostBinding('attr.disabled')\n protected get disabled(): '' | null {\n return this.tabs.isScrollButtonDisabled('next') ? '' : null;\n }\n\n @HostBinding('attr.aria-disabled')\n protected get ariaDisabled(): 'true' | null {\n return this.tabs.isScrollButtonDisabled('next') ? 'true' : null;\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabled(): 'true' | 'false' {\n return this.tabs.isScrollButtonDisabled('next') ? 'true' : 'false';\n }\n\n constructor() {\n this.tabs.registerScrollNextControl(this);\n }\n\n ngOnDestroy(): void {\n this.tabs.unregisterScrollNextControl(this);\n }\n\n @HostListener('click', ['$event'])\n protected onClick(event: MouseEvent): void {\n this.tabs.onScrollButtonClick('next', event);\n }\n}\n\n@Directive({\n selector: '[tngTab]',\n exportAs: 'tngTab',\n standalone: true,\n})\nexport class TngTab {\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly tabs = inject(TngTabs, { host: true });\n private resolvedId = createTabId();\n private readonly registrationOrder = nextRegistrationOrder++;\n private lastKnownValue: TngTabsValue | null = null;\n private lastKnownDisabled = false;\n\n readonly valueInput = input<TngTabsValue | null | undefined, unknown>(undefined, {\n alias: 'value',\n transform: normalizeOptionalValueInput,\n });\n readonly disabledInput = input<boolean, unknown>(false, {\n alias: 'disabled',\n transform: normalizeBooleanInput,\n });\n readonly panelId = input<string | null | undefined, unknown>(undefined, {\n alias: 'panelId',\n transform: normalizeOptionalStringInput,\n });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'tab' as const;\n\n @HostBinding('attr.role')\n protected readonly role = 'tab' as const;\n\n @HostBinding('attr.id')\n protected get id(): string {\n return this.resolvedId;\n }\n\n @HostBinding('attr.tabindex')\n protected get tabIndex(): string {\n return this.tabs.getTabIndex(this);\n }\n\n @HostBinding('attr.aria-selected')\n protected get ariaSelected(): 'true' | 'false' {\n return this.tabs.isTabSelected(this) ? 'true' : 'false';\n }\n\n @HostBinding('attr.aria-controls')\n protected get ariaControls(): string | null {\n return this.tabs.getPanelIdForTab(this);\n }\n\n @HostBinding('attr.aria-disabled')\n protected get ariaDisabled(): 'true' | null {\n return this.isDisabledInContext() ? 'true' : null;\n }\n\n @HostBinding('attr.disabled')\n protected get hostDisabled(): '' | null {\n return this.isDisabledInContext() ? '' : null;\n }\n\n @HostBinding('attr.data-selected')\n protected get dataSelected(): 'true' | 'false' {\n return this.tabs.isTabSelected(this) ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-focused')\n protected get dataFocused(): 'true' | 'false' {\n return this.tabs.isTabFocused(this) ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabled(): 'true' | 'false' {\n return this.isDisabledInContext() ? 'true' : 'false';\n }\n\n constructor() {\n this.tabs.registerTab(this);\n }\n\n ngOnInit(): void {\n this.syncResolvedIdFromHost();\n this.lastKnownValue = this.getValue();\n this.lastKnownDisabled = this.isDisabledInContext();\n }\n\n ngDoCheck(): void {\n const idChanged = this.syncResolvedIdFromHost();\n const currentValue = this.getValue();\n const currentDisabled = this.isDisabledInContext();\n\n if (\n idChanged ||\n !valuesEqual(this.lastKnownValue, currentValue) ||\n this.lastKnownDisabled !== currentDisabled\n ) {\n this.lastKnownValue = currentValue;\n this.lastKnownDisabled = currentDisabled;\n this.tabs.notifyTabMutated(this);\n }\n }\n\n ngOnDestroy(): void {\n this.tabs.unregisterTab(this);\n }\n\n @HostListener('click', ['$event'])\n protected onClick(event: MouseEvent): void {\n if (this.isDisabledInContext()) {\n event.preventDefault();\n return;\n }\n\n const target = event.target;\n if (target instanceof Element && target !== this.hostRef.nativeElement) {\n if (isFocusableInteractiveElement(target) && this.hostRef.nativeElement.contains(target)) {\n return;\n }\n }\n\n this.focusSelf();\n this.tabs.requestSelection(this, 'pointer');\n }\n\n @HostListener('focus')\n protected onFocus(): void {\n if (this.isDisabledInContext()) {\n return;\n }\n\n this.tabs.onTabFocused(this, 'pointer');\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n this.tabs.handleTabKeydown(this, event);\n }\n\n getRegistrationOrder(): number {\n return this.registrationOrder;\n }\n\n getHostElement(): HTMLElement {\n return this.hostRef.nativeElement;\n }\n\n getItemId(): string {\n return this.resolvedId;\n }\n\n getValue(): TngTabsValue {\n const explicitValue = this.valueInput();\n if (explicitValue !== undefined && explicitValue !== null) {\n return explicitValue;\n }\n\n const hostValue = this.hostRef.nativeElement.getAttribute('value');\n if (hostValue !== null && hostValue.length > 0) {\n return hostValue;\n }\n\n return this.resolvedId;\n }\n\n getExplicitPanelId(): string | null {\n return this.panelId() ?? null;\n }\n\n isDisabledInContext(): boolean {\n if (this.tabs.isDisabled()) {\n return true;\n }\n\n return this.disabledInput();\n }\n\n focusSelf(): void {\n this.hostRef.nativeElement.focus();\n }\n\n private syncResolvedIdFromHost(): boolean {\n const hostId = this.hostRef.nativeElement.getAttribute('id');\n if (hostId === null || hostId.length === 0 || hostId === this.resolvedId) {\n return false;\n }\n\n this.resolvedId = hostId;\n return true;\n }\n}\n\n@Directive({\n selector: '[tngTabPanel]',\n exportAs: 'tngTabPanel',\n standalone: true,\n})\nexport class TngTabPanel {\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly tabs = inject(TngTabs, { host: true });\n private resolvedId = createPanelId();\n private readonly registrationOrder = nextRegistrationOrder++;\n private mounted = true;\n private activated = false;\n private anchor: Comment | null = null;\n private lastKnownValue: TngTabsValue | null = null;\n\n readonly valueInput = input<TngTabsValue | null | undefined, unknown>(undefined, {\n alias: 'value',\n transform: normalizeOptionalValueInput,\n });\n readonly labelledById = input<string | null | undefined, unknown>(undefined, {\n alias: 'labelledById',\n transform: normalizeOptionalStringInput,\n });\n readonly unmountOnExit = input<boolean, unknown>(false, {\n alias: 'unmountOnExit',\n transform: normalizeBooleanInput,\n });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'tab-panel' as const;\n\n @HostBinding('attr.role')\n protected readonly role = 'tabpanel' as const;\n\n @HostBinding('attr.id')\n protected get id(): string {\n return this.resolvedId;\n }\n\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledby(): string | null {\n return this.getExplicitLabelledById() ?? this.tabs.getTabIdForPanel(this);\n }\n\n @HostBinding('attr.hidden')\n protected get hidden(): '' | null {\n if (this.tabs.isPanelActive(this)) {\n this.markActivated();\n return null;\n }\n\n return '';\n }\n\n @HostBinding('attr.data-active')\n protected get dataActive(): 'true' | 'false' {\n return this.tabs.isPanelActive(this) ? 'true' : 'false';\n }\n\n constructor() {\n this.tabs.registerPanel(this);\n }\n\n ngOnInit(): void {\n this.syncResolvedIdFromHost();\n this.lastKnownValue = this.getValue();\n this.syncMountState();\n }\n\n ngDoCheck(): void {\n const idChanged = this.syncResolvedIdFromHost();\n const currentValue = this.getValue();\n if (idChanged || !valuesEqual(this.lastKnownValue, currentValue)) {\n this.lastKnownValue = currentValue;\n this.tabs.notifyPanelMutated();\n }\n\n this.syncMountState();\n }\n\n ngOnDestroy(): void {\n this.tabs.unregisterPanel(this);\n this.removeAnchor();\n }\n\n getRegistrationOrder(): number {\n return this.registrationOrder;\n }\n\n getHostElement(): HTMLElement {\n return this.hostRef.nativeElement;\n }\n\n getPanelId(): string {\n return this.resolvedId;\n }\n\n getValue(): TngTabsValue {\n const explicitValue = this.valueInput();\n if (explicitValue !== undefined && explicitValue !== null) {\n return explicitValue;\n }\n\n const hostValue = this.hostRef.nativeElement.getAttribute('value');\n if (hostValue !== null && hostValue.length > 0) {\n return hostValue;\n }\n\n return this.resolvedId;\n }\n\n getExplicitLabelledById(): string | null {\n return this.labelledById() ?? null;\n }\n\n hasActivated(): boolean {\n return this.activated;\n }\n\n markActivated(): void {\n this.activated = true;\n }\n\n private syncMountState(): void {\n const shouldMount = this.tabs.isPanelMounted(this);\n if (shouldMount) {\n this.mountHost();\n return;\n }\n\n this.unmountHost();\n }\n\n private mountHost(): void {\n if (this.mounted) {\n return;\n }\n\n const anchor = this.ensureAnchor();\n const parent = anchor.parentNode;\n if (parent === null) {\n return;\n }\n\n parent.insertBefore(this.hostRef.nativeElement, anchor);\n this.mounted = true;\n }\n\n private unmountHost(): void {\n if (!this.mounted) {\n return;\n }\n\n const host = this.hostRef.nativeElement;\n const parent = host.parentNode;\n if (parent === null) {\n return;\n }\n\n const anchor = this.ensureAnchor();\n if (anchor.parentNode !== parent) {\n parent.insertBefore(anchor, host);\n }\n\n parent.removeChild(host);\n this.mounted = false;\n\n if (!this.tabs.isKeepAliveEnabled() || this.unmountOnExit()) {\n this.resetTransientFormState();\n }\n }\n\n private ensureAnchor(): Comment {\n if (this.anchor !== null) {\n return this.anchor;\n }\n\n this.anchor = this.hostRef.nativeElement.ownerDocument.createComment('tng-tab-panel');\n return this.anchor;\n }\n\n private removeAnchor(): void {\n if (this.anchor === null) {\n return;\n }\n\n this.anchor.parentNode?.removeChild(this.anchor);\n this.anchor = null;\n }\n\n private resetTransientFormState(): void {\n const controls = this.hostRef.nativeElement.querySelectorAll<\n HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement\n >('input, textarea, select');\n\n controls.forEach((control) => {\n if (control instanceof HTMLInputElement) {\n if (control.type === 'checkbox' || control.type === 'radio') {\n control.checked = control.defaultChecked;\n } else {\n control.value = '';\n }\n return;\n }\n\n if (control instanceof HTMLTextAreaElement) {\n control.value = '';\n return;\n }\n\n control.selectedIndex = -1;\n });\n }\n\n private syncResolvedIdFromHost(): boolean {\n const hostId = this.hostRef.nativeElement.getAttribute('id');\n if (hostId === null || hostId.length === 0 || hostId === this.resolvedId) {\n return false;\n }\n\n this.resolvedId = hostId;\n return true;\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export declare class TngToolbar {
2
+ protected readonly dataSlot: "toolbar";
3
+ }
4
+ //# sourceMappingURL=tng-toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-toolbar.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/navigation/toolbar/tng-toolbar.ts"],"names":[],"mappings":"AAEA,qBAIa,UAAU;IAErB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,SAAS,CAAU;CAClD"}
@@ -0,0 +1,16 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, HostBinding } from '@angular/core';
3
+ let TngToolbar = class TngToolbar {
4
+ dataSlot = 'toolbar';
5
+ };
6
+ __decorate([
7
+ HostBinding('attr.data-slot')
8
+ ], TngToolbar.prototype, "dataSlot", void 0);
9
+ TngToolbar = __decorate([
10
+ Directive({
11
+ selector: '[tngToolbar]',
12
+ exportAs: 'tngToolbar',
13
+ })
14
+ ], TngToolbar);
15
+ export { TngToolbar };
16
+ //# sourceMappingURL=tng-toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-toolbar.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/navigation/toolbar/tng-toolbar.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMhD,IAAM,UAAU,GAAhB,MAAM,UAAU;IAEF,QAAQ,GAAG,SAAkB,CAAC;CAClD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;4CACmB;AAFtC,UAAU;IAJtB,SAAS,CAAC;QACT,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,YAAY;KACvB,CAAC;GACW,UAAU,CAGtB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngToolbar]',\n exportAs: 'tngToolbar',\n})\nexport class TngToolbar {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'toolbar' as const;\n}\n"]}
@@ -0,0 +1,25 @@
1
+ export type TngTooltipSide = 'bottom' | 'left' | 'right' | 'top';
2
+ export declare function resolveTngTooltipAriaDescribedBy(open: boolean, tooltipId: string | null): string | null;
3
+ export declare function resolveTngTooltipDataState(open: boolean): 'closed' | 'open';
4
+ export declare function resolveTngTooltipHidden(open: boolean): '' | null;
5
+ export declare class TngTooltipTrigger {
6
+ readonly describedBy: import("@angular/core").InputSignal<string | null>;
7
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
8
+ readonly open: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
9
+ protected get ariaDescribedByAttr(): string | null;
10
+ protected get dataDisabledAttr(): '' | null;
11
+ protected readonly dataSlot: "tooltip-trigger";
12
+ protected get dataStateAttr(): 'closed' | 'open';
13
+ }
14
+ export declare class TngTooltipContent {
15
+ readonly id: import("@angular/core").InputSignal<string>;
16
+ readonly open: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
17
+ readonly side: import("@angular/core").InputSignal<TngTooltipSide>;
18
+ protected get dataSideAttr(): TngTooltipSide;
19
+ protected readonly dataSlot: "tooltip-content";
20
+ protected get dataStateAttr(): 'closed' | 'open';
21
+ protected get hiddenAttr(): '' | null;
22
+ protected get idAttr(): string;
23
+ protected readonly roleAttr: "tooltip";
24
+ }
25
+ //# sourceMappingURL=tng-tooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-tooltip.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/overlay/tooltip/tng-tooltip.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAEjE,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,GAAG,IAAI,CAMf;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAE3E;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,EAAE,GAAG,IAAI,CAEhE;AAED,qBAIa,iBAAiB;IAC5B,SAAgB,WAAW,qDAA8B;IACzD,SAAgB,QAAQ,8EAErB;IACH,SAAgB,IAAI,8EAEjB;IAGH,SAAS,KAAK,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAEjD;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,iBAAiB,CAAU;IAGzD,SAAS,KAAK,aAAa,IAAI,QAAQ,GAAG,MAAM,CAE/C;CACF;AAED,qBAIa,iBAAiB;IAC5B,SAAgB,EAAE,8CAA4B;IAC9C,SAAgB,IAAI,8EAEjB;IACH,SAAgB,IAAI,sDAAgC;IAGpD,SAAS,KAAK,YAAY,IAAI,cAAc,CAE3C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,iBAAiB,CAAU;IAGzD,SAAS,KAAK,aAAa,IAAI,QAAQ,GAAG,MAAM,CAE/C;IAGD,SAAS,KAAK,UAAU,IAAI,EAAE,GAAG,IAAI,CAEpC;IAGD,SAAS,KAAK,MAAM,IAAI,MAAM,CAE7B;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,SAAS,CAAU;CAClD"}
@@ -0,0 +1,99 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';
3
+ export function resolveTngTooltipAriaDescribedBy(open, tooltipId) {
4
+ if (!open) {
5
+ return null;
6
+ }
7
+ return tooltipId === null || tooltipId.trim().length === 0 ? null : tooltipId;
8
+ }
9
+ export function resolveTngTooltipDataState(open) {
10
+ return open ? 'open' : 'closed';
11
+ }
12
+ export function resolveTngTooltipHidden(open) {
13
+ return open ? null : '';
14
+ }
15
+ let TngTooltipTrigger = class TngTooltipTrigger {
16
+ describedBy = input(null);
17
+ disabled = input(false, {
18
+ transform: booleanAttribute,
19
+ });
20
+ open = input(false, {
21
+ transform: booleanAttribute,
22
+ });
23
+ get ariaDescribedByAttr() {
24
+ return resolveTngTooltipAriaDescribedBy(this.open(), this.describedBy());
25
+ }
26
+ get dataDisabledAttr() {
27
+ return this.disabled() ? '' : null;
28
+ }
29
+ dataSlot = 'tooltip-trigger';
30
+ get dataStateAttr() {
31
+ return resolveTngTooltipDataState(this.open());
32
+ }
33
+ };
34
+ __decorate([
35
+ HostBinding('attr.aria-describedby')
36
+ ], TngTooltipTrigger.prototype, "ariaDescribedByAttr", null);
37
+ __decorate([
38
+ HostBinding('attr.data-disabled')
39
+ ], TngTooltipTrigger.prototype, "dataDisabledAttr", null);
40
+ __decorate([
41
+ HostBinding('attr.data-slot')
42
+ ], TngTooltipTrigger.prototype, "dataSlot", void 0);
43
+ __decorate([
44
+ HostBinding('attr.data-state')
45
+ ], TngTooltipTrigger.prototype, "dataStateAttr", null);
46
+ TngTooltipTrigger = __decorate([
47
+ Directive({
48
+ selector: '[tngTooltipTrigger]',
49
+ exportAs: 'tngTooltipTrigger',
50
+ })
51
+ ], TngTooltipTrigger);
52
+ export { TngTooltipTrigger };
53
+ let TngTooltipContent = class TngTooltipContent {
54
+ id = input.required();
55
+ open = input(false, {
56
+ transform: booleanAttribute,
57
+ });
58
+ side = input('top');
59
+ get dataSideAttr() {
60
+ return this.side();
61
+ }
62
+ dataSlot = 'tooltip-content';
63
+ get dataStateAttr() {
64
+ return resolveTngTooltipDataState(this.open());
65
+ }
66
+ get hiddenAttr() {
67
+ return resolveTngTooltipHidden(this.open());
68
+ }
69
+ get idAttr() {
70
+ return this.id();
71
+ }
72
+ roleAttr = 'tooltip';
73
+ };
74
+ __decorate([
75
+ HostBinding('attr.data-side')
76
+ ], TngTooltipContent.prototype, "dataSideAttr", null);
77
+ __decorate([
78
+ HostBinding('attr.data-slot')
79
+ ], TngTooltipContent.prototype, "dataSlot", void 0);
80
+ __decorate([
81
+ HostBinding('attr.data-state')
82
+ ], TngTooltipContent.prototype, "dataStateAttr", null);
83
+ __decorate([
84
+ HostBinding('attr.hidden')
85
+ ], TngTooltipContent.prototype, "hiddenAttr", null);
86
+ __decorate([
87
+ HostBinding('attr.id')
88
+ ], TngTooltipContent.prototype, "idAttr", null);
89
+ __decorate([
90
+ HostBinding('attr.role')
91
+ ], TngTooltipContent.prototype, "roleAttr", void 0);
92
+ TngTooltipContent = __decorate([
93
+ Directive({
94
+ selector: '[tngTooltipContent]',
95
+ exportAs: 'tngTooltipContent',
96
+ })
97
+ ], TngTooltipContent);
98
+ export { TngTooltipContent };
99
+ //# sourceMappingURL=tng-tooltip.js.map
@@ -0,0 +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 { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\n\nexport type TngTooltipSide = 'bottom' | 'left' | 'right' | 'top';\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\n@Directive({\n selector: '[tngTooltipTrigger]',\n exportAs: 'tngTooltipTrigger',\n})\nexport class TngTooltipTrigger {\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 return resolveTngTooltipAriaDescribedBy(this.open(), this.describedBy());\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabledAttr(): '' | null {\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 return resolveTngTooltipDataState(this.open());\n }\n}\n\n@Directive({\n selector: '[tngTooltipContent]',\n exportAs: 'tngTooltipContent',\n})\nexport class TngTooltipContent {\n public readonly id = input.required<string>();\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 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 return resolveTngTooltipDataState(this.open());\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n return resolveTngTooltipHidden(this.open());\n }\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.id();\n }\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'tooltip' as const;\n}\n"]}
@@ -0,0 +1,10 @@
1
+ export declare class TngAvatar {
2
+ protected readonly dataSlot: "avatar";
3
+ }
4
+ export declare class TngAvatarImage {
5
+ protected readonly dataSlot: "avatar-image";
6
+ }
7
+ export declare class TngAvatarFallback {
8
+ protected readonly dataSlot: "avatar-fallback";
9
+ }
10
+ //# sourceMappingURL=tng-avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-avatar.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/utility/avatar/tng-avatar.ts"],"names":[],"mappings":"AAEA,qBAIa,SAAS;IAEpB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;CACjD;AAED,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD;AAED,qBAIa,iBAAiB;IAE5B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,iBAAiB,CAAU;CAC1D"}
@@ -0,0 +1,42 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, HostBinding } from '@angular/core';
3
+ let TngAvatar = class TngAvatar {
4
+ dataSlot = 'avatar';
5
+ };
6
+ __decorate([
7
+ HostBinding('attr.data-slot')
8
+ ], TngAvatar.prototype, "dataSlot", void 0);
9
+ TngAvatar = __decorate([
10
+ Directive({
11
+ selector: '[tngAvatar]',
12
+ exportAs: 'tngAvatar',
13
+ })
14
+ ], TngAvatar);
15
+ export { TngAvatar };
16
+ let TngAvatarImage = class TngAvatarImage {
17
+ dataSlot = 'avatar-image';
18
+ };
19
+ __decorate([
20
+ HostBinding('attr.data-slot')
21
+ ], TngAvatarImage.prototype, "dataSlot", void 0);
22
+ TngAvatarImage = __decorate([
23
+ Directive({
24
+ selector: 'img[tngAvatarImage]',
25
+ exportAs: 'tngAvatarImage',
26
+ })
27
+ ], TngAvatarImage);
28
+ export { TngAvatarImage };
29
+ let TngAvatarFallback = class TngAvatarFallback {
30
+ dataSlot = 'avatar-fallback';
31
+ };
32
+ __decorate([
33
+ HostBinding('attr.data-slot')
34
+ ], TngAvatarFallback.prototype, "dataSlot", void 0);
35
+ TngAvatarFallback = __decorate([
36
+ Directive({
37
+ selector: '[tngAvatarFallback]',
38
+ exportAs: 'tngAvatarFallback',
39
+ })
40
+ ], TngAvatarFallback);
41
+ export { TngAvatarFallback };
42
+ //# sourceMappingURL=tng-avatar.js.map
@@ -0,0 +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;AAMhD,IAAM,SAAS,GAAf,MAAM,SAAS;IAED,QAAQ,GAAG,QAAiB,CAAC;CACjD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;2CACkB;AAFrC,SAAS;IAJrB,SAAS,CAAC;QACT,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,WAAW;KACtB,CAAC;GACW,SAAS,CAGrB;;AAMM,IAAM,cAAc,GAApB,MAAM,cAAc;IAEN,QAAQ,GAAG,cAAuB,CAAC;CACvD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;gDACwB;AAF3C,cAAc;IAJ1B,SAAS,CAAC;QACT,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,gBAAgB;KAC3B,CAAC;GACW,cAAc,CAG1B;;AAMM,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAET,QAAQ,GAAG,iBAA0B,CAAC;CAC1D,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;mDAC2B;AAF9C,iBAAiB;IAJ7B,SAAS,CAAC;QACT,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,mBAAmB;KAC9B,CAAC;GACW,iBAAiB,CAG7B","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"]}
@@ -0,0 +1,63 @@
1
+ import { type OnDestroy } from '@angular/core';
2
+ declare const badgePositions: readonly ["bottom-end", "bottom-start", "top-end", "top-start"];
3
+ declare const badgeSizes: readonly ["lg", "md", "sm"];
4
+ declare const badgeTones: readonly ["danger", "info", "neutral", "success", "warning"];
5
+ declare const badgeVariants: readonly ["outline", "soft", "solid"];
6
+ export type TngBadgePosition = (typeof badgePositions)[number];
7
+ export type TngBadgeSize = (typeof badgeSizes)[number];
8
+ export type TngBadgeStyleMap = Readonly<Record<string, number | string>>;
9
+ export type TngBadgeTone = (typeof badgeTones)[number];
10
+ export type TngBadgeVariant = (typeof badgeVariants)[number];
11
+ type TngResolvedBadgePlacement = Readonly<{
12
+ bottom: string | null;
13
+ left: string | null;
14
+ right: string | null;
15
+ top: string | null;
16
+ transform: string;
17
+ }>;
18
+ export declare function normalizeTngBadgeMax(value: number): number;
19
+ export declare function coerceTngBadgeMax(value: number | string): number;
20
+ export declare function coerceTngBadgePosition(value: string): TngBadgePosition;
21
+ export declare function coerceTngBadgeSize(value: string): TngBadgeSize;
22
+ export declare function coerceTngBadgeTone(value: string): TngBadgeTone;
23
+ export declare function coerceTngBadgeVariant(value: string): TngBadgeVariant;
24
+ export declare function resolveTngBadgeContent(value: number | string | null | undefined, max: number, dot: boolean): string;
25
+ export declare function resolveTngBadgePlacement(position: TngBadgePosition): TngResolvedBadgePlacement;
26
+ export declare function toTngBadgeCssLength(value: number | string | null | undefined): string | null;
27
+ export declare class TngBadge implements OnDestroy {
28
+ readonly tngBadge: import("@angular/core").InputSignal<string | number | null | undefined>;
29
+ readonly tngBadgeClass: import("@angular/core").InputSignal<string | null | undefined>;
30
+ readonly tngBadgeDisabled: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
31
+ readonly tngBadgeStyle: import("@angular/core").InputSignal<Readonly<Record<string, string | number>> | null | undefined>;
32
+ readonly tngBadgeDot: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
33
+ readonly tngBadgeHidden: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
34
+ readonly tngBadgeMax: import("@angular/core").InputSignalWithTransform<number, string | number>;
35
+ readonly tngBadgeOffsetX: import("@angular/core").InputSignal<string | number | null | undefined>;
36
+ readonly tngBadgeOffsetY: import("@angular/core").InputSignal<string | number | null | undefined>;
37
+ readonly tngBadgePosition: import("@angular/core").InputSignalWithTransform<"bottom-end" | "bottom-start" | "top-end" | "top-start", string>;
38
+ readonly tngBadgeSize: import("@angular/core").InputSignalWithTransform<"lg" | "md" | "sm", string>;
39
+ readonly tngBadgeTone: import("@angular/core").InputSignalWithTransform<"danger" | "neutral" | "success" | "warning" | "info", string>;
40
+ readonly tngBadgeVariant: import("@angular/core").InputSignalWithTransform<"outline" | "soft" | "solid", string>;
41
+ private readonly hostElement;
42
+ private readonly renderer;
43
+ private badgeElement;
44
+ private readonly customStyleKeys;
45
+ constructor();
46
+ ngOnDestroy(): void;
47
+ private configureHost;
48
+ private renderBadge;
49
+ private ensureBadgeElement;
50
+ private destroyBadge;
51
+ private patchBadgeAttributes;
52
+ private patchBadgeClasses;
53
+ private patchBadgeContent;
54
+ private patchBadgeCustomStyles;
55
+ private patchBadgePlacement;
56
+ private patchBadgeVisualStyles;
57
+ private patchContentStyles;
58
+ private patchDotStyles;
59
+ private resolveSharedStyles;
60
+ private setNullableStyle;
61
+ }
62
+ export {};
63
+ //# sourceMappingURL=tng-badge.d.ts.map
@@ -0,0 +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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"}