@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-drawer.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/drawer/tng-drawer.ts"],"names":[],"mappings":"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","sourcesContent":["import { DOCUMENT } from '@angular/common';\nimport {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n forwardRef,\n inject,\n input,\n output,\n} from '@angular/core';\nimport { createScrollLockManager, createTngIdFactory } from '@tailng-ui/cdk';\n\nconst createDrawerContainerId = createTngIdFactory('tng-drawer-container');\nconst createDrawerId = createTngIdFactory('tng-drawer');\n\nconst FOCUSABLE_SELECTOR = [\n 'a[href]',\n 'button:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n '[contenteditable=\"true\"]',\n].join(',');\n\nexport type TngDrawerAutoBoolean = 'auto' | boolean;\nexport type TngDrawerDirection = 'ltr' | 'rtl' | 'auto';\nexport type TngDrawerMode = 'overlay' | 'push' | 'side';\nexport type TngDrawerPosition = 'start' | 'end';\nexport type TngDrawerRole = 'navigation' | 'dialog' | 'complementary' | 'region';\nexport type TngDrawerAutoFocus = 'drawer' | 'first-focusable' | 'none';\ntype TngResolvedDrawerSide = 'left' | 'right';\ntype TngDrawerLifecycleTransition = 'opening' | 'closing';\ntype TngDrawerOpenSource = 'external' | 'imperative' | 'interaction' | 'initial';\ntype TngDrawerCloseReason = 'imperative' | 'outside' | 'escape' | 'tab' | 'destroy' | 'external';\n\n@Directive({\n selector: '[tngDrawerContainer]',\n exportAs: 'tngDrawerContainer',\n standalone: true,\n})\nexport class TngDrawerContainer {\n private readonly documentRef = inject(DOCUMENT, { optional: true });\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly resolvedId =\n this.hostRef.nativeElement.getAttribute('id') ?? createDrawerContainerId();\n private readonly drawers = new Set<TngDrawer>();\n private readonly contentElements = new Set<TngDrawerContent>();\n private readonly scrollLockManager = createScrollLockManager({\n documentRef: this.documentRef ?? undefined,\n getScrollbarWidth: () => {\n if (this.documentRef === null) {\n return 0;\n }\n\n const windowRef = this.documentRef.defaultView;\n if (windowRef === null) {\n return 0;\n }\n\n const rootWidth = this.documentRef.documentElement?.clientWidth ?? 0;\n return Math.max(0, windowRef.innerWidth - rootWidth);\n },\n });\n\n readonly hasBackdrop = input<TngDrawerAutoBoolean, TngDrawerAutoBoolean | string | null | undefined>(\n 'auto',\n { transform: normalizeAutoBooleanInput },\n );\n readonly closeOthersOnOpen = input<boolean, boolean | string | null | undefined>(true, {\n transform: normalizeBooleanInput,\n });\n readonly animate = input<boolean, boolean | string | null | undefined>(true, {\n transform: normalizeBooleanInput,\n });\n readonly lockScroll = input<TngDrawerAutoBoolean, TngDrawerAutoBoolean | string | null | undefined>(\n 'auto',\n { transform: normalizeAutoBooleanInput },\n );\n readonly dir = input<TngDrawerDirection, TngDrawerDirection | string | null | undefined>('auto', {\n transform: normalizeDirectionInput,\n });\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'drawer-container' as const;\n\n @HostBinding('attr.id')\n readonly id = this.resolvedId;\n\n @HostBinding('attr.data-content-count')\n protected get dataContentCount(): string {\n return String(this.contentElements.size);\n }\n\n @HostBinding('attr.data-content-conflict')\n protected get dataContentConflict(): 'true' | null {\n return this.contentElements.size > 1 ? 'true' : null;\n }\n\n @HostBinding('attr.data-direction')\n protected get dataDirection(): 'ltr' | 'rtl' {\n return this.resolveDirection();\n }\n\n ngDoCheck(): void {\n this.syncDerivedState();\n }\n\n ngOnDestroy(): void {\n this.scrollLockManager.clear();\n }\n\n registerDrawer(drawer: TngDrawer): void {\n this.drawers.add(drawer);\n this.syncDerivedState();\n }\n\n unregisterDrawer(drawer: TngDrawer): void {\n this.drawers.delete(drawer);\n this.syncDerivedState();\n }\n\n registerContent(content: TngDrawerContent): void {\n this.contentElements.add(content);\n this.syncDerivedState();\n }\n\n unregisterContent(content: TngDrawerContent): void {\n this.contentElements.delete(content);\n this.syncDerivedState();\n }\n\n getHostElement(): HTMLElement {\n return this.hostRef.nativeElement;\n }\n\n containsTarget(target: Node | null): boolean {\n if (target === null) {\n return false;\n }\n\n return this.hostRef.nativeElement.contains(target);\n }\n\n resolveDirection(): 'ltr' | 'rtl' {\n const configuredDirection = this.dir();\n if (configuredDirection !== 'auto') {\n return configuredDirection;\n }\n\n const host = this.hostRef.nativeElement;\n const nearestDirection =\n host.closest<HTMLElement>('[dir]')?.getAttribute('dir') ??\n host.ownerDocument?.documentElement?.getAttribute('dir');\n\n return nearestDirection?.toLowerCase() === 'rtl' ? 'rtl' : 'ltr';\n }\n\n resolveSide(position: TngDrawerPosition): TngResolvedDrawerSide {\n return resolveSideFromDirection(position, this.resolveDirection());\n }\n\n shouldRenderBackdrop(drawer: TngDrawer): boolean {\n const drawerBackdrop = drawer.backdrop();\n if (drawerBackdrop !== 'auto') {\n return drawerBackdrop;\n }\n\n const containerBackdrop = this.hasBackdrop();\n if (containerBackdrop !== 'auto') {\n return containerBackdrop;\n }\n\n return drawer.mode() === 'overlay';\n }\n\n shouldLockScroll(drawer: TngDrawer): boolean {\n const lockPolicy = this.lockScroll();\n if (lockPolicy !== 'auto') {\n return lockPolicy;\n }\n\n return drawer.mode() === 'overlay' && !drawer.resolveAllowBodyScroll();\n }\n\n onDrawerOpenRequest(drawer: TngDrawer): void {\n if (!this.closeOthersOnOpen()) {\n return;\n }\n\n for (const registeredDrawer of this.drawers) {\n if (registeredDrawer === drawer || !registeredDrawer.isOpen()) {\n continue;\n }\n\n registeredDrawer.closeFromContainer();\n }\n }\n\n onDrawerStateChanged(): void {\n this.syncDerivedState();\n }\n\n private syncDerivedState(): void {\n this.syncContentOffsets();\n this.syncContentInertState();\n this.syncBodyScrollLock();\n }\n\n private getOpenDrawers(): readonly TngDrawer[] {\n return Array.from(this.drawers).filter((drawer) => drawer.isOpen());\n }\n\n private syncBodyScrollLock(): void {\n const shouldLock = this.getOpenDrawers().some((drawer) => this.shouldLockScroll(drawer));\n if (shouldLock) {\n this.scrollLockManager.acquire(this.id);\n return;\n }\n\n this.scrollLockManager.release(this.id);\n }\n\n private syncContentInertState(): void {\n const shouldInert = this.getOpenDrawers().some((drawer) => drawer.shouldInertContent());\n for (const content of this.contentElements) {\n content.setInert(shouldInert);\n }\n }\n\n private syncContentOffsets(): void {\n let leftOffset = 0;\n let rightOffset = 0;\n\n for (const drawer of this.getOpenDrawers()) {\n if (!drawer.participatesInContentOffset()) {\n continue;\n }\n\n const side = this.resolveSide(drawer.position());\n const width = drawer.getMeasuredWidth();\n\n if (side === 'left') {\n leftOffset += width;\n } else {\n rightOffset += width;\n }\n }\n\n for (const content of this.contentElements) {\n content.applyOffsets(leftOffset, rightOffset);\n }\n }\n}\n\n@Directive({\n selector: '[tngDrawer]',\n exportAs: 'tngDrawer',\n standalone: true,\n})\nexport class TngDrawer {\n private readonly documentRef = inject(DOCUMENT, { optional: true });\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly container = inject(TngDrawerContainer, { optional: true, host: true });\n private readonly resolvedId = this.hostRef.nativeElement.getAttribute('id') ?? createDrawerId();\n private backdropElement: HTMLElement | null = null;\n private backdropPointerdownListener: ((event: PointerEvent) => void) | null = null;\n private globalPointerdownListener: ((event: PointerEvent) => void) | null = null;\n private globalKeydownListener: ((event: KeyboardEvent) => void) | null = null;\n private lifecycleFallbackHandle: ReturnType<typeof setTimeout> | null = null;\n private pendingLifecycle: TngDrawerLifecycleTransition | null = null;\n private openState = false;\n private lastKnownPosition: TngDrawerPosition = 'start';\n private lastKnownMode: TngDrawerMode = 'overlay';\n private restoreFocusTarget: HTMLElement | null = null;\n private restoreFocusFallback: HTMLElement | null = null;\n private swipeStartX: number | null = null;\n private swipeLastX: number | null = null;\n private swipeStartY: number | null = null;\n private swipeLastY: number | null = null;\n\n readonly openedInput = input<boolean | undefined, boolean | string | null | undefined>(undefined, {\n alias: 'opened',\n transform: normalizeOptionalBooleanInput,\n });\n readonly defaultOpened = input<boolean, boolean | string | null | undefined>(false, {\n transform: normalizeBooleanInput,\n });\n readonly mode = input<TngDrawerMode, TngDrawerMode | string | null | undefined>('overlay', {\n transform: normalizeModeInput,\n });\n readonly position = input<TngDrawerPosition, TngDrawerPosition | string | null | undefined>('start', {\n transform: normalizePositionInput,\n });\n readonly disabled = input<boolean, boolean | string | null | undefined>(false, {\n transform: normalizeBooleanInput,\n });\n readonly backdrop = input<TngDrawerAutoBoolean, TngDrawerAutoBoolean | string | null | undefined>(\n 'auto',\n { transform: normalizeAutoBooleanInput },\n );\n readonly closeOnOutsideClickInput = input<boolean | undefined, boolean | string | null | undefined>(\n undefined,\n {\n alias: 'closeOnOutsideClick',\n transform: normalizeOptionalBooleanInput,\n },\n );\n readonly closeOnEscape = input<boolean, boolean | string | null | undefined>(true, {\n transform: normalizeBooleanInput,\n });\n readonly restoreFocus = input<boolean, boolean | string | null | undefined>(true, {\n transform: normalizeBooleanInput,\n });\n readonly autoFocus = input<TngDrawerAutoFocus, TngDrawerAutoFocus | string | null | undefined>(\n 'drawer',\n { transform: normalizeAutoFocusInput },\n );\n readonly trapFocus = input<TngDrawerAutoBoolean, TngDrawerAutoBoolean | string | null | undefined>(\n 'auto',\n { transform: normalizeAutoBooleanInput },\n );\n readonly inertContent = input<TngDrawerAutoBoolean, TngDrawerAutoBoolean | string | null | undefined>(\n 'auto',\n { transform: normalizeAutoBooleanInput },\n );\n readonly allowBodyScrollInput = input<boolean | undefined, boolean | string | null | undefined>(\n undefined,\n {\n alias: 'allowBodyScroll',\n transform: normalizeOptionalBooleanInput,\n },\n );\n readonly closeOnTab = input<boolean, boolean | string | null | undefined>(false, {\n transform: normalizeBooleanInput,\n });\n readonly role = input<TngDrawerRole, TngDrawerRole | string | null | undefined>('navigation', {\n transform: normalizeRoleInput,\n });\n readonly fixedInViewport = input<boolean, boolean | string | null | undefined>(false, {\n transform: normalizeBooleanInput,\n });\n readonly fixedTopGap = input<number, number | string | null | undefined>(0, {\n transform: normalizeNumberInput,\n });\n readonly fixedBottomGap = input<number, number | string | null | undefined>(0, {\n transform: normalizeNumberInput,\n });\n readonly swipeToClose = input<boolean, boolean | string | null | undefined>(false, {\n transform: normalizeBooleanInput,\n });\n readonly openedChange = output<boolean>();\n readonly tngDrawerOpened = output<void>();\n readonly tngDrawerClosed = output<void>();\n readonly openStart = output<void>();\n readonly closeStart = output<void>();\n readonly backdropClick = output<void>();\n readonly positionChange = output<TngDrawerPosition>();\n\n ngOnInit(): void {\n this.container?.registerDrawer(this);\n this.lastKnownPosition = this.position();\n this.lastKnownMode = this.mode();\n\n const controlledValue = this.openedInput();\n this.openState = controlledValue ?? this.defaultOpened();\n\n if (this.openState) {\n this.attachGlobalListeners();\n this.renderBackdropIfNeeded();\n this.container?.onDrawerStateChanged();\n this.queueLifecycleEnd('opening', false);\n }\n }\n\n ngAfterViewInit(): void {\n if (this.openState) {\n this.applyAutoFocus();\n }\n }\n\n ngDoCheck(): void {\n this.syncControlledState();\n this.syncPositionChange();\n this.syncModeChange();\n if (this.openState) {\n this.renderBackdropIfNeeded();\n this.container?.onDrawerStateChanged();\n }\n }\n\n ngOnDestroy(): void {\n if (this.openState) {\n this.performClose({\n emitOpenedChange: false,\n emitLifecycle: true,\n restoreFocus: false,\n reason: 'destroy',\n });\n }\n\n this.teardownInteractions();\n this.container?.unregisterDrawer(this);\n }\n\n isOpen(): boolean {\n return this.openState;\n }\n\n participatesInContentOffset(): boolean {\n const mode = this.mode();\n return mode === 'push' || mode === 'side';\n }\n\n shouldInertContent(): boolean {\n if (!this.openState) {\n return false;\n }\n\n return resolveAutoBoolean(this.inertContent(), this.mode() === 'overlay');\n }\n\n resolveAllowBodyScroll(): boolean {\n const configured = this.allowBodyScrollInput();\n if (configured !== undefined) {\n return configured;\n }\n\n return this.mode() !== 'overlay';\n }\n\n getMeasuredWidth(): number {\n const host = this.hostRef.nativeElement;\n const widthAttr = Number.parseFloat(host.getAttribute('data-width') ?? '');\n if (Number.isFinite(widthAttr) && widthAttr > 0) {\n return widthAttr;\n }\n\n const rectWidth = host.getBoundingClientRect().width;\n if (rectWidth > 0) {\n return rectWidth;\n }\n\n const inlineWidth = Number.parseFloat(host.style.width);\n if (Number.isFinite(inlineWidth) && inlineWidth > 0) {\n return inlineWidth;\n }\n\n return 0;\n }\n\n closeFromContainer(): void {\n this.requestOpenState(false, 'interaction', 'outside');\n }\n\n setRestoreFocusFallback(target: HTMLElement | null): void {\n this.restoreFocusFallback = target;\n }\n\n setRestoreFocusTarget(target: HTMLElement | null): void {\n this.restoreFocusTarget = target;\n }\n\n open(): void {\n this.requestOpenState(true, 'imperative', 'imperative');\n }\n\n close(): void {\n this.requestOpenState(false, 'imperative', 'imperative');\n }\n\n toggle(force?: boolean): void {\n if (force === undefined) {\n this.requestOpenState(!this.openState, 'imperative', 'imperative');\n return;\n }\n\n this.requestOpenState(force, 'imperative', 'imperative');\n }\n\n @HostListener('transitionend', ['$event'])\n protected onTransitionEnd(event: Event): void {\n if (event.target !== this.hostRef.nativeElement) {\n return;\n }\n\n this.flushPendingLifecycle();\n }\n\n @HostListener('pointerdown', ['$event'])\n protected onHostPointerDown(event: PointerEvent): void {\n if (!this.openState || !this.swipeToClose() || this.mode() !== 'overlay') {\n return;\n }\n\n this.swipeStartX = event.clientX;\n this.swipeLastX = event.clientX;\n this.swipeStartY = event.clientY;\n this.swipeLastY = event.clientY;\n }\n\n @HostListener('pointermove', ['$event'])\n protected onHostPointerMove(event: PointerEvent): void {\n if (this.swipeStartX === null) {\n return;\n }\n\n this.swipeLastX = event.clientX;\n this.swipeLastY = event.clientY;\n }\n\n @HostListener('pointerup')\n protected onHostPointerUp(): void {\n if (\n this.swipeStartX === null ||\n this.swipeLastX === null ||\n this.swipeStartY === null ||\n this.swipeLastY === null\n ) {\n this.resetSwipeState();\n return;\n }\n\n const deltaX = this.swipeLastX - this.swipeStartX;\n const deltaY = this.swipeLastY - this.swipeStartY;\n const side = this.resolveEffectiveSide();\n const isHorizontalGesture = Math.abs(deltaX) >= Math.abs(deltaY);\n const shouldClose =\n isHorizontalGesture && ((side === 'left' && deltaX <= -40) || (side === 'right' && deltaX >= 40));\n\n this.resetSwipeState();\n\n if (shouldClose) {\n this.requestOpenState(false, 'interaction', 'outside');\n }\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'drawer' as const;\n\n @HostBinding('attr.id')\n protected readonly id = this.resolvedId;\n\n @HostBinding('attr.role')\n protected get roleAttr(): TngDrawerRole {\n return this.role();\n }\n\n @HostBinding('attr.tabindex')\n protected get tabIndexAttr(): string {\n return this.hostRef.nativeElement.getAttribute('tabindex') ?? '-1';\n }\n\n @HostBinding('attr.data-mode')\n protected get dataMode(): TngDrawerMode {\n return this.mode();\n }\n\n @HostBinding('attr.data-state')\n protected get dataState(): 'open' | 'closed' {\n return this.openState ? 'open' : 'closed';\n }\n\n @HostBinding('attr.data-open')\n protected get dataOpen(): 'true' | 'false' {\n return this.openState ? 'true' : 'false';\n }\n\n @HostBinding('attr.data-position')\n protected get dataPosition(): TngDrawerPosition {\n return this.position();\n }\n\n @HostBinding('attr.data-effective-position')\n protected get dataEffectivePosition(): TngResolvedDrawerSide {\n return this.resolveEffectiveSide();\n }\n\n @HostBinding('attr.data-disabled')\n protected get dataDisabled(): 'true' | 'false' {\n return this.disabled() ? 'true' : 'false';\n }\n\n @HostBinding('attr.aria-disabled')\n protected get ariaDisabled(): 'true' | null {\n return this.disabled() ? 'true' : null;\n }\n\n @HostBinding('attr.data-container-id')\n protected get dataContainerId(): string | null {\n return this.container?.id ?? null;\n }\n\n @HostBinding('attr.data-container-missing')\n protected get dataContainerMissing(): 'true' | null {\n return this.container === null ? 'true' : null;\n }\n\n @HostBinding('attr.hidden')\n protected get hiddenAttr(): '' | null {\n return this.openState ? null : '';\n }\n\n @HostBinding('attr.aria-modal')\n protected get ariaModal(): 'true' | null {\n if (this.role() !== 'dialog' || this.mode() !== 'overlay' || !this.openState) {\n return null;\n }\n\n return 'true';\n }\n\n @HostBinding('style.position')\n protected get positionStyle(): 'fixed' | null {\n return this.fixedInViewport() ? 'fixed' : null;\n }\n\n @HostBinding('style.top')\n protected get topStyle(): string | null {\n if (!this.fixedInViewport()) {\n return null;\n }\n\n return `${Math.max(0, this.fixedTopGap())}px`;\n }\n\n @HostBinding('style.bottom')\n protected get bottomStyle(): string | null {\n if (!this.fixedInViewport()) {\n return null;\n }\n\n return `${Math.max(0, this.fixedBottomGap())}px`;\n }\n\n @HostBinding('style.left')\n protected get leftStyle(): string | null {\n if (!this.fixedInViewport() || this.resolveEffectiveSide() !== 'left') {\n return null;\n }\n\n return '0px';\n }\n\n @HostBinding('style.right')\n protected get rightStyle(): string | null {\n if (!this.fixedInViewport() || this.resolveEffectiveSide() !== 'right') {\n return null;\n }\n\n return '0px';\n }\n\n private syncControlledState(): void {\n const controlledValue = this.openedInput();\n if (controlledValue === undefined || controlledValue === this.openState) {\n return;\n }\n\n if (controlledValue) {\n this.performOpen({\n emitOpenedChange: false,\n emitLifecycle: true,\n source: 'external',\n });\n return;\n }\n\n this.performClose({\n emitOpenedChange: false,\n emitLifecycle: true,\n restoreFocus: false,\n reason: 'external',\n });\n }\n\n private syncPositionChange(): void {\n const currentPosition = this.position();\n if (currentPosition === this.lastKnownPosition) {\n return;\n }\n\n this.lastKnownPosition = currentPosition;\n this.positionChange.emit(currentPosition);\n this.container?.onDrawerStateChanged();\n }\n\n private syncModeChange(): void {\n const currentMode = this.mode();\n if (currentMode === this.lastKnownMode) {\n return;\n }\n\n this.lastKnownMode = currentMode;\n if (this.openState) {\n this.renderBackdropIfNeeded();\n }\n this.container?.onDrawerStateChanged();\n }\n\n private requestOpenState(nextOpen: boolean, source: TngDrawerOpenSource, reason: TngDrawerCloseReason): void {\n if (nextOpen && this.disabled()) {\n return;\n }\n\n if (this.openedInput() !== undefined) {\n const currentControlledValue = this.openedInput() ?? false;\n if (source !== 'external' && currentControlledValue !== nextOpen) {\n this.openedChange.emit(nextOpen);\n }\n return;\n }\n\n if (nextOpen === this.openState) {\n return;\n }\n\n if (nextOpen) {\n this.performOpen({\n emitOpenedChange: source !== 'initial' && source !== 'external',\n emitLifecycle: source !== 'initial',\n source,\n });\n return;\n }\n\n this.performClose({\n emitOpenedChange: source !== 'initial' && source !== 'external',\n emitLifecycle: source !== 'initial',\n restoreFocus: reason !== 'tab',\n reason,\n });\n }\n\n private performOpen(options: Readonly<{\n emitOpenedChange: boolean;\n emitLifecycle: boolean;\n source: TngDrawerOpenSource;\n }>): void {\n if (this.openState) {\n return;\n }\n\n this.container?.onDrawerOpenRequest(this);\n\n this.captureRestoreFocusTarget();\n this.openState = true;\n this.attachGlobalListeners();\n this.renderBackdropIfNeeded();\n this.container?.onDrawerStateChanged();\n\n if (options.emitOpenedChange) {\n this.openedChange.emit(true);\n }\n\n if (options.emitLifecycle) {\n this.startLifecycle('opening');\n }\n\n if (options.source !== 'external') {\n this.applyAutoFocus();\n }\n }\n\n private performClose(options: Readonly<{\n emitOpenedChange: boolean;\n emitLifecycle: boolean;\n restoreFocus: boolean;\n reason: TngDrawerCloseReason;\n }>): void {\n if (!this.openState) {\n return;\n }\n\n this.openState = false;\n this.teardownInteractions();\n this.container?.onDrawerStateChanged();\n\n if (options.emitOpenedChange) {\n this.openedChange.emit(false);\n }\n\n if (options.emitLifecycle) {\n this.startLifecycle('closing');\n }\n\n if (options.restoreFocus && this.restoreFocus()) {\n this.restoreFocusToTarget();\n }\n }\n\n private captureRestoreFocusTarget(): void {\n const activeElement = this.documentRef?.activeElement;\n this.restoreFocusTarget = activeElement instanceof HTMLElement ? activeElement : null;\n }\n\n private restoreFocusToTarget(): void {\n if (this.restoreFocusTarget?.isConnected) {\n this.restoreFocusTarget.focus();\n return;\n }\n\n if (this.restoreFocusFallback?.isConnected) {\n this.restoreFocusFallback.focus();\n return;\n }\n\n this.documentRef?.body?.focus?.();\n }\n\n private applyAutoFocus(): void {\n const strategy = this.autoFocus();\n if (strategy === 'none') {\n return;\n }\n\n if (strategy === 'first-focusable') {\n const firstFocusable = this.getFocusableElements()[0];\n if (firstFocusable !== undefined) {\n firstFocusable.focus();\n return;\n }\n }\n\n this.hostRef.nativeElement.focus();\n }\n\n private getFocusableElements(): readonly HTMLElement[] {\n const host = this.hostRef.nativeElement;\n const candidates = Array.from(host.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTOR));\n return candidates.filter((element) => !element.hasAttribute('disabled') && element.tabIndex >= 0);\n }\n\n private resolveEffectiveSide(): TngResolvedDrawerSide {\n return this.container?.resolveSide(this.position()) ?? resolveSideFromDirection(this.position(), 'ltr');\n }\n\n private startLifecycle(transition: TngDrawerLifecycleTransition): void {\n this.clearPendingLifecycle();\n\n if (transition === 'opening') {\n this.openStart.emit();\n } else {\n this.closeStart.emit();\n }\n\n if (!this.container?.animate()) {\n if (transition === 'opening') {\n this.tngDrawerOpened.emit();\n } else {\n this.tngDrawerClosed.emit();\n }\n return;\n }\n\n this.queueLifecycleEnd(transition, true);\n }\n\n private queueLifecycleEnd(transition: TngDrawerLifecycleTransition, withFallback: boolean): void {\n this.pendingLifecycle = transition;\n\n if (!withFallback) {\n return;\n }\n\n this.lifecycleFallbackHandle = setTimeout(() => {\n this.flushPendingLifecycle();\n }, 60);\n }\n\n private flushPendingLifecycle(): void {\n if (this.pendingLifecycle === null) {\n return;\n }\n\n const transition = this.pendingLifecycle;\n this.clearPendingLifecycle();\n\n if (transition === 'opening') {\n this.tngDrawerOpened.emit();\n return;\n }\n\n this.tngDrawerClosed.emit();\n }\n\n private clearPendingLifecycle(): void {\n this.pendingLifecycle = null;\n\n if (this.lifecycleFallbackHandle !== null) {\n clearTimeout(this.lifecycleFallbackHandle);\n this.lifecycleFallbackHandle = null;\n }\n }\n\n private attachGlobalListeners(): void {\n if (this.documentRef === null) {\n return;\n }\n\n if (this.globalPointerdownListener === null) {\n this.globalPointerdownListener = (event: PointerEvent): void => this.handleDocumentPointerDown(event);\n this.documentRef.addEventListener('pointerdown', this.globalPointerdownListener, true);\n }\n\n if (this.globalKeydownListener === null) {\n this.globalKeydownListener = (event: KeyboardEvent): void => this.handleDocumentKeydown(event);\n this.documentRef.addEventListener('keydown', this.globalKeydownListener, true);\n }\n }\n\n private teardownInteractions(): void {\n this.detachGlobalListeners();\n this.destroyBackdrop();\n this.clearPendingLifecycle();\n this.resetSwipeState();\n }\n\n private detachGlobalListeners(): void {\n if (this.documentRef === null) {\n return;\n }\n\n if (this.globalPointerdownListener !== null) {\n this.documentRef.removeEventListener('pointerdown', this.globalPointerdownListener, true);\n this.globalPointerdownListener = null;\n }\n\n if (this.globalKeydownListener !== null) {\n this.documentRef.removeEventListener('keydown', this.globalKeydownListener, true);\n this.globalKeydownListener = null;\n }\n }\n\n private renderBackdropIfNeeded(): void {\n if (!this.openState || !this.resolveBackdropEnabled()) {\n this.destroyBackdrop();\n return;\n }\n\n if (this.backdropElement !== null) {\n return;\n }\n\n const targetHost = this.container?.getHostElement() ?? this.hostRef.nativeElement.parentElement;\n if (targetHost === null) {\n return;\n }\n\n const backdrop = this.documentRef?.createElement('div');\n if (backdrop === undefined || backdrop === null) {\n return;\n }\n\n backdrop.setAttribute('data-slot', 'drawer-backdrop');\n backdrop.setAttribute('data-owner', this.id);\n backdrop.setAttribute('role', 'presentation');\n backdrop.setAttribute('tabindex', '-1');\n backdrop.setAttribute('aria-hidden', 'true');\n backdrop.setAttribute('data-open', 'true');\n\n this.backdropPointerdownListener = (event: PointerEvent): void => {\n this.backdropClick.emit();\n\n if (this.resolveCloseOnOutsideClick()) {\n this.requestOpenState(false, 'interaction', 'outside');\n }\n\n event.preventDefault();\n event.stopPropagation();\n };\n backdrop.addEventListener('pointerdown', this.backdropPointerdownListener);\n\n targetHost.insertBefore(backdrop, this.hostRef.nativeElement);\n this.backdropElement = backdrop;\n }\n\n private destroyBackdrop(): void {\n if (this.backdropElement === null) {\n return;\n }\n\n if (this.backdropPointerdownListener !== null) {\n this.backdropElement.removeEventListener('pointerdown', this.backdropPointerdownListener);\n this.backdropPointerdownListener = null;\n }\n\n this.backdropElement.remove();\n this.backdropElement = null;\n }\n\n private resolveBackdropEnabled(): boolean {\n if (this.container !== null) {\n return this.container.shouldRenderBackdrop(this);\n }\n\n return resolveAutoBoolean(this.backdrop(), this.mode() === 'overlay');\n }\n\n private resolveCloseOnOutsideClick(): boolean {\n const configured = this.closeOnOutsideClickInput();\n if (configured !== undefined) {\n return configured;\n }\n\n return this.mode() === 'overlay';\n }\n\n private resolveTrapFocus(): boolean {\n return resolveAutoBoolean(this.trapFocus(), this.mode() === 'overlay');\n }\n\n private handleDocumentPointerDown(event: PointerEvent): void {\n if (!this.openState || !this.resolveCloseOnOutsideClick()) {\n return;\n }\n\n const target = event.target;\n if (!(target instanceof Node)) {\n return;\n }\n\n if (this.hostRef.nativeElement.contains(target)) {\n return;\n }\n\n if (this.backdropElement?.contains(target) === true) {\n return;\n }\n\n if (this.container?.containsTarget(target) === true) {\n return;\n }\n\n if (this.isScrollbarPointerDown(event, target)) {\n return;\n }\n\n this.requestOpenState(false, 'interaction', 'outside');\n }\n\n private handleDocumentKeydown(event: KeyboardEvent): void {\n if (!this.openState) {\n return;\n }\n\n if (event.key === 'Escape') {\n if (!this.closeOnEscape()) {\n return;\n }\n\n event.preventDefault();\n this.requestOpenState(false, 'interaction', 'escape');\n return;\n }\n\n if (event.key !== 'Tab') {\n return;\n }\n\n if (this.resolveTrapFocus()) {\n this.handleTrappedTab(event);\n return;\n }\n\n if (this.closeOnTab()) {\n this.requestOpenState(false, 'interaction', 'tab');\n }\n }\n\n private handleTrappedTab(event: KeyboardEvent): void {\n const focusable = this.getFocusableElements();\n const host = this.hostRef.nativeElement;\n if (focusable.length === 0) {\n event.preventDefault();\n host.focus();\n return;\n }\n\n const currentActive = this.documentRef?.activeElement;\n const currentIndex = currentActive instanceof HTMLElement ? focusable.indexOf(currentActive) : -1;\n\n const nextIndex = event.shiftKey\n ? currentIndex <= 0\n ? focusable.length - 1\n : currentIndex - 1\n : currentIndex < 0 || currentIndex >= focusable.length - 1\n ? 0\n : currentIndex + 1;\n\n event.preventDefault();\n focusable[nextIndex]?.focus();\n }\n\n private resetSwipeState(): void {\n this.swipeStartX = null;\n this.swipeLastX = null;\n this.swipeStartY = null;\n this.swipeLastY = null;\n }\n\n private isScrollbarPointerDown(event: PointerEvent, target: Node): boolean {\n if (this.documentRef === null) {\n return false;\n }\n\n const root = this.documentRef.documentElement;\n if (target !== root && target !== this.documentRef.body) {\n return false;\n }\n\n const viewportWidth = root.clientWidth;\n const viewportHeight = root.clientHeight;\n const onVerticalScrollbar = event.clientX >= viewportWidth && event.clientX > 0;\n const onHorizontalScrollbar = event.clientY >= viewportHeight && event.clientY > 0;\n\n return onVerticalScrollbar || onHorizontalScrollbar;\n }\n}\n\n@Directive({\n selector: '[tngDrawerContent]',\n exportAs: 'tngDrawerContent',\n standalone: true,\n})\nexport class TngDrawerContent {\n private readonly hostRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly container = inject(TngDrawerContainer, { optional: true, host: true });\n\n ngOnInit(): void {\n this.container?.registerContent(this);\n }\n\n ngOnDestroy(): void {\n this.container?.unregisterContent(this);\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'drawer-content' as const;\n\n @HostBinding('attr.data-container-id')\n protected get dataContainerId(): string | null {\n return this.container?.id ?? null;\n }\n\n @HostBinding('attr.data-container-missing')\n protected get dataContainerMissing(): 'true' | null {\n return this.container === null ? 'true' : null;\n }\n\n applyOffsets(leftOffset: number, rightOffset: number): void {\n const host = this.hostRef.nativeElement;\n host.style.marginLeft = leftOffset > 0 ? `${leftOffset}px` : '';\n host.style.marginRight = rightOffset > 0 ? `${rightOffset}px` : '';\n host.setAttribute('data-offset-left', String(leftOffset));\n host.setAttribute('data-offset-right', String(rightOffset));\n host.setAttribute('data-shifted', leftOffset > 0 || rightOffset > 0 ? 'true' : 'false');\n }\n\n setInert(nextInert: boolean): void {\n const host = this.hostRef.nativeElement;\n if (nextInert) {\n host.setAttribute('inert', '');\n host.setAttribute('aria-hidden', 'true');\n try {\n (host as HTMLElement & { inert?: boolean }).inert = true;\n } catch {\n // noop: inert is not writable in some environments.\n }\n return;\n }\n\n host.removeAttribute('inert');\n host.removeAttribute('aria-hidden');\n try {\n (host as HTMLElement & { inert?: boolean }).inert = false;\n } catch {\n // noop: inert is not writable in some environments.\n }\n }\n}\n\n@Directive({\n selector: '[tngSidenavContainer]',\n exportAs: 'tngSidenavContainer',\n standalone: true,\n providers: [\n {\n provide: TngDrawerContainer,\n useExisting: forwardRef(() => TngSidenavContainer),\n },\n ],\n})\nexport class TngSidenavContainer extends TngDrawerContainer {}\n\n@Directive({\n selector: '[tngSidenav]',\n exportAs: 'tngSidenav',\n standalone: true,\n providers: [\n {\n provide: TngDrawer,\n useExisting: forwardRef(() => TngSidenav),\n },\n ],\n})\nexport class TngSidenav extends TngDrawer {}\n\n@Directive({\n selector: '[tngSidenavContent]',\n exportAs: 'tngSidenavContent',\n standalone: true,\n providers: [\n {\n provide: TngDrawerContent,\n useExisting: forwardRef(() => TngSidenavContent),\n },\n ],\n})\nexport class TngSidenavContent extends TngDrawerContent {}\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 if (normalized === 'false') {\n return false;\n }\n }\n\n return Boolean(value);\n}\n\nfunction normalizeOptionalBooleanInput(value: unknown): boolean | undefined {\n if (value === undefined || value === null) {\n return undefined;\n }\n\n return normalizeBooleanInput(value);\n}\n\nfunction normalizeAutoBooleanInput(value: unknown): TngDrawerAutoBoolean {\n if (typeof value === 'string' && value.trim().toLowerCase() === 'auto') {\n return 'auto';\n }\n\n if (value === undefined || value === null) {\n return 'auto';\n }\n\n return normalizeBooleanInput(value);\n}\n\nfunction resolveAutoBoolean(value: TngDrawerAutoBoolean, fallbackWhenAuto: boolean): boolean {\n return value === 'auto' ? fallbackWhenAuto : value;\n}\n\nfunction normalizeModeInput(value: unknown): TngDrawerMode {\n if (typeof value === 'string') {\n const normalized = value.trim().toLowerCase();\n if (normalized === 'push' || normalized === 'side' || normalized === 'overlay') {\n return normalized;\n }\n }\n\n return 'overlay';\n}\n\nfunction normalizePositionInput(value: unknown): TngDrawerPosition {\n if (typeof value === 'string' && value.trim().toLowerCase() === 'end') {\n return 'end';\n }\n\n return 'start';\n}\n\nfunction normalizeDirectionInput(value: unknown): TngDrawerDirection {\n if (typeof value === 'string') {\n const normalized = value.trim().toLowerCase();\n if (normalized === 'rtl' || normalized === 'ltr' || normalized === 'auto') {\n return normalized;\n }\n }\n\n return 'auto';\n}\n\nfunction normalizeRoleInput(value: unknown): TngDrawerRole {\n if (typeof value === 'string') {\n const normalized = value.trim().toLowerCase();\n if (\n normalized === 'dialog' ||\n normalized === 'complementary' ||\n normalized === 'navigation' ||\n normalized === 'region'\n ) {\n return normalized;\n }\n }\n\n return 'navigation';\n}\n\nfunction normalizeAutoFocusInput(value: unknown): TngDrawerAutoFocus {\n if (typeof value === 'string') {\n const normalized = value.trim().toLowerCase();\n if (normalized === 'first-focusable') {\n return 'first-focusable';\n }\n if (normalized === 'none') {\n return 'none';\n }\n }\n\n return 'drawer';\n}\n\nfunction normalizeNumberInput(value: unknown): number {\n if (typeof value === 'number' && Number.isFinite(value)) {\n return value;\n }\n\n if (typeof value === 'string') {\n const parsed = Number.parseFloat(value);\n if (Number.isFinite(parsed)) {\n return parsed;\n }\n }\n\n return 0;\n}\n\nfunction resolveSideFromDirection(position: TngDrawerPosition, direction: 'ltr' | 'rtl'): TngResolvedDrawerSide {\n if (position === 'start') {\n return direction === 'rtl' ? 'right' : 'left';\n }\n\n return direction === 'rtl' ? 'left' : 'right';\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export declare class TngGrid {
2
+ protected readonly dataSlot: "grid";
3
+ }
4
+ //# sourceMappingURL=tng-grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-grid.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/grid/tng-grid.ts"],"names":[],"mappings":"AAEA,qBAIa,OAAO;IAElB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;CAC/C"}
@@ -0,0 +1,16 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, HostBinding } from '@angular/core';
3
+ let TngGrid = class TngGrid {
4
+ dataSlot = 'grid';
5
+ };
6
+ __decorate([
7
+ HostBinding('attr.data-slot')
8
+ ], TngGrid.prototype, "dataSlot", void 0);
9
+ TngGrid = __decorate([
10
+ Directive({
11
+ selector: '[tngGrid]',
12
+ exportAs: 'tngGrid',
13
+ })
14
+ ], TngGrid);
15
+ export { TngGrid };
16
+ //# sourceMappingURL=tng-grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-grid.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/grid/tng-grid.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMhD,IAAM,OAAO,GAAb,MAAM,OAAO;IAEC,QAAQ,GAAG,MAAe,CAAC;CAC/C,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;yCACgB;AAFnC,OAAO;IAJnB,SAAS,CAAC;QACT,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,SAAS;KACpB,CAAC;GACW,OAAO,CAGnB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngGrid]',\n exportAs: 'tngGrid',\n})\nexport class TngGrid {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'grid' as const;\n}\n"]}
@@ -0,0 +1,11 @@
1
+ export type TngSeparatorOrientation = 'horizontal' | 'vertical';
2
+ export declare class TngSeparator {
3
+ readonly decorative: import("@angular/core").InputSignalWithTransform<boolean, string | boolean>;
4
+ readonly orientation: import("@angular/core").InputSignal<TngSeparatorOrientation>;
5
+ protected get ariaHiddenAttr(): 'true' | null;
6
+ protected get ariaOrientationAttr(): TngSeparatorOrientation | null;
7
+ protected get dataOrientationAttr(): TngSeparatorOrientation;
8
+ protected readonly dataSlot: "separator";
9
+ protected get roleAttr(): 'separator' | null;
10
+ }
11
+ //# sourceMappingURL=tng-separator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-separator.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/separator/tng-separator.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,uBAAuB,GAAG,YAAY,GAAG,UAAU,CAAC;AAEhE,qBAIa,YAAY;IACvB,SAAgB,UAAU,8EAEvB;IACH,SAAgB,WAAW,+DAAgD;IAG3E,SAAS,KAAK,cAAc,IAAI,MAAM,GAAG,IAAI,CAE5C;IAGD,SAAS,KAAK,mBAAmB,IAAI,uBAAuB,GAAG,IAAI,CAMlE;IAGD,SAAS,KAAK,mBAAmB,IAAI,uBAAuB,CAE3D;IAGD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,WAAW,CAAU;IAGnD,SAAS,KAAK,QAAQ,IAAI,WAAW,GAAG,IAAI,CAE3C;CACF"}
@@ -0,0 +1,47 @@
1
+ import { __decorate } from "tslib";
2
+ import { booleanAttribute, Directive, HostBinding, input } from '@angular/core';
3
+ let TngSeparator = class TngSeparator {
4
+ decorative = input(true, {
5
+ transform: booleanAttribute,
6
+ });
7
+ orientation = input('horizontal');
8
+ get ariaHiddenAttr() {
9
+ return this.decorative() ? 'true' : null;
10
+ }
11
+ get ariaOrientationAttr() {
12
+ if (this.decorative()) {
13
+ return null;
14
+ }
15
+ return this.orientation();
16
+ }
17
+ get dataOrientationAttr() {
18
+ return this.orientation();
19
+ }
20
+ dataSlot = 'separator';
21
+ get roleAttr() {
22
+ return this.decorative() ? null : 'separator';
23
+ }
24
+ };
25
+ __decorate([
26
+ HostBinding('attr.aria-hidden')
27
+ ], TngSeparator.prototype, "ariaHiddenAttr", null);
28
+ __decorate([
29
+ HostBinding('attr.aria-orientation')
30
+ ], TngSeparator.prototype, "ariaOrientationAttr", null);
31
+ __decorate([
32
+ HostBinding('attr.data-orientation')
33
+ ], TngSeparator.prototype, "dataOrientationAttr", null);
34
+ __decorate([
35
+ HostBinding('attr.data-slot')
36
+ ], TngSeparator.prototype, "dataSlot", void 0);
37
+ __decorate([
38
+ HostBinding('attr.role')
39
+ ], TngSeparator.prototype, "roleAttr", null);
40
+ TngSeparator = __decorate([
41
+ Directive({
42
+ selector: '[tngSeparator]',
43
+ exportAs: 'tngSeparator',
44
+ })
45
+ ], TngSeparator);
46
+ export { TngSeparator };
47
+ //# sourceMappingURL=tng-separator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-separator.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/separator/tng-separator.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAQzE,IAAM,YAAY,GAAlB,MAAM,YAAY;IACP,UAAU,GAAG,KAAK,CAA4B,IAAI,EAAE;QAClE,SAAS,EAAE,gBAAgB;KAC5B,CAAC,CAAC;IACa,WAAW,GAAG,KAAK,CAA0B,YAAY,CAAC,CAAC;IAG3E,IAAc,cAAc;QAC1B,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;IAGD,IAAc,mBAAmB;QAC/B,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAGD,IAAc,mBAAmB;QAC/B,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAGkB,QAAQ,GAAG,WAAoB,CAAC;IAGnD,IAAc,QAAQ;QACpB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;IAChD,CAAC;CACF,CAAA;AAzBC;IADC,WAAW,CAAC,kBAAkB,CAAC;kDAG/B;AAGD;IADC,WAAW,CAAC,uBAAuB,CAAC;uDAOpC;AAGD;IADC,WAAW,CAAC,uBAAuB,CAAC;uDAGpC;AAGkB;IADlB,WAAW,CAAC,gBAAgB,CAAC;8CACqB;AAGnD;IADC,WAAW,CAAC,WAAW,CAAC;4CAGxB;AA/BU,YAAY;IAJxB,SAAS,CAAC;QACT,QAAQ,EAAE,gBAAgB;QAC1B,QAAQ,EAAE,cAAc;KACzB,CAAC;GACW,YAAY,CAgCxB","sourcesContent":["import { booleanAttribute, Directive, HostBinding, input } from '@angular/core';\n\nexport type TngSeparatorOrientation = 'horizontal' | 'vertical';\n\n@Directive({\n selector: '[tngSeparator]',\n exportAs: 'tngSeparator',\n})\nexport class TngSeparator {\n public readonly decorative = input<boolean, boolean | string>(true, {\n transform: booleanAttribute,\n });\n public readonly orientation = input<TngSeparatorOrientation>('horizontal');\n\n @HostBinding('attr.aria-hidden')\n protected get ariaHiddenAttr(): 'true' | null {\n return this.decorative() ? 'true' : null;\n }\n\n @HostBinding('attr.aria-orientation')\n protected get ariaOrientationAttr(): TngSeparatorOrientation | null {\n if (this.decorative()) {\n return null;\n }\n\n return this.orientation();\n }\n\n @HostBinding('attr.data-orientation')\n protected get dataOrientationAttr(): TngSeparatorOrientation {\n return this.orientation();\n }\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'separator' as const;\n\n @HostBinding('attr.role')\n protected get roleAttr(): 'separator' | null {\n return this.decorative() ? null : 'separator';\n }\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export declare class TngStepper {
2
+ protected readonly dataSlot: "stepper";
3
+ }
4
+ //# sourceMappingURL=tng-stepper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-stepper.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/stepper/tng-stepper.ts"],"names":[],"mappings":"AAEA,qBAIa,UAAU;IAErB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,SAAS,CAAU;CAClD"}
@@ -0,0 +1,16 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, HostBinding } from '@angular/core';
3
+ let TngStepper = class TngStepper {
4
+ dataSlot = 'stepper';
5
+ };
6
+ __decorate([
7
+ HostBinding('attr.data-slot')
8
+ ], TngStepper.prototype, "dataSlot", void 0);
9
+ TngStepper = __decorate([
10
+ Directive({
11
+ selector: '[tngStepper]',
12
+ exportAs: 'tngStepper',
13
+ })
14
+ ], TngStepper);
15
+ export { TngStepper };
16
+ //# sourceMappingURL=tng-stepper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-stepper.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/stepper/tng-stepper.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMhD,IAAM,UAAU,GAAhB,MAAM,UAAU;IAEF,QAAQ,GAAG,SAAkB,CAAC;CAClD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;4CACmB;AAFtC,UAAU;IAJtB,SAAS,CAAC;QACT,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,YAAY;KACvB,CAAC;GACW,UAAU,CAGtB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngStepper]',\n exportAs: 'tngStepper',\n})\nexport class TngStepper {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'stepper' as const;\n}\n"]}
@@ -0,0 +1,4 @@
1
+ export declare class TngTree {
2
+ protected readonly dataSlot: "tree";
3
+ }
4
+ //# sourceMappingURL=tng-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-tree.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/tng-tree.ts"],"names":[],"mappings":"AAEA,qBAIa,OAAO;IAElB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;CAC/C"}
@@ -0,0 +1,16 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, HostBinding } from '@angular/core';
3
+ let TngTree = class TngTree {
4
+ dataSlot = 'tree';
5
+ };
6
+ __decorate([
7
+ HostBinding('attr.data-slot')
8
+ ], TngTree.prototype, "dataSlot", void 0);
9
+ TngTree = __decorate([
10
+ Directive({
11
+ selector: '[tngTree]',
12
+ exportAs: 'tngTree',
13
+ })
14
+ ], TngTree);
15
+ export { TngTree };
16
+ //# sourceMappingURL=tng-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-tree.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/layout/tree/tng-tree.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMhD,IAAM,OAAO,GAAb,MAAM,OAAO;IAEC,QAAQ,GAAG,MAAe,CAAC;CAC/C,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;yCACgB;AAFnC,OAAO;IAJnB,SAAS,CAAC;QACT,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,SAAS;KACpB,CAAC;GACW,OAAO,CAGnB","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngTree]',\n exportAs: 'tngTree',\n})\nexport class TngTree {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'tree' as const;\n}\n"]}
@@ -0,0 +1,17 @@
1
+ export declare class TngBreadcrumb {
2
+ protected readonly dataSlot: "breadcrumb";
3
+ }
4
+ export declare class TngBreadcrumbList {
5
+ protected readonly dataSlot: "breadcrumb-list";
6
+ }
7
+ export declare class TngBreadcrumbItem {
8
+ protected readonly dataSlot: "breadcrumb-item";
9
+ }
10
+ export declare class TngBreadcrumbLink {
11
+ protected readonly dataSlot: "breadcrumb-link";
12
+ }
13
+ export declare class TngBreadcrumbSeparator {
14
+ protected readonly ariaHiddenAttr: "true";
15
+ protected readonly dataSlot: "breadcrumb-separator";
16
+ }
17
+ //# sourceMappingURL=tng-breadcrumb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-breadcrumb.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/navigation/breadcrumb/tng-breadcrumb.ts"],"names":[],"mappings":"AAEA,qBAIa,aAAa;IAExB,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;CACrD;AAED,qBAIa,iBAAiB;IAE5B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,iBAAiB,CAAU;CAC1D;AAED,qBAIa,iBAAiB;IAE5B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,iBAAiB,CAAU;CAC1D;AAED,qBAIa,iBAAiB;IAE5B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,iBAAiB,CAAU;CAC1D;AAED,qBAIa,sBAAsB;IAEjC,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAG,MAAM,CAAU;IAGpD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,sBAAsB,CAAU;CAC/D"}
@@ -0,0 +1,72 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, HostBinding } from '@angular/core';
3
+ let TngBreadcrumb = class TngBreadcrumb {
4
+ dataSlot = 'breadcrumb';
5
+ };
6
+ __decorate([
7
+ HostBinding('attr.data-slot')
8
+ ], TngBreadcrumb.prototype, "dataSlot", void 0);
9
+ TngBreadcrumb = __decorate([
10
+ Directive({
11
+ selector: '[tngBreadcrumb]',
12
+ exportAs: 'tngBreadcrumb',
13
+ })
14
+ ], TngBreadcrumb);
15
+ export { TngBreadcrumb };
16
+ let TngBreadcrumbList = class TngBreadcrumbList {
17
+ dataSlot = 'breadcrumb-list';
18
+ };
19
+ __decorate([
20
+ HostBinding('attr.data-slot')
21
+ ], TngBreadcrumbList.prototype, "dataSlot", void 0);
22
+ TngBreadcrumbList = __decorate([
23
+ Directive({
24
+ selector: '[tngBreadcrumbList]',
25
+ exportAs: 'tngBreadcrumbList',
26
+ })
27
+ ], TngBreadcrumbList);
28
+ export { TngBreadcrumbList };
29
+ let TngBreadcrumbItem = class TngBreadcrumbItem {
30
+ dataSlot = 'breadcrumb-item';
31
+ };
32
+ __decorate([
33
+ HostBinding('attr.data-slot')
34
+ ], TngBreadcrumbItem.prototype, "dataSlot", void 0);
35
+ TngBreadcrumbItem = __decorate([
36
+ Directive({
37
+ selector: '[tngBreadcrumbItem]',
38
+ exportAs: 'tngBreadcrumbItem',
39
+ })
40
+ ], TngBreadcrumbItem);
41
+ export { TngBreadcrumbItem };
42
+ let TngBreadcrumbLink = class TngBreadcrumbLink {
43
+ dataSlot = 'breadcrumb-link';
44
+ };
45
+ __decorate([
46
+ HostBinding('attr.data-slot')
47
+ ], TngBreadcrumbLink.prototype, "dataSlot", void 0);
48
+ TngBreadcrumbLink = __decorate([
49
+ Directive({
50
+ selector: '[tngBreadcrumbLink]',
51
+ exportAs: 'tngBreadcrumbLink',
52
+ })
53
+ ], TngBreadcrumbLink);
54
+ export { TngBreadcrumbLink };
55
+ let TngBreadcrumbSeparator = class TngBreadcrumbSeparator {
56
+ ariaHiddenAttr = 'true';
57
+ dataSlot = 'breadcrumb-separator';
58
+ };
59
+ __decorate([
60
+ HostBinding('attr.aria-hidden')
61
+ ], TngBreadcrumbSeparator.prototype, "ariaHiddenAttr", void 0);
62
+ __decorate([
63
+ HostBinding('attr.data-slot')
64
+ ], TngBreadcrumbSeparator.prototype, "dataSlot", void 0);
65
+ TngBreadcrumbSeparator = __decorate([
66
+ Directive({
67
+ selector: '[tngBreadcrumbSeparator]',
68
+ exportAs: 'tngBreadcrumbSeparator',
69
+ })
70
+ ], TngBreadcrumbSeparator);
71
+ export { TngBreadcrumbSeparator };
72
+ //# sourceMappingURL=tng-breadcrumb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-breadcrumb.js","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/navigation/breadcrumb/tng-breadcrumb.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMhD,IAAM,aAAa,GAAnB,MAAM,aAAa;IAEL,QAAQ,GAAG,YAAqB,CAAC;CACrD,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;+CACsB;AAFzC,aAAa;IAJzB,SAAS,CAAC;QACT,QAAQ,EAAE,iBAAiB;QAC3B,QAAQ,EAAE,eAAe;KAC1B,CAAC;GACW,aAAa,CAGzB;;AAMM,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAET,QAAQ,GAAG,iBAA0B,CAAC;CAC1D,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;mDAC2B;AAF9C,iBAAiB;IAJ7B,SAAS,CAAC;QACT,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,mBAAmB;KAC9B,CAAC;GACW,iBAAiB,CAG7B;;AAMM,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAET,QAAQ,GAAG,iBAA0B,CAAC;CAC1D,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;mDAC2B;AAF9C,iBAAiB;IAJ7B,SAAS,CAAC;QACT,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,mBAAmB;KAC9B,CAAC;GACW,iBAAiB,CAG7B;;AAMM,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAET,QAAQ,GAAG,iBAA0B,CAAC;CAC1D,CAAA;AADoB;IADlB,WAAW,CAAC,gBAAgB,CAAC;mDAC2B;AAF9C,iBAAiB;IAJ7B,SAAS,CAAC;QACT,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,mBAAmB;KAC9B,CAAC;GACW,iBAAiB,CAG7B;;AAMM,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAEd,cAAc,GAAG,MAAe,CAAC;IAGjC,QAAQ,GAAG,sBAA+B,CAAC;CAC/D,CAAA;AAJoB;IADlB,WAAW,CAAC,kBAAkB,CAAC;8DACoB;AAGjC;IADlB,WAAW,CAAC,gBAAgB,CAAC;wDACgC;AALnD,sBAAsB;IAJlC,SAAS,CAAC;QACT,QAAQ,EAAE,0BAA0B;QACpC,QAAQ,EAAE,wBAAwB;KACnC,CAAC;GACW,sBAAsB,CAMlC","sourcesContent":["import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[tngBreadcrumb]',\n exportAs: 'tngBreadcrumb',\n})\nexport class TngBreadcrumb {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'breadcrumb' as const;\n}\n\n@Directive({\n selector: '[tngBreadcrumbList]',\n exportAs: 'tngBreadcrumbList',\n})\nexport class TngBreadcrumbList {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'breadcrumb-list' as const;\n}\n\n@Directive({\n selector: '[tngBreadcrumbItem]',\n exportAs: 'tngBreadcrumbItem',\n})\nexport class TngBreadcrumbItem {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'breadcrumb-item' as const;\n}\n\n@Directive({\n selector: '[tngBreadcrumbLink]',\n exportAs: 'tngBreadcrumbLink',\n})\nexport class TngBreadcrumbLink {\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'breadcrumb-link' as const;\n}\n\n@Directive({\n selector: '[tngBreadcrumbSeparator]',\n exportAs: 'tngBreadcrumbSeparator',\n})\nexport class TngBreadcrumbSeparator {\n @HostBinding('attr.aria-hidden')\n protected readonly ariaHiddenAttr = 'true' as const;\n\n @HostBinding('attr.data-slot')\n protected readonly dataSlot = 'breadcrumb-separator' as const;\n}\n"]}
@@ -0,0 +1,36 @@
1
+ type TngContextMenuAnchorType = 'pointer' | 'element' | null;
2
+ export type TngContextMenuPointerAnchor = Readonly<{
3
+ x: number;
4
+ y: number;
5
+ }>;
6
+ export declare class TngContextMenu {
7
+ private readonly menu;
8
+ private anchorType;
9
+ private pointerAnchor;
10
+ isDisabled(): boolean;
11
+ openFromPointer(target: HTMLElement, pointerAnchor: TngContextMenuPointerAnchor, triggerStateSync?: () => void): void;
12
+ openFromKeyboard(target: HTMLElement, triggerStateSync?: () => void): void;
13
+ isOpen(): boolean;
14
+ close(restoreFocus: boolean): void;
15
+ detachFromTarget(target: HTMLElement): void;
16
+ getMenuId(): string | null;
17
+ getAnchorType(): TngContextMenuAnchorType;
18
+ getPointerAnchor(): TngContextMenuPointerAnchor | null;
19
+ }
20
+ export declare class TngContextMenuTrigger {
21
+ private readonly hostRef;
22
+ private readonly resolvedId;
23
+ readonly contextMenu: import("@angular/core").InputSignal<TngContextMenu | null>;
24
+ protected readonly dataSlot: "context-menu-trigger";
25
+ protected readonly id: string;
26
+ protected readonly ariaHaspopup: "menu";
27
+ protected get ariaControls(): string | null;
28
+ ngOnInit(): void;
29
+ ngOnDestroy(): void;
30
+ protected onContextMenu(event: MouseEvent): void;
31
+ protected onKeydown(event: KeyboardEvent): void;
32
+ private syncAriaExpanded;
33
+ private isDisabled;
34
+ }
35
+ export {};
36
+ //# sourceMappingURL=tng-context-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tng-context-menu.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/tailng-ui/primitives/src/lib/navigation/context-menu/tng-context-menu.ts"],"names":[],"mappings":"AAYA,KAAK,wBAAwB,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;AAE7D,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC;IACjD,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC,CAAC;AAIH,qBAKa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmD;IACxE,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,aAAa,CAA4C;IAEjE,UAAU,IAAI,OAAO;IAIrB,eAAe,CACb,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,2BAA2B,EAC1C,gBAAgB,CAAC,EAAE,MAAM,IAAI,GAC5B,IAAI;IAiBP,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAiB1E,MAAM,IAAI,OAAO;IAIjB,KAAK,CAAC,YAAY,EAAE,OAAO,GAAG,IAAI;IAIlC,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAI3C,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B,aAAa,IAAI,wBAAwB;IAIzC,gBAAgB,IAAI,2BAA2B,GAAG,IAAI;CAGvD;AAED,qBAKa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+C;IACvE,OAAO,CAAC,QAAQ,CAAC,UAAU,CACqD;IAEhF,QAAQ,CAAC,WAAW,6DAEjB;IAGH,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAG,sBAAsB,CAAU;IAG9D,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAmB;IAGxC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAG,MAAM,CAAU;IAGlD,SAAS,KAAK,YAAY,IAAI,MAAM,GAAG,IAAI,CAE1C;IAED,QAAQ,IAAI,IAAI;IAIhB,WAAW,IAAI,IAAI;IAcnB,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAsBhD,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAgB/C,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,UAAU;CAOnB"}