@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-accordion.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/accordion/tng-accordion.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\nexport type TngAccordionType = 'single' | 'multiple';\nexport type TngAccordionValue = string | number;\nexport type TngAccordionTriggerSource = 'pointer' | 'keyboard' | 'programmatic';\n\nexport type TngAccordionExpandedChangeEvent = Readonly<{\n value: TngAccordionValue;\n expanded: boolean;\n previousValues: readonly TngAccordionValue[];\n values: readonly TngAccordionValue[];\n trigger: TngAccordionTriggerSource;\n}>;\n\ntype TngAccordionNavigationAction = 'next' | 'prev' | 'first' | 'last';\n\nconst createAccordionItemValue = createTngIdFactory('tng-accordion-item');\nconst createAccordionTriggerId = createTngIdFactory('tng-accordion-trigger');\nconst createAccordionPanelId = createTngIdFactory('tng-accordion-panel');\n\nlet nextAccordionItemRegistrationOrder = 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 normalizeAccordionType(value: unknown): TngAccordionType {\n return value === 'multiple' ? 'multiple' : 'single';\n}\n\nfunction normalizeAccordionValue(value: unknown): TngAccordionValue {\n if (typeof value === 'number') {\n return value;\n }\n\n if (typeof value === 'string') {\n return value;\n }\n\n return String(value);\n}\n\nfunction normalizeOptionalAccordionValue(value: unknown): TngAccordionValue | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n return normalizeAccordionValue(value);\n}\n\nfunction normalizeAccordionValueInput(\n value: unknown,\n): TngAccordionValue | readonly TngAccordionValue[] | null | undefined {\n if (value === undefined) {\n return undefined;\n }\n\n if (value === null) {\n return null;\n }\n\n if (Array.isArray(value)) {\n return value.map((entry) => normalizeAccordionValue(entry));\n }\n\n return normalizeAccordionValue(value);\n}\n\nfunction compareAccordionItemsByDomPosition(a: TngAccordionItem, b: TngAccordionItem): number {\n const aElement = a.getHostElement();\n const bElement = b.getHostElement();\n\n if (aElement === bElement) {\n return a.getRegistrationOrder() - b.getRegistrationOrder();\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 a.getRegistrationOrder() - b.getRegistrationOrder();\n}\n\nfunction toSet(values: readonly TngAccordionValue[]): Set<TngAccordionValue> {\n return new Set(values);\n}\n\nfunction setsEqual(a: ReadonlySet<TngAccordionValue>, b: ReadonlySet<TngAccordionValue>): boolean {\n if (a.size !== b.size) {\n return false;\n }\n\n for (const value of a) {\n if (!b.has(value)) {\n return false;\n }\n }\n\n return true;\n}\n\n@Directive({\n selector: '[tngAccordion]',\n exportAs: 'tngAccordion',\n standalone: true,\n})\nexport class TngAccordion {\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly items = new Set<TngAccordionItem>();\n private uncontrolledValues = new Set<TngAccordionValue>();\n private focusedValue: TngAccordionValue | null = null;\n private initialized = false;\n private lastType: TngAccordionType = 'single';\n private defaultValuesSnapshot: readonly TngAccordionValue[] = [];\n private hasUserInteraction = false;\n\n readonly type = input<TngAccordionType, unknown>('single', {\n transform: normalizeAccordionType,\n });\n readonly value = input<TngAccordionValue | readonly TngAccordionValue[] | null | undefined, unknown>(\n undefined,\n {\n transform: normalizeAccordionValueInput,\n },\n );\n readonly defaultValue = input<TngAccordionValue | readonly TngAccordionValue[] | null | undefined, unknown>(\n undefined,\n {\n transform: normalizeAccordionValueInput,\n },\n );\n readonly collapsible = input<boolean, unknown>(true, {\n transform: normalizeBooleanInput,\n });\n readonly disabled = input<boolean, unknown>(false, {\n transform: normalizeBooleanInput,\n });\n readonly loop = input<boolean, unknown>(true, {\n transform: normalizeBooleanInput,\n });\n readonly lazy = input<boolean, unknown>(false, {\n transform: normalizeBooleanInput,\n });\n readonly keepAlive = input<boolean, unknown>(true, {\n transform: normalizeBooleanInput,\n });\n\n readonly valueChange = output<TngAccordionValue | readonly TngAccordionValue[] | null>();\n readonly valuesChange = output<readonly TngAccordionValue[]>();\n readonly expandedChange = output<TngAccordionExpandedChangeEvent>();\n readonly openStart = output<TngAccordionValue>();\n readonly opened = output<TngAccordionValue>();\n readonly closeStart = output<TngAccordionValue>();\n readonly closed = output<TngAccordionValue>();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'accordion' as const;\n\n @HostBinding('attr.data-type')\n protected get dataType(): TngAccordionType {\n return this.type();\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.syncStateFromInputs('check');\n }\n\n ngOnDestroy(): void {\n this.items.clear();\n }\n\n registerItem(item: TngAccordionItem): void {\n this.items.add(item);\n this.syncStateFromInputs('registration');\n }\n\n unregisterItem(item: TngAccordionItem): void {\n const wasExpanded = this.getEffectiveValueSet().has(item.getValue());\n const removedValue = item.getValue();\n this.items.delete(item);\n\n if (wasExpanded && !this.isControlled()) {\n const next = new Set(this.uncontrolledValues);\n next.delete(removedValue);\n this.uncontrolledValues = next;\n }\n\n if (this.focusedValue !== null && this.focusedValue === removedValue) {\n this.focusedValue = null;\n }\n\n this.syncStateFromInputs('check');\n }\n\n notifyItemMutated(): void {\n this.syncStateFromInputs('check');\n }\n\n isItemExpanded(item: TngAccordionItem): boolean {\n return this.getEffectiveValueSet().has(item.getValue());\n }\n\n isItemDisabled(item: TngAccordionItem): boolean {\n return this.disabled() || item.disabled();\n }\n\n getTriggerTabIndex(item: TngAccordionItem): string {\n if (this.isItemDisabled(item)) {\n return '-1';\n }\n\n const focusableItem = this.resolveCurrentFocusableItem();\n if (focusableItem === null) {\n return '-1';\n }\n\n return focusableItem === item ? '0' : '-1';\n }\n\n onTriggerFocused(item: TngAccordionItem): void {\n if (this.isItemDisabled(item)) {\n return;\n }\n\n this.focusedValue = item.getValue();\n }\n\n onTriggerClicked(item: TngAccordionItem): void {\n this.requestToggle(item, 'pointer');\n }\n\n onTriggerKeydown(item: TngAccordionItem, event: KeyboardEvent): void {\n if (this.isItemDisabled(item) || event.altKey || event.ctrlKey || event.metaKey) {\n return;\n }\n\n if (event.key === 'Enter' || event.key === ' ' || event.key === 'Spacebar') {\n event.preventDefault();\n this.requestToggle(item, 'keyboard');\n return;\n }\n\n const action = this.resolveNavigationAction(event.key);\n if (action === null) {\n return;\n }\n\n if (this.moveFocus(item, action)) {\n event.preventDefault();\n }\n }\n\n isPanelMounted(item: TngAccordionItem): boolean {\n if (this.isItemExpanded(item)) {\n item.markExpandedOnce();\n return true;\n }\n\n if (!this.keepAlive()) {\n return false;\n }\n\n if (!this.lazy()) {\n return true;\n }\n\n return item.hasExpandedOnce();\n }\n\n open(value: TngAccordionValue): void {\n this.requestSetExpanded(value, true, 'programmatic');\n }\n\n close(value: TngAccordionValue): void {\n this.requestSetExpanded(value, false, 'programmatic');\n }\n\n toggle(value: TngAccordionValue): void {\n const expanded = this.getEffectiveValueSet().has(value);\n this.requestSetExpanded(value, !expanded, 'programmatic');\n }\n\n getExpandedValues(): readonly TngAccordionValue[] {\n const effectiveSet = this.getEffectiveValueSet();\n return this.getOrderedItems()\n .map((item) => item.getValue())\n .filter((value) => effectiveSet.has(value));\n }\n\n private requestSetExpanded(value: TngAccordionValue, nextExpanded: boolean, trigger: TngAccordionTriggerSource): void {\n const item = this.getOrderedItems().find((candidate) => candidate.getValue() === value) ?? null;\n if (item === null) {\n return;\n }\n\n if (this.isItemExpanded(item) === nextExpanded) {\n return;\n }\n\n this.requestToggle(item, trigger, nextExpanded);\n }\n\n private requestToggle(\n item: TngAccordionItem,\n trigger: TngAccordionTriggerSource,\n forcedExpanded?: boolean,\n ): void {\n if (this.isItemDisabled(item)) {\n return;\n }\n\n const previous = this.getEffectiveValueSet();\n const next = new Set(previous);\n const itemValue = item.getValue();\n const currentlyExpanded = previous.has(itemValue);\n const shouldExpand = forcedExpanded ?? !currentlyExpanded;\n\n if (this.type() === 'single') {\n if (!shouldExpand && !this.collapsible()) {\n return;\n }\n\n next.clear();\n if (shouldExpand) {\n next.add(itemValue);\n }\n } else {\n if (shouldExpand) {\n next.add(itemValue);\n } else {\n next.delete(itemValue);\n }\n }\n\n if (setsEqual(previous, next)) {\n return;\n }\n\n if (!this.isControlled()) {\n this.uncontrolledValues = next;\n }\n\n this.hasUserInteraction = true;\n this.focusedValue = itemValue;\n const previousValues = this.mapSetToOrderedValues(previous);\n const nextValues = this.mapSetToOrderedValues(next);\n const expanded = next.has(itemValue);\n this.emitSelectionOutputs(itemValue, expanded, previousValues, nextValues, trigger);\n this.syncStateFromInputs('check');\n }\n\n private emitSelectionOutputs(\n value: TngAccordionValue,\n expanded: boolean,\n previousValues: readonly TngAccordionValue[],\n values: readonly TngAccordionValue[],\n trigger: TngAccordionTriggerSource,\n ): void {\n if (expanded) {\n this.openStart.emit(value);\n } else {\n this.closeStart.emit(value);\n }\n\n if (this.type() === 'single') {\n const nextSingle = values[0] ?? null;\n this.valueChange.emit(nextSingle);\n } else {\n this.valueChange.emit(values);\n this.valuesChange.emit(values);\n }\n\n this.expandedChange.emit({\n value,\n expanded,\n previousValues,\n values,\n trigger,\n });\n\n if (expanded) {\n this.opened.emit(value);\n } else {\n this.closed.emit(value);\n }\n }\n\n private resolveNavigationAction(key: string): TngAccordionNavigationAction | null {\n if (key === 'ArrowDown') {\n return 'next';\n }\n\n if (key === 'ArrowUp') {\n return 'prev';\n }\n\n if (key === 'Home') {\n return 'first';\n }\n\n if (key === 'End') {\n return 'last';\n }\n\n return null;\n }\n\n private moveFocus(item: TngAccordionItem, action: TngAccordionNavigationAction): boolean {\n const enabledItems = this.getEnabledItems();\n if (enabledItems.length === 0) {\n return false;\n }\n\n const currentIndex = enabledItems.indexOf(item);\n if (currentIndex < 0) {\n return false;\n }\n\n let nextIndex = currentIndex;\n if (action === 'first') {\n nextIndex = 0;\n } else if (action === 'last') {\n nextIndex = enabledItems.length - 1;\n } else if (action === 'next') {\n if (currentIndex + 1 < enabledItems.length) {\n nextIndex = currentIndex + 1;\n } else if (this.loop()) {\n nextIndex = 0;\n } else {\n return false;\n }\n } else if (action === 'prev') {\n if (currentIndex - 1 >= 0) {\n nextIndex = currentIndex - 1;\n } else if (this.loop()) {\n nextIndex = enabledItems.length - 1;\n } else {\n return false;\n }\n }\n\n const target = enabledItems[nextIndex] ?? null;\n if (target === null || target === item) {\n return false;\n }\n\n target.focusTrigger();\n this.focusedValue = target.getValue();\n return true;\n }\n\n private syncStateFromInputs(source: 'check' | 'registration'): void {\n if (!this.initialized) {\n this.initialized = this.initializeUncontrolledState(source);\n if (!this.initialized) {\n return;\n }\n }\n\n const nextType = this.type();\n if (nextType !== this.lastType) {\n this.lastType = nextType;\n if (!this.isControlled() && nextType === 'single' && this.uncontrolledValues.size > 1) {\n const first = this.mapSetToOrderedValues(this.uncontrolledValues)[0];\n this.uncontrolledValues = first === undefined ? new Set() : new Set([first]);\n }\n }\n\n if (!this.isControlled()) {\n this.uncontrolledValues = this.normalizeSetForCurrentItems(this.uncontrolledValues);\n\n if (!this.hasUserInteraction && this.defaultValuesSnapshot.length > 0) {\n const normalizedDefaultValues = this.normalizeSetForCurrentItems(toSet(this.defaultValuesSnapshot));\n if (!setsEqual(this.uncontrolledValues, normalizedDefaultValues)) {\n this.uncontrolledValues = normalizedDefaultValues;\n }\n }\n }\n\n this.ensureSingleModeNonCollapsibleSelection();\n this.ensureFocusedValueStillValid();\n }\n\n private initializeUncontrolledState(source: 'check' | 'registration'): boolean {\n if (this.isControlled()) {\n this.uncontrolledValues = new Set();\n return true;\n }\n\n if (this.items.size === 0) {\n this.uncontrolledValues = new Set();\n return false;\n }\n\n const defaultInput = this.defaultValue();\n const initialValues = this.normalizeValueInputToArray(defaultInput);\n this.defaultValuesSnapshot = initialValues;\n this.uncontrolledValues = this.normalizeSetForCurrentItems(toSet(initialValues));\n\n if (initialValues.length === 0) {\n return this.items.size > 0 || source === 'check';\n }\n\n const requiredValuesCount = new Set(initialValues).size;\n if (this.uncontrolledValues.size >= requiredValuesCount) {\n return true;\n }\n\n return source === 'check';\n }\n\n private ensureSingleModeNonCollapsibleSelection(): void {\n if (this.type() !== 'single' || this.collapsible()) {\n return;\n }\n\n const effectiveValues = this.getEffectiveValueSet();\n if (effectiveValues.size > 0) {\n return;\n }\n\n const firstEnabled = this.getEnabledItems()[0];\n if (firstEnabled === undefined) {\n return;\n }\n\n if (this.isControlled()) {\n return;\n }\n\n this.uncontrolledValues = new Set([firstEnabled.getValue()]);\n }\n\n private ensureFocusedValueStillValid(): void {\n const enabledItems = this.getEnabledItems();\n if (enabledItems.length === 0) {\n this.focusedValue = null;\n return;\n }\n\n if (this.focusedValue !== null && enabledItems.some((item) => item.getValue() === this.focusedValue)) {\n return;\n }\n\n const expandedSet = this.getEffectiveValueSet();\n const expandedItem =\n enabledItems.find((item) => expandedSet.has(item.getValue())) ??\n null;\n this.focusedValue = expandedItem?.getValue() ?? enabledItems[0]?.getValue() ?? null;\n }\n\n private isControlled(): boolean {\n return this.value() !== undefined;\n }\n\n private getEffectiveValueSet(): ReadonlySet<TngAccordionValue> {\n if (!this.isControlled()) {\n return this.uncontrolledValues;\n }\n\n const controlledValues = toSet(this.normalizeValueInputToArray(this.value()));\n return this.normalizeSetForCurrentItems(controlledValues);\n }\n\n private normalizeSetForCurrentItems(values: ReadonlySet<TngAccordionValue>): Set<TngAccordionValue> {\n const availableValues = new Set(this.getOrderedItems().map((item) => item.getValue()));\n const normalized = new Set<TngAccordionValue>();\n\n for (const value of values) {\n if (availableValues.has(value)) {\n normalized.add(value);\n }\n }\n\n if (this.type() === 'single') {\n const first = this.mapSetToOrderedValues(normalized)[0];\n return first === undefined ? new Set() : new Set([first]);\n }\n\n return normalized;\n }\n\n private normalizeValueInputToArray(\n value: TngAccordionValue | readonly TngAccordionValue[] | null | undefined,\n ): readonly TngAccordionValue[] {\n if (value === undefined || value === null) {\n return [];\n }\n\n if (Array.isArray(value)) {\n return [...value];\n }\n\n return [value as TngAccordionValue];\n }\n\n private mapSetToOrderedValues(values: ReadonlySet<TngAccordionValue>): readonly TngAccordionValue[] {\n return this.getOrderedItems()\n .map((item) => item.getValue())\n .filter((value) => values.has(value));\n }\n\n private getOrderedItems(): readonly TngAccordionItem[] {\n return Array.from(this.items).sort(compareAccordionItemsByDomPosition);\n }\n\n private getEnabledItems(): readonly TngAccordionItem[] {\n return this.getOrderedItems().filter((item) => !this.isItemDisabled(item));\n }\n\n private resolveCurrentFocusableItem(): TngAccordionItem | null {\n const enabledItems = this.getEnabledItems();\n if (enabledItems.length === 0) {\n return null;\n }\n\n if (this.focusedValue !== null) {\n const focusedItem = enabledItems.find((item) => item.getValue() === this.focusedValue) ?? null;\n if (focusedItem !== null) {\n return focusedItem;\n }\n }\n\n const expandedValues = this.getEffectiveValueSet();\n const expandedItem = enabledItems.find((item) => expandedValues.has(item.getValue())) ?? null;\n if (expandedItem !== null) {\n return expandedItem;\n }\n\n return enabledItems[0] ?? null;\n }\n\n getHostElement(): HTMLElement {\n return this.hostRef.nativeElement;\n }\n}\n\n@Directive({\n selector: '[tngAccordionItem]',\n exportAs: 'tngAccordionItem',\n standalone: true,\n})\nexport class TngAccordionItem {\n private readonly root = inject(TngAccordion, { optional: true, host: true });\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly fallbackValue = createAccordionItemValue();\n private readonly registrationOrder = nextAccordionItemRegistrationOrder++;\n private trigger: TngAccordionTrigger | null = null;\n private panel: TngAccordionPanel | null = null;\n private expandedOnce = false;\n\n readonly value = input<TngAccordionValue | undefined, unknown>(undefined, {\n transform: normalizeOptionalAccordionValue,\n });\n readonly disabled = input<boolean, unknown>(false, {\n transform: normalizeBooleanInput,\n });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'accordion-item' as const;\n\n @HostBinding('attr.data-state')\n protected get dataState(): 'open' | 'closed' {\n return this.root?.isItemExpanded(this) ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabled(): 'true' | 'false' {\n return this.disabled() ? 'true' : 'false';\n }\n\n ngOnInit(): void {\n this.root?.registerItem(this);\n }\n\n ngDoCheck(): void {\n this.root?.notifyItemMutated();\n }\n\n ngOnDestroy(): void {\n this.root?.unregisterItem(this);\n }\n\n getHostElement(): HTMLElement {\n return this.hostRef.nativeElement;\n }\n\n getRegistrationOrder(): number {\n return this.registrationOrder;\n }\n\n getValue(): TngAccordionValue {\n return this.value() ?? this.fallbackValue;\n }\n\n getAccordion(): TngAccordion | null {\n return this.root ?? null;\n }\n\n registerTrigger(trigger: TngAccordionTrigger): void {\n this.trigger = trigger;\n }\n\n unregisterTrigger(trigger: TngAccordionTrigger): void {\n if (this.trigger === trigger) {\n this.trigger = null;\n }\n }\n\n registerPanel(panel: TngAccordionPanel): void {\n this.panel = panel;\n }\n\n unregisterPanel(panel: TngAccordionPanel): void {\n if (this.panel === panel) {\n this.panel = null;\n }\n }\n\n focusTrigger(): void {\n this.trigger?.focusSelf();\n }\n\n getTriggerId(): string | null {\n return this.trigger?.getTriggerId() ?? null;\n }\n\n getPanelId(): string | null {\n return this.panel?.getPanelId() ?? null;\n }\n\n markExpandedOnce(): void {\n this.expandedOnce = true;\n }\n\n hasExpandedOnce(): boolean {\n return this.expandedOnce;\n }\n}\n\n@Directive({\n selector: '[tngAccordionTrigger]',\n exportAs: 'tngAccordionTrigger',\n standalone: true,\n})\nexport class TngAccordionTrigger {\n private readonly item = inject(TngAccordionItem, { optional: true, host: true });\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly fallbackTriggerId =\n this.hostRef.nativeElement.getAttribute('id') ?? createAccordionTriggerId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'accordion-trigger' as const;\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolveTriggerId();\n }\n\n @HostBinding('attr.role')\n protected readonly role = 'button' as const;\n\n @HostBinding('attr.type')\n protected get typeAttr(): 'button' | null {\n return this.hostRef.nativeElement instanceof HTMLButtonElement ? 'button' : null;\n }\n\n @HostBinding('attr.tabindex')\n protected get tabIndexAttr(): string {\n if (this.item === null) {\n return this.hostRef.nativeElement.getAttribute('tabindex') ?? '0';\n }\n\n const root = this.item.getAccordion();\n return root?.getTriggerTabIndex(this.item) ?? '0';\n }\n\n @HostBinding('attr.aria-expanded')\n protected get ariaExpanded(): 'true' | 'false' {\n if (this.item === null) {\n return 'false';\n }\n\n return this.item.getAccordion()?.isItemExpanded(this.item) ? 'true' : 'false';\n }\n\n @HostBinding('attr.aria-controls')\n protected get ariaControls(): string | null {\n return this.item?.getPanelId() ?? null;\n }\n\n @HostBinding('attr.aria-disabled')\n protected get ariaDisabled(): 'true' | null {\n if (this.item === null) {\n return null;\n }\n\n return this.item.getAccordion()?.isItemDisabled(this.item) ? 'true' : null;\n }\n\n @HostBinding('attr.disabled')\n protected get disabledAttr(): '' | null {\n if (!(this.hostRef.nativeElement instanceof HTMLButtonElement) || this.item === null) {\n return null;\n }\n\n return this.item.getAccordion()?.isItemDisabled(this.item) ? '' : null;\n }\n\n @HostBinding('attr.data-state')\n protected get dataState(): 'open' | 'closed' {\n if (this.item === null) {\n return 'closed';\n }\n\n return this.item.getAccordion()?.isItemExpanded(this.item) ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabled(): 'true' | 'false' {\n if (this.item === null) {\n return 'false';\n }\n\n return this.item.getAccordion()?.isItemDisabled(this.item) ? 'true' : 'false';\n }\n\n ngOnInit(): void {\n this.item?.registerTrigger(this);\n }\n\n ngOnDestroy(): void {\n this.item?.unregisterTrigger(this);\n }\n\n getTriggerId(): string {\n return this.resolveTriggerId();\n }\n\n focusSelf(): void {\n this.hostRef.nativeElement.focus();\n }\n\n private resolveTriggerId(): string {\n const explicitId = this.hostRef.nativeElement.getAttribute('id');\n if (explicitId !== null && explicitId.length > 0) {\n return explicitId;\n }\n\n return this.fallbackTriggerId;\n }\n\n @HostListener('focus')\n protected onFocus(): void {\n if (this.item === null) {\n return;\n }\n\n this.item.getAccordion()?.onTriggerFocused(this.item);\n }\n\n @HostListener('click', ['$event'])\n protected onClick(event: MouseEvent): void {\n if (this.item === null) {\n return;\n }\n\n const accordion = this.item.getAccordion();\n if (accordion?.isItemDisabled(this.item)) {\n event.preventDefault();\n return;\n }\n\n accordion?.onTriggerClicked(this.item);\n }\n\n @HostListener('keydown', ['$event'])\n protected onKeydown(event: KeyboardEvent): void {\n if (this.item === null) {\n return;\n }\n\n this.item.getAccordion()?.onTriggerKeydown(this.item, event);\n }\n}\n\n@Directive({\n selector: '[tngAccordionPanel]',\n exportAs: 'tngAccordionPanel',\n standalone: true,\n})\nexport class TngAccordionPanel {\n private readonly item = inject(TngAccordionItem, { optional: true, host: true });\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly fallbackPanelId = this.hostRef.nativeElement.getAttribute('id') ?? createAccordionPanelId();\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'accordion-panel' as const;\n\n @HostBinding('attr.id')\n protected get idAttr(): string {\n return this.resolvePanelId();\n }\n\n @HostBinding('attr.role')\n protected readonly role = 'region' as const;\n\n @HostBinding('attr.aria-labelledby')\n protected get ariaLabelledBy(): string | null {\n return this.item?.getTriggerId() ?? null;\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n if (this.item === null) {\n return '';\n }\n\n const accordion = this.item.getAccordion();\n if (accordion === null) {\n return '';\n }\n\n const isVisible = accordion.isItemExpanded(this.item) && accordion.isPanelMounted(this.item);\n return isVisible ? null : '';\n }\n\n @HostBinding('attr.data-state')\n protected get dataState(): 'open' | 'closed' {\n if (this.item === null) {\n return 'closed';\n }\n\n return this.item.getAccordion()?.isItemExpanded(this.item) ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-mounted')\n protected get dataMounted(): 'true' | 'false' {\n if (this.item === null) {\n return 'false';\n }\n\n return this.item.getAccordion()?.isPanelMounted(this.item) ? 'true' : 'false';\n }\n\n ngOnInit(): void {\n this.item?.registerPanel(this);\n }\n\n ngDoCheck(): void {\n if (this.item?.getAccordion()?.isItemExpanded(this.item)) {\n this.item.markExpandedOnce();\n }\n }\n\n ngOnDestroy(): void {\n this.item?.unregisterPanel(this);\n }\n\n getPanelId(): string {\n return this.resolvePanelId();\n }\n\n private resolvePanelId(): string {\n const explicitId = this.hostRef.nativeElement.getAttribute('id');\n if (explicitId !== null && explicitId.length > 0) {\n return explicitId;\n }\n\n return this.fallbackPanelId;\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export declare class TngBottomSheet {
2
+ protected readonly dataSlot: "bottom-sheet";
3
+ }
4
+ //# sourceMappingURL=tng-bottom-sheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-bottom-sheet.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/bottom-sheet/tng-bottom-sheet.ts"],"names":[],"mappings":"AAEA,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD"}
@@ -0,0 +1,16 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, HostBinding } from '@angular/core';
3
+ let TngBottomSheet = class TngBottomSheet {
4
+ dataSlot = 'bottom-sheet';
5
+ };
6
+ __decorate([
7
+ HostBinding('attr.data-slot')
8
+ ], TngBottomSheet.prototype, "dataSlot", void 0);
9
+ TngBottomSheet = __decorate([
10
+ Directive({
11
+ selector: '[tngBottomSheet]',
12
+ exportAs: 'tngBottomSheet',
13
+ })
14
+ ], TngBottomSheet);
15
+ export { TngBottomSheet };
16
+ //# sourceMappingURL=tng-bottom-sheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-bottom-sheet.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/bottom-sheet/tng-bottom-sheet.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMhD,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,kBAAkB;QAC5B,QAAQ,EAAE,gBAAgB;KAC3B,CAAC;GACW,cAAc,CAG1B","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngBottomSheet]',\n exportAs: 'tngBottomSheet',\n})\nexport class TngBottomSheet {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'bottom-sheet' as const;\n}\n"]}
@@ -0,0 +1,31 @@
1
+ export declare class TngCard {
2
+ protected readonly dataSlot: "card";
3
+ }
4
+ export declare class TngCardHeader {
5
+ protected readonly dataSlot: "card-header";
6
+ }
7
+ export declare class TngCardTitle {
8
+ protected readonly dataSlot: "card-title";
9
+ }
10
+ export declare class TngCardDescription {
11
+ protected readonly dataSlot: "card-description";
12
+ }
13
+ export declare class TngCardContent {
14
+ protected readonly dataSlot: "card-content";
15
+ }
16
+ export declare class TngCardFooter {
17
+ protected readonly dataSlot: "card-footer";
18
+ }
19
+ export declare class TngCardMedia {
20
+ protected readonly dataSlot: "card-media";
21
+ }
22
+ export declare class TngCardActions {
23
+ protected readonly dataSlot: "card-actions";
24
+ }
25
+ export declare class TngCardDivider {
26
+ protected readonly dataSlot: "card-divider";
27
+ }
28
+ export declare class TngCardLink {
29
+ protected readonly dataSlot: "card-link";
30
+ }
31
+ //# sourceMappingURL=tng-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-card.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/card/tng-card.ts"],"names":[],"mappings":"AAEA,qBAIa,OAAO;IAElB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;CAC/C;AAED,qBAIa,aAAa;IAExB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;CACtD;AAED,qBAIa,YAAY;IAEvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;CACrD;AAED,qBAIa,kBAAkB;IAE7B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,kBAAkB,CAAU;CAC3D;AAED,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD;AAED,qBAIa,aAAa;IAExB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;CACtD;AAED,qBAIa,YAAY;IAEvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;CACrD;AAED,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD;AAED,qBAIa,cAAc;IAEzB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CACvD;AAED,qBAIa,WAAW;IAEtB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,WAAW,CAAU;CACpD"}
@@ -0,0 +1,133 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, HostBinding } from '@angular/core';
3
+ let TngCard = class TngCard {
4
+ dataSlot = 'card';
5
+ };
6
+ __decorate([
7
+ HostBinding('attr.data-slot')
8
+ ], TngCard.prototype, "dataSlot", void 0);
9
+ TngCard = __decorate([
10
+ Directive({
11
+ selector: '[tngCard]',
12
+ exportAs: 'tngCard',
13
+ })
14
+ ], TngCard);
15
+ export { TngCard };
16
+ let TngCardHeader = class TngCardHeader {
17
+ dataSlot = 'card-header';
18
+ };
19
+ __decorate([
20
+ HostBinding('attr.data-slot')
21
+ ], TngCardHeader.prototype, "dataSlot", void 0);
22
+ TngCardHeader = __decorate([
23
+ Directive({
24
+ selector: '[tngCardHeader]',
25
+ exportAs: 'tngCardHeader',
26
+ })
27
+ ], TngCardHeader);
28
+ export { TngCardHeader };
29
+ let TngCardTitle = class TngCardTitle {
30
+ dataSlot = 'card-title';
31
+ };
32
+ __decorate([
33
+ HostBinding('attr.data-slot')
34
+ ], TngCardTitle.prototype, "dataSlot", void 0);
35
+ TngCardTitle = __decorate([
36
+ Directive({
37
+ selector: '[tngCardTitle]',
38
+ exportAs: 'tngCardTitle',
39
+ })
40
+ ], TngCardTitle);
41
+ export { TngCardTitle };
42
+ let TngCardDescription = class TngCardDescription {
43
+ dataSlot = 'card-description';
44
+ };
45
+ __decorate([
46
+ HostBinding('attr.data-slot')
47
+ ], TngCardDescription.prototype, "dataSlot", void 0);
48
+ TngCardDescription = __decorate([
49
+ Directive({
50
+ selector: '[tngCardDescription]',
51
+ exportAs: 'tngCardDescription',
52
+ })
53
+ ], TngCardDescription);
54
+ export { TngCardDescription };
55
+ let TngCardContent = class TngCardContent {
56
+ dataSlot = 'card-content';
57
+ };
58
+ __decorate([
59
+ HostBinding('attr.data-slot')
60
+ ], TngCardContent.prototype, "dataSlot", void 0);
61
+ TngCardContent = __decorate([
62
+ Directive({
63
+ selector: '[tngCardContent]',
64
+ exportAs: 'tngCardContent',
65
+ })
66
+ ], TngCardContent);
67
+ export { TngCardContent };
68
+ let TngCardFooter = class TngCardFooter {
69
+ dataSlot = 'card-footer';
70
+ };
71
+ __decorate([
72
+ HostBinding('attr.data-slot')
73
+ ], TngCardFooter.prototype, "dataSlot", void 0);
74
+ TngCardFooter = __decorate([
75
+ Directive({
76
+ selector: '[tngCardFooter]',
77
+ exportAs: 'tngCardFooter',
78
+ })
79
+ ], TngCardFooter);
80
+ export { TngCardFooter };
81
+ let TngCardMedia = class TngCardMedia {
82
+ dataSlot = 'card-media';
83
+ };
84
+ __decorate([
85
+ HostBinding('attr.data-slot')
86
+ ], TngCardMedia.prototype, "dataSlot", void 0);
87
+ TngCardMedia = __decorate([
88
+ Directive({
89
+ selector: '[tngCardMedia]',
90
+ exportAs: 'tngCardMedia',
91
+ })
92
+ ], TngCardMedia);
93
+ export { TngCardMedia };
94
+ let TngCardActions = class TngCardActions {
95
+ dataSlot = 'card-actions';
96
+ };
97
+ __decorate([
98
+ HostBinding('attr.data-slot')
99
+ ], TngCardActions.prototype, "dataSlot", void 0);
100
+ TngCardActions = __decorate([
101
+ Directive({
102
+ selector: '[tngCardActions]',
103
+ exportAs: 'tngCardActions',
104
+ })
105
+ ], TngCardActions);
106
+ export { TngCardActions };
107
+ let TngCardDivider = class TngCardDivider {
108
+ dataSlot = 'card-divider';
109
+ };
110
+ __decorate([
111
+ HostBinding('attr.data-slot')
112
+ ], TngCardDivider.prototype, "dataSlot", void 0);
113
+ TngCardDivider = __decorate([
114
+ Directive({
115
+ selector: '[tngCardDivider]',
116
+ exportAs: 'tngCardDivider',
117
+ })
118
+ ], TngCardDivider);
119
+ export { TngCardDivider };
120
+ let TngCardLink = class TngCardLink {
121
+ dataSlot = 'card-link';
122
+ };
123
+ __decorate([
124
+ HostBinding('attr.data-slot')
125
+ ], TngCardLink.prototype, "dataSlot", void 0);
126
+ TngCardLink = __decorate([
127
+ Directive({
128
+ selector: '[tngCardLink]',
129
+ exportAs: 'tngCardLink',
130
+ })
131
+ ], TngCardLink);
132
+ export { TngCardLink };
133
+ //# sourceMappingURL=tng-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-card.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/card/tng-card.ts"],"names":[],"mappings":"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","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngCard]',\n exportAs: 'tngCard',\n})\nexport class TngCard {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card' as const;\n}\n\n@Directive({\n selector: '[tngCardHeader]',\n exportAs: 'tngCardHeader',\n})\nexport class TngCardHeader {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-header' as const;\n}\n\n@Directive({\n selector: '[tngCardTitle]',\n exportAs: 'tngCardTitle',\n})\nexport class TngCardTitle {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-title' as const;\n}\n\n@Directive({\n selector: '[tngCardDescription]',\n exportAs: 'tngCardDescription',\n})\nexport class TngCardDescription {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-description' as const;\n}\n\n@Directive({\n selector: '[tngCardContent]',\n exportAs: 'tngCardContent',\n})\nexport class TngCardContent {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-content' as const;\n}\n\n@Directive({\n selector: '[tngCardFooter]',\n exportAs: 'tngCardFooter',\n})\nexport class TngCardFooter {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-footer' as const;\n}\n\n@Directive({\n selector: '[tngCardMedia]',\n exportAs: 'tngCardMedia',\n})\nexport class TngCardMedia {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-media' as const;\n}\n\n@Directive({\n selector: '[tngCardActions]',\n exportAs: 'tngCardActions',\n})\nexport class TngCardActions {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-actions' as const;\n}\n\n@Directive({\n selector: '[tngCardDivider]',\n exportAs: 'tngCardDivider',\n})\nexport class TngCardDivider {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-divider' as const;\n}\n\n@Directive({\n selector: '[tngCardLink]',\n exportAs: 'tngCardLink',\n})\nexport class TngCardLink {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'card-link' as const;\n}\n"]}
@@ -0,0 +1,28 @@
1
+ export declare function resolveTngCollapsibleAriaExpanded(open: boolean): 'false' | 'true';
2
+ export declare function resolveTngCollapsibleDataState(open: boolean): 'closed' | 'open';
3
+ export declare class TngCollapsible {
4
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
5
+ readonly open: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
6
+ protected get dataDisabledAttr(): '' | null;
7
+ protected readonly dataSlot: "collapsible";
8
+ protected get dataStateAttr(): 'closed' | 'open';
9
+ }
10
+ export declare class TngCollapsibleTrigger {
11
+ readonly contentId: import("@angular/core").InputSignal<string>;
12
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
13
+ readonly open: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
14
+ protected get ariaControlsAttr(): string | null;
15
+ protected get ariaExpandedAttr(): 'false' | 'true';
16
+ protected get dataDisabledAttr(): '' | null;
17
+ protected readonly dataSlot: "collapsible-trigger";
18
+ protected get dataStateAttr(): 'closed' | 'open';
19
+ protected get disabledAttr(): '' | null;
20
+ protected readonly typeAttr: "button";
21
+ }
22
+ export declare class TngCollapsibleContent {
23
+ readonly open: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
24
+ protected readonly dataSlot: "collapsible-content";
25
+ protected get dataStateAttr(): 'closed' | 'open';
26
+ protected get hiddenAttr(): '' | null;
27
+ }
28
+ //# sourceMappingURL=tng-collapsible.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-collapsible.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/collapsible/tng-collapsible.ts"],"names":[],"mappings":"AAEA,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAEjF;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,CAE/E;AAED,qBAIa,cAAc;IACzB,SAAgB,QAAQ,8EAErB;IACH,SAAgB,IAAI,8EAEjB;IAGH,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;IAGrD,SAAS,KAAK,aAAa,IAAI,QAAQ,GAAG,MAAM,CAE/C;CACF;AAED,qBAIa,qBAAqB;IAChC,SAAgB,SAAS,8CAAqB;IAC9C,SAAgB,QAAQ,8EAErB;IACH,SAAgB,IAAI,8EAEjB;IAGH,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAG9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,OAAO,GAAG,MAAM,CAEjD;IAGD,SAAS,KAAK,gBAAgB,IAAI,EAAE,GAAG,IAAI,CAE1C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,qBAAqB,CAAU;IAG7D,SAAS,KAAK,aAAa,IAAI,QAAQ,GAAG,MAAM,CAE/C;IAGD,SAAS,KAAK,YAAY,IAAI,EAAE,GAAG,IAAI,CAEtC;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,QAAQ,CAAU;CACjD;AAED,qBAIa,qBAAqB;IAChC,SAAgB,IAAI,8EAEjB;IAGH,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,qBAAqB,CAAU;IAG7D,SAAS,KAAK,aAAa,IAAI,QAAQ,GAAG,MAAM,CAE/C;IAGD,SAAS,KAAK,UAAU,IAAI,EAAE,GAAG,IAAI,CAEpC;CACF"}
@@ -0,0 +1,123 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';
3
+ export function resolveTngCollapsibleAriaExpanded(open) {
4
+ return open ? 'true' : 'false';
5
+ }
6
+ export function resolveTngCollapsibleDataState(open) {
7
+ return open ? 'open' : 'closed';
8
+ }
9
+ let TngCollapsible = class TngCollapsible {
10
+ disabled = input(false, {
11
+ transform: booleanAttribute,
12
+ });
13
+ open = input(false, {
14
+ transform: booleanAttribute,
15
+ });
16
+ get dataDisabledAttr() {
17
+ return this.disabled() ? '' : null;
18
+ }
19
+ dataSlot = 'collapsible';
20
+ get dataStateAttr() {
21
+ return resolveTngCollapsibleDataState(this.open());
22
+ }
23
+ };
24
+ __decorate([
25
+ HostBinding('attr.data-disabled')
26
+ ], TngCollapsible.prototype, "dataDisabledAttr", null);
27
+ __decorate([
28
+ HostBinding('attr.data-slot')
29
+ ], TngCollapsible.prototype, "dataSlot", void 0);
30
+ __decorate([
31
+ HostBinding('attr.data-state')
32
+ ], TngCollapsible.prototype, "dataStateAttr", null);
33
+ TngCollapsible = __decorate([
34
+ Directive({
35
+ selector: '[tngCollapsible]',
36
+ exportAs: 'tngCollapsible',
37
+ })
38
+ ], TngCollapsible);
39
+ export { TngCollapsible };
40
+ let TngCollapsibleTrigger = class TngCollapsibleTrigger {
41
+ contentId = input('');
42
+ disabled = input(false, {
43
+ transform: booleanAttribute,
44
+ });
45
+ open = input(false, {
46
+ transform: booleanAttribute,
47
+ });
48
+ get ariaControlsAttr() {
49
+ const id = this.contentId().trim();
50
+ return id.length > 0 ? id : null;
51
+ }
52
+ get ariaExpandedAttr() {
53
+ return resolveTngCollapsibleAriaExpanded(this.open());
54
+ }
55
+ get dataDisabledAttr() {
56
+ return this.disabled() ? '' : null;
57
+ }
58
+ dataSlot = 'collapsible-trigger';
59
+ get dataStateAttr() {
60
+ return resolveTngCollapsibleDataState(this.open());
61
+ }
62
+ get disabledAttr() {
63
+ return this.disabled() ? '' : null;
64
+ }
65
+ typeAttr = 'button';
66
+ };
67
+ __decorate([
68
+ HostBinding('attr.aria-controls')
69
+ ], TngCollapsibleTrigger.prototype, "ariaControlsAttr", null);
70
+ __decorate([
71
+ HostBinding('attr.aria-expanded')
72
+ ], TngCollapsibleTrigger.prototype, "ariaExpandedAttr", null);
73
+ __decorate([
74
+ HostBinding('attr.data-disabled')
75
+ ], TngCollapsibleTrigger.prototype, "dataDisabledAttr", null);
76
+ __decorate([
77
+ HostBinding('attr.data-slot')
78
+ ], TngCollapsibleTrigger.prototype, "dataSlot", void 0);
79
+ __decorate([
80
+ HostBinding('attr.data-state')
81
+ ], TngCollapsibleTrigger.prototype, "dataStateAttr", null);
82
+ __decorate([
83
+ HostBinding('attr.disabled')
84
+ ], TngCollapsibleTrigger.prototype, "disabledAttr", null);
85
+ __decorate([
86
+ HostBinding('attr.type')
87
+ ], TngCollapsibleTrigger.prototype, "typeAttr", void 0);
88
+ TngCollapsibleTrigger = __decorate([
89
+ Directive({
90
+ selector: 'button[tngCollapsibleTrigger]',
91
+ exportAs: 'tngCollapsibleTrigger',
92
+ })
93
+ ], TngCollapsibleTrigger);
94
+ export { TngCollapsibleTrigger };
95
+ let TngCollapsibleContent = class TngCollapsibleContent {
96
+ open = input(false, {
97
+ transform: booleanAttribute,
98
+ });
99
+ dataSlot = 'collapsible-content';
100
+ get dataStateAttr() {
101
+ return resolveTngCollapsibleDataState(this.open());
102
+ }
103
+ get hiddenAttr() {
104
+ return this.open() ? null : '';
105
+ }
106
+ };
107
+ __decorate([
108
+ HostBinding('attr.data-slot')
109
+ ], TngCollapsibleContent.prototype, "dataSlot", void 0);
110
+ __decorate([
111
+ HostBinding('attr.data-state')
112
+ ], TngCollapsibleContent.prototype, "dataStateAttr", null);
113
+ __decorate([
114
+ HostBinding('attr.hidden')
115
+ ], TngCollapsibleContent.prototype, "hiddenAttr", null);
116
+ TngCollapsibleContent = __decorate([
117
+ Directive({
118
+ selector: '[tngCollapsibleContent]',
119
+ exportAs: 'tngCollapsibleContent',
120
+ })
121
+ ], TngCollapsibleContent);
122
+ export { TngCollapsibleContent };
123
+ //# sourceMappingURL=tng-collapsible.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-collapsible.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/collapsible/tng-collapsible.ts"],"names":[],"mappings":"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","sourcesContent":["import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\n\nexport function resolveTngCollapsibleAriaExpanded(open: boolean): 'false' | 'true' {\n return open ? 'true' : 'false';\n}\n\nexport function resolveTngCollapsibleDataState(open: boolean): 'closed' | 'open' {\n return open ? 'open' : 'closed';\n}\n\n@Directive({\n selector: '[tngCollapsible]',\n exportAs: 'tngCollapsible',\n})\nexport class TngCollapsible {\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.data-disabled')\n protected get dataDisabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'collapsible' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return resolveTngCollapsibleDataState(this.open());\n }\n}\n\n@Directive({\n selector: 'button[tngCollapsibleTrigger]',\n exportAs: 'tngCollapsibleTrigger',\n})\nexport class TngCollapsibleTrigger {\n public readonly contentId = input<string>('');\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-controls')\n protected get ariaControlsAttr(): string | null {\n const id = this.contentId().trim();\n return id.length > 0 ? id : null;\n }\n\n @HostBinding('attr.aria-expanded')\n protected get ariaExpandedAttr(): 'false' | 'true' {\n return resolveTngCollapsibleAriaExpanded(this.open());\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 = 'collapsible-trigger' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return resolveTngCollapsibleDataState(this.open());\n }\n\n @HostBinding('attr.disabled')\n protected get disabledAttr(): '' | null {\n return this.disabled() ? '' : null;\n }\n\n @HostBinding('attr.type')\n protected readonly typeAttr = 'button' as const;\n}\n\n@Directive({\n selector: '[tngCollapsibleContent]',\n exportAs: 'tngCollapsibleContent',\n})\nexport class TngCollapsibleContent {\n public readonly open = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'collapsible-content' as const;\n\n @HostBinding('attr.data-state')\n protected get dataStateAttr(): 'closed' | 'open' {\n return resolveTngCollapsibleDataState(this.open());\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n return this.open() ? null : '';\n }\n}\n"]}