@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
package/README.md ADDED
@@ -0,0 +1,36 @@
1
+ <div align="center">
2
+ <img
3
+ src="https://raw.githubusercontent.com/tailng/tailng-ui/main/apps/tailng-ui/docs/src/assets/logo.svg"
4
+ width="96"
5
+ alt="TailNG logo"
6
+ />
7
+ </div>
8
+
9
+ # @tailng-ui/primitives
10
+
11
+ Unstyled accessibility and behavior primitives for TailNG UI.
12
+
13
+ ## TngPress
14
+
15
+ `TngPress` is a standalone directive that enhances native `button` and `a` elements:
16
+
17
+ - Defaults `button[tngPress]` to `type="button"` to avoid accidental form submission.
18
+ - Supports ARIA attributes for toggle/menu disclosure patterns.
19
+ - Handles disabled interaction for anchors and exposes `data-disabled` for styling.
20
+ - Applies button keyboard behavior to anchors without `href`.
21
+
22
+ ### Usage
23
+
24
+ ```ts
25
+ import { Component } from '@angular/core';
26
+ import { TngPress } from '@tailng-ui/primitives';
27
+
28
+ @Component({
29
+ imports: [TngPress],
30
+ template: `
31
+ <button tngPress type="button">Action</button>
32
+ <a tngPress [disabled]="true">Disabled Link Button</a>
33
+ `,
34
+ })
35
+ export class ExampleComponent {}
36
+ ```
package/package.json ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "@tailng-ui/primitives",
3
+ "version": "0.1.0",
4
+ "peerDependencies": {
5
+ "@angular/core": "^21.1.0",
6
+ "@tailng-ui/cdk": "workspace:*",
7
+ "tslib": "^2.3.0"
8
+ },
9
+ "sideEffects": false,
10
+ "types": "./src/index.d.ts",
11
+ "main": "./src/index.js",
12
+ "type": "commonjs"
13
+ }
package/src/index.d.ts ADDED
@@ -0,0 +1,55 @@
1
+ export * from './lib/navigation/breadcrumb/tng-breadcrumb';
2
+ export * from './lib/navigation/context-menu/tng-context-menu';
3
+ export * from './lib/navigation/dropdown-menu/tng-dropdown-menu';
4
+ export * from './lib/navigation/menu/tng-menu';
5
+ export * from './lib/navigation/menubar/tng-menubar';
6
+ export * from './lib/navigation/navigation-menu/tng-navigation-menu';
7
+ export * from './lib/navigation/tabs/tng-tabs';
8
+ export * from './lib/navigation/toolbar/tng-toolbar';
9
+ export * from './lib/form/listbox/listbox.directive';
10
+ export * from './lib/form/listbox/option.directive';
11
+ export * from './lib/form/listbox/tokens';
12
+ export * from './lib/form/autocomplete';
13
+ export * from './lib/form/button-toggle/tng-button-toggle';
14
+ export * from './lib/form/checkbox/tng-checkbox';
15
+ export * from './lib/form/chips/tng-chips';
16
+ export * from './lib/form/combobox/tng-combobox';
17
+ export * from './lib/form/input/tng-input';
18
+ export * from './lib/form/input-otp/tng-input-otp';
19
+ export * from './lib/form/label/tng-label';
20
+ export * from './lib/form/multiselect/tng-multiselect';
21
+ export * from './lib/form/multi-select';
22
+ export * from './lib/form/radio/tng-radio';
23
+ export * from './lib/form/multi-autocomplete';
24
+ export * from './lib/form/select/tng-select';
25
+ export * from './lib/form/select/tng-select.parts';
26
+ export * from './lib/form/select/tng-select.overlay';
27
+ export * from './lib/form/select/tng-select.listbox';
28
+ export * from './lib/form/select/tng-select.listbox.types';
29
+ export * from './lib/form/slider/tng-slider';
30
+ export * from './lib/form/switch/tng-switch';
31
+ export * from './lib/form/textarea/tng-textarea';
32
+ export * from './lib/form/toggle/tng-toggle';
33
+ export * from './lib/form/toggle-group/tng-toggle-group';
34
+ export * from './lib/layout/accordion/tng-accordion';
35
+ export * from './lib/layout/bottom-sheet/tng-bottom-sheet';
36
+ export * from './lib/layout/card/tng-card';
37
+ export * from './lib/layout/collapsible/tng-collapsible';
38
+ export * from './lib/layout/drawer/tng-drawer';
39
+ export * from './lib/layout/grid/tng-grid';
40
+ export * from './lib/layout/separator/tng-separator';
41
+ export * from './lib/layout/stepper/tng-stepper';
42
+ export * from './lib/layout/tree/tng-tree';
43
+ export * from './lib/overlay/tooltip/tng-tooltip';
44
+ export * from './lib/feedback/empty/tng-empty';
45
+ export * from './lib/feedback/progress-bar/tng-progress-bar';
46
+ export * from './lib/feedback/progress-spinner/tng-progress-spinner';
47
+ export * from './lib/feedback/skeleton/tng-skeleton';
48
+ export * from './lib/feedback/toast/tng-toast';
49
+ export * from './lib/utility/avatar/tng-avatar';
50
+ export * from './lib/utility/badge/tng-badge';
51
+ export * from './lib/utility/press/tng-press';
52
+ export * from './lib/utility/code-block/tng-code-block';
53
+ export * from './lib/utility/copy/tng-copy';
54
+ export * from './lib/utility/tag/tng-tag';
55
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../libs/tailng-ui/primitives/src/index.ts"],"names":[],"mappings":"AACA,cAAc,4CAA4C,CAAC;AAC3D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kDAAkD,CAAC;AACjE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,sDAAsD,CAAC;AACrE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AAGrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AACvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAE9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,4CAA4C,CAAC;AAE3D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AAGzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAG3C,cAAc,mCAAmC,CAAC;AAGlD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,sDAAsD,CAAC;AACrE,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAG/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC"}
package/src/index.js ADDED
@@ -0,0 +1,61 @@
1
+ // Navigation
2
+ export * from './lib/navigation/breadcrumb/tng-breadcrumb';
3
+ export * from './lib/navigation/context-menu/tng-context-menu';
4
+ export * from './lib/navigation/dropdown-menu/tng-dropdown-menu';
5
+ export * from './lib/navigation/menu/tng-menu';
6
+ export * from './lib/navigation/menubar/tng-menubar';
7
+ export * from './lib/navigation/navigation-menu/tng-navigation-menu';
8
+ export * from './lib/navigation/tabs/tng-tabs';
9
+ export * from './lib/navigation/toolbar/tng-toolbar';
10
+ // Form (listbox first - autocomplete/select depend on it)
11
+ export * from './lib/form/listbox/listbox.directive';
12
+ export * from './lib/form/listbox/option.directive';
13
+ export * from './lib/form/listbox/tokens';
14
+ export * from './lib/form/autocomplete';
15
+ export * from './lib/form/button-toggle/tng-button-toggle';
16
+ export * from './lib/form/checkbox/tng-checkbox';
17
+ export * from './lib/form/chips/tng-chips';
18
+ export * from './lib/form/combobox/tng-combobox';
19
+ export * from './lib/form/input/tng-input';
20
+ export * from './lib/form/input-otp/tng-input-otp';
21
+ export * from './lib/form/label/tng-label';
22
+ export * from './lib/form/multiselect/tng-multiselect';
23
+ export * from './lib/form/multi-select';
24
+ export * from './lib/form/radio/tng-radio';
25
+ export * from './lib/form/multi-autocomplete';
26
+ export * from './lib/form/select/tng-select';
27
+ export * from './lib/form/select/tng-select.parts';
28
+ export * from './lib/form/select/tng-select.overlay';
29
+ export * from './lib/form/select/tng-select.listbox';
30
+ export * from './lib/form/select/tng-select.listbox.types';
31
+ export * from './lib/form/slider/tng-slider';
32
+ export * from './lib/form/switch/tng-switch';
33
+ export * from './lib/form/textarea/tng-textarea';
34
+ export * from './lib/form/toggle/tng-toggle';
35
+ export * from './lib/form/toggle-group/tng-toggle-group';
36
+ // Layout
37
+ export * from './lib/layout/accordion/tng-accordion';
38
+ export * from './lib/layout/bottom-sheet/tng-bottom-sheet';
39
+ export * from './lib/layout/card/tng-card';
40
+ export * from './lib/layout/collapsible/tng-collapsible';
41
+ export * from './lib/layout/drawer/tng-drawer';
42
+ export * from './lib/layout/grid/tng-grid';
43
+ export * from './lib/layout/separator/tng-separator';
44
+ export * from './lib/layout/stepper/tng-stepper';
45
+ export * from './lib/layout/tree/tng-tree';
46
+ // Overlay
47
+ export * from './lib/overlay/tooltip/tng-tooltip';
48
+ // Feedback
49
+ export * from './lib/feedback/empty/tng-empty';
50
+ export * from './lib/feedback/progress-bar/tng-progress-bar';
51
+ export * from './lib/feedback/progress-spinner/tng-progress-spinner';
52
+ export * from './lib/feedback/skeleton/tng-skeleton';
53
+ export * from './lib/feedback/toast/tng-toast';
54
+ // Utility
55
+ export * from './lib/utility/avatar/tng-avatar';
56
+ export * from './lib/utility/badge/tng-badge';
57
+ export * from './lib/utility/press/tng-press';
58
+ export * from './lib/utility/code-block/tng-code-block';
59
+ export * from './lib/utility/copy/tng-copy';
60
+ export * from './lib/utility/tag/tng-tag';
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/tailng-ui/primitives/src/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,cAAc,4CAA4C,CAAC;AAC3D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kDAAkD,CAAC;AACjE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AACrD,cAAc,sDAAsD,CAAC;AACrE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sCAAsC,CAAC;AAErD,0DAA0D;AAC1D,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oCAAoC,CAAC;AACnD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wCAAwC,CAAC;AACvD,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAE9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,4CAA4C,CAAC;AAE3D,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0CAA0C,CAAC;AAEzD,SAAS;AACT,cAAc,sCAAsC,CAAC;AACrD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0CAA0C,CAAC;AACzD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sCAAsC,CAAC;AACrD,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAE3C,UAAU;AACV,cAAc,mCAAmC,CAAC;AAElD,WAAW;AACX,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,sDAAsD,CAAC;AACrE,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAE/C,UAAU;AACV,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yCAAyC,CAAC;AACxD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC","sourcesContent":["// Navigation\nexport * from './lib/navigation/breadcrumb/tng-breadcrumb';\nexport * from './lib/navigation/context-menu/tng-context-menu';\nexport * from './lib/navigation/dropdown-menu/tng-dropdown-menu';\nexport * from './lib/navigation/menu/tng-menu';\nexport * from './lib/navigation/menubar/tng-menubar';\nexport * from './lib/navigation/navigation-menu/tng-navigation-menu';\nexport * from './lib/navigation/tabs/tng-tabs';\nexport * from './lib/navigation/toolbar/tng-toolbar';\n\n// Form (listbox first - autocomplete/select depend on it)\nexport * from './lib/form/listbox/listbox.directive';\nexport * from './lib/form/listbox/option.directive';\nexport * from './lib/form/listbox/tokens';\nexport * from './lib/form/autocomplete';\nexport * from './lib/form/button-toggle/tng-button-toggle';\nexport * from './lib/form/checkbox/tng-checkbox';\nexport * from './lib/form/chips/tng-chips';\nexport * from './lib/form/combobox/tng-combobox';\nexport * from './lib/form/input/tng-input';\nexport * from './lib/form/input-otp/tng-input-otp';\nexport * from './lib/form/label/tng-label';\nexport * from './lib/form/multiselect/tng-multiselect';\nexport * from './lib/form/multi-select';\nexport * from './lib/form/radio/tng-radio';\nexport * from './lib/form/multi-autocomplete';\n\nexport * from './lib/form/select/tng-select';\nexport * from './lib/form/select/tng-select.parts';\nexport * from './lib/form/select/tng-select.overlay';\nexport * from './lib/form/select/tng-select.listbox';\nexport * from './lib/form/select/tng-select.listbox.types';\n\nexport * from './lib/form/slider/tng-slider';\nexport * from './lib/form/switch/tng-switch';\nexport * from './lib/form/textarea/tng-textarea';\nexport * from './lib/form/toggle/tng-toggle';\nexport * from './lib/form/toggle-group/tng-toggle-group';\n\n// Layout\nexport * from './lib/layout/accordion/tng-accordion';\nexport * from './lib/layout/bottom-sheet/tng-bottom-sheet';\nexport * from './lib/layout/card/tng-card';\nexport * from './lib/layout/collapsible/tng-collapsible';\nexport * from './lib/layout/drawer/tng-drawer';\nexport * from './lib/layout/grid/tng-grid';\nexport * from './lib/layout/separator/tng-separator';\nexport * from './lib/layout/stepper/tng-stepper';\nexport * from './lib/layout/tree/tng-tree';\n\n// Overlay\nexport * from './lib/overlay/tooltip/tng-tooltip';\n\n// Feedback\nexport * from './lib/feedback/empty/tng-empty';\nexport * from './lib/feedback/progress-bar/tng-progress-bar';\nexport * from './lib/feedback/progress-spinner/tng-progress-spinner';\nexport * from './lib/feedback/skeleton/tng-skeleton';\nexport * from './lib/feedback/toast/tng-toast';\n\n// Utility\nexport * from './lib/utility/avatar/tng-avatar';\nexport * from './lib/utility/badge/tng-badge';\nexport * from './lib/utility/press/tng-press';\nexport * from './lib/utility/code-block/tng-code-block';\nexport * from './lib/utility/copy/tng-copy';\nexport * from './lib/utility/tag/tng-tag';\n"]}
@@ -0,0 +1,16 @@
1
+ export declare class TngEmpty {
2
+ protected readonly dataSlot: "empty";
3
+ }
4
+ export declare class TngEmptyIcon {
5
+ protected readonly dataSlot: "empty-icon";
6
+ }
7
+ export declare class TngEmptyTitle {
8
+ protected readonly dataSlot: "empty-title";
9
+ }
10
+ export declare class TngEmptyDescription {
11
+ protected readonly dataSlot: "empty-description";
12
+ }
13
+ export declare class TngEmptyActions {
14
+ protected readonly dataSlot: "empty-actions";
15
+ }
16
+ //# sourceMappingURL=tng-empty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-empty.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/empty/tng-empty.ts"],"names":[],"mappings":"AAEA,qBAIa,QAAQ;IAEnB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,OAAO,CAAU;CAChD;AAED,qBAIa,YAAY;IAEvB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;CACrD;AAED,qBAIa,aAAa;IAExB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;CACtD;AAED,qBAIa,mBAAmB;IAE9B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,mBAAmB,CAAU;CAC5D;AAED,qBAIa,eAAe;IAE1B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,eAAe,CAAU;CACxD"}
@@ -0,0 +1,68 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, HostBinding } from '@angular/core';
3
+ let TngEmpty = class TngEmpty {
4
+ dataSlot = 'empty';
5
+ };
6
+ __decorate([
7
+ HostBinding('attr.data-slot')
8
+ ], TngEmpty.prototype, "dataSlot", void 0);
9
+ TngEmpty = __decorate([
10
+ Directive({
11
+ selector: '[tngEmpty]',
12
+ exportAs: 'tngEmpty',
13
+ })
14
+ ], TngEmpty);
15
+ export { TngEmpty };
16
+ let TngEmptyIcon = class TngEmptyIcon {
17
+ dataSlot = 'empty-icon';
18
+ };
19
+ __decorate([
20
+ HostBinding('attr.data-slot')
21
+ ], TngEmptyIcon.prototype, "dataSlot", void 0);
22
+ TngEmptyIcon = __decorate([
23
+ Directive({
24
+ selector: '[tngEmptyIcon]',
25
+ exportAs: 'tngEmptyIcon',
26
+ })
27
+ ], TngEmptyIcon);
28
+ export { TngEmptyIcon };
29
+ let TngEmptyTitle = class TngEmptyTitle {
30
+ dataSlot = 'empty-title';
31
+ };
32
+ __decorate([
33
+ HostBinding('attr.data-slot')
34
+ ], TngEmptyTitle.prototype, "dataSlot", void 0);
35
+ TngEmptyTitle = __decorate([
36
+ Directive({
37
+ selector: '[tngEmptyTitle]',
38
+ exportAs: 'tngEmptyTitle',
39
+ })
40
+ ], TngEmptyTitle);
41
+ export { TngEmptyTitle };
42
+ let TngEmptyDescription = class TngEmptyDescription {
43
+ dataSlot = 'empty-description';
44
+ };
45
+ __decorate([
46
+ HostBinding('attr.data-slot')
47
+ ], TngEmptyDescription.prototype, "dataSlot", void 0);
48
+ TngEmptyDescription = __decorate([
49
+ Directive({
50
+ selector: '[tngEmptyDescription]',
51
+ exportAs: 'tngEmptyDescription',
52
+ })
53
+ ], TngEmptyDescription);
54
+ export { TngEmptyDescription };
55
+ let TngEmptyActions = class TngEmptyActions {
56
+ dataSlot = 'empty-actions';
57
+ };
58
+ __decorate([
59
+ HostBinding('attr.data-slot')
60
+ ], TngEmptyActions.prototype, "dataSlot", void 0);
61
+ TngEmptyActions = __decorate([
62
+ Directive({
63
+ selector: '[tngEmptyActions]',
64
+ exportAs: 'tngEmptyActions',
65
+ })
66
+ ], TngEmptyActions);
67
+ export { TngEmptyActions };
68
+ //# sourceMappingURL=tng-empty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-empty.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/empty/tng-empty.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMhD,IAAM,QAAQ,GAAd,MAAM,QAAQ;IAEA,QAAQ,GAAG,OAAgB,CAAC;CAChD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;0CACiB;AAFpC,QAAQ;IAJpB,SAAS,CAAC;QACT,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,UAAU;KACrB,CAAC;GACW,QAAQ,CAGpB;;AAMM,IAAM,YAAY,GAAlB,MAAM,YAAY;IAEJ,QAAQ,GAAG,YAAqB,CAAC;CACrD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;8CACsB;AAFzC,YAAY;IAJxB,SAAS,CAAC;QACT,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ,EAAE,cAAc;KACzB,CAAC;GACW,YAAY,CAGxB;;AAMM,IAAM,aAAa,GAAnB,MAAM,aAAa;IAEL,QAAQ,GAAG,aAAsB,CAAC;CACtD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;+CACuB;AAF1C,aAAa;IAJzB,SAAS,CAAC;QACT,QAAQ,EAAE,iBAAiB;QAC3B,QAAQ,EAAE,eAAe;KAC1B,CAAC;GACW,aAAa,CAGzB;;AAMM,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAEX,QAAQ,GAAG,mBAA4B,CAAC;CAC5D,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;qDAC6B;AAFhD,mBAAmB;IAJ/B,SAAS,CAAC;QACT,QAAQ,EAAE,uBAAuB;QACjC,QAAQ,EAAE,qBAAqB;KAChC,CAAC;GACW,mBAAmB,CAG/B;;AAMM,IAAM,eAAe,GAArB,MAAM,eAAe;IAEP,QAAQ,GAAG,eAAwB,CAAC;CACxD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;iDACyB;AAF5C,eAAe;IAJ3B,SAAS,CAAC;QACT,QAAQ,EAAE,mBAAmB;QAC7B,QAAQ,EAAE,iBAAiB;KAC5B,CAAC;GACW,eAAe,CAG3B","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngEmpty]',\n exportAs: 'tngEmpty',\n})\nexport class TngEmpty {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'empty' as const;\n}\n\n@Directive({\n selector: '[tngEmptyIcon]',\n exportAs: 'tngEmptyIcon',\n})\nexport class TngEmptyIcon {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'empty-icon' as const;\n}\n\n@Directive({\n selector: '[tngEmptyTitle]',\n exportAs: 'tngEmptyTitle',\n})\nexport class TngEmptyTitle {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'empty-title' as const;\n}\n\n@Directive({\n selector: '[tngEmptyDescription]',\n exportAs: 'tngEmptyDescription',\n})\nexport class TngEmptyDescription {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'empty-description' as const;\n}\n\n@Directive({\n selector: '[tngEmptyActions]',\n exportAs: 'tngEmptyActions',\n})\nexport class TngEmptyActions {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'empty-actions' as const;\n}\n"]}
@@ -0,0 +1,24 @@
1
+ export declare function normalizeTngProgressBarMin(value: number): number;
2
+ export declare function normalizeTngProgressBarMax(value: number): number;
3
+ export declare function resolveTngProgressBarRange(min: number, max: number, value: number): Readonly<{
4
+ max: number;
5
+ min: number;
6
+ value: number;
7
+ }>;
8
+ export declare class TngProgressBar {
9
+ readonly indeterminate: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
10
+ readonly max: import("@angular/core").InputSignalWithTransform<number, string | number>;
11
+ readonly min: import("@angular/core").InputSignalWithTransform<number, string | number>;
12
+ readonly value: import("@angular/core").InputSignalWithTransform<number, string | number>;
13
+ protected get ariaValueMaxAttr(): string | null;
14
+ protected get ariaValueMinAttr(): string | null;
15
+ protected get ariaValueNowAttr(): string | null;
16
+ protected get dataIndeterminateAttr(): '' | null;
17
+ protected readonly dataSlot: "progress-bar";
18
+ protected readonly roleAttr: "progressbar";
19
+ private get range();
20
+ }
21
+ export declare class TngProgressBarIndicator {
22
+ protected readonly dataSlot: "progress-bar-indicator";
23
+ }
24
+ //# sourceMappingURL=tng-progress-bar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-progress-bar.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/progress-bar/tng-progress-bar.ts"],"names":[],"mappings":"AAMA,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,QAAQ,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAUD;AAED,qBAIa,cAAc;IACzB,SAAgB,aAAa,8EAE1B;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,KAAK,4EAGlB;IAGH,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAM9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAM9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAM9C;IAGD,SAAS,KAAK,qBAAqB,IAAI,EAAE,GAAG,IAAI,CAE/C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;IAGtD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;IAErD,OAAO,KAAK,KAAK,GAMhB;CACF;AAED,qBAIa,uBAAuB;IAElC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,wBAAwB,CAAU;CACjE"}
@@ -0,0 +1,100 @@
1
+ import { __decorate } from "tslib";
2
+ import { booleanAttribute, Directive, HostBinding, input } from '@angular/core';
3
+ function normalizeFiniteNumber(value, fallback) {
4
+ return Number.isFinite(value) ? value : fallback;
5
+ }
6
+ export function normalizeTngProgressBarMin(value) {
7
+ return normalizeFiniteNumber(value, 0);
8
+ }
9
+ export function normalizeTngProgressBarMax(value) {
10
+ return normalizeFiniteNumber(value, 100);
11
+ }
12
+ export function resolveTngProgressBarRange(min, max, value) {
13
+ const resolvedMin = normalizeTngProgressBarMin(min);
14
+ const resolvedMax = Math.max(normalizeTngProgressBarMax(max), resolvedMin);
15
+ const resolvedValue = Math.min(Math.max(value, resolvedMin), resolvedMax);
16
+ return Object.freeze({
17
+ max: resolvedMax,
18
+ min: resolvedMin,
19
+ value: resolvedValue,
20
+ });
21
+ }
22
+ let TngProgressBar = class TngProgressBar {
23
+ indeterminate = input(false, {
24
+ transform: booleanAttribute,
25
+ });
26
+ max = input(100, {
27
+ transform: (value) => normalizeTngProgressBarMax(typeof value === 'number' ? value : Number(value)),
28
+ });
29
+ min = input(0, {
30
+ transform: (value) => normalizeTngProgressBarMin(typeof value === 'number' ? value : Number(value)),
31
+ });
32
+ value = input(0, {
33
+ transform: (value) => typeof value === 'number' ? value : Number(value),
34
+ });
35
+ get ariaValueMaxAttr() {
36
+ if (this.indeterminate()) {
37
+ return null;
38
+ }
39
+ return String(this.range.max);
40
+ }
41
+ get ariaValueMinAttr() {
42
+ if (this.indeterminate()) {
43
+ return null;
44
+ }
45
+ return String(this.range.min);
46
+ }
47
+ get ariaValueNowAttr() {
48
+ if (this.indeterminate()) {
49
+ return null;
50
+ }
51
+ return String(this.range.value);
52
+ }
53
+ get dataIndeterminateAttr() {
54
+ return this.indeterminate() ? '' : null;
55
+ }
56
+ dataSlot = 'progress-bar';
57
+ roleAttr = 'progressbar';
58
+ get range() {
59
+ return resolveTngProgressBarRange(this.min(), this.max(), this.value());
60
+ }
61
+ };
62
+ __decorate([
63
+ HostBinding('attr.aria-valuemax')
64
+ ], TngProgressBar.prototype, "ariaValueMaxAttr", null);
65
+ __decorate([
66
+ HostBinding('attr.aria-valuemin')
67
+ ], TngProgressBar.prototype, "ariaValueMinAttr", null);
68
+ __decorate([
69
+ HostBinding('attr.aria-valuenow')
70
+ ], TngProgressBar.prototype, "ariaValueNowAttr", null);
71
+ __decorate([
72
+ HostBinding('attr.data-indeterminate')
73
+ ], TngProgressBar.prototype, "dataIndeterminateAttr", null);
74
+ __decorate([
75
+ HostBinding('attr.data-slot')
76
+ ], TngProgressBar.prototype, "dataSlot", void 0);
77
+ __decorate([
78
+ HostBinding('attr.role')
79
+ ], TngProgressBar.prototype, "roleAttr", void 0);
80
+ TngProgressBar = __decorate([
81
+ Directive({
82
+ selector: '[tngProgressBar]',
83
+ exportAs: 'tngProgressBar',
84
+ })
85
+ ], TngProgressBar);
86
+ export { TngProgressBar };
87
+ let TngProgressBarIndicator = class TngProgressBarIndicator {
88
+ dataSlot = 'progress-bar-indicator';
89
+ };
90
+ __decorate([
91
+ HostBinding('attr.data-slot')
92
+ ], TngProgressBarIndicator.prototype, "dataSlot", void 0);
93
+ TngProgressBarIndicator = __decorate([
94
+ Directive({
95
+ selector: '[tngProgressBarIndicator]',
96
+ exportAs: 'tngProgressBarIndicator',
97
+ })
98
+ ], TngProgressBarIndicator);
99
+ export { TngProgressBarIndicator };
100
+ //# sourceMappingURL=tng-progress-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-progress-bar.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/progress-bar/tng-progress-bar.ts"],"names":[],"mappings":"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","sourcesContent":["import { booleanAttribute, Directive, HostBinding, input } from '@angular/core';\n\nfunction normalizeFiniteNumber(value: number, fallback: number): number {\n return Number.isFinite(value) ? value : fallback;\n}\n\nexport function normalizeTngProgressBarMin(value: number): number {\n return normalizeFiniteNumber(value, 0);\n}\n\nexport function normalizeTngProgressBarMax(value: number): number {\n return normalizeFiniteNumber(value, 100);\n}\n\nexport function resolveTngProgressBarRange(\n min: number,\n max: number,\n value: number,\n): Readonly<{\n max: number;\n min: number;\n value: number;\n}> {\n const resolvedMin = normalizeTngProgressBarMin(min);\n const resolvedMax = Math.max(normalizeTngProgressBarMax(max), resolvedMin);\n const resolvedValue = Math.min(Math.max(value, resolvedMin), resolvedMax);\n\n return Object.freeze({\n max: resolvedMax,\n min: resolvedMin,\n value: resolvedValue,\n });\n}\n\n@Directive({\n selector: '[tngProgressBar]',\n exportAs: 'tngProgressBar',\n})\nexport class TngProgressBar {\n public readonly indeterminate = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly max = input<number, number | string>(100, {\n transform: (value: number | string): number =>\n normalizeTngProgressBarMax(typeof value === 'number' ? value : Number(value)),\n });\n public readonly min = input<number, number | string>(0, {\n transform: (value: number | string): number =>\n normalizeTngProgressBarMin(typeof value === 'number' ? value : Number(value)),\n });\n public readonly value = input<number, number | string>(0, {\n transform: (value: number | string): number =>\n typeof value === 'number' ? value : Number(value),\n });\n\n @HostBinding('attr.aria-valuemax')\n protected get ariaValueMaxAttr(): string | null {\n if (this.indeterminate()) {\n return null;\n }\n\n return String(this.range.max);\n }\n\n @HostBinding('attr.aria-valuemin')\n protected get ariaValueMinAttr(): string | null {\n if (this.indeterminate()) {\n return null;\n }\n\n return String(this.range.min);\n }\n\n @HostBinding('attr.aria-valuenow')\n protected get ariaValueNowAttr(): string | null {\n if (this.indeterminate()) {\n return null;\n }\n\n return String(this.range.value);\n }\n\n @HostBinding('attr.data-indeterminate')\n protected get dataIndeterminateAttr(): '' | null {\n return this.indeterminate() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'progress-bar' as const;\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'progressbar' as const;\n\n private get range(): Readonly<{\n max: number;\n min: number;\n value: number;\n }> {\n return resolveTngProgressBarRange(this.min(), this.max(), this.value());\n }\n}\n\n@Directive({\n selector: '[tngProgressBarIndicator]',\n exportAs: 'tngProgressBarIndicator',\n})\nexport class TngProgressBarIndicator {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'progress-bar-indicator' as const;\n}\n"]}
@@ -0,0 +1,21 @@
1
+ export declare function normalizeTngProgressSpinnerMin(value: number): number;
2
+ export declare function normalizeTngProgressSpinnerMax(value: number): number;
3
+ export declare function resolveTngProgressSpinnerRange(min: number, max: number, value: number): Readonly<{
4
+ max: number;
5
+ min: number;
6
+ value: number;
7
+ }>;
8
+ export declare class TngProgressSpinner {
9
+ readonly indeterminate: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
10
+ readonly max: import("@angular/core").InputSignalWithTransform<number, string | number>;
11
+ readonly min: import("@angular/core").InputSignalWithTransform<number, string | number>;
12
+ readonly value: import("@angular/core").InputSignalWithTransform<number, string | number>;
13
+ protected get ariaValueMaxAttr(): string | null;
14
+ protected get ariaValueMinAttr(): string | null;
15
+ protected get ariaValueNowAttr(): string | null;
16
+ protected get dataIndeterminateAttr(): '' | null;
17
+ protected readonly dataSlot: "progress-spinner";
18
+ protected readonly roleAttr: "progressbar";
19
+ private get range();
20
+ }
21
+ //# sourceMappingURL=tng-progress-spinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-progress-spinner.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/progress-spinner/tng-progress-spinner.ts"],"names":[],"mappings":"AAMA,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,QAAQ,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAUD;AAED,qBAIa,kBAAkB;IAC7B,SAAgB,aAAa,8EAE1B;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,GAAG,4EAGhB;IACH,SAAgB,KAAK,4EAGlB;IAGH,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAM9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAM9C;IAGD,SAAS,KAAK,gBAAgB,IAAI,MAAM,GAAG,IAAI,CAM9C;IAGD,SAAS,KAAK,qBAAqB,IAAI,EAAE,GAAG,IAAI,CAE/C;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,kBAAkB,CAAU;IAG1D,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,aAAa,CAAU;IAErD,OAAO,KAAK,KAAK,GAMhB;CACF"}
@@ -0,0 +1,87 @@
1
+ import { __decorate } from "tslib";
2
+ import { booleanAttribute, Directive, HostBinding, input } from '@angular/core';
3
+ function normalizeFiniteNumber(value, fallback) {
4
+ return Number.isFinite(value) ? value : fallback;
5
+ }
6
+ export function normalizeTngProgressSpinnerMin(value) {
7
+ return normalizeFiniteNumber(value, 0);
8
+ }
9
+ export function normalizeTngProgressSpinnerMax(value) {
10
+ return normalizeFiniteNumber(value, 100);
11
+ }
12
+ export function resolveTngProgressSpinnerRange(min, max, value) {
13
+ const resolvedMin = normalizeTngProgressSpinnerMin(min);
14
+ const resolvedMax = Math.max(normalizeTngProgressSpinnerMax(max), resolvedMin);
15
+ const resolvedValue = Math.min(Math.max(value, resolvedMin), resolvedMax);
16
+ return Object.freeze({
17
+ max: resolvedMax,
18
+ min: resolvedMin,
19
+ value: resolvedValue,
20
+ });
21
+ }
22
+ let TngProgressSpinner = class TngProgressSpinner {
23
+ indeterminate = input(false, {
24
+ transform: booleanAttribute,
25
+ });
26
+ max = input(100, {
27
+ transform: (value) => normalizeTngProgressSpinnerMax(typeof value === 'number' ? value : Number(value)),
28
+ });
29
+ min = input(0, {
30
+ transform: (value) => normalizeTngProgressSpinnerMin(typeof value === 'number' ? value : Number(value)),
31
+ });
32
+ value = input(0, {
33
+ transform: (value) => typeof value === 'number' ? value : Number(value),
34
+ });
35
+ get ariaValueMaxAttr() {
36
+ if (this.indeterminate()) {
37
+ return null;
38
+ }
39
+ return String(this.range.max);
40
+ }
41
+ get ariaValueMinAttr() {
42
+ if (this.indeterminate()) {
43
+ return null;
44
+ }
45
+ return String(this.range.min);
46
+ }
47
+ get ariaValueNowAttr() {
48
+ if (this.indeterminate()) {
49
+ return null;
50
+ }
51
+ return String(this.range.value);
52
+ }
53
+ get dataIndeterminateAttr() {
54
+ return this.indeterminate() ? '' : null;
55
+ }
56
+ dataSlot = 'progress-spinner';
57
+ roleAttr = 'progressbar';
58
+ get range() {
59
+ return resolveTngProgressSpinnerRange(this.min(), this.max(), this.value());
60
+ }
61
+ };
62
+ __decorate([
63
+ HostBinding('attr.aria-valuemax')
64
+ ], TngProgressSpinner.prototype, "ariaValueMaxAttr", null);
65
+ __decorate([
66
+ HostBinding('attr.aria-valuemin')
67
+ ], TngProgressSpinner.prototype, "ariaValueMinAttr", null);
68
+ __decorate([
69
+ HostBinding('attr.aria-valuenow')
70
+ ], TngProgressSpinner.prototype, "ariaValueNowAttr", null);
71
+ __decorate([
72
+ HostBinding('attr.data-indeterminate')
73
+ ], TngProgressSpinner.prototype, "dataIndeterminateAttr", null);
74
+ __decorate([
75
+ HostBinding('attr.data-slot')
76
+ ], TngProgressSpinner.prototype, "dataSlot", void 0);
77
+ __decorate([
78
+ HostBinding('attr.role')
79
+ ], TngProgressSpinner.prototype, "roleAttr", void 0);
80
+ TngProgressSpinner = __decorate([
81
+ Directive({
82
+ selector: '[tngProgressSpinner]',
83
+ exportAs: 'tngProgressSpinner',
84
+ })
85
+ ], TngProgressSpinner);
86
+ export { TngProgressSpinner };
87
+ //# sourceMappingURL=tng-progress-spinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-progress-spinner.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/progress-spinner/tng-progress-spinner.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEhF,SAAS,qBAAqB,CAAC,KAAa,EAAE,QAAgB;IAC5D,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,OAAO,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,OAAO,qBAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,GAAW,EACX,GAAW,EACX,KAAa;IAMb,MAAM,WAAW,GAAG,8BAA8B,CAAC,GAAG,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;IAE1E,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,EAAE,WAAW;QAChB,GAAG,EAAE,WAAW;QAChB,KAAK,EAAE,aAAa;KACrB,CAAC,CAAC;AACL,CAAC;AAMM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IACb,aAAa,GAAG,KAAK,CAA4B,KAAK,EAAE;QACtE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,GAAG,GAAG,KAAK,CAA0B,GAAG,EAAE;QACxD,SAAS,EAAE,CAAC,KAAsB,EAAU,EAAE,CAC5C,8BAA8B,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACpF,CAAC,CAAC;IACa,GAAG,GAAG,KAAK,CAA0B,CAAC,EAAE;QACtD,SAAS,EAAE,CAAC,KAAsB,EAAU,EAAE,CAC5C,8BAA8B,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACpF,CAAC,CAAC;IACa,KAAK,GAAG,KAAK,CAA0B,CAAC,EAAE;QACxD,SAAS,EAAE,CAAC,KAAsB,EAAU,EAAE,CAC5C,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KACpD,CAAC,CAAC;IAGH,IAAc,gBAAgB;QAC5B,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAGD,IAAc,gBAAgB;QAC5B,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAGD,IAAc,gBAAgB;QAC5B,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAGD,IAAc,qBAAqB;QACjC,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IAGkB,QAAQ,GAAG,kBAA2B,CAAC;IAGvC,QAAQ,GAAG,aAAsB,CAAC;IAErD,IAAY,KAAK;QAKf,OAAO,8BAA8B,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC9E,CAAC;CACF,CAAA;AA5CC;IADC,WAAW,CAAC,oBAAoB,CAAC;0DAOjC;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;0DAOjC;AAGD;IADC,WAAW,CAAC,oBAAoB,CAAC;0DAOjC;AAGD;IADC,WAAW,CAAC,yBAAyB,CAAC;+DAGtC;AAGkB;IADlB,WAAW,CAAC,gBAAgB,CAAC;oDAC4B;AAGvC;IADlB,WAAW,CAAC,WAAW,CAAC;oDAC4B;AArD1C,kBAAkB;IAJ9B,SAAS,CAAC;QACT,QAAQ,EAAE,sBAAsB;QAChC,QAAQ,EAAE,oBAAoB;KAC/B,CAAC;GACW,kBAAkB,CA8D9B","sourcesContent":["import { booleanAttribute, Directive, HostBinding, input } from '@angular/core';\n\nfunction normalizeFiniteNumber(value: number, fallback: number): number {\n return Number.isFinite(value) ? value : fallback;\n}\n\nexport function normalizeTngProgressSpinnerMin(value: number): number {\n return normalizeFiniteNumber(value, 0);\n}\n\nexport function normalizeTngProgressSpinnerMax(value: number): number {\n return normalizeFiniteNumber(value, 100);\n}\n\nexport function resolveTngProgressSpinnerRange(\n min: number,\n max: number,\n value: number,\n): Readonly<{\n max: number;\n min: number;\n value: number;\n}> {\n const resolvedMin = normalizeTngProgressSpinnerMin(min);\n const resolvedMax = Math.max(normalizeTngProgressSpinnerMax(max), resolvedMin);\n const resolvedValue = Math.min(Math.max(value, resolvedMin), resolvedMax);\n\n return Object.freeze({\n max: resolvedMax,\n min: resolvedMin,\n value: resolvedValue,\n });\n}\n\n@Directive({\n selector: '[tngProgressSpinner]',\n exportAs: 'tngProgressSpinner',\n})\nexport class TngProgressSpinner {\n public readonly indeterminate = input<boolean, boolean | string>(false, {\n transform: booleanAttribute,\n });\n public readonly max = input<number, number | string>(100, {\n transform: (value: number | string): number =>\n normalizeTngProgressSpinnerMax(typeof value === 'number' ? value : Number(value)),\n });\n public readonly min = input<number, number | string>(0, {\n transform: (value: number | string): number =>\n normalizeTngProgressSpinnerMin(typeof value === 'number' ? value : Number(value)),\n });\n public readonly value = input<number, number | string>(0, {\n transform: (value: number | string): number =>\n typeof value === 'number' ? value : Number(value),\n });\n\n @HostBinding('attr.aria-valuemax')\n protected get ariaValueMaxAttr(): string | null {\n if (this.indeterminate()) {\n return null;\n }\n\n return String(this.range.max);\n }\n\n @HostBinding('attr.aria-valuemin')\n protected get ariaValueMinAttr(): string | null {\n if (this.indeterminate()) {\n return null;\n }\n\n return String(this.range.min);\n }\n\n @HostBinding('attr.aria-valuenow')\n protected get ariaValueNowAttr(): string | null {\n if (this.indeterminate()) {\n return null;\n }\n\n return String(this.range.value);\n }\n\n @HostBinding('attr.data-indeterminate')\n protected get dataIndeterminateAttr(): '' | null {\n return this.indeterminate() ? '' : null;\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'progress-spinner' as const;\n\n @HostBinding('attr.role')\n protected readonly roleAttr = 'progressbar' as const;\n\n private get range(): Readonly<{\n max: number;\n min: number;\n value: number;\n }> {\n return resolveTngProgressSpinnerRange(this.min(), this.max(), this.value());\n }\n}\n"]}
@@ -0,0 +1,11 @@
1
+ export declare function resolveTngSkeletonDataAnimated(animated: boolean): 'false' | 'true';
2
+ export declare function resolveTngSkeletonDataRounded(rounded: boolean): 'false' | 'true';
3
+ export declare class TngSkeleton {
4
+ readonly animated: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
5
+ readonly rounded: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
6
+ protected readonly ariaHiddenAttr: "true";
7
+ protected get dataAnimatedAttr(): 'false' | 'true';
8
+ protected get dataRoundedAttr(): 'false' | 'true';
9
+ protected readonly dataSlot: "skeleton";
10
+ }
11
+ //# sourceMappingURL=tng-skeleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-skeleton.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/skeleton/tng-skeleton.ts"],"names":[],"mappings":"AAEA,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAElF;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAEhF;AAED,qBAIa,WAAW;IACtB,SAAgB,QAAQ,8EAErB;IACH,SAAgB,OAAO,8EAEpB;IAGH,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAG,MAAM,CAAU;IAGpD,SAAS,KAAK,gBAAgB,IAAI,OAAO,GAAG,MAAM,CAEjD;IAGD,SAAS,KAAK,eAAe,IAAI,OAAO,GAAG,MAAM,CAEhD;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,UAAU,CAAU;CACnD"}
@@ -0,0 +1,44 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';
3
+ export function resolveTngSkeletonDataAnimated(animated) {
4
+ return animated ? 'true' : 'false';
5
+ }
6
+ export function resolveTngSkeletonDataRounded(rounded) {
7
+ return rounded ? 'true' : 'false';
8
+ }
9
+ let TngSkeleton = class TngSkeleton {
10
+ animated = input(true, {
11
+ transform: booleanAttribute,
12
+ });
13
+ rounded = input(true, {
14
+ transform: booleanAttribute,
15
+ });
16
+ ariaHiddenAttr = 'true';
17
+ get dataAnimatedAttr() {
18
+ return resolveTngSkeletonDataAnimated(this.animated());
19
+ }
20
+ get dataRoundedAttr() {
21
+ return resolveTngSkeletonDataRounded(this.rounded());
22
+ }
23
+ dataSlot = 'skeleton';
24
+ };
25
+ __decorate([
26
+ HostBinding('attr.aria-hidden')
27
+ ], TngSkeleton.prototype, "ariaHiddenAttr", void 0);
28
+ __decorate([
29
+ HostBinding('attr.data-animated')
30
+ ], TngSkeleton.prototype, "dataAnimatedAttr", null);
31
+ __decorate([
32
+ HostBinding('attr.data-rounded')
33
+ ], TngSkeleton.prototype, "dataRoundedAttr", null);
34
+ __decorate([
35
+ HostBinding('attr.data-slot')
36
+ ], TngSkeleton.prototype, "dataSlot", void 0);
37
+ TngSkeleton = __decorate([
38
+ Directive({
39
+ selector: '[tngSkeleton]',
40
+ exportAs: 'tngSkeleton',
41
+ })
42
+ ], TngSkeleton);
43
+ export { TngSkeleton };
44
+ //# sourceMappingURL=tng-skeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-skeleton.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/feedback/skeleton/tng-skeleton.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEhF,MAAM,UAAU,8BAA8B,CAAC,QAAiB;IAC9D,OAAO,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAgB;IAC5D,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AACpC,CAAC;AAMM,IAAM,WAAW,GAAjB,MAAM,WAAW;IACN,QAAQ,GAAG,KAAK,CAA4B,IAAI,EAAE;QAChE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,OAAO,GAAG,KAAK,CAA4B,IAAI,EAAE;QAC/D,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IAGgB,cAAc,GAAG,MAAe,CAAC;IAGpD,IAAc,gBAAgB;QAC5B,OAAO,8BAA8B,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IAGD,IAAc,eAAe;QAC3B,OAAO,6BAA6B,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;IAGkB,QAAQ,GAAG,UAAmB,CAAC;CACnD,CAAA;AAdoB;IADlB,WAAW,CAAC,kBAAkB,CAAC;mDACoB;AAGpD;IADC,WAAW,CAAC,oBAAoB,CAAC;mDAGjC;AAGD;IADC,WAAW,CAAC,mBAAmB,CAAC;kDAGhC;AAGkB;IADlB,WAAW,CAAC,gBAAgB,CAAC;6CACoB;AAtBvC,WAAW;IAJvB,SAAS,CAAC;QACT,QAAQ,EAAE,eAAe;QACzB,QAAQ,EAAE,aAAa;KACxB,CAAC;GACW,WAAW,CAuBvB","sourcesContent":["import { Directive, HostBinding, booleanAttribute, input } from '@angular/core';\n\nexport function resolveTngSkeletonDataAnimated(animated: boolean): 'false' | 'true' {\n return animated ? 'true' : 'false';\n}\n\nexport function resolveTngSkeletonDataRounded(rounded: boolean): 'false' | 'true' {\n return rounded ? 'true' : 'false';\n}\n\n@Directive({\n selector: '[tngSkeleton]',\n exportAs: 'tngSkeleton',\n})\nexport class TngSkeleton {\n public readonly animated = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n public readonly rounded = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n\n @HostBinding('attr.aria-hidden')\n protected readonly ariaHiddenAttr = 'true' as const;\n\n @HostBinding('attr.data-animated')\n protected get dataAnimatedAttr(): 'false' | 'true' {\n return resolveTngSkeletonDataAnimated(this.animated());\n }\n\n @HostBinding('attr.data-rounded')\n protected get dataRoundedAttr(): 'false' | 'true' {\n return resolveTngSkeletonDataRounded(this.rounded());\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'skeleton' as const;\n}\n"]}