igniteui-webcomponents 4.7.0 → 4.8.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 (1140) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/animations/player.d.ts +16 -5
  3. package/animations/player.js +29 -21
  4. package/animations/player.js.map +1 -1
  5. package/components/accordion/accordion.js.map +1 -1
  6. package/components/avatar/avatar.js.map +1 -1
  7. package/components/avatar/themes/dark/avatar.bootstrap.css.js +1 -1
  8. package/components/avatar/themes/dark/avatar.bootstrap.css.js.map +1 -1
  9. package/components/avatar/themes/dark/avatar.fluent.css.js +1 -1
  10. package/components/avatar/themes/dark/avatar.fluent.css.js.map +1 -1
  11. package/components/avatar/themes/dark/avatar.indigo.css.js +1 -1
  12. package/components/avatar/themes/dark/avatar.indigo.css.js.map +1 -1
  13. package/components/avatar/themes/dark/avatar.material.css.js +1 -1
  14. package/components/avatar/themes/dark/avatar.material.css.js.map +1 -1
  15. package/components/avatar/themes/light/avatar.bootstrap.css.js +1 -1
  16. package/components/avatar/themes/light/avatar.bootstrap.css.js.map +1 -1
  17. package/components/avatar/themes/light/avatar.fluent.css.js +1 -1
  18. package/components/avatar/themes/light/avatar.fluent.css.js.map +1 -1
  19. package/components/avatar/themes/light/avatar.indigo.css.js +1 -1
  20. package/components/avatar/themes/light/avatar.indigo.css.js.map +1 -1
  21. package/components/avatar/themes/light/avatar.material.css.js +1 -1
  22. package/components/avatar/themes/light/avatar.material.css.js.map +1 -1
  23. package/components/avatar/themes/light/avatar.shared.css.js +3 -0
  24. package/components/avatar/themes/light/avatar.shared.css.js.map +1 -0
  25. package/components/avatar/themes/themes.js +7 -0
  26. package/components/avatar/themes/themes.js.map +1 -1
  27. package/components/badge/badge.js.map +1 -1
  28. package/components/badge/themes/badge.base.css.js +1 -1
  29. package/components/badge/themes/badge.base.css.js.map +1 -1
  30. package/components/badge/themes/dark/badge.bootstrap.css.js +1 -1
  31. package/components/badge/themes/dark/badge.bootstrap.css.js.map +1 -1
  32. package/components/badge/themes/dark/badge.fluent.css.js +1 -1
  33. package/components/badge/themes/dark/badge.fluent.css.js.map +1 -1
  34. package/components/badge/themes/dark/badge.indigo.css.js +1 -1
  35. package/components/badge/themes/dark/badge.indigo.css.js.map +1 -1
  36. package/components/badge/themes/dark/badge.material.css.js +1 -1
  37. package/components/badge/themes/dark/badge.material.css.js.map +1 -1
  38. package/components/badge/themes/light/badge.bootstrap.css.js +1 -1
  39. package/components/badge/themes/light/badge.bootstrap.css.js.map +1 -1
  40. package/components/badge/themes/light/badge.fluent.css.js +1 -1
  41. package/components/badge/themes/light/badge.fluent.css.js.map +1 -1
  42. package/components/badge/themes/light/badge.indigo.css.js +1 -1
  43. package/components/badge/themes/light/badge.indigo.css.js.map +1 -1
  44. package/components/badge/themes/light/badge.material.css.js +1 -1
  45. package/components/badge/themes/light/badge.material.css.js.map +1 -1
  46. package/components/badge/themes/light/badge.shared.css.js +3 -0
  47. package/components/badge/themes/light/badge.shared.css.js.map +1 -0
  48. package/components/badge/themes/themes.js +7 -0
  49. package/components/badge/themes/themes.js.map +1 -1
  50. package/components/button/button-base.d.ts +1 -1
  51. package/components/button/button.js.map +1 -1
  52. package/components/button/icon-button.js.map +1 -1
  53. package/components/button/themes/button/button.base.css.js +1 -1
  54. package/components/button/themes/button/button.base.css.js.map +1 -1
  55. package/components/button/themes/button/dark/button.bootstrap.css.js +1 -1
  56. package/components/button/themes/button/dark/button.bootstrap.css.js.map +1 -1
  57. package/components/button/themes/button/dark/button.fluent.css.js +1 -1
  58. package/components/button/themes/button/dark/button.fluent.css.js.map +1 -1
  59. package/components/button/themes/button/dark/button.indigo.css.js +1 -1
  60. package/components/button/themes/button/dark/button.indigo.css.js.map +1 -1
  61. package/components/button/themes/button/dark/button.material.css.js +1 -1
  62. package/components/button/themes/button/dark/button.material.css.js.map +1 -1
  63. package/components/button/themes/button/light/button.bootstrap.css.js +1 -1
  64. package/components/button/themes/button/light/button.bootstrap.css.js.map +1 -1
  65. package/components/button/themes/button/light/button.fluent.css.js +1 -1
  66. package/components/button/themes/button/light/button.fluent.css.js.map +1 -1
  67. package/components/button/themes/button/light/button.indigo.css.js +1 -1
  68. package/components/button/themes/button/light/button.indigo.css.js.map +1 -1
  69. package/components/button/themes/button/light/button.material.css.js +1 -1
  70. package/components/button/themes/button/light/button.material.css.js.map +1 -1
  71. package/components/button/themes/button/light/button.shared.css.js +3 -0
  72. package/components/button/themes/button/light/button.shared.css.js.map +1 -0
  73. package/components/button/themes/button/shared/button.bootstrap.css.js +1 -1
  74. package/components/button/themes/button/shared/button.bootstrap.css.js.map +1 -1
  75. package/components/button/themes/button/shared/button.common.css.js +1 -1
  76. package/components/button/themes/button/shared/button.common.css.js.map +1 -1
  77. package/components/button/themes/button/shared/button.fluent.css.js +1 -1
  78. package/components/button/themes/button/shared/button.fluent.css.js.map +1 -1
  79. package/components/button/themes/button/shared/button.indigo.css.js +1 -1
  80. package/components/button/themes/button/shared/button.indigo.css.js.map +1 -1
  81. package/components/button/themes/button/shared/button.material.css.js +1 -1
  82. package/components/button/themes/button/shared/button.material.css.js.map +1 -1
  83. package/components/button/themes/button/themes.js +7 -0
  84. package/components/button/themes/button/themes.js.map +1 -1
  85. package/components/button/themes/icon-button/dark/icon-button.bootstrap.css.js +1 -1
  86. package/components/button/themes/icon-button/dark/icon-button.bootstrap.css.js.map +1 -1
  87. package/components/button/themes/icon-button/dark/icon-button.fluent.css.js +1 -1
  88. package/components/button/themes/icon-button/dark/icon-button.fluent.css.js.map +1 -1
  89. package/components/button/themes/icon-button/dark/icon-button.indigo.css.js +1 -1
  90. package/components/button/themes/icon-button/dark/icon-button.indigo.css.js.map +1 -1
  91. package/components/button/themes/icon-button/dark/icon-button.material.css.js +1 -1
  92. package/components/button/themes/icon-button/dark/icon-button.material.css.js.map +1 -1
  93. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js +1 -1
  94. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js.map +1 -1
  95. package/components/button/themes/icon-button/light/icon-button.fluent.css.js +1 -1
  96. package/components/button/themes/icon-button/light/icon-button.fluent.css.js.map +1 -1
  97. package/components/button/themes/icon-button/light/icon-button.indigo.css.js +1 -1
  98. package/components/button/themes/icon-button/light/icon-button.indigo.css.js.map +1 -1
  99. package/components/button/themes/icon-button/light/icon-button.material.css.js +1 -1
  100. package/components/button/themes/icon-button/light/icon-button.material.css.js.map +1 -1
  101. package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.js +1 -1
  102. package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.js.map +1 -1
  103. package/components/button/themes/icon-button/shared/icon-button.common.css.js +1 -1
  104. package/components/button/themes/icon-button/shared/icon-button.common.css.js.map +1 -1
  105. package/components/button/themes/icon-button/shared/icon-button.fluent.css.js +1 -1
  106. package/components/button/themes/icon-button/shared/icon-button.fluent.css.js.map +1 -1
  107. package/components/button/themes/icon-button/shared/icon-button.indigo.css.js +1 -1
  108. package/components/button/themes/icon-button/shared/icon-button.indigo.css.js.map +1 -1
  109. package/components/button/themes/icon-button/shared/icon-button.material.css.js +1 -1
  110. package/components/button/themes/icon-button/shared/icon-button.material.css.js.map +1 -1
  111. package/components/button-group/button-group.d.ts +4 -7
  112. package/components/button-group/button-group.js +35 -52
  113. package/components/button-group/button-group.js.map +1 -1
  114. package/components/button-group/themes/button.base.css.js +1 -1
  115. package/components/button-group/themes/button.base.css.js.map +1 -1
  116. package/components/button-group/themes/dark/button-group.bootstrap.css.js +1 -1
  117. package/components/button-group/themes/dark/button-group.bootstrap.css.js.map +1 -1
  118. package/components/button-group/themes/dark/button-group.fluent.css.js +1 -1
  119. package/components/button-group/themes/dark/button-group.fluent.css.js.map +1 -1
  120. package/components/button-group/themes/dark/button-group.indigo.css.js +1 -1
  121. package/components/button-group/themes/dark/button-group.indigo.css.js.map +1 -1
  122. package/components/button-group/themes/dark/button-group.material.css.js +1 -1
  123. package/components/button-group/themes/dark/button-group.material.css.js.map +1 -1
  124. package/components/button-group/themes/dark/button-group.shared.css.js +3 -0
  125. package/components/button-group/themes/dark/button-group.shared.css.js.map +1 -0
  126. package/components/button-group/themes/group.js +8 -0
  127. package/components/button-group/themes/group.js.map +1 -1
  128. package/components/button-group/themes/light/button-group.bootstrap.css.js +1 -1
  129. package/components/button-group/themes/light/button-group.bootstrap.css.js.map +1 -1
  130. package/components/button-group/themes/light/button-group.fluent.css.js +1 -1
  131. package/components/button-group/themes/light/button-group.fluent.css.js.map +1 -1
  132. package/components/button-group/themes/light/button-group.indigo.css.js +1 -1
  133. package/components/button-group/themes/light/button-group.indigo.css.js.map +1 -1
  134. package/components/button-group/themes/light/button-group.material.css.js +1 -1
  135. package/components/button-group/themes/light/button-group.material.css.js.map +1 -1
  136. package/components/button-group/themes/light/button-group.shared.css.js +3 -0
  137. package/components/button-group/themes/light/button-group.shared.css.js.map +1 -0
  138. package/components/button-group/themes/shared/button/button.bootstrap.css.js +1 -1
  139. package/components/button-group/themes/shared/button/button.bootstrap.css.js.map +1 -1
  140. package/components/button-group/themes/shared/button/button.common.css.js +1 -1
  141. package/components/button-group/themes/shared/button/button.common.css.js.map +1 -1
  142. package/components/button-group/themes/shared/button/button.fluent.css.js +1 -1
  143. package/components/button-group/themes/shared/button/button.fluent.css.js.map +1 -1
  144. package/components/button-group/toggle-button.js.map +1 -1
  145. package/components/calendar/calendar.d.ts +1 -1
  146. package/components/calendar/calendar.js.map +1 -1
  147. package/components/calendar/days-view/days-view.d.ts +1 -1
  148. package/components/calendar/days-view/days-view.js.map +1 -1
  149. package/components/calendar/months-view/months-view.d.ts +1 -1
  150. package/components/calendar/months-view/months-view.js.map +1 -1
  151. package/components/calendar/themes/calendar.js +7 -0
  152. package/components/calendar/themes/calendar.js.map +1 -1
  153. package/components/calendar/themes/dark/calendar.bootstrap.css.js +1 -1
  154. package/components/calendar/themes/dark/calendar.bootstrap.css.js.map +1 -1
  155. package/components/calendar/themes/dark/calendar.fluent.css.js +1 -1
  156. package/components/calendar/themes/dark/calendar.fluent.css.js.map +1 -1
  157. package/components/calendar/themes/dark/calendar.indigo.css.js +1 -1
  158. package/components/calendar/themes/dark/calendar.indigo.css.js.map +1 -1
  159. package/components/calendar/themes/dark/calendar.material.css.js +1 -1
  160. package/components/calendar/themes/dark/calendar.material.css.js.map +1 -1
  161. package/components/calendar/themes/days.js +7 -0
  162. package/components/calendar/themes/days.js.map +1 -1
  163. package/components/calendar/themes/light/calendar.bootstrap.css.js +1 -1
  164. package/components/calendar/themes/light/calendar.bootstrap.css.js.map +1 -1
  165. package/components/calendar/themes/light/calendar.fluent.css.js +1 -1
  166. package/components/calendar/themes/light/calendar.fluent.css.js.map +1 -1
  167. package/components/calendar/themes/light/calendar.indigo.css.js +1 -1
  168. package/components/calendar/themes/light/calendar.indigo.css.js.map +1 -1
  169. package/components/calendar/themes/light/calendar.material.css.js +1 -1
  170. package/components/calendar/themes/light/calendar.material.css.js.map +1 -1
  171. package/components/calendar/themes/light/calendar.shared.css.js +3 -0
  172. package/components/calendar/themes/light/calendar.shared.css.js.map +1 -0
  173. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js +1 -1
  174. package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js.map +1 -1
  175. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js +1 -1
  176. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js.map +1 -1
  177. package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js +1 -1
  178. package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js.map +1 -1
  179. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js +1 -1
  180. package/components/calendar/themes/shared/fluent/calendar.fluent.css.js.map +1 -1
  181. package/components/calendar/themes/shared/fluent/days-view.fluent.css.js +1 -1
  182. package/components/calendar/themes/shared/fluent/days-view.fluent.css.js.map +1 -1
  183. package/components/calendar/themes/shared/fluent/year-month-view.fluent.css.js +1 -1
  184. package/components/calendar/themes/shared/fluent/year-month-view.fluent.css.js.map +1 -1
  185. package/components/calendar/themes/shared/material/calendar.common.css.js +1 -1
  186. package/components/calendar/themes/shared/material/calendar.common.css.js.map +1 -1
  187. package/components/calendar/themes/shared/material/days-view.material.css.js +1 -1
  188. package/components/calendar/themes/shared/material/days-view.material.css.js.map +1 -1
  189. package/components/calendar/themes/shared/material/year-month-view.material.css.js +1 -1
  190. package/components/calendar/themes/shared/material/year-month-view.material.css.js.map +1 -1
  191. package/components/calendar/themes/year-month.js +7 -0
  192. package/components/calendar/themes/year-month.js.map +1 -1
  193. package/components/calendar/years-view/years-view.d.ts +1 -1
  194. package/components/calendar/years-view/years-view.js.map +1 -1
  195. package/components/card/card.actions.js.map +1 -1
  196. package/components/card/card.content.js.map +1 -1
  197. package/components/card/card.header.js.map +1 -1
  198. package/components/card/card.js.map +1 -1
  199. package/components/card/card.media.js.map +1 -1
  200. package/components/card/themes/container.js +7 -0
  201. package/components/card/themes/container.js.map +1 -1
  202. package/components/card/themes/dark/card.bootstrap.css.js +1 -1
  203. package/components/card/themes/dark/card.bootstrap.css.js.map +1 -1
  204. package/components/card/themes/dark/card.fluent.css.js +1 -1
  205. package/components/card/themes/dark/card.fluent.css.js.map +1 -1
  206. package/components/card/themes/dark/card.indigo.css.js +1 -1
  207. package/components/card/themes/dark/card.indigo.css.js.map +1 -1
  208. package/components/card/themes/dark/card.material.css.js +1 -1
  209. package/components/card/themes/dark/card.material.css.js.map +1 -1
  210. package/components/card/themes/light/container/card.bootstrap.css.js +1 -1
  211. package/components/card/themes/light/container/card.bootstrap.css.js.map +1 -1
  212. package/components/card/themes/light/container/card.fluent.css.js +1 -1
  213. package/components/card/themes/light/container/card.fluent.css.js.map +1 -1
  214. package/components/card/themes/light/container/card.indigo.css.js +1 -1
  215. package/components/card/themes/light/container/card.indigo.css.js.map +1 -1
  216. package/components/card/themes/light/container/card.material.css.js +1 -1
  217. package/components/card/themes/light/container/card.material.css.js.map +1 -1
  218. package/components/card/themes/light/container/card.shared.css.js +3 -0
  219. package/components/card/themes/light/container/card.shared.css.js.map +1 -0
  220. package/components/card/themes/light/content/card.content.bootstrap.css.js +1 -1
  221. package/components/card/themes/light/content/card.content.bootstrap.css.js.map +1 -1
  222. package/components/card/themes/light/content/card.content.fluent.css.js +1 -1
  223. package/components/card/themes/light/content/card.content.fluent.css.js.map +1 -1
  224. package/components/card/themes/light/content/card.content.indigo.css.js +1 -1
  225. package/components/card/themes/light/content/card.content.indigo.css.js.map +1 -1
  226. package/components/card/themes/light/content/card.content.material.css.js +1 -1
  227. package/components/card/themes/light/content/card.content.material.css.js.map +1 -1
  228. package/components/card/themes/light/header/card.header.bootstrap.css.js +1 -1
  229. package/components/card/themes/light/header/card.header.bootstrap.css.js.map +1 -1
  230. package/components/card/themes/light/header/card.header.fluent.css.js +1 -1
  231. package/components/card/themes/light/header/card.header.fluent.css.js.map +1 -1
  232. package/components/card/themes/light/header/card.header.indigo.css.js +1 -1
  233. package/components/card/themes/light/header/card.header.indigo.css.js.map +1 -1
  234. package/components/card/themes/light/header/card.header.material.css.js +1 -1
  235. package/components/card/themes/light/header/card.header.material.css.js.map +1 -1
  236. package/components/checkbox/checkbox-base.d.ts +1 -1
  237. package/components/checkbox/checkbox.d.ts +1 -1
  238. package/components/checkbox/checkbox.js +2 -1
  239. package/components/checkbox/checkbox.js.map +1 -1
  240. package/components/checkbox/switch.d.ts +1 -1
  241. package/components/checkbox/switch.js +2 -1
  242. package/components/checkbox/switch.js.map +1 -1
  243. package/components/checkbox/themes/checkbox-themes.js +7 -0
  244. package/components/checkbox/themes/checkbox-themes.js.map +1 -1
  245. package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js +1 -1
  246. package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js.map +1 -1
  247. package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js +1 -1
  248. package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js.map +1 -1
  249. package/components/checkbox/themes/dark/checkbox/checkbox.indigo.css.js +1 -1
  250. package/components/checkbox/themes/dark/checkbox/checkbox.indigo.css.js.map +1 -1
  251. package/components/checkbox/themes/dark/checkbox/checkbox.material.css.js +1 -1
  252. package/components/checkbox/themes/dark/checkbox/checkbox.material.css.js.map +1 -1
  253. package/components/checkbox/themes/dark/switch/switch.bootstrap.css.js +1 -1
  254. package/components/checkbox/themes/dark/switch/switch.bootstrap.css.js.map +1 -1
  255. package/components/checkbox/themes/dark/switch/switch.fluent.css.js +1 -1
  256. package/components/checkbox/themes/dark/switch/switch.fluent.css.js.map +1 -1
  257. package/components/checkbox/themes/dark/switch/switch.indigo.css.js +1 -1
  258. package/components/checkbox/themes/dark/switch/switch.indigo.css.js.map +1 -1
  259. package/components/checkbox/themes/dark/switch/switch.material.css.js +1 -1
  260. package/components/checkbox/themes/dark/switch/switch.material.css.js.map +1 -1
  261. package/components/checkbox/themes/dark/switch/switch.shared.css.js +3 -0
  262. package/components/checkbox/themes/dark/switch/switch.shared.css.js.map +1 -0
  263. package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.js +1 -1
  264. package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.js.map +1 -1
  265. package/components/checkbox/themes/light/checkbox/checkbox.fluent.css.js +1 -1
  266. package/components/checkbox/themes/light/checkbox/checkbox.fluent.css.js.map +1 -1
  267. package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.js +1 -1
  268. package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.js.map +1 -1
  269. package/components/checkbox/themes/light/checkbox/checkbox.material.css.js +1 -1
  270. package/components/checkbox/themes/light/checkbox/checkbox.material.css.js.map +1 -1
  271. package/components/checkbox/themes/light/checkbox/checkbox.shared.css.js +3 -0
  272. package/components/checkbox/themes/light/checkbox/checkbox.shared.css.js.map +1 -0
  273. package/components/checkbox/themes/light/switch/switch.bootstrap.css.js +1 -1
  274. package/components/checkbox/themes/light/switch/switch.bootstrap.css.js.map +1 -1
  275. package/components/checkbox/themes/light/switch/switch.fluent.css.js +1 -1
  276. package/components/checkbox/themes/light/switch/switch.fluent.css.js.map +1 -1
  277. package/components/checkbox/themes/light/switch/switch.indigo.css.js +1 -1
  278. package/components/checkbox/themes/light/switch/switch.indigo.css.js.map +1 -1
  279. package/components/checkbox/themes/light/switch/switch.material.css.js +1 -1
  280. package/components/checkbox/themes/light/switch/switch.material.css.js.map +1 -1
  281. package/components/checkbox/themes/light/switch/switch.shared.css.js +3 -0
  282. package/components/checkbox/themes/light/switch/switch.shared.css.js.map +1 -0
  283. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
  284. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
  285. package/components/checkbox/themes/shared/checkbox/checkbox.common.css.js +3 -0
  286. package/components/checkbox/themes/shared/checkbox/checkbox.common.css.js.map +1 -0
  287. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js +1 -1
  288. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js.map +1 -1
  289. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js +1 -1
  290. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js.map +1 -1
  291. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js +1 -1
  292. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js.map +1 -1
  293. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js +1 -1
  294. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js.map +1 -1
  295. package/components/checkbox/themes/shared/switch/switch.common.css.d.ts +1 -0
  296. package/components/checkbox/themes/shared/switch/switch.common.css.js +3 -0
  297. package/components/checkbox/themes/shared/switch/switch.common.css.js.map +1 -0
  298. package/components/checkbox/themes/shared/switch/switch.fluent.css.js +1 -1
  299. package/components/checkbox/themes/shared/switch/switch.fluent.css.js.map +1 -1
  300. package/components/checkbox/themes/shared/switch/switch.indigo.css.js +1 -1
  301. package/components/checkbox/themes/shared/switch/switch.indigo.css.js.map +1 -1
  302. package/components/checkbox/themes/shared/switch/switch.material.css.js +1 -1
  303. package/components/checkbox/themes/shared/switch/switch.material.css.js.map +1 -1
  304. package/components/checkbox/themes/switch-themes.js +8 -0
  305. package/components/checkbox/themes/switch-themes.js.map +1 -1
  306. package/components/chip/chip.d.ts +1 -1
  307. package/components/chip/chip.js.map +1 -1
  308. package/components/chip/themes/chip.base.css.js +1 -1
  309. package/components/chip/themes/chip.base.css.js.map +1 -1
  310. package/components/chip/themes/dark/chip.bootstrap.css.js +1 -1
  311. package/components/chip/themes/dark/chip.bootstrap.css.js.map +1 -1
  312. package/components/chip/themes/dark/chip.fluent.css.js +1 -1
  313. package/components/chip/themes/dark/chip.fluent.css.js.map +1 -1
  314. package/components/chip/themes/dark/chip.indigo.css.js +1 -1
  315. package/components/chip/themes/dark/chip.indigo.css.js.map +1 -1
  316. package/components/chip/themes/dark/chip.material.css.js +1 -1
  317. package/components/chip/themes/dark/chip.material.css.js.map +1 -1
  318. package/components/chip/themes/light/chip.bootstrap.css.js +1 -1
  319. package/components/chip/themes/light/chip.bootstrap.css.js.map +1 -1
  320. package/components/chip/themes/light/chip.fluent.css.js +1 -1
  321. package/components/chip/themes/light/chip.fluent.css.js.map +1 -1
  322. package/components/chip/themes/light/chip.indigo.css.js +1 -1
  323. package/components/chip/themes/light/chip.indigo.css.js.map +1 -1
  324. package/components/chip/themes/light/chip.material.css.js +1 -1
  325. package/components/chip/themes/light/chip.material.css.js.map +1 -1
  326. package/components/chip/themes/light/chip.shared.css.d.ts +1 -0
  327. package/components/chip/themes/light/chip.shared.css.js +3 -0
  328. package/components/chip/themes/light/chip.shared.css.js.map +1 -0
  329. package/components/chip/themes/shared/chip.bootstrap.css.js +1 -1
  330. package/components/chip/themes/shared/chip.bootstrap.css.js.map +1 -1
  331. package/components/chip/themes/shared/chip.indigo.css.js +1 -1
  332. package/components/chip/themes/shared/chip.indigo.css.js.map +1 -1
  333. package/components/chip/themes/themes.js +7 -0
  334. package/components/chip/themes/themes.js.map +1 -1
  335. package/components/combo/combo-header.d.ts +1 -1
  336. package/components/combo/combo-header.js +2 -1
  337. package/components/combo/combo-header.js.map +1 -1
  338. package/components/combo/combo-item.d.ts +1 -1
  339. package/components/combo/combo-item.js +2 -1
  340. package/components/combo/combo-item.js.map +1 -1
  341. package/components/combo/combo-list.js.map +1 -1
  342. package/components/combo/combo.d.ts +3 -3
  343. package/components/combo/combo.js +3 -2
  344. package/components/combo/combo.js.map +1 -1
  345. package/components/combo/controllers/data.d.ts +2 -0
  346. package/components/combo/controllers/data.js +4 -0
  347. package/components/combo/controllers/data.js.map +1 -1
  348. package/components/combo/operations/group.d.ts +1 -4
  349. package/components/combo/operations/group.js +6 -17
  350. package/components/combo/operations/group.js.map +1 -1
  351. package/components/combo/themes/dark/combo.bootstrap.css.js +1 -1
  352. package/components/combo/themes/dark/combo.bootstrap.css.js.map +1 -1
  353. package/components/combo/themes/dark/combo.fluent.css.js +1 -1
  354. package/components/combo/themes/dark/combo.fluent.css.js.map +1 -1
  355. package/components/combo/themes/dark/combo.indigo.css.js +1 -1
  356. package/components/combo/themes/dark/combo.indigo.css.js.map +1 -1
  357. package/components/combo/themes/dark/combo.material.css.js +1 -1
  358. package/components/combo/themes/dark/combo.material.css.js.map +1 -1
  359. package/components/combo/themes/light/combo.bootstrap.css.js +1 -1
  360. package/components/combo/themes/light/combo.bootstrap.css.js.map +1 -1
  361. package/components/combo/themes/light/combo.fluent.css.js +1 -1
  362. package/components/combo/themes/light/combo.fluent.css.js.map +1 -1
  363. package/components/combo/themes/light/combo.indigo.css.js +1 -1
  364. package/components/combo/themes/light/combo.indigo.css.js.map +1 -1
  365. package/components/combo/themes/light/combo.material.css.js +1 -1
  366. package/components/combo/themes/light/combo.material.css.js.map +1 -1
  367. package/components/combo/themes/light/combo.shared.css.d.ts +1 -0
  368. package/components/combo/themes/light/combo.shared.css.js +3 -0
  369. package/components/combo/themes/light/combo.shared.css.js.map +1 -0
  370. package/components/combo/themes/shared/combo.bootstrap.css.js +1 -1
  371. package/components/combo/themes/shared/combo.bootstrap.css.js.map +1 -1
  372. package/components/combo/themes/shared/combo.common.css.d.ts +1 -0
  373. package/components/combo/themes/shared/combo.common.css.js +3 -0
  374. package/components/combo/themes/shared/combo.common.css.js.map +1 -0
  375. package/components/combo/themes/shared/combo.fluent.css.js +1 -1
  376. package/components/combo/themes/shared/combo.fluent.css.js.map +1 -1
  377. package/components/combo/themes/shared/combo.indigo.css.js +1 -1
  378. package/components/combo/themes/shared/combo.indigo.css.js.map +1 -1
  379. package/components/combo/themes/shared/combo.material.css.js +1 -1
  380. package/components/combo/themes/shared/combo.material.css.js.map +1 -1
  381. package/components/combo/themes/themes.js +7 -0
  382. package/components/combo/themes/themes.js.map +1 -1
  383. package/components/combo/types.d.ts +1 -1
  384. package/components/combo/types.js.map +1 -1
  385. package/components/common/controllers/key-bindings.js +1 -3
  386. package/components/common/controllers/key-bindings.js.map +1 -1
  387. package/components/common/controllers/mutation-observer.d.ts +69 -0
  388. package/components/common/controllers/mutation-observer.js +58 -0
  389. package/components/common/controllers/mutation-observer.js.map +1 -0
  390. package/components/common/localization/validation-en.d.ts +2 -0
  391. package/components/common/localization/validation-en.js +2 -0
  392. package/components/common/localization/validation-en.js.map +1 -1
  393. package/components/common/mixins/alert.d.ts +2 -2
  394. package/components/common/mixins/alert.js +1 -1
  395. package/components/common/mixins/alert.js.map +1 -1
  396. package/components/common/mixins/combo-box.d.ts +1 -1
  397. package/components/common/mixins/combo-box.js.map +1 -1
  398. package/components/common/mixins/event-emitter.d.ts +2 -2
  399. package/components/common/mixins/event-emitter.js.map +1 -1
  400. package/components/common/mixins/sizable.d.ts +1 -1
  401. package/components/common/mixins/sizable.js.map +1 -1
  402. package/components/common/util.d.ts +1 -1
  403. package/components/common/util.js +9 -13
  404. package/components/common/util.js.map +1 -1
  405. package/components/common/validators.d.ts +6 -0
  406. package/components/common/validators.js +11 -0
  407. package/components/common/validators.js.map +1 -1
  408. package/components/date-time-input/date-time-input.d.ts +6 -7
  409. package/components/date-time-input/date-time-input.js +8 -5
  410. package/components/date-time-input/date-time-input.js.map +1 -1
  411. package/components/dialog/dialog.d.ts +3 -2
  412. package/components/dialog/dialog.js +9 -6
  413. package/components/dialog/dialog.js.map +1 -1
  414. package/components/dialog/themes/dark/dialog.bootstrap.css.js +1 -1
  415. package/components/dialog/themes/dark/dialog.bootstrap.css.js.map +1 -1
  416. package/components/dialog/themes/dark/dialog.indigo.css.js +1 -1
  417. package/components/dialog/themes/dark/dialog.indigo.css.js.map +1 -1
  418. package/components/dialog/themes/dark/dialog.material.css.js +1 -1
  419. package/components/dialog/themes/dark/dialog.material.css.js.map +1 -1
  420. package/components/dialog/themes/dark/dialog.shared.css.d.ts +1 -0
  421. package/components/dialog/themes/dark/dialog.shared.css.js +3 -0
  422. package/components/dialog/themes/dark/dialog.shared.css.js.map +1 -0
  423. package/components/dialog/themes/light/dialog.bootstrap.css.js +1 -1
  424. package/components/dialog/themes/light/dialog.bootstrap.css.js.map +1 -1
  425. package/components/dialog/themes/light/dialog.fluent.css.js +1 -1
  426. package/components/dialog/themes/light/dialog.fluent.css.js.map +1 -1
  427. package/components/dialog/themes/light/dialog.indigo.css.js +1 -1
  428. package/components/dialog/themes/light/dialog.indigo.css.js.map +1 -1
  429. package/components/dialog/themes/light/dialog.material.css.js +1 -1
  430. package/components/dialog/themes/light/dialog.material.css.js.map +1 -1
  431. package/components/dialog/themes/light/dialog.shared.css.d.ts +1 -0
  432. package/components/dialog/themes/light/dialog.shared.css.js +3 -0
  433. package/components/dialog/themes/light/dialog.shared.css.js.map +1 -0
  434. package/components/dialog/themes/themes.js +8 -0
  435. package/components/dialog/themes/themes.js.map +1 -1
  436. package/components/dropdown/dropdown-group.d.ts +1 -1
  437. package/components/dropdown/dropdown-group.js +2 -1
  438. package/components/dropdown/dropdown-group.js.map +1 -1
  439. package/components/dropdown/dropdown-header.d.ts +1 -1
  440. package/components/dropdown/dropdown-header.js +2 -1
  441. package/components/dropdown/dropdown-header.js.map +1 -1
  442. package/components/dropdown/dropdown-item.d.ts +1 -1
  443. package/components/dropdown/dropdown-item.js +2 -1
  444. package/components/dropdown/dropdown-item.js.map +1 -1
  445. package/components/dropdown/dropdown.d.ts +3 -3
  446. package/components/dropdown/dropdown.js +3 -2
  447. package/components/dropdown/dropdown.js.map +1 -1
  448. package/components/dropdown/themes/container.js +8 -0
  449. package/components/dropdown/themes/container.js.map +1 -1
  450. package/components/dropdown/themes/dark/dropdown.bootstrap.css.js +1 -1
  451. package/components/dropdown/themes/dark/dropdown.bootstrap.css.js.map +1 -1
  452. package/components/dropdown/themes/dark/dropdown.fluent.css.js +1 -1
  453. package/components/dropdown/themes/dark/dropdown.fluent.css.js.map +1 -1
  454. package/components/dropdown/themes/dark/dropdown.indigo.css.js +1 -1
  455. package/components/dropdown/themes/dark/dropdown.indigo.css.js.map +1 -1
  456. package/components/dropdown/themes/dark/dropdown.material.css.js +1 -1
  457. package/components/dropdown/themes/dark/dropdown.material.css.js.map +1 -1
  458. package/components/dropdown/themes/dark/dropdown.shared.css.d.ts +1 -0
  459. package/components/dropdown/themes/dark/dropdown.shared.css.js +3 -0
  460. package/components/dropdown/themes/dark/dropdown.shared.css.js.map +1 -0
  461. package/components/dropdown/themes/group.js +0 -21
  462. package/components/dropdown/themes/group.js.map +1 -1
  463. package/components/dropdown/themes/header.js +0 -21
  464. package/components/dropdown/themes/header.js.map +1 -1
  465. package/components/dropdown/themes/item.js +0 -21
  466. package/components/dropdown/themes/item.js.map +1 -1
  467. package/components/dropdown/themes/light/dropdown.bootstrap.css.js +1 -1
  468. package/components/dropdown/themes/light/dropdown.bootstrap.css.js.map +1 -1
  469. package/components/dropdown/themes/light/dropdown.fluent.css.js +1 -1
  470. package/components/dropdown/themes/light/dropdown.fluent.css.js.map +1 -1
  471. package/components/dropdown/themes/light/dropdown.indigo.css.js +1 -1
  472. package/components/dropdown/themes/light/dropdown.indigo.css.js.map +1 -1
  473. package/components/dropdown/themes/light/dropdown.material.css.js +1 -1
  474. package/components/dropdown/themes/light/dropdown.material.css.js.map +1 -1
  475. package/components/dropdown/themes/light/dropdown.shared.css.d.ts +1 -0
  476. package/components/dropdown/themes/light/dropdown.shared.css.js +3 -0
  477. package/components/dropdown/themes/light/dropdown.shared.css.js.map +1 -0
  478. package/components/dropdown/themes/shared/dropdown.bootstrap.css.js +1 -1
  479. package/components/dropdown/themes/shared/dropdown.bootstrap.css.js.map +1 -1
  480. package/components/dropdown/themes/shared/dropdown.common.css.d.ts +1 -0
  481. package/components/dropdown/themes/shared/dropdown.common.css.js +3 -0
  482. package/components/dropdown/themes/shared/dropdown.common.css.js.map +1 -0
  483. package/components/dropdown/themes/shared/dropdown.fluent.css.js +1 -1
  484. package/components/dropdown/themes/shared/dropdown.fluent.css.js.map +1 -1
  485. package/components/dropdown/themes/shared/dropdown.indigo.css.js +1 -1
  486. package/components/dropdown/themes/shared/dropdown.indigo.css.js.map +1 -1
  487. package/components/dropdown/themes/shared/dropdown.material.css.js +1 -1
  488. package/components/dropdown/themes/shared/dropdown.material.css.js.map +1 -1
  489. package/components/dropdown/themes/shared/group/dropdown-group.common.css.d.ts +1 -0
  490. package/components/dropdown/themes/shared/group/{dropdown-group.indigo.css.js → dropdown-group.common.css.js} +1 -1
  491. package/components/dropdown/themes/shared/group/{dropdown-group.indigo.css.js.map → dropdown-group.common.css.js.map} +1 -1
  492. package/components/dropdown/themes/shared/group/dropdown-group.fluent.css.js +1 -1
  493. package/components/dropdown/themes/shared/group/dropdown-group.fluent.css.js.map +1 -1
  494. package/components/dropdown/themes/shared/header/dropdown-header.common.css.d.ts +1 -0
  495. package/components/dropdown/themes/shared/header/{dropdown-header.indigo.css.js → dropdown-header.common.css.js} +1 -1
  496. package/components/dropdown/themes/shared/header/{dropdown-header.indigo.css.js.map → dropdown-header.common.css.js.map} +1 -1
  497. package/components/dropdown/themes/shared/header/dropdown-header.fluent.css.js +1 -1
  498. package/components/dropdown/themes/shared/header/dropdown-header.fluent.css.js.map +1 -1
  499. package/components/dropdown/themes/shared/item/dropdown-item.common.css.d.ts +1 -0
  500. package/components/dropdown/themes/shared/item/{dropdown-item.indigo.css.js → dropdown-item.common.css.js} +1 -1
  501. package/components/dropdown/themes/shared/item/{dropdown-item.indigo.css.js.map → dropdown-item.common.css.js.map} +1 -1
  502. package/components/dropdown/themes/shared/item/dropdown-item.fluent.css.js +1 -1
  503. package/components/dropdown/themes/shared/item/dropdown-item.fluent.css.js.map +1 -1
  504. package/components/expansion-panel/expansion-panel.d.ts +3 -4
  505. package/components/expansion-panel/expansion-panel.js +6 -9
  506. package/components/expansion-panel/expansion-panel.js.map +1 -1
  507. package/components/expansion-panel/themes/dark/expansion-panel.bootstrap.css.js +1 -1
  508. package/components/expansion-panel/themes/dark/expansion-panel.bootstrap.css.js.map +1 -1
  509. package/components/expansion-panel/themes/dark/expansion-panel.fluent.css.js +1 -1
  510. package/components/expansion-panel/themes/dark/expansion-panel.fluent.css.js.map +1 -1
  511. package/components/expansion-panel/themes/dark/expansion-panel.material.css.js +1 -1
  512. package/components/expansion-panel/themes/dark/expansion-panel.material.css.js.map +1 -1
  513. package/components/expansion-panel/themes/dark/expansion-panel.shared.css.d.ts +1 -0
  514. package/components/expansion-panel/themes/dark/expansion-panel.shared.css.js +3 -0
  515. package/components/expansion-panel/themes/dark/expansion-panel.shared.css.js.map +1 -0
  516. package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js +1 -1
  517. package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js.map +1 -1
  518. package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js +1 -1
  519. package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js.map +1 -1
  520. package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js +1 -1
  521. package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js.map +1 -1
  522. package/components/expansion-panel/themes/light/expansion-panel.material.css.js +1 -1
  523. package/components/expansion-panel/themes/light/expansion-panel.material.css.js.map +1 -1
  524. package/components/expansion-panel/themes/light/expansion-panel.shared.css.d.ts +1 -0
  525. package/components/expansion-panel/themes/light/expansion-panel.shared.css.js +3 -0
  526. package/components/expansion-panel/themes/light/expansion-panel.shared.css.js.map +1 -0
  527. package/components/expansion-panel/themes/themes.js +8 -0
  528. package/components/expansion-panel/themes/themes.js.map +1 -1
  529. package/components/form/form.d.ts +2 -3
  530. package/components/form/form.js.map +1 -1
  531. package/components/icon/icon.js.map +1 -1
  532. package/components/icon/themes/dark/icon.bootstrap.css.js +1 -1
  533. package/components/icon/themes/dark/icon.bootstrap.css.js.map +1 -1
  534. package/components/icon/themes/dark/icon.fluent.css.js +1 -1
  535. package/components/icon/themes/dark/icon.fluent.css.js.map +1 -1
  536. package/components/icon/themes/dark/icon.indigo.css.js +1 -1
  537. package/components/icon/themes/dark/icon.indigo.css.js.map +1 -1
  538. package/components/icon/themes/dark/icon.material.css.js +1 -1
  539. package/components/icon/themes/dark/icon.material.css.js.map +1 -1
  540. package/components/icon/themes/light/icon.bootstrap.css.js +1 -1
  541. package/components/icon/themes/light/icon.bootstrap.css.js.map +1 -1
  542. package/components/icon/themes/light/icon.fluent.css.js +1 -1
  543. package/components/icon/themes/light/icon.fluent.css.js.map +1 -1
  544. package/components/icon/themes/light/icon.indigo.css.js +1 -1
  545. package/components/icon/themes/light/icon.indigo.css.js.map +1 -1
  546. package/components/icon/themes/light/icon.material.css.js +1 -1
  547. package/components/icon/themes/light/icon.material.css.js.map +1 -1
  548. package/components/icon/themes/light/icon.shared.css.d.ts +1 -0
  549. package/components/icon/themes/light/icon.shared.css.js +3 -0
  550. package/components/icon/themes/light/icon.shared.css.js.map +1 -0
  551. package/components/icon/themes/themes.js +7 -0
  552. package/components/icon/themes/themes.js.map +1 -1
  553. package/components/input/input-base.d.ts +4 -5
  554. package/components/input/input-base.js +5 -4
  555. package/components/input/input-base.js.map +1 -1
  556. package/components/input/input.d.ts +9 -8
  557. package/components/input/input.js +35 -14
  558. package/components/input/input.js.map +1 -1
  559. package/components/input/themes/dark/input.bootstrap.css.js +1 -1
  560. package/components/input/themes/dark/input.bootstrap.css.js.map +1 -1
  561. package/components/input/themes/dark/input.fluent.css.js +1 -1
  562. package/components/input/themes/dark/input.fluent.css.js.map +1 -1
  563. package/components/input/themes/dark/input.indigo.css.js +1 -1
  564. package/components/input/themes/dark/input.indigo.css.js.map +1 -1
  565. package/components/input/themes/dark/input.material.css.js +1 -1
  566. package/components/input/themes/dark/input.material.css.js.map +1 -1
  567. package/components/input/themes/light/input.bootstrap.css.js +1 -1
  568. package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
  569. package/components/input/themes/light/input.fluent.css.js +1 -1
  570. package/components/input/themes/light/input.fluent.css.js.map +1 -1
  571. package/components/input/themes/light/input.indigo.css.js +1 -1
  572. package/components/input/themes/light/input.indigo.css.js.map +1 -1
  573. package/components/input/themes/light/input.material.css.js +1 -1
  574. package/components/input/themes/light/input.material.css.js.map +1 -1
  575. package/components/input/themes/light/input.shared.css.d.ts +1 -0
  576. package/components/input/themes/light/input.shared.css.js +3 -0
  577. package/components/input/themes/light/input.shared.css.js.map +1 -0
  578. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  579. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  580. package/components/input/themes/shared/input.common.css.d.ts +1 -0
  581. package/components/input/themes/shared/input.common.css.js +3 -0
  582. package/components/input/themes/shared/input.common.css.js.map +1 -0
  583. package/components/input/themes/shared/input.fluent.css.js +1 -1
  584. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  585. package/components/input/themes/shared/input.indigo.css.js +1 -1
  586. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  587. package/components/input/themes/shared/input.material.css.js +1 -1
  588. package/components/input/themes/shared/input.material.css.js.map +1 -1
  589. package/components/input/themes/themes.js +7 -0
  590. package/components/input/themes/themes.js.map +1 -1
  591. package/components/list/list-header.js.map +1 -1
  592. package/components/list/list-item.js.map +1 -1
  593. package/components/list/list.js.map +1 -1
  594. package/components/list/themes/container.js +8 -0
  595. package/components/list/themes/container.js.map +1 -1
  596. package/components/list/themes/dark/container/list.bootstrap.css.js +1 -1
  597. package/components/list/themes/dark/container/list.bootstrap.css.js.map +1 -1
  598. package/components/list/themes/dark/container/list.fluent.css.js +1 -1
  599. package/components/list/themes/dark/container/list.fluent.css.js.map +1 -1
  600. package/components/list/themes/dark/container/list.indigo.css.js +1 -1
  601. package/components/list/themes/dark/container/list.indigo.css.js.map +1 -1
  602. package/components/list/themes/dark/container/list.material.css.js +1 -1
  603. package/components/list/themes/dark/container/list.material.css.js.map +1 -1
  604. package/components/list/themes/dark/container/list.shared.css.d.ts +1 -0
  605. package/components/list/themes/dark/container/list.shared.css.js +3 -0
  606. package/components/list/themes/dark/container/list.shared.css.js.map +1 -0
  607. package/components/list/themes/dark/header/list-header.bootstrap.css.js +1 -1
  608. package/components/list/themes/dark/header/list-header.bootstrap.css.js.map +1 -1
  609. package/components/list/themes/dark/header/list-header.fluent.css.js +1 -1
  610. package/components/list/themes/dark/header/list-header.fluent.css.js.map +1 -1
  611. package/components/list/themes/dark/header/list-header.indigo.css.js +1 -1
  612. package/components/list/themes/dark/header/list-header.indigo.css.js.map +1 -1
  613. package/components/list/themes/dark/header/list-header.material.css.js +1 -1
  614. package/components/list/themes/dark/header/list-header.material.css.js.map +1 -1
  615. package/components/list/themes/dark/item/list-item.bootstrap.css.js +1 -1
  616. package/components/list/themes/dark/item/list-item.bootstrap.css.js.map +1 -1
  617. package/components/list/themes/dark/item/list-item.fluent.css.js +1 -1
  618. package/components/list/themes/dark/item/list-item.fluent.css.js.map +1 -1
  619. package/components/list/themes/dark/item/list-item.indigo.css.js +1 -1
  620. package/components/list/themes/dark/item/list-item.indigo.css.js.map +1 -1
  621. package/components/list/themes/dark/item/list-item.material.css.js +1 -1
  622. package/components/list/themes/dark/item/list-item.material.css.js.map +1 -1
  623. package/components/list/themes/light/container/list.bootstrap.css.js +1 -1
  624. package/components/list/themes/light/container/list.bootstrap.css.js.map +1 -1
  625. package/components/list/themes/light/container/list.fluent.css.js +1 -1
  626. package/components/list/themes/light/container/list.fluent.css.js.map +1 -1
  627. package/components/list/themes/light/container/list.indigo.css.js +1 -1
  628. package/components/list/themes/light/container/list.indigo.css.js.map +1 -1
  629. package/components/list/themes/light/container/list.material.css.js +1 -1
  630. package/components/list/themes/light/container/list.material.css.js.map +1 -1
  631. package/components/list/themes/light/container/list.shared.css.d.ts +1 -0
  632. package/components/list/themes/light/container/list.shared.css.js +3 -0
  633. package/components/list/themes/light/container/list.shared.css.js.map +1 -0
  634. package/components/list/themes/light/header/list-header.bootstrap.css.js +1 -1
  635. package/components/list/themes/light/header/list-header.bootstrap.css.js.map +1 -1
  636. package/components/list/themes/light/header/list-header.fluent.css.js +1 -1
  637. package/components/list/themes/light/header/list-header.fluent.css.js.map +1 -1
  638. package/components/list/themes/light/header/list-header.indigo.css.js +1 -1
  639. package/components/list/themes/light/header/list-header.indigo.css.js.map +1 -1
  640. package/components/list/themes/light/header/list-header.material.css.js +1 -1
  641. package/components/list/themes/light/header/list-header.material.css.js.map +1 -1
  642. package/components/list/themes/light/item/list-item.bootstrap.css.js +1 -1
  643. package/components/list/themes/light/item/list-item.bootstrap.css.js.map +1 -1
  644. package/components/list/themes/light/item/list-item.fluent.css.js +1 -1
  645. package/components/list/themes/light/item/list-item.fluent.css.js.map +1 -1
  646. package/components/list/themes/light/item/list-item.indigo.css.js +1 -1
  647. package/components/list/themes/light/item/list-item.indigo.css.js.map +1 -1
  648. package/components/list/themes/light/item/list-item.material.css.js +1 -1
  649. package/components/list/themes/light/item/list-item.material.css.js.map +1 -1
  650. package/components/mask-input/mask-input-base.d.ts +3 -0
  651. package/components/mask-input/mask-input-base.js +23 -4
  652. package/components/mask-input/mask-input-base.js.map +1 -1
  653. package/components/mask-input/mask-input.d.ts +1 -2
  654. package/components/mask-input/mask-input.js +1 -3
  655. package/components/mask-input/mask-input.js.map +1 -1
  656. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  657. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  658. package/components/nav-drawer/nav-drawer.d.ts +1 -0
  659. package/components/nav-drawer/nav-drawer.js +5 -4
  660. package/components/nav-drawer/nav-drawer.js.map +1 -1
  661. package/components/nav-drawer/themes/container.js +8 -0
  662. package/components/nav-drawer/themes/container.js.map +1 -1
  663. package/components/nav-drawer/themes/dark/container/nav-drawer.bootstrap.css.js +1 -1
  664. package/components/nav-drawer/themes/dark/container/nav-drawer.bootstrap.css.js.map +1 -1
  665. package/components/nav-drawer/themes/dark/container/nav-drawer.fluent.css.js +1 -1
  666. package/components/nav-drawer/themes/dark/container/nav-drawer.fluent.css.js.map +1 -1
  667. package/components/nav-drawer/themes/dark/container/nav-drawer.indigo.css.js +1 -1
  668. package/components/nav-drawer/themes/dark/container/nav-drawer.indigo.css.js.map +1 -1
  669. package/components/nav-drawer/themes/dark/container/nav-drawer.material.css.js +1 -1
  670. package/components/nav-drawer/themes/dark/container/nav-drawer.material.css.js.map +1 -1
  671. package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.d.ts +1 -0
  672. package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.js +3 -0
  673. package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.js.map +1 -0
  674. package/components/nav-drawer/themes/light/container/nav-drawer.bootstrap.css.js +1 -1
  675. package/components/nav-drawer/themes/light/container/nav-drawer.bootstrap.css.js.map +1 -1
  676. package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.js +1 -1
  677. package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.js.map +1 -1
  678. package/components/nav-drawer/themes/light/container/nav-drawer.indigo.css.js +1 -1
  679. package/components/nav-drawer/themes/light/container/nav-drawer.indigo.css.js.map +1 -1
  680. package/components/nav-drawer/themes/light/container/nav-drawer.material.css.js +1 -1
  681. package/components/nav-drawer/themes/light/container/nav-drawer.material.css.js.map +1 -1
  682. package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.d.ts +1 -0
  683. package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.js +3 -0
  684. package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.js.map +1 -0
  685. package/components/navbar/navbar.js.map +1 -1
  686. package/components/navbar/themes/dark/navbar.bootstrap.css.js +1 -1
  687. package/components/navbar/themes/dark/navbar.bootstrap.css.js.map +1 -1
  688. package/components/navbar/themes/dark/navbar.fluent.css.js +1 -1
  689. package/components/navbar/themes/dark/navbar.fluent.css.js.map +1 -1
  690. package/components/navbar/themes/dark/navbar.indigo.css.js +1 -1
  691. package/components/navbar/themes/dark/navbar.indigo.css.js.map +1 -1
  692. package/components/navbar/themes/dark/navbar.material.css.js +1 -1
  693. package/components/navbar/themes/dark/navbar.material.css.js.map +1 -1
  694. package/components/navbar/themes/light/navbar.bootstrap.css.js +1 -1
  695. package/components/navbar/themes/light/navbar.bootstrap.css.js.map +1 -1
  696. package/components/navbar/themes/light/navbar.fluent.css.js +1 -1
  697. package/components/navbar/themes/light/navbar.fluent.css.js.map +1 -1
  698. package/components/navbar/themes/light/navbar.indigo.css.js +1 -1
  699. package/components/navbar/themes/light/navbar.indigo.css.js.map +1 -1
  700. package/components/navbar/themes/light/navbar.material.css.js +1 -1
  701. package/components/navbar/themes/light/navbar.material.css.js.map +1 -1
  702. package/components/navbar/themes/light/navbar.shared.css.d.ts +1 -0
  703. package/components/navbar/themes/light/navbar.shared.css.js +3 -0
  704. package/components/navbar/themes/light/navbar.shared.css.js.map +1 -0
  705. package/components/navbar/themes/shared/navbar.bootstrap.css.js +1 -1
  706. package/components/navbar/themes/shared/navbar.bootstrap.css.js.map +1 -1
  707. package/components/navbar/themes/themes.js +7 -0
  708. package/components/navbar/themes/themes.js.map +1 -1
  709. package/components/popover/popover.js +1 -1
  710. package/components/popover/popover.js.map +1 -1
  711. package/components/progress/base.d.ts +10 -7
  712. package/components/progress/base.js +67 -50
  713. package/components/progress/base.js.map +1 -1
  714. package/components/progress/circular-gradient.js.map +1 -1
  715. package/components/progress/circular-progress.d.ts +3 -12
  716. package/components/progress/circular-progress.js +31 -42
  717. package/components/progress/circular-progress.js.map +1 -1
  718. package/components/progress/linear-progress.d.ts +0 -14
  719. package/components/progress/linear-progress.js +11 -24
  720. package/components/progress/linear-progress.js.map +1 -1
  721. package/components/progress/themes/circular/dark/circular.progress.bootstrap.css.js +1 -1
  722. package/components/progress/themes/circular/dark/circular.progress.bootstrap.css.js.map +1 -1
  723. package/components/progress/themes/circular/dark/circular.progress.fluent.css.js +1 -1
  724. package/components/progress/themes/circular/dark/circular.progress.fluent.css.js.map +1 -1
  725. package/components/progress/themes/circular/dark/circular.progress.indigo.css.js +1 -1
  726. package/components/progress/themes/circular/dark/circular.progress.indigo.css.js.map +1 -1
  727. package/components/progress/themes/circular/dark/circular.progress.material.css.js +1 -1
  728. package/components/progress/themes/circular/dark/circular.progress.material.css.js.map +1 -1
  729. package/components/progress/themes/circular/dark/circular.progress.shared.css.d.ts +1 -0
  730. package/components/progress/themes/circular/dark/circular.progress.shared.css.js +3 -0
  731. package/components/progress/themes/circular/dark/circular.progress.shared.css.js.map +1 -0
  732. package/components/progress/themes/circular/light/circular.progress.bootstrap.css.js +1 -1
  733. package/components/progress/themes/circular/light/circular.progress.bootstrap.css.js.map +1 -1
  734. package/components/progress/themes/circular/light/circular.progress.fluent.css.js +1 -1
  735. package/components/progress/themes/circular/light/circular.progress.fluent.css.js.map +1 -1
  736. package/components/progress/themes/circular/light/circular.progress.indigo.css.js +1 -1
  737. package/components/progress/themes/circular/light/circular.progress.indigo.css.js.map +1 -1
  738. package/components/progress/themes/circular/light/circular.progress.material.css.js +1 -1
  739. package/components/progress/themes/circular/light/circular.progress.material.css.js.map +1 -1
  740. package/components/progress/themes/circular/light/circular.progress.shared.css.d.ts +1 -0
  741. package/components/progress/themes/circular/light/circular.progress.shared.css.js +3 -0
  742. package/components/progress/themes/circular/light/circular.progress.shared.css.js.map +1 -0
  743. package/components/progress/themes/circular/themes.js +8 -0
  744. package/components/progress/themes/circular/themes.js.map +1 -1
  745. package/components/progress/themes/linear/dark/linear.progress.fluent.css.js +1 -1
  746. package/components/progress/themes/linear/dark/linear.progress.fluent.css.js.map +1 -1
  747. package/components/progress/themes/linear/dark/linear.progress.indigo.css.js +1 -1
  748. package/components/progress/themes/linear/dark/linear.progress.indigo.css.js.map +1 -1
  749. package/components/progress/themes/linear/dark/linear.progress.material.css.js +1 -1
  750. package/components/progress/themes/linear/dark/linear.progress.material.css.js.map +1 -1
  751. package/components/progress/themes/linear/dark/linear.progress.shared.css.d.ts +1 -0
  752. package/components/progress/themes/linear/dark/linear.progress.shared.css.js +3 -0
  753. package/components/progress/themes/linear/dark/linear.progress.shared.css.js.map +1 -0
  754. package/components/progress/themes/linear/light/linear.progress.bootstrap.css.js +1 -1
  755. package/components/progress/themes/linear/light/linear.progress.bootstrap.css.js.map +1 -1
  756. package/components/progress/themes/linear/light/linear.progress.fluent.css.js +1 -1
  757. package/components/progress/themes/linear/light/linear.progress.fluent.css.js.map +1 -1
  758. package/components/progress/themes/linear/light/linear.progress.indigo.css.js +1 -1
  759. package/components/progress/themes/linear/light/linear.progress.indigo.css.js.map +1 -1
  760. package/components/progress/themes/linear/light/linear.progress.material.css.js +1 -1
  761. package/components/progress/themes/linear/light/linear.progress.material.css.js.map +1 -1
  762. package/components/progress/themes/linear/light/linear.progress.shared.css.d.ts +1 -0
  763. package/components/progress/themes/linear/light/linear.progress.shared.css.js +3 -0
  764. package/components/progress/themes/linear/light/linear.progress.shared.css.js.map +1 -0
  765. package/components/progress/themes/linear/themes.js +8 -0
  766. package/components/progress/themes/linear/themes.js.map +1 -1
  767. package/components/radio/radio.d.ts +2 -2
  768. package/components/radio/radio.js +2 -1
  769. package/components/radio/radio.js.map +1 -1
  770. package/components/radio/themes/dark/radio.bootstrap.css.js +1 -1
  771. package/components/radio/themes/dark/radio.bootstrap.css.js.map +1 -1
  772. package/components/radio/themes/dark/radio.fluent.css.js +1 -1
  773. package/components/radio/themes/dark/radio.fluent.css.js.map +1 -1
  774. package/components/radio/themes/dark/radio.indigo.css.js +1 -1
  775. package/components/radio/themes/dark/radio.indigo.css.js.map +1 -1
  776. package/components/radio/themes/dark/radio.material.css.js +1 -1
  777. package/components/radio/themes/dark/radio.material.css.js.map +1 -1
  778. package/components/radio/themes/dark/radio.shared.css.d.ts +1 -0
  779. package/components/radio/themes/dark/radio.shared.css.js +3 -0
  780. package/components/radio/themes/dark/radio.shared.css.js.map +1 -0
  781. package/components/radio/themes/light/radio.bootstrap.css.js +1 -1
  782. package/components/radio/themes/light/radio.bootstrap.css.js.map +1 -1
  783. package/components/radio/themes/light/radio.fluent.css.js +1 -1
  784. package/components/radio/themes/light/radio.fluent.css.js.map +1 -1
  785. package/components/radio/themes/light/radio.indigo.css.js +1 -1
  786. package/components/radio/themes/light/radio.indigo.css.js.map +1 -1
  787. package/components/radio/themes/light/radio.material.css.js +1 -1
  788. package/components/radio/themes/light/radio.material.css.js.map +1 -1
  789. package/components/radio/themes/light/radio.shared.css.d.ts +1 -0
  790. package/components/radio/themes/light/radio.shared.css.js +3 -0
  791. package/components/radio/themes/light/radio.shared.css.js.map +1 -0
  792. package/components/radio/themes/shared/radio.bootstrap.css.js +1 -1
  793. package/components/radio/themes/shared/radio.bootstrap.css.js.map +1 -1
  794. package/components/radio/themes/shared/radio.common.css.d.ts +1 -0
  795. package/components/radio/themes/shared/radio.common.css.js +3 -0
  796. package/components/radio/themes/shared/radio.common.css.js.map +1 -0
  797. package/components/radio/themes/shared/radio.fluent.css.js +1 -1
  798. package/components/radio/themes/shared/radio.fluent.css.js.map +1 -1
  799. package/components/radio/themes/shared/radio.indigo.css.js +1 -1
  800. package/components/radio/themes/shared/radio.indigo.css.js.map +1 -1
  801. package/components/radio/themes/shared/radio.material.css.js +1 -1
  802. package/components/radio/themes/shared/radio.material.css.js.map +1 -1
  803. package/components/radio/themes/themes.js +8 -0
  804. package/components/radio/themes/themes.js.map +1 -1
  805. package/components/radio/utils.js +5 -2
  806. package/components/radio/utils.js.map +1 -1
  807. package/components/radio-group/radio-group.js.map +1 -1
  808. package/components/rating/rating-symbol.js.map +1 -1
  809. package/components/rating/rating.d.ts +3 -4
  810. package/components/rating/rating.js +3 -3
  811. package/components/rating/rating.js.map +1 -1
  812. package/components/rating/themes/dark/rating.bootstrap.css.js +1 -1
  813. package/components/rating/themes/dark/rating.bootstrap.css.js.map +1 -1
  814. package/components/rating/themes/dark/rating.fluent.css.js +1 -1
  815. package/components/rating/themes/dark/rating.fluent.css.js.map +1 -1
  816. package/components/rating/themes/dark/rating.indigo.css.js +1 -1
  817. package/components/rating/themes/dark/rating.indigo.css.js.map +1 -1
  818. package/components/rating/themes/dark/rating.material.css.js +1 -1
  819. package/components/rating/themes/dark/rating.material.css.js.map +1 -1
  820. package/components/rating/themes/light/rating.bootstrap.css.js +1 -1
  821. package/components/rating/themes/light/rating.bootstrap.css.js.map +1 -1
  822. package/components/rating/themes/light/rating.fluent.css.js +1 -1
  823. package/components/rating/themes/light/rating.fluent.css.js.map +1 -1
  824. package/components/rating/themes/light/rating.indigo.css.js +1 -1
  825. package/components/rating/themes/light/rating.indigo.css.js.map +1 -1
  826. package/components/rating/themes/light/rating.material.css.js +1 -1
  827. package/components/rating/themes/light/rating.material.css.js.map +1 -1
  828. package/components/rating/themes/light/rating.shared.css.d.ts +1 -0
  829. package/components/rating/themes/light/rating.shared.css.js +3 -0
  830. package/components/rating/themes/light/rating.shared.css.js.map +1 -0
  831. package/components/rating/themes/themes.js +7 -0
  832. package/components/rating/themes/themes.js.map +1 -1
  833. package/components/ripple/ripple.js.map +1 -1
  834. package/components/select/select-group.d.ts +3 -5
  835. package/components/select/select-group.js +27 -25
  836. package/components/select/select-group.js.map +1 -1
  837. package/components/select/select-header.d.ts +1 -1
  838. package/components/select/select-header.js +2 -1
  839. package/components/select/select-header.js.map +1 -1
  840. package/components/select/select-item.d.ts +1 -1
  841. package/components/select/select-item.js +2 -1
  842. package/components/select/select-item.js.map +1 -1
  843. package/components/select/select.d.ts +3 -3
  844. package/components/select/select.js +4 -6
  845. package/components/select/select.js.map +1 -1
  846. package/components/select/themes/dark/select.bootstrap.css.js +1 -1
  847. package/components/select/themes/dark/select.bootstrap.css.js.map +1 -1
  848. package/components/select/themes/dark/select.fluent.css.js +1 -1
  849. package/components/select/themes/dark/select.fluent.css.js.map +1 -1
  850. package/components/select/themes/dark/select.indigo.css.js +1 -1
  851. package/components/select/themes/dark/select.indigo.css.js.map +1 -1
  852. package/components/select/themes/dark/select.material.css.js +1 -1
  853. package/components/select/themes/dark/select.material.css.js.map +1 -1
  854. package/components/select/themes/light/select.bootstrap.css.js +1 -1
  855. package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
  856. package/components/select/themes/light/select.fluent.css.js +1 -1
  857. package/components/select/themes/light/select.fluent.css.js.map +1 -1
  858. package/components/select/themes/light/select.indigo.css.js +1 -1
  859. package/components/select/themes/light/select.indigo.css.js.map +1 -1
  860. package/components/select/themes/light/select.material.css.js +1 -1
  861. package/components/select/themes/light/select.material.css.js.map +1 -1
  862. package/components/select/themes/light/select.shared.css.d.ts +1 -0
  863. package/components/select/themes/light/select.shared.css.js +3 -0
  864. package/components/select/themes/light/select.shared.css.js.map +1 -0
  865. package/components/select/themes/shared/select.bootstrap.css.js +1 -1
  866. package/components/select/themes/shared/select.bootstrap.css.js.map +1 -1
  867. package/components/select/themes/shared/select.common.css.d.ts +1 -0
  868. package/components/select/themes/shared/select.common.css.js +3 -0
  869. package/components/select/themes/shared/select.common.css.js.map +1 -0
  870. package/components/select/themes/shared/select.fluent.css.js +1 -1
  871. package/components/select/themes/shared/select.fluent.css.js.map +1 -1
  872. package/components/select/themes/shared/select.indigo.css.js +1 -1
  873. package/components/select/themes/shared/select.indigo.css.js.map +1 -1
  874. package/components/select/themes/shared/select.material.css.js +1 -1
  875. package/components/select/themes/shared/select.material.css.js.map +1 -1
  876. package/components/select/themes/themes.js +7 -0
  877. package/components/select/themes/themes.js.map +1 -1
  878. package/components/slider/range-slider.d.ts +22 -7
  879. package/components/slider/range-slider.js +64 -69
  880. package/components/slider/range-slider.js.map +1 -1
  881. package/components/slider/slider-base.d.ts +39 -22
  882. package/components/slider/slider-base.js +150 -186
  883. package/components/slider/slider-base.js.map +1 -1
  884. package/components/slider/slider-label.js.map +1 -1
  885. package/components/slider/slider.d.ts +4 -3
  886. package/components/slider/slider.js +15 -22
  887. package/components/slider/slider.js.map +1 -1
  888. package/components/slider/themes/dark/slider.bootstrap.css.js +1 -1
  889. package/components/slider/themes/dark/slider.bootstrap.css.js.map +1 -1
  890. package/components/slider/themes/dark/slider.fluent.css.js +1 -1
  891. package/components/slider/themes/dark/slider.fluent.css.js.map +1 -1
  892. package/components/slider/themes/dark/slider.indigo.css.js +1 -1
  893. package/components/slider/themes/dark/slider.indigo.css.js.map +1 -1
  894. package/components/slider/themes/dark/slider.material.css.js +1 -1
  895. package/components/slider/themes/dark/slider.material.css.js.map +1 -1
  896. package/components/slider/themes/light/slider.bootstrap.css.js +1 -1
  897. package/components/slider/themes/light/slider.bootstrap.css.js.map +1 -1
  898. package/components/slider/themes/light/slider.fluent.css.js +1 -1
  899. package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
  900. package/components/slider/themes/light/slider.indigo.css.js +1 -1
  901. package/components/slider/themes/light/slider.indigo.css.js.map +1 -1
  902. package/components/slider/themes/light/slider.material.css.js +1 -1
  903. package/components/slider/themes/light/slider.material.css.js.map +1 -1
  904. package/components/slider/themes/light/slider.shared.css.d.ts +1 -0
  905. package/components/slider/themes/light/slider.shared.css.js +3 -0
  906. package/components/slider/themes/light/slider.shared.css.js.map +1 -0
  907. package/components/slider/themes/shared/slider.bootstrap.css.js +1 -1
  908. package/components/slider/themes/shared/slider.bootstrap.css.js.map +1 -1
  909. package/components/slider/themes/shared/slider.common.css.d.ts +1 -0
  910. package/components/slider/themes/shared/slider.common.css.js +3 -0
  911. package/components/slider/themes/shared/slider.common.css.js.map +1 -0
  912. package/components/slider/themes/shared/slider.fluent.css.js +1 -1
  913. package/components/slider/themes/shared/slider.fluent.css.js.map +1 -1
  914. package/components/slider/themes/shared/slider.indigo.css.js +1 -1
  915. package/components/slider/themes/shared/slider.indigo.css.js.map +1 -1
  916. package/components/slider/themes/shared/slider.material.css.js +1 -1
  917. package/components/slider/themes/shared/slider.material.css.js.map +1 -1
  918. package/components/slider/themes/themes.js +7 -0
  919. package/components/slider/themes/themes.js.map +1 -1
  920. package/components/snackbar/snackbar.d.ts +5 -3
  921. package/components/snackbar/snackbar.js +9 -9
  922. package/components/snackbar/snackbar.js.map +1 -1
  923. package/components/snackbar/themes/dark/snackbar.bootstrap.css.js +1 -1
  924. package/components/snackbar/themes/dark/snackbar.bootstrap.css.js.map +1 -1
  925. package/components/snackbar/themes/dark/snackbar.fluent.css.js +1 -1
  926. package/components/snackbar/themes/dark/snackbar.fluent.css.js.map +1 -1
  927. package/components/snackbar/themes/dark/snackbar.indigo.css.js +1 -1
  928. package/components/snackbar/themes/dark/snackbar.indigo.css.js.map +1 -1
  929. package/components/snackbar/themes/dark/snackbar.material.css.js +1 -1
  930. package/components/snackbar/themes/dark/snackbar.material.css.js.map +1 -1
  931. package/components/snackbar/themes/light/snackbar.bootstrap.css.js +1 -1
  932. package/components/snackbar/themes/light/snackbar.bootstrap.css.js.map +1 -1
  933. package/components/snackbar/themes/light/snackbar.fluent.css.js +1 -1
  934. package/components/snackbar/themes/light/snackbar.fluent.css.js.map +1 -1
  935. package/components/snackbar/themes/light/snackbar.indigo.css.js +1 -1
  936. package/components/snackbar/themes/light/snackbar.indigo.css.js.map +1 -1
  937. package/components/snackbar/themes/light/snackbar.material.css.js +1 -1
  938. package/components/snackbar/themes/light/snackbar.material.css.js.map +1 -1
  939. package/components/snackbar/themes/light/snackbar.shared.css.d.ts +1 -0
  940. package/components/snackbar/themes/light/snackbar.shared.css.js +3 -0
  941. package/components/snackbar/themes/light/snackbar.shared.css.js.map +1 -0
  942. package/components/snackbar/themes/themes.js +7 -0
  943. package/components/snackbar/themes/themes.js.map +1 -1
  944. package/components/stepper/step.d.ts +1 -2
  945. package/components/stepper/step.js +5 -7
  946. package/components/stepper/step.js.map +1 -1
  947. package/components/stepper/stepper.d.ts +1 -1
  948. package/components/stepper/stepper.js.map +1 -1
  949. package/components/stepper/themes/step/dark/step.bootstrap.css.js +1 -1
  950. package/components/stepper/themes/step/dark/step.bootstrap.css.js.map +1 -1
  951. package/components/stepper/themes/step/dark/step.fluent.css.js +1 -1
  952. package/components/stepper/themes/step/dark/step.fluent.css.js.map +1 -1
  953. package/components/stepper/themes/step/dark/step.indigo.css.js +1 -1
  954. package/components/stepper/themes/step/dark/step.indigo.css.js.map +1 -1
  955. package/components/stepper/themes/step/dark/step.material.css.js +1 -1
  956. package/components/stepper/themes/step/dark/step.material.css.js.map +1 -1
  957. package/components/stepper/themes/step/dark/step.shared.css.d.ts +1 -0
  958. package/components/stepper/themes/step/dark/step.shared.css.js +3 -0
  959. package/components/stepper/themes/step/dark/step.shared.css.js.map +1 -0
  960. package/components/stepper/themes/step/light/step.bootstrap.css.js +1 -1
  961. package/components/stepper/themes/step/light/step.bootstrap.css.js.map +1 -1
  962. package/components/stepper/themes/step/light/step.fluent.css.js +1 -1
  963. package/components/stepper/themes/step/light/step.fluent.css.js.map +1 -1
  964. package/components/stepper/themes/step/light/step.indigo.css.js +1 -1
  965. package/components/stepper/themes/step/light/step.indigo.css.js.map +1 -1
  966. package/components/stepper/themes/step/light/step.material.css.js +1 -1
  967. package/components/stepper/themes/step/light/step.material.css.js.map +1 -1
  968. package/components/stepper/themes/step/light/step.shared.css.d.ts +1 -0
  969. package/components/stepper/themes/step/light/step.shared.css.js +3 -0
  970. package/components/stepper/themes/step/light/step.shared.css.js.map +1 -0
  971. package/components/stepper/themes/step/themes.js +8 -0
  972. package/components/stepper/themes/step/themes.js.map +1 -1
  973. package/components/tabs/tab-panel.js.map +1 -1
  974. package/components/tabs/tab.js.map +1 -1
  975. package/components/tabs/tabs.d.ts +13 -3
  976. package/components/tabs/tabs.js +95 -81
  977. package/components/tabs/tabs.js.map +1 -1
  978. package/components/tabs/themes/dark/tab.fluent.css.js +1 -1
  979. package/components/tabs/themes/dark/tab.fluent.css.js.map +1 -1
  980. package/components/tabs/themes/dark/tab.material.css.js +1 -1
  981. package/components/tabs/themes/dark/tab.material.css.js.map +1 -1
  982. package/components/tabs/themes/dark/tab.shared.css.d.ts +1 -0
  983. package/components/tabs/themes/dark/tab.shared.css.js +3 -0
  984. package/components/tabs/themes/dark/tab.shared.css.js.map +1 -0
  985. package/components/tabs/themes/light/tab.bootstrap.css.js +1 -1
  986. package/components/tabs/themes/light/tab.bootstrap.css.js.map +1 -1
  987. package/components/tabs/themes/light/tab.fluent.css.js +1 -1
  988. package/components/tabs/themes/light/tab.fluent.css.js.map +1 -1
  989. package/components/tabs/themes/light/tab.indigo.css.js +1 -1
  990. package/components/tabs/themes/light/tab.indigo.css.js.map +1 -1
  991. package/components/tabs/themes/light/tab.material.css.js +1 -1
  992. package/components/tabs/themes/light/tab.material.css.js.map +1 -1
  993. package/components/tabs/themes/light/tab.shared.css.d.ts +1 -0
  994. package/components/tabs/themes/light/tab.shared.css.js +3 -0
  995. package/components/tabs/themes/light/tab.shared.css.js.map +1 -0
  996. package/components/tabs/themes/tabs-themes.js +8 -0
  997. package/components/tabs/themes/tabs-themes.js.map +1 -1
  998. package/components/textarea/textarea.d.ts +1 -1
  999. package/components/textarea/textarea.js +10 -3
  1000. package/components/textarea/textarea.js.map +1 -1
  1001. package/components/textarea/themes/dark/textarea.bootstrap.css.js +1 -1
  1002. package/components/textarea/themes/dark/textarea.bootstrap.css.js.map +1 -1
  1003. package/components/textarea/themes/dark/textarea.fluent.css.js +1 -1
  1004. package/components/textarea/themes/dark/textarea.fluent.css.js.map +1 -1
  1005. package/components/textarea/themes/dark/textarea.indigo.css.js +1 -1
  1006. package/components/textarea/themes/dark/textarea.indigo.css.js.map +1 -1
  1007. package/components/textarea/themes/dark/textarea.material.css.js +1 -1
  1008. package/components/textarea/themes/dark/textarea.material.css.js.map +1 -1
  1009. package/components/textarea/themes/light/textarea.bootstrap.css.js +1 -1
  1010. package/components/textarea/themes/light/textarea.bootstrap.css.js.map +1 -1
  1011. package/components/textarea/themes/light/textarea.fluent.css.js +1 -1
  1012. package/components/textarea/themes/light/textarea.fluent.css.js.map +1 -1
  1013. package/components/textarea/themes/light/textarea.indigo.css.js +1 -1
  1014. package/components/textarea/themes/light/textarea.indigo.css.js.map +1 -1
  1015. package/components/textarea/themes/light/textarea.material.css.js +1 -1
  1016. package/components/textarea/themes/light/textarea.material.css.js.map +1 -1
  1017. package/components/textarea/themes/light/textarea.shared.css.d.ts +1 -0
  1018. package/components/textarea/themes/light/textarea.shared.css.js +3 -0
  1019. package/components/textarea/themes/light/textarea.shared.css.js.map +1 -0
  1020. package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
  1021. package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
  1022. package/components/textarea/themes/shared/textarea.common.css.d.ts +1 -0
  1023. package/components/textarea/themes/shared/textarea.common.css.js +3 -0
  1024. package/components/textarea/themes/shared/textarea.common.css.js.map +1 -0
  1025. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  1026. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  1027. package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
  1028. package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
  1029. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  1030. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  1031. package/components/textarea/themes/themes.js +7 -0
  1032. package/components/textarea/themes/themes.js.map +1 -1
  1033. package/components/toast/themes/dark/toast.bootstrap.css.js +1 -1
  1034. package/components/toast/themes/dark/toast.bootstrap.css.js.map +1 -1
  1035. package/components/toast/themes/dark/toast.fluent.css.js +1 -1
  1036. package/components/toast/themes/dark/toast.fluent.css.js.map +1 -1
  1037. package/components/toast/themes/dark/toast.indigo.css.js +1 -1
  1038. package/components/toast/themes/dark/toast.indigo.css.js.map +1 -1
  1039. package/components/toast/themes/dark/toast.material.css.js +1 -1
  1040. package/components/toast/themes/dark/toast.material.css.js.map +1 -1
  1041. package/components/toast/themes/dark/toast.shared.css.d.ts +1 -0
  1042. package/components/toast/themes/dark/toast.shared.css.js +3 -0
  1043. package/components/toast/themes/dark/toast.shared.css.js.map +1 -0
  1044. package/components/toast/themes/light/toast.fluent.css.js +1 -1
  1045. package/components/toast/themes/light/toast.fluent.css.js.map +1 -1
  1046. package/components/toast/themes/light/toast.indigo.css.js +1 -1
  1047. package/components/toast/themes/light/toast.indigo.css.js.map +1 -1
  1048. package/components/toast/themes/light/toast.material.css.js +1 -1
  1049. package/components/toast/themes/light/toast.material.css.js.map +1 -1
  1050. package/components/toast/themes/light/toast.shared.css.d.ts +1 -0
  1051. package/components/toast/themes/light/toast.shared.css.js +3 -0
  1052. package/components/toast/themes/light/toast.shared.css.js.map +1 -0
  1053. package/components/toast/themes/themes.js +8 -0
  1054. package/components/toast/themes/themes.js.map +1 -1
  1055. package/components/toast/toast.d.ts +2 -1
  1056. package/components/toast/toast.js +5 -4
  1057. package/components/toast/toast.js.map +1 -1
  1058. package/components/tree/themes/container.js +8 -0
  1059. package/components/tree/themes/container.js.map +1 -1
  1060. package/components/tree/themes/dark/container.bootstrap.css.js +1 -1
  1061. package/components/tree/themes/dark/container.bootstrap.css.js.map +1 -1
  1062. package/components/tree/themes/dark/container.fluent.css.js +1 -1
  1063. package/components/tree/themes/dark/container.fluent.css.js.map +1 -1
  1064. package/components/tree/themes/dark/container.indigo.css.js +1 -1
  1065. package/components/tree/themes/dark/container.indigo.css.js.map +1 -1
  1066. package/components/tree/themes/dark/container.material.css.js +1 -1
  1067. package/components/tree/themes/dark/container.material.css.js.map +1 -1
  1068. package/components/tree/themes/dark/container.shared.css.d.ts +1 -0
  1069. package/components/tree/themes/dark/container.shared.css.js +3 -0
  1070. package/components/tree/themes/dark/container.shared.css.js.map +1 -0
  1071. package/components/tree/themes/item.base.css.js +1 -1
  1072. package/components/tree/themes/item.base.css.js.map +1 -1
  1073. package/components/tree/themes/item.js +0 -14
  1074. package/components/tree/themes/item.js.map +1 -1
  1075. package/components/tree/themes/light/container.bootstrap.css.js +1 -1
  1076. package/components/tree/themes/light/container.bootstrap.css.js.map +1 -1
  1077. package/components/tree/themes/light/container.fluent.css.js +1 -1
  1078. package/components/tree/themes/light/container.fluent.css.js.map +1 -1
  1079. package/components/tree/themes/light/container.indigo.css.js +1 -1
  1080. package/components/tree/themes/light/container.indigo.css.js.map +1 -1
  1081. package/components/tree/themes/light/container.material.css.js +1 -1
  1082. package/components/tree/themes/light/container.material.css.js.map +1 -1
  1083. package/components/tree/themes/light/container.shared.css.d.ts +1 -0
  1084. package/components/tree/themes/light/container.shared.css.js +3 -0
  1085. package/components/tree/themes/light/container.shared.css.js.map +1 -0
  1086. package/components/tree/themes/shared/item.common.css.d.ts +1 -0
  1087. package/components/tree/themes/shared/item.common.css.js +3 -0
  1088. package/components/tree/themes/shared/item.common.css.js.map +1 -0
  1089. package/components/tree/themes/shared/item.indigo.css.js +1 -1
  1090. package/components/tree/themes/shared/item.indigo.css.js.map +1 -1
  1091. package/components/tree/themes/shared/item.material.css.js +1 -1
  1092. package/components/tree/themes/shared/item.material.css.js.map +1 -1
  1093. package/components/tree/tree-item.d.ts +2 -4
  1094. package/components/tree/tree-item.js +7 -10
  1095. package/components/tree/tree-item.js.map +1 -1
  1096. package/components/tree/tree.d.ts +1 -1
  1097. package/components/tree/tree.js.map +1 -1
  1098. package/components/tree/tree.navigation.js.map +1 -1
  1099. package/components/tree/tree.selection.js.map +1 -1
  1100. package/custom-elements.json +1064 -1005
  1101. package/package.json +2 -2
  1102. package/themes/dark/fluent.css +1 -1
  1103. package/themes/light/fluent.css +1 -1
  1104. package/theming/config.js +4 -1
  1105. package/theming/config.js.map +1 -1
  1106. package/theming/theming-controller.js +7 -4
  1107. package/theming/theming-controller.js.map +1 -1
  1108. package/theming/utils.d.ts +1 -1
  1109. package/theming/utils.js +43 -26
  1110. package/theming/utils.js.map +1 -1
  1111. package/components/dropdown/themes/shared/group/dropdown-group.bootstrap.css.js +0 -3
  1112. package/components/dropdown/themes/shared/group/dropdown-group.bootstrap.css.js.map +0 -1
  1113. package/components/dropdown/themes/shared/group/dropdown-group.material.css.js +0 -3
  1114. package/components/dropdown/themes/shared/group/dropdown-group.material.css.js.map +0 -1
  1115. package/components/dropdown/themes/shared/header/dropdown-header.bootstrap.css.js +0 -3
  1116. package/components/dropdown/themes/shared/header/dropdown-header.bootstrap.css.js.map +0 -1
  1117. package/components/dropdown/themes/shared/header/dropdown-header.material.css.js +0 -3
  1118. package/components/dropdown/themes/shared/header/dropdown-header.material.css.js.map +0 -1
  1119. package/components/dropdown/themes/shared/item/dropdown-item.bootstrap.css.js +0 -3
  1120. package/components/dropdown/themes/shared/item/dropdown-item.bootstrap.css.js.map +0 -1
  1121. package/components/dropdown/themes/shared/item/dropdown-item.material.css.js +0 -3
  1122. package/components/dropdown/themes/shared/item/dropdown-item.material.css.js.map +0 -1
  1123. package/components/tabs/utils.d.ts +0 -14
  1124. package/components/tabs/utils.js +0 -32
  1125. package/components/tabs/utils.js.map +0 -1
  1126. package/components/tree/themes/shared/item.bootstrap.css.js +0 -3
  1127. package/components/tree/themes/shared/item.bootstrap.css.js.map +0 -1
  1128. package/components/tree/themes/shared/item.fluent.css.js +0 -3
  1129. package/components/tree/themes/shared/item.fluent.css.js.map +0 -1
  1130. /package/components/{dropdown/themes/shared/group/dropdown-group.bootstrap.css.d.ts → avatar/themes/light/avatar.shared.css.d.ts} +0 -0
  1131. /package/components/{dropdown/themes/shared/group/dropdown-group.indigo.css.d.ts → badge/themes/light/badge.shared.css.d.ts} +0 -0
  1132. /package/components/{dropdown/themes/shared/header/dropdown-header.indigo.css.d.ts → button/themes/button/light/button.shared.css.d.ts} +0 -0
  1133. /package/components/{dropdown/themes/shared/group/dropdown-group.material.css.d.ts → button-group/themes/dark/button-group.shared.css.d.ts} +0 -0
  1134. /package/components/{dropdown/themes/shared/header/dropdown-header.bootstrap.css.d.ts → button-group/themes/light/button-group.shared.css.d.ts} +0 -0
  1135. /package/components/{dropdown/themes/shared/header/dropdown-header.material.css.d.ts → calendar/themes/light/calendar.shared.css.d.ts} +0 -0
  1136. /package/components/{dropdown/themes/shared/item/dropdown-item.bootstrap.css.d.ts → card/themes/light/container/card.shared.css.d.ts} +0 -0
  1137. /package/components/{dropdown/themes/shared/item/dropdown-item.indigo.css.d.ts → checkbox/themes/dark/switch/switch.shared.css.d.ts} +0 -0
  1138. /package/components/{dropdown/themes/shared/item/dropdown-item.material.css.d.ts → checkbox/themes/light/checkbox/checkbox.shared.css.d.ts} +0 -0
  1139. /package/components/{tree/themes/shared/item.bootstrap.css.d.ts → checkbox/themes/light/switch/switch.shared.css.d.ts} +0 -0
  1140. /package/components/{tree/themes/shared/item.fluent.css.d.ts → checkbox/themes/shared/checkbox/checkbox.common.css.d.ts} +0 -0
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--background: var(--ig-tree-background, hsla(var(--ig-surface-500), var(--ig-surface-a)));--foreground: var(--ig-tree-foreground, var(--ig-surface-500-contrast));--background-selected: var(--ig-tree-background-selected, hsla(var(--ig-secondary-200), var(--ig-secondary-a)));--foreground-selected: var(--ig-tree-foreground-selected, var(--ig-secondary-200-contrast));--background-active: var(--ig-tree-background-active, hsla(var(--ig-gray-200), var(--ig-gray-a)));--foreground-active: var(--ig-tree-foreground-active, var(--ig-gray-200-contrast));--background-active-selected: var(--ig-tree-background-active-selected, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--foreground-active-selected: var(--ig-tree-foreground-active-selected, var(--ig-secondary-300-contrast));--border-color: var(--ig-tree-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--background-disabled: var(--ig-tree-background-disabled, hsla(var(--ig-surface-500), var(--ig-surface-a)));--foreground-disabled: var(--ig-tree-foreground-disabled, hsla(var(--ig-gray-500), var(--ig-gray-a)));--drop-area-color: var(--ig-tree-drop-area-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--hover-color: var(--ig-tree-hover-color, hsla(var(--ig-gray-900), 0.1));--hover-selected-color: var(--ig-tree-hover-selected-color, hsla(var(--ig-gray-900), 0.1));--size: var(--ig-tree-size, max(var(--is-large, 1) * max(3.125rem, -1 * 3.125rem), var(--is-medium, 1) * max(2.5rem, -1 * 2.5rem), var(--is-small, 1) * max(2rem, -1 * 2rem)));--default-size: var(--ig-tree-default-size, 2)}`;
2
+ export const styles = css `:host{--background-selected: var(--ig-tree-background-selected, hsla(var(--ig-secondary-200), var(--ig-secondary-a)));--foreground-selected: var(--ig-tree-foreground-selected, color-mix(in oklch, var(--ig-secondary-200-contrast) 100%, transparent));--background-active-selected: var(--ig-tree-background-active-selected, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--foreground-active-selected: var(--ig-tree-foreground-active-selected, color-mix(in oklch, var(--ig-secondary-300-contrast) 100%, transparent));--border-color: var(--ig-tree-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)))}`;
3
3
  //# sourceMappingURL=container.material.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"container.material.css.js","sourceRoot":"","sources":["../../../../../src/components/tree/themes/light/container.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,ijDAAijD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--background: var(--ig-tree-background, hsla(var(--ig-surface-500), var(--ig-surface-a)));--foreground: var(--ig-tree-foreground, var(--ig-surface-500-contrast));--background-selected: var(--ig-tree-background-selected, hsla(var(--ig-secondary-200), var(--ig-secondary-a)));--foreground-selected: var(--ig-tree-foreground-selected, var(--ig-secondary-200-contrast));--background-active: var(--ig-tree-background-active, hsla(var(--ig-gray-200), var(--ig-gray-a)));--foreground-active: var(--ig-tree-foreground-active, var(--ig-gray-200-contrast));--background-active-selected: var(--ig-tree-background-active-selected, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--foreground-active-selected: var(--ig-tree-foreground-active-selected, var(--ig-secondary-300-contrast));--border-color: var(--ig-tree-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--background-disabled: var(--ig-tree-background-disabled, hsla(var(--ig-surface-500), var(--ig-surface-a)));--foreground-disabled: var(--ig-tree-foreground-disabled, hsla(var(--ig-gray-500), var(--ig-gray-a)));--drop-area-color: var(--ig-tree-drop-area-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--hover-color: var(--ig-tree-hover-color, hsla(var(--ig-gray-900), 0.1));--hover-selected-color: var(--ig-tree-hover-selected-color, hsla(var(--ig-gray-900), 0.1));--size: var(--ig-tree-size, max(var(--is-large, 1) * max(3.125rem, -1 * 3.125rem), var(--is-medium, 1) * max(2.5rem, -1 * 2.5rem), var(--is-small, 1) * max(2rem, -1 * 2rem)));--default-size: var(--ig-tree-default-size, 2)}`;\n"]}
1
+ {"version":3,"file":"container.material.css.js","sourceRoot":"","sources":["../../../../../src/components/tree/themes/light/container.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,4mBAA4mB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--background-selected: var(--ig-tree-background-selected, hsla(var(--ig-secondary-200), var(--ig-secondary-a)));--foreground-selected: var(--ig-tree-foreground-selected, color-mix(in oklch, var(--ig-secondary-200-contrast) 100%, transparent));--background-active-selected: var(--ig-tree-background-active-selected, hsla(var(--ig-secondary-300), var(--ig-secondary-a)));--foreground-active-selected: var(--ig-tree-foreground-active-selected, color-mix(in oklch, var(--ig-secondary-300-contrast) 100%, transparent));--border-color: var(--ig-tree-border-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)))}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{--background: var(--ig-tree-background, hsla(var(--ig-surface-500), var(--ig-surface-a)));--foreground: var(--ig-tree-foreground, color-mix(in oklch, var(--ig-surface-500-contrast) 100%, transparent));--background-selected: var(--ig-tree-background-selected, hsla(var(--ig-primary-500), var(--ig-primary-a)));--background-active: var(--ig-tree-background-active, hsla(var(--ig-gray-200), var(--ig-gray-a)));--foreground-active: var(--ig-tree-foreground-active, color-mix(in oklch, var(--ig-gray-200-contrast) 100%, transparent));--background-disabled: var(--ig-tree-background-disabled, hsla(var(--ig-surface-500), var(--ig-surface-a)));--foreground-disabled: var(--ig-tree-foreground-disabled, hsla(var(--ig-gray-500), var(--ig-gray-a)));--drop-area-color: var(--ig-tree-drop-area-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--hover-color: var(--ig-tree-hover-color, hsla(var(--ig-gray-900), 0.1));--hover-selected-color: var(--ig-tree-hover-selected-color, hsla(var(--ig-gray-900), 0.1));--size: var(--ig-tree-size, max(var(--is-large, 1) * max(3.125rem, -1 * 3.125rem), var(--is-medium, 1) * max(2.5rem, -1 * 2.5rem), var(--is-small, 1) * max(2rem, -1 * 2rem)));--default-size: var(--ig-tree-default-size, 2)}`;
3
+ //# sourceMappingURL=container.shared.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.shared.css.js","sourceRoot":"","sources":["../../../../../src/components/tree/themes/light/container.shared.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,qtCAAqtC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--background: var(--ig-tree-background, hsla(var(--ig-surface-500), var(--ig-surface-a)));--foreground: var(--ig-tree-foreground, color-mix(in oklch, var(--ig-surface-500-contrast) 100%, transparent));--background-selected: var(--ig-tree-background-selected, hsla(var(--ig-primary-500), var(--ig-primary-a)));--background-active: var(--ig-tree-background-active, hsla(var(--ig-gray-200), var(--ig-gray-a)));--foreground-active: var(--ig-tree-foreground-active, color-mix(in oklch, var(--ig-gray-200-contrast) 100%, transparent));--background-disabled: var(--ig-tree-background-disabled, hsla(var(--ig-surface-500), var(--ig-surface-a)));--foreground-disabled: var(--ig-tree-foreground-disabled, hsla(var(--ig-gray-500), var(--ig-gray-a)));--drop-area-color: var(--ig-tree-drop-area-color, hsla(var(--ig-secondary-500), var(--ig-secondary-a)));--hover-color: var(--ig-tree-hover-color, hsla(var(--ig-gray-900), 0.1));--hover-selected-color: var(--ig-tree-hover-selected-color, hsla(var(--ig-gray-900), 0.1));--size: var(--ig-tree-size, max(var(--is-large, 1) * max(3.125rem, -1 * 3.125rem), var(--is-medium, 1) * max(2.5rem, -1 * 2.5rem), var(--is-small, 1) * max(2rem, -1 * 2rem)));--default-size: var(--ig-tree-default-size, 2)}`;\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,3 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `:host{background:var(--background);color:var(--foreground)}[part~=wrapper]{min-height:var(--size)}[part~=wrapper]:hover::after{background:var(--hover-color)}[part~=wrapper][part~=selected]:hover::after{background:var(--hover-selected-color)}[part~=label]{max-height:var(--size)}:host(:not([disabled])[active]){background:var(--background-active);color:var(--foreground-active)}:host(:not([disabled])[selected]){background:var(--background-selected);color:var(--foreground-selected)}:host(:not([disabled])[selected][active]){background:var(--background-active-selected);color:var(--foreground-active-selected)}:host(:not([disabled])[selected]) [part~=focused],:host(:not([disabled])[selected][active]) [part~=focused]{background:var(--background-active-selected);color:var(--foreground-active-selected)}[part~=select]{-webkit-margin-end:.5rem;margin-inline-end:.5rem}[part~=focused]{-webkit-box-shadow:inset 0 0 0 1px var(--border-color);box-shadow:inset 0 0 0 1px var(--border-color)}:host([disabled]){color:var(--foreground-disabled);background:var(--background-disabled)}`;
3
+ //# sourceMappingURL=item.common.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item.common.css.js","sourceRoot":"","sources":["../../../../../src/components/tree/themes/shared/item.common.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,mjCAAmjC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{background:var(--background);color:var(--foreground)}[part~=wrapper]{min-height:var(--size)}[part~=wrapper]:hover::after{background:var(--hover-color)}[part~=wrapper][part~=selected]:hover::after{background:var(--hover-selected-color)}[part~=label]{max-height:var(--size)}:host(:not([disabled])[active]){background:var(--background-active);color:var(--foreground-active)}:host(:not([disabled])[selected]){background:var(--background-selected);color:var(--foreground-selected)}:host(:not([disabled])[selected][active]){background:var(--background-active-selected);color:var(--foreground-active-selected)}:host(:not([disabled])[selected]) [part~=focused],:host(:not([disabled])[selected][active]) [part~=focused]{background:var(--background-active-selected);color:var(--foreground-active-selected)}[part~=select]{-webkit-margin-end:.5rem;margin-inline-end:.5rem}[part~=focused]{-webkit-box-shadow:inset 0 0 0 1px var(--border-color);box-shadow:inset 0 0 0 1px var(--border-color)}:host([disabled]){color:var(--foreground-disabled);background:var(--background-disabled)}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size);height:var(--ig-scrollbar-size);background:var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background)}:host([hidden]),[hidden]{display:none !important}:host{background:var(--background);color:var(--foreground)}[part~=wrapper]{min-height:var(--size)}[part~=wrapper]:hover::after{background:var(--hover-color);opacity:.3}[part~=wrapper][part~=selected]:hover::after{background:var(--hover-selected-color)}[part~=label]{max-height:var(--size)}:host(:not([disabled])[active]){background:var(--background-active);color:var(--foreground-active)}:host(:not([disabled])[active]):hover{color:var(--foreground-active)}[part~=active]:hover{color:var(--foreground-active)}:host(:not([disabled])[selected]){background:var(--background-selected);color:var(--foreground-selected)}:host(:not([disabled])[selected][active]){background:var(--background-active-selected);color:var(--foreground-active-selected)}:host(:not([disabled])[selected]) [part~=focused],:host(:not([disabled])[selected][active]) [part~=focused]{background:var(--background-active-selected);color:var(--foreground-active-selected)}[part~=select]{-webkit-margin-end:.5rem;margin-inline-end:.5rem}[part~=focused]{-webkit-box-shadow:inset 0 0 0 1px var(--border-color);box-shadow:inset 0 0 0 1px var(--border-color)}:host([disabled]){color:var(--foreground-disabled);background:var(--background-disabled)}`;
2
+ export const styles = css `[part~=wrapper]:hover::after{opacity:.3}[part~=wrapper][part~=selected]:hover::after{background:var(--hover-selected-color)}:host(:not([disabled])[active]):hover{color:var(--foreground-active)}[part~=active]:hover{color:var(--foreground-active)}`;
3
3
  //# sourceMappingURL=item.indigo.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"item.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/tree/themes/shared/item.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,miEAAmiE,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size);height:var(--ig-scrollbar-size);background:var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background)}:host([hidden]),[hidden]{display:none !important}:host{background:var(--background);color:var(--foreground)}[part~=wrapper]{min-height:var(--size)}[part~=wrapper]:hover::after{background:var(--hover-color);opacity:.3}[part~=wrapper][part~=selected]:hover::after{background:var(--hover-selected-color)}[part~=label]{max-height:var(--size)}:host(:not([disabled])[active]){background:var(--background-active);color:var(--foreground-active)}:host(:not([disabled])[active]):hover{color:var(--foreground-active)}[part~=active]:hover{color:var(--foreground-active)}:host(:not([disabled])[selected]){background:var(--background-selected);color:var(--foreground-selected)}:host(:not([disabled])[selected][active]){background:var(--background-active-selected);color:var(--foreground-active-selected)}:host(:not([disabled])[selected]) [part~=focused],:host(:not([disabled])[selected][active]) [part~=focused]{background:var(--background-active-selected);color:var(--foreground-active-selected)}[part~=select]{-webkit-margin-end:.5rem;margin-inline-end:.5rem}[part~=focused]{-webkit-box-shadow:inset 0 0 0 1px var(--border-color);box-shadow:inset 0 0 0 1px var(--border-color)}:host([disabled]){color:var(--foreground-disabled);background:var(--background-disabled)}`;\n"]}
1
+ {"version":3,"file":"item.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/tree/themes/shared/item.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,uPAAuP,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part~=wrapper]:hover::after{opacity:.3}[part~=wrapper][part~=selected]:hover::after{background:var(--hover-selected-color)}:host(:not([disabled])[active]):hover{color:var(--foreground-active)}[part~=active]:hover{color:var(--foreground-active)}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size);height:var(--ig-scrollbar-size);background:var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background)}:host([hidden]),[hidden]{display:none !important}:host{background:var(--background);color:var(--foreground)}[part~=wrapper]{min-height:var(--size)}[part~=wrapper]:hover::after{background:var(--hover-color)}[part~=wrapper][part~=selected]:hover::after{background:var(--hover-selected-color)}[part~=label]{max-height:var(--size)}:host(:not([disabled])[active]){background:var(--background-active);color:var(--foreground-active)}:host(:not([disabled])[selected]){background:var(--background-selected);color:var(--foreground-selected)}:host(:not([disabled])[selected][active]){background:var(--background-active-selected);color:var(--foreground-active-selected)}:host(:not([disabled])[selected]) [part~=focused],:host(:not([disabled])[selected][active]) [part~=focused]{background:var(--background-active-selected);color:var(--foreground-active-selected)}[part~=focused]{-webkit-box-shadow:inset 0 0 0 1px var(--border-color);box-shadow:inset 0 0 0 1px var(--border-color)}:host([disabled]){color:var(--foreground-disabled);background:var(--background-disabled)}`;
2
+ export const styles = css `[part~=select]{-webkit-margin-end:.25rem;margin-inline-end:.25rem}`;
3
3
  //# sourceMappingURL=item.material.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"item.material.css.js","sourceRoot":"","sources":["../../../../../src/components/tree/themes/shared/item.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,+1DAA+1D,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host *,:host *::before,:host *::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size);height:var(--ig-scrollbar-size);background:var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background)}:host([hidden]),[hidden]{display:none !important}:host{background:var(--background);color:var(--foreground)}[part~=wrapper]{min-height:var(--size)}[part~=wrapper]:hover::after{background:var(--hover-color)}[part~=wrapper][part~=selected]:hover::after{background:var(--hover-selected-color)}[part~=label]{max-height:var(--size)}:host(:not([disabled])[active]){background:var(--background-active);color:var(--foreground-active)}:host(:not([disabled])[selected]){background:var(--background-selected);color:var(--foreground-selected)}:host(:not([disabled])[selected][active]){background:var(--background-active-selected);color:var(--foreground-active-selected)}:host(:not([disabled])[selected]) [part~=focused],:host(:not([disabled])[selected][active]) [part~=focused]{background:var(--background-active-selected);color:var(--foreground-active-selected)}[part~=focused]{-webkit-box-shadow:inset 0 0 0 1px var(--border-color);box-shadow:inset 0 0 0 1px var(--border-color)}:host([disabled]){color:var(--foreground-disabled);background:var(--background-disabled)}`;\n"]}
1
+ {"version":3,"file":"item.material.css.js","sourceRoot":"","sources":["../../../../../src/components/tree/themes/shared/item.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,oEAAoE,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`[part~=select]{-webkit-margin-end:.25rem;margin-inline-end:.25rem}`;\n"]}
@@ -22,10 +22,11 @@ import type IgcTreeComponent from './tree.js';
22
22
  */
23
23
  export default class IgcTreeItemComponent extends LitElement {
24
24
  static readonly tagName = "igc-tree-item";
25
- static styles: import("lit").CSSResult;
25
+ static styles: import("lit").CSSResult[];
26
26
  static register(): void;
27
27
  private tabbableEl?;
28
28
  private focusedProgrammatically;
29
+ private groupRef;
29
30
  private animationPlayer;
30
31
  /** A reference to the tree the item is a part of. */
31
32
  tree?: IgcTreeComponent;
@@ -36,8 +37,6 @@ export default class IgcTreeItemComponent extends LitElement {
36
37
  private contentList;
37
38
  /** @private */
38
39
  wrapper: HTMLElement;
39
- /** @private */
40
- private group;
41
40
  private isFocused;
42
41
  /** @private */
43
42
  hasChildren: boolean;
@@ -81,7 +80,6 @@ export default class IgcTreeItemComponent extends LitElement {
81
80
  * @attr
82
81
  */
83
82
  value: any;
84
- firstUpdated(): void;
85
83
  private toggleAnimation;
86
84
  protected bothChange(): void;
87
85
  protected expandedChange(oldValue: boolean): void;
@@ -6,9 +6,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { LitElement, html, nothing } from 'lit';
8
8
  import { property, query, queryAssignedElements, state, } from 'lit/decorators.js';
9
+ import { createRef, ref } from 'lit/directives/ref.js';
9
10
  import { styles } from './themes/item.base.css.js';
10
11
  import { all } from './themes/item.js';
11
- import { AnimationPlayer } from '../../animations/player.js';
12
+ import { styles as shared } from './themes/shared/item.common.css.js';
13
+ import { addAnimationController } from '../../animations/player.js';
12
14
  import { growVerIn, growVerOut } from '../../animations/presets/grow/index.js';
13
15
  import { themes } from '../../theming/theming-decorator.js';
14
16
  import IgcCheckboxComponent from '../checkbox/checkbox.js';
@@ -22,6 +24,8 @@ let IgcTreeItemComponent = class IgcTreeItemComponent extends LitElement {
22
24
  constructor() {
23
25
  super(...arguments);
24
26
  this.focusedProgrammatically = false;
27
+ this.groupRef = createRef();
28
+ this.animationPlayer = addAnimationController(this, this.groupRef);
25
29
  this.parent = null;
26
30
  this.init = false;
27
31
  this.isFocused = false;
@@ -39,9 +43,6 @@ let IgcTreeItemComponent = class IgcTreeItemComponent extends LitElement {
39
43
  static register() {
40
44
  registerComponent(this, IgcIconComponent, IgcCheckboxComponent, IgcCircularProgressComponent);
41
45
  }
42
- firstUpdated() {
43
- this.animationPlayer = new AnimationPlayer(this.group);
44
- }
45
46
  async toggleAnimation(dir) {
46
47
  const animation = dir === 'open' ? growVerIn : growVerOut;
47
48
  const [_, event] = await Promise.all([
@@ -146,7 +147,6 @@ let IgcTreeItemComponent = class IgcTreeItemComponent extends LitElement {
146
147
  return this.parent?.path ? [...this.parent.path, this] : [this];
147
148
  }
148
149
  itemClick(event) {
149
- event.stopPropagation();
150
150
  if (this.disabled) {
151
151
  return;
152
152
  }
@@ -385,14 +385,14 @@ let IgcTreeItemComponent = class IgcTreeItemComponent extends LitElement {
385
385
  </slot>
386
386
  </div>
387
387
  </div>
388
- <div role="group" aria-hidden=${!this.expanded}>
388
+ <div ${ref(this.groupRef)} role="group" aria-hidden=${!this.expanded}>
389
389
  <slot @slotchange=${this.handleChange}></slot>
390
390
  </div>
391
391
  `;
392
392
  }
393
393
  };
394
394
  IgcTreeItemComponent.tagName = 'igc-tree-item';
395
- IgcTreeItemComponent.styles = styles;
395
+ IgcTreeItemComponent.styles = [styles, shared];
396
396
  __decorate([
397
397
  blazorSuppress()
398
398
  ], IgcTreeItemComponent.prototype, "tree", void 0);
@@ -406,9 +406,6 @@ __decorate([
406
406
  query('#wrapper'),
407
407
  blazorSuppress()
408
408
  ], IgcTreeItemComponent.prototype, "wrapper", void 0);
409
- __decorate([
410
- query('[role="group"]', true)
411
- ], IgcTreeItemComponent.prototype, "group", void 0);
412
409
  __decorate([
413
410
  state()
414
411
  ], IgcTreeItemComponent.prototype, "isFocused", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"tree-item.js","sourceRoot":"","sources":["../../../src/components/tree/tree-item.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\n\nimport { styles } from './themes/item.base.css.js';\nimport { all } from './themes/item.js';\nimport type IgcTreeComponent from './tree.js';\nimport { IgcTreeNavigationService } from './tree.navigation.js';\nimport { IgcTreeSelectionService } from './tree.selection.js';\nimport { AnimationPlayer } from '../../animations/player.js';\nimport { growVerIn, growVerOut } from '../../animations/presets/grow/index.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport IgcCheckboxComponent from '../checkbox/checkbox.js';\nimport { blazorSuppress } from '../common/decorators/blazorSuppress.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { isLTR, partNameMap } from '../common/util.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport IgcCircularProgressComponent from '../progress/circular-progress.js';\n\n/**\n * The tree-item component represents a child item of the tree component or another tree item.\n *\n * @element igc-tree-item\n *\n * @slot - Renders nested tree-item component.\n * @slot label - Renders the tree item container.\n * @slot indicator - Renders the expand indicator container.\n * @slot loading - Renders the tree item loading indicator container.\n * @slot indentation - Renders the container (by default the space) before the tree item.\n *\n * @csspart wrapper - The wrapper for the tree item.\n * @csspart selected - Indicates selected state. Applies to `wrapper`.\n * @csspart focused - Indicates focused state. Applies to `wrapper`.\n * @csspart active - Indicates an active state. Applies to `wrapper`.\n * @csspart indicator - The expand indicator of the tree item.\n * @csspart label - The tree item content.\n * @csspart text - The tree item displayed text.\n * @csspart select - The checkbox of the tree item when selection is enabled.\n */\n@themes(all, true)\nexport default class IgcTreeItemComponent extends LitElement {\n public static readonly tagName = 'igc-tree-item';\n public static override styles = styles;\n\n public static register() {\n registerComponent(\n this,\n IgcIconComponent,\n IgcCheckboxComponent,\n IgcCircularProgressComponent\n );\n }\n\n private tabbableEl?: HTMLElement[];\n private focusedProgrammatically = false;\n private animationPlayer!: AnimationPlayer;\n\n /** A reference to the tree the item is a part of. */\n @blazorSuppress()\n public tree?: IgcTreeComponent;\n /** The parent item of the current tree item (if any) */\n public parent: IgcTreeItemComponent | null = null;\n\n /** @private */\n @blazorSuppress()\n public init = false;\n\n @queryAssignedElements({ slot: 'label', flatten: true })\n private contentList!: Array<HTMLElement>;\n\n /** @private */\n @query('#wrapper')\n @blazorSuppress()\n public wrapper!: HTMLElement;\n\n /** @private */\n @query('[role=\"group\"]', true)\n private group!: HTMLElement;\n\n @state()\n private isFocused = false;\n\n /** @private */\n @state()\n @blazorSuppress()\n public hasChildren = false;\n\n /** The depth of the item, relative to the root. */\n @state()\n public level = 0;\n\n /** @private */\n @state()\n @blazorSuppress()\n public indeterminate = false;\n\n /**\n * The tree item label.\n * @attr\n */\n @property()\n public label = '';\n\n /**\n * The tree item expansion state.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public expanded = false;\n\n /**\n * Marks the item as the tree's active item.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public active = false;\n\n /**\n * Get/Set whether the tree item is disabled. Disabled items are ignored for user interactions.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public disabled = false;\n\n /**\n * The tree item selection state.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public selected = false;\n\n /**\n * To be used for load-on-demand scenarios in order to specify whether the item is loading data.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public loading = false;\n\n /**\n * The value entry that the tree item is visualizing. Required for searching through items.\n * @type any\n * @attr\n */\n @property({ attribute: true })\n public value: any = undefined;\n\n public override firstUpdated() {\n this.animationPlayer = new AnimationPlayer(this.group);\n }\n\n private async toggleAnimation(dir: 'open' | 'close') {\n const animation = dir === 'open' ? growVerIn : growVerOut;\n\n const [_, event] = await Promise.all([\n this.animationPlayer.stopAll(),\n this.animationPlayer.play(animation()),\n ]);\n\n return event.type === 'finish';\n }\n\n @watch('expanded', { waitUntilFirstUpdate: true })\n @watch('hasChildren', { waitUntilFirstUpdate: true })\n protected bothChange(): void {\n if (this.hasChildren) {\n this.setAttribute('aria-expanded', this.expanded.toString());\n } else {\n this.removeAttribute('aria-expanded');\n }\n }\n\n @watch('expanded')\n protected expandedChange(oldValue: boolean): void {\n // always update the visible cache\n this.navService?.update_visible_cache(this, this.expanded);\n if (!oldValue) {\n return;\n }\n // await for load on demand children\n Promise.resolve().then(() => {\n if (this.navService?.focusedItem !== this && !this.isFocused) {\n this.navService?.focusedItem?.wrapper?.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n }\n });\n }\n\n @watch('active', { waitUntilFirstUpdate: true })\n protected activeChange(): void {\n if ((this.active && this.navService?.activeItem === this) || !this.active) {\n return;\n }\n if (this.navService) {\n this.navService.setActiveItem(this, false);\n }\n // Expand and scroll to the newly active item\n this.tree?.expandToItem(this);\n // Await for expanding\n Promise.resolve().then(() => {\n this.wrapper?.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n });\n }\n\n @watch('disabled')\n protected disabledChange(): void {\n this.navService?.update_disabled_cache(this);\n }\n\n @watch('selected', { waitUntilFirstUpdate: true })\n protected selectedChange(): void {\n if (this.selected && !this.selectionService?.isItemSelected(this)) {\n this.selectionService?.selectItemsWithNoEvent([this]);\n }\n if (!this.selected && this.selectionService?.isItemSelected(this)) {\n this.selectionService?.deselectItemsWithNoEvent([this]);\n }\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this.tree = this.closest('igc-tree') as IgcTreeComponent;\n this.parent = this.parentElement?.closest(\n 'igc-tree-item'\n ) as IgcTreeItemComponent | null;\n this.level = this.parent ? this.parent.level + 1 : 0;\n this.setAttribute('role', 'treeitem');\n this.addEventListener('blur', this.onBlur);\n this.addEventListener('focus', this.onFocus);\n this.addEventListener('click', this.itemClick);\n this.activeChange();\n // if the item is not added/moved runtime\n if (this.init) {\n this.selectedChange();\n } else {\n // retriger the item selection state in order to update the collections within the selectionService\n // and to handle correctly the itemParents recursively to the top-most ancestor\n this.selectionService?.retriggerItemState(this);\n }\n this.init = false;\n }\n\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.selectionService?.ensureStateOnItemDelete(this);\n this.navService?.delete_item(this);\n }\n\n private get selectionService(): IgcTreeSelectionService | undefined {\n return this.tree?.selectionService;\n }\n\n private get navService(): IgcTreeNavigationService | undefined {\n return this.tree?.navService;\n }\n\n private get parts() {\n return {\n selected: this.selected,\n focused: this.isFocused,\n active: this.active,\n };\n }\n\n private get directChildren(): Array<IgcTreeItemComponent> {\n return this.allChildren.filter(\n (x) =>\n (x.parent ?? x.parentElement?.closest('igc-tree-item'))?.isSameNode(\n this\n )\n ) as IgcTreeItemComponent[];\n }\n\n private get allChildren(): Array<IgcTreeItemComponent> {\n return Array.from(this.querySelectorAll(`igc-tree-item`));\n }\n\n /** The full path to the tree item, starting from the top-most ancestor. */\n public get path(): IgcTreeItemComponent[] {\n return this.parent?.path ? [...this.parent.path, this] : [this];\n }\n\n private itemClick(event: MouseEvent): void {\n event.stopPropagation();\n if (this.disabled) {\n return;\n }\n this.tabIndex = 0;\n if (this.tree?.toggleNodeOnClick && event.button === 0) {\n if (this.expanded) {\n this.collapseWithEvent();\n } else {\n this.expandWithEvent();\n }\n }\n this.navService?.setFocusedAndActiveItem(this, true, false);\n }\n\n private expandIndicatorClick(): void {\n if (this.disabled) {\n return;\n }\n if (this.expanded) {\n this.collapseWithEvent();\n } else {\n this.expandWithEvent();\n }\n }\n\n private selectorClick(event: MouseEvent): void {\n event.preventDefault();\n if (this.tree?.toggleNodeOnClick) {\n event.stopPropagation();\n }\n if (event.shiftKey) {\n this.selectionService?.selectMultipleItems(this);\n return;\n }\n if (this.selected) {\n this.selectionService?.deselectItem(this);\n } else {\n this.selectionService?.selectItem(this);\n }\n }\n\n private onFocus(): void {\n if (this.disabled) {\n return;\n }\n if (this.navService?.focusedItem !== this) {\n this.navService?.focusItem(this, false);\n this.wrapper?.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n }\n if (this.tabbableEl && this.tabbableEl.length) {\n // set tabIndex = 0 to all tabbable elements\n // focus the first one\n this.tabbableEl.forEach((element: HTMLElement) => {\n element.tabIndex = 0;\n });\n this.focusedProgrammatically = true;\n this.tabbableEl[0].focus();\n return;\n }\n this.isFocused = true;\n }\n\n private onBlur(): void {\n this.isFocused = false;\n }\n\n private onFocusIn(ev: Event): void {\n ev?.stopPropagation();\n if (!this.disabled) {\n // clicking directly over tabbable element when the item is not focused\n if (!this.focusedProgrammatically) {\n this.tabbableEl?.forEach((element: HTMLElement) => {\n element.tabIndex = 0;\n });\n }\n this.removeAttribute('tabIndex');\n this.isFocused = true;\n this.focusedProgrammatically = false;\n }\n }\n\n private onFocusOut(ev: Event): void {\n ev?.stopPropagation();\n this.isFocused = false;\n this.tabbableEl?.forEach((element: HTMLElement) => {\n element.tabIndex = -1;\n });\n\n if (this.navService?.focusedItem === this) {\n // called twice when clicking on already focused item with link (itemClick handler)\n this.setAttribute('tabindex', '0');\n }\n }\n\n private labelChange(): void {\n const firstElement = this.contentList[0];\n const tabbableSelector =\n 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])';\n\n this.tabbableEl = [\n ...firstElement.querySelectorAll<HTMLElement>(tabbableSelector),\n ];\n if (firstElement.matches(tabbableSelector)) {\n this.tabbableEl.splice(0, 0, firstElement);\n }\n\n if (this.tabbableEl && this.tabbableEl.length) {\n this.setAttribute('role', 'none');\n this.tabbableEl[0].setAttribute('role', 'treeitem');\n\n this.tabbableEl.forEach((element: HTMLElement) => {\n element.tabIndex = -1;\n });\n } else {\n this.setAttribute('role', 'treeitem');\n }\n }\n\n private handleChange(): void {\n this.hasChildren = !!this.directChildren.length;\n // there is no need to update nested children beacuse they're state is already up to date\n this.navService?.update_visible_cache(this, this.expanded, false);\n }\n\n /**\n * Returns a collection of child items.\n * If the parameter value is true returns all tree item's direct children,\n * otherwise - only the direct children.\n */\n @blazorSuppress()\n public getChildren(\n options: { flatten: boolean } = { flatten: false }\n ): IgcTreeItemComponent[] {\n if (options.flatten) {\n return this.allChildren;\n } else {\n return this.directChildren;\n }\n }\n\n /**\n * @private\n * Expands the tree item.\n */\n public async expandWithEvent() {\n if (this.expanded) {\n return;\n }\n const args = {\n detail: this,\n cancelable: true,\n };\n\n const allowed = this.tree?.emitEvent('igcItemExpanding', args);\n\n if (!allowed) {\n return;\n }\n\n if (this.tree?.singleBranchExpand) {\n const pathSet = new Set(this.path.splice(0, this.path.length - 1));\n this.tree.items.forEach((item: IgcTreeItemComponent) => {\n if (!pathSet.has(item)) {\n item.collapseWithEvent();\n }\n });\n }\n\n this.expanded = true;\n if (await this.toggleAnimation('open')) {\n this.tree?.emitEvent('igcItemExpanded', { detail: this });\n }\n }\n\n /**\n * @private\n * Collapses the tree item.\n */\n public async collapseWithEvent() {\n if (!this.expanded) {\n return;\n }\n const args = {\n detail: this,\n cancelable: true,\n };\n\n const allowed = this.tree?.emitEvent('igcItemCollapsing', args);\n\n if (!allowed) {\n return;\n }\n\n this.expanded = false;\n if (await this.toggleAnimation('close')) {\n this.tree?.emitEvent('igcItemCollapsed', { detail: this });\n }\n }\n\n /** Toggles tree item expansion state. */\n public toggle(): void {\n this.expanded = !this.expanded;\n }\n\n /** Expands the tree item. */\n public expand(): void {\n this.expanded = true;\n }\n\n /** Collapses the tree item. */\n public collapse(): void {\n this.expanded = false;\n }\n\n protected override render() {\n const ltr = this.tree ? isLTR(this.tree) : true;\n\n return html`\n <div id=\"wrapper\" part=\"wrapper ${partNameMap(this.parts)}\">\n <div\n style=\"width: calc(${this.level} * var(--igc-tree-indentation-size))\"\n part=\"indentation\"\n aria-hidden=\"true\"\n >\n <slot name=\"indentation\"></slot>\n </div>\n <div part=\"indicator\" aria-hidden=\"true\">\n ${this.loading\n ? html`\n <slot name=\"loading\">\n <igc-circular-progress indeterminate></igc-circular-progress>\n </slot>\n `\n : html`\n <slot\n name=\"indicator\"\n @click=${this.tree?.toggleNodeOnClick\n ? nothing\n : this.expandIndicatorClick}\n >\n ${this.hasChildren\n ? html`\n <igc-icon\n name=${this.expanded\n ? 'keyboard_arrow_down'\n : !ltr\n ? 'navigate_before'\n : 'keyboard_arrow_right'}\n collection=\"internal\"\n >\n </igc-icon>\n `\n : ''}\n </slot>\n `}\n </div>\n ${this.tree?.selection !== 'none'\n ? html`\n <div part=\"select\" aria-hidden=\"true\">\n <igc-checkbox\n @click=${this.selectorClick}\n .checked=${this.selected}\n .indeterminate=${this.indeterminate}\n .disabled=${this.disabled}\n tabindex=\"-1\"\n >\n </igc-checkbox>\n </div>\n `\n : ''}\n <div part=\"label\">\n <slot\n name=\"label\"\n @slotchange=${this.labelChange}\n @focusin=${this.onFocusIn}\n @focusout=${this.onFocusOut}\n >\n <span part=\"text\">${this.label}</span>\n </slot>\n </div>\n </div>\n <div role=\"group\" aria-hidden=${!this.expanded}>\n <slot @slotchange=${this.handleChange}></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tree-item': IgcTreeItemComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"tree-item.js","sourceRoot":"","sources":["../../../src/components/tree/tree-item.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EACL,QAAQ,EACR,KAAK,EACL,qBAAqB,EACrB,KAAK,GACN,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAO,SAAS,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAItE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAC/C,OAAO,4BAA4B,MAAM,kCAAkC,CAAC;AAuB7D,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,UAAU;IAA7C;;QAeL,4BAAuB,GAAG,KAAK,CAAC;QAEhC,aAAQ,GAAqB,SAAS,EAAE,CAAC;QAEzC,oBAAe,GAAG,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAM/D,WAAM,GAAgC,IAAI,CAAC;QAI3C,SAAI,GAAG,KAAK,CAAC;QAWZ,cAAS,GAAG,KAAK,CAAC;QAKnB,gBAAW,GAAG,KAAK,CAAC;QAIpB,UAAK,GAAG,CAAC,CAAC;QAKV,kBAAa,GAAG,KAAK,CAAC;QAOtB,UAAK,GAAG,EAAE,CAAC;QAOX,aAAQ,GAAG,KAAK,CAAC;QAOjB,WAAM,GAAG,KAAK,CAAC;QAOf,aAAQ,GAAG,KAAK,CAAC;QAOjB,aAAQ,GAAG,KAAK,CAAC;QAOjB,YAAO,GAAG,KAAK,CAAC;QAQhB,UAAK,GAAQ,SAAS,CAAC;IA4ahC,CAAC;IA/gBQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CACf,IAAI,EACJ,gBAAgB,EAChB,oBAAoB,EACpB,4BAA4B,CAC7B,CAAC;IACJ,CAAC;IA8FO,KAAK,CAAC,eAAe,CAAC,GAAqB;QACjD,MAAM,SAAS,GAAG,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAE1D,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;YAC9B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;SACvC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;IACjC,CAAC;IAIS,UAAU;QAClB,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAGS,cAAc,CAAC,QAAiB;QAExC,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAC1B,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC7D,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,CAAC;oBACpD,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,SAAS;oBAChB,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAGS,YAAY;QACpB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YAC1E,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QAE9B,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAC1B,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC;gBAC3B,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAGS,cAAc;QACtB,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAGS,cAAc;QACtB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAClE,IAAI,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAEe,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAqB,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CACvC,eAAe,CACe,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;aAAM,CAAC;YAGN,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAEe,oBAAoB;QAClC,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,IAAY,gBAAgB;QAC1B,OAAO,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC;IACrC,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC;IAC/B,CAAC;IAED,IAAY,KAAK;QACf,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,SAAS;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC;IAED,IAAY,cAAc;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACnC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAChD,CAAC;IAC9B,CAAC;IAED,IAAY,WAAW;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;IAC5D,CAAC;IAGD,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAEO,SAAS,CAAC,KAAiB;QACjC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,IAAI,CAAC,IAAI,EAAE,iBAAiB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IAEO,oBAAoB;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,KAAiB;QACrC,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC;YACjC,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAEO,OAAO;QACb,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,KAAK,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACxC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC;gBAC3B,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAG9C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAoB,EAAE,EAAE;gBAC/C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAEO,MAAM;QACZ,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAEO,SAAS,CAAC,EAAS;QACzB,EAAE,EAAE,eAAe,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEnB,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAClC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,OAAoB,EAAE,EAAE;oBAChD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,EAAS;QAC1B,EAAE,EAAE,eAAe,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,OAAoB,EAAE,EAAE;YAChD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,UAAU,EAAE,WAAW,KAAK,IAAI,EAAE,CAAC;YAE1C,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,WAAW;QACjB,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,gBAAgB,GACpB,oFAAoF,CAAC;QAEvF,IAAI,CAAC,UAAU,GAAG;YAChB,GAAG,YAAY,CAAC,gBAAgB,CAAc,gBAAgB,CAAC;SAChE,CAAC;QACF,IAAI,YAAY,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAEpD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,OAAoB,EAAE,EAAE;gBAC/C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAEhD,IAAI,CAAC,UAAU,EAAE,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAQM,WAAW,CAChB,UAAgC,EAAE,OAAO,EAAE,KAAK,EAAE;QAElD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,WAAW,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,cAAc,CAAC;QAC7B,CAAC;IACH,CAAC;IAMM,KAAK,CAAC,eAAe;QAC1B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI;SACjB,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QAE/D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAA0B,EAAE,EAAE;gBACrD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC3B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAMM,KAAK,CAAC,iBAAiB;QAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG;YACX,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,IAAI;SACjB,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;QAEhE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAGM,MAAM;QACX,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;IACjC,CAAC;IAGM,MAAM;QACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAGM,QAAQ;QACb,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAEkB,MAAM;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEhD,OAAO,IAAI,CAAA;wCACyB,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;;+BAEhC,IAAI,CAAC,KAAK;;;;;;;YAO7B,IAAI,CAAC,OAAO;YACZ,CAAC,CAAC,IAAI,CAAA;;;;eAIH;YACH,CAAC,CAAC,IAAI,CAAA;;;2BAGS,IAAI,CAAC,IAAI,EAAE,iBAAiB;gBACnC,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,IAAI,CAAC,oBAAoB;;oBAE3B,IAAI,CAAC,WAAW;gBAChB,CAAC,CAAC,IAAI,CAAA;;iCAEO,IAAI,CAAC,QAAQ;oBAClB,CAAC,CAAC,qBAAqB;oBACvB,CAAC,CAAC,CAAC,GAAG;wBACJ,CAAC,CAAC,iBAAiB;wBACnB,CAAC,CAAC,sBAAsB;;;;uBAI/B;gBACH,CAAC,CAAC,EAAE;;eAET;;UAEL,IAAI,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM;YAC/B,CAAC,CAAC,IAAI,CAAA;;;2BAGW,IAAI,CAAC,aAAa;6BAChB,IAAI,CAAC,QAAQ;mCACP,IAAI,CAAC,aAAa;8BACvB,IAAI,CAAC,QAAQ;;;;;aAK9B;YACH,CAAC,CAAC,EAAE;;;;0BAIY,IAAI,CAAC,WAAW;uBACnB,IAAI,CAAC,SAAS;wBACb,IAAI,CAAC,UAAU;;gCAEP,IAAI,CAAC,KAAK;;;;aAI7B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,IAAI,CAAC,QAAQ;4BAC9C,IAAI,CAAC,YAAY;;KAExC,CAAC;IACJ,CAAC;;AAlhBsB,4BAAO,GAAG,eAAe,AAAlB,CAAmB;AAC1B,2BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAqB1C;IADN,cAAc,EAAE;kDACc;AAMxB;IADN,cAAc,EAAE;kDACG;AAGZ;IADP,qBAAqB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yDACf;AAKlC;IAFN,KAAK,CAAC,UAAU,CAAC;IACjB,cAAc,EAAE;qDACY;AAGrB;IADP,KAAK,EAAE;uDACkB;AAKnB;IAFN,KAAK,EAAE;IACP,cAAc,EAAE;yDACU;AAIpB;IADN,KAAK,EAAE;mDACS;AAKV;IAFN,KAAK,EAAE;IACP,cAAc,EAAE;2DACY;AAOtB;IADN,QAAQ,EAAE;mDACO;AAOX;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sDACnB;AAOjB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACrB;AAOf;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sDACnB;AAOjB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sDACnB;AAOjB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACpB;AAQhB;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;mDACA;AAepB;IAFT,KAAK,CAAC,UAAU,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IACjD,KAAK,CAAC,aAAa,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;sDAOpD;AAGS;IADT,KAAK,CAAC,UAAU,CAAC;0DAiBjB;AAGS;IADT,KAAK,CAAC,QAAQ,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;wDAkB/C;AAGS;IADT,KAAK,CAAC,UAAU,CAAC;0DAGjB;AAGS;IADT,KAAK,CAAC,UAAU,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;0DAQjD;AAqMM;IADN,cAAc,EAAE;uDAShB;AAhYkB,oBAAoB;IADxC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC;GACG,oBAAoB,CAohBxC;eAphBoB,oBAAoB","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { Ref, createRef, ref } from 'lit/directives/ref.js';\n\nimport { styles } from './themes/item.base.css.js';\nimport { all } from './themes/item.js';\nimport { styles as shared } from './themes/shared/item.common.css.js';\nimport type IgcTreeComponent from './tree.js';\nimport { IgcTreeNavigationService } from './tree.navigation.js';\nimport { IgcTreeSelectionService } from './tree.selection.js';\nimport { addAnimationController } from '../../animations/player.js';\nimport { growVerIn, growVerOut } from '../../animations/presets/grow/index.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport IgcCheckboxComponent from '../checkbox/checkbox.js';\nimport { blazorSuppress } from '../common/decorators/blazorSuppress.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { isLTR, partNameMap } from '../common/util.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport IgcCircularProgressComponent from '../progress/circular-progress.js';\n\n/**\n * The tree-item component represents a child item of the tree component or another tree item.\n *\n * @element igc-tree-item\n *\n * @slot - Renders nested tree-item component.\n * @slot label - Renders the tree item container.\n * @slot indicator - Renders the expand indicator container.\n * @slot loading - Renders the tree item loading indicator container.\n * @slot indentation - Renders the container (by default the space) before the tree item.\n *\n * @csspart wrapper - The wrapper for the tree item.\n * @csspart selected - Indicates selected state. Applies to `wrapper`.\n * @csspart focused - Indicates focused state. Applies to `wrapper`.\n * @csspart active - Indicates an active state. Applies to `wrapper`.\n * @csspart indicator - The expand indicator of the tree item.\n * @csspart label - The tree item content.\n * @csspart text - The tree item displayed text.\n * @csspart select - The checkbox of the tree item when selection is enabled.\n */\n@themes(all, true)\nexport default class IgcTreeItemComponent extends LitElement {\n public static readonly tagName = 'igc-tree-item';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n this,\n IgcIconComponent,\n IgcCheckboxComponent,\n IgcCircularProgressComponent\n );\n }\n\n private tabbableEl?: HTMLElement[];\n private focusedProgrammatically = false;\n\n private groupRef: Ref<HTMLElement> = createRef();\n\n private animationPlayer = addAnimationController(this, this.groupRef);\n\n /** A reference to the tree the item is a part of. */\n @blazorSuppress()\n public tree?: IgcTreeComponent;\n /** The parent item of the current tree item (if any) */\n public parent: IgcTreeItemComponent | null = null;\n\n /** @private */\n @blazorSuppress()\n public init = false;\n\n @queryAssignedElements({ slot: 'label', flatten: true })\n private contentList!: Array<HTMLElement>;\n\n /** @private */\n @query('#wrapper')\n @blazorSuppress()\n public wrapper!: HTMLElement;\n\n @state()\n private isFocused = false;\n\n /** @private */\n @state()\n @blazorSuppress()\n public hasChildren = false;\n\n /** The depth of the item, relative to the root. */\n @state()\n public level = 0;\n\n /** @private */\n @state()\n @blazorSuppress()\n public indeterminate = false;\n\n /**\n * The tree item label.\n * @attr\n */\n @property()\n public label = '';\n\n /**\n * The tree item expansion state.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public expanded = false;\n\n /**\n * Marks the item as the tree's active item.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public active = false;\n\n /**\n * Get/Set whether the tree item is disabled. Disabled items are ignored for user interactions.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public disabled = false;\n\n /**\n * The tree item selection state.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public selected = false;\n\n /**\n * To be used for load-on-demand scenarios in order to specify whether the item is loading data.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public loading = false;\n\n /**\n * The value entry that the tree item is visualizing. Required for searching through items.\n * @type any\n * @attr\n */\n @property({ attribute: true })\n public value: any = undefined;\n\n private async toggleAnimation(dir: 'open' | 'close') {\n const animation = dir === 'open' ? growVerIn : growVerOut;\n\n const [_, event] = await Promise.all([\n this.animationPlayer.stopAll(),\n this.animationPlayer.play(animation()),\n ]);\n\n return event.type === 'finish';\n }\n\n @watch('expanded', { waitUntilFirstUpdate: true })\n @watch('hasChildren', { waitUntilFirstUpdate: true })\n protected bothChange(): void {\n if (this.hasChildren) {\n this.setAttribute('aria-expanded', this.expanded.toString());\n } else {\n this.removeAttribute('aria-expanded');\n }\n }\n\n @watch('expanded')\n protected expandedChange(oldValue: boolean): void {\n // always update the visible cache\n this.navService?.update_visible_cache(this, this.expanded);\n if (!oldValue) {\n return;\n }\n // await for load on demand children\n Promise.resolve().then(() => {\n if (this.navService?.focusedItem !== this && !this.isFocused) {\n this.navService?.focusedItem?.wrapper?.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n }\n });\n }\n\n @watch('active', { waitUntilFirstUpdate: true })\n protected activeChange(): void {\n if ((this.active && this.navService?.activeItem === this) || !this.active) {\n return;\n }\n if (this.navService) {\n this.navService.setActiveItem(this, false);\n }\n // Expand and scroll to the newly active item\n this.tree?.expandToItem(this);\n // Await for expanding\n Promise.resolve().then(() => {\n this.wrapper?.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n });\n }\n\n @watch('disabled')\n protected disabledChange(): void {\n this.navService?.update_disabled_cache(this);\n }\n\n @watch('selected', { waitUntilFirstUpdate: true })\n protected selectedChange(): void {\n if (this.selected && !this.selectionService?.isItemSelected(this)) {\n this.selectionService?.selectItemsWithNoEvent([this]);\n }\n if (!this.selected && this.selectionService?.isItemSelected(this)) {\n this.selectionService?.deselectItemsWithNoEvent([this]);\n }\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this.tree = this.closest('igc-tree') as IgcTreeComponent;\n this.parent = this.parentElement?.closest(\n 'igc-tree-item'\n ) as IgcTreeItemComponent | null;\n this.level = this.parent ? this.parent.level + 1 : 0;\n this.setAttribute('role', 'treeitem');\n this.addEventListener('blur', this.onBlur);\n this.addEventListener('focus', this.onFocus);\n this.addEventListener('click', this.itemClick);\n this.activeChange();\n // if the item is not added/moved runtime\n if (this.init) {\n this.selectedChange();\n } else {\n // retriger the item selection state in order to update the collections within the selectionService\n // and to handle correctly the itemParents recursively to the top-most ancestor\n this.selectionService?.retriggerItemState(this);\n }\n this.init = false;\n }\n\n public override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.selectionService?.ensureStateOnItemDelete(this);\n this.navService?.delete_item(this);\n }\n\n private get selectionService(): IgcTreeSelectionService | undefined {\n return this.tree?.selectionService;\n }\n\n private get navService(): IgcTreeNavigationService | undefined {\n return this.tree?.navService;\n }\n\n private get parts() {\n return {\n selected: this.selected,\n focused: this.isFocused,\n active: this.active,\n };\n }\n\n private get directChildren(): Array<IgcTreeItemComponent> {\n return this.allChildren.filter((x) =>\n (x.parent ?? x.parentElement?.closest('igc-tree-item'))?.isSameNode(this)\n ) as IgcTreeItemComponent[];\n }\n\n private get allChildren(): Array<IgcTreeItemComponent> {\n return Array.from(this.querySelectorAll(`igc-tree-item`));\n }\n\n /** The full path to the tree item, starting from the top-most ancestor. */\n public get path(): IgcTreeItemComponent[] {\n return this.parent?.path ? [...this.parent.path, this] : [this];\n }\n\n private itemClick(event: MouseEvent): void {\n if (this.disabled) {\n return;\n }\n this.tabIndex = 0;\n if (this.tree?.toggleNodeOnClick && event.button === 0) {\n if (this.expanded) {\n this.collapseWithEvent();\n } else {\n this.expandWithEvent();\n }\n }\n this.navService?.setFocusedAndActiveItem(this, true, false);\n }\n\n private expandIndicatorClick(): void {\n if (this.disabled) {\n return;\n }\n if (this.expanded) {\n this.collapseWithEvent();\n } else {\n this.expandWithEvent();\n }\n }\n\n private selectorClick(event: MouseEvent): void {\n event.preventDefault();\n if (this.tree?.toggleNodeOnClick) {\n event.stopPropagation();\n }\n if (event.shiftKey) {\n this.selectionService?.selectMultipleItems(this);\n return;\n }\n if (this.selected) {\n this.selectionService?.deselectItem(this);\n } else {\n this.selectionService?.selectItem(this);\n }\n }\n\n private onFocus(): void {\n if (this.disabled) {\n return;\n }\n if (this.navService?.focusedItem !== this) {\n this.navService?.focusItem(this, false);\n this.wrapper?.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n }\n if (this.tabbableEl && this.tabbableEl.length) {\n // set tabIndex = 0 to all tabbable elements\n // focus the first one\n this.tabbableEl.forEach((element: HTMLElement) => {\n element.tabIndex = 0;\n });\n this.focusedProgrammatically = true;\n this.tabbableEl[0].focus();\n return;\n }\n this.isFocused = true;\n }\n\n private onBlur(): void {\n this.isFocused = false;\n }\n\n private onFocusIn(ev: Event): void {\n ev?.stopPropagation();\n if (!this.disabled) {\n // clicking directly over tabbable element when the item is not focused\n if (!this.focusedProgrammatically) {\n this.tabbableEl?.forEach((element: HTMLElement) => {\n element.tabIndex = 0;\n });\n }\n this.removeAttribute('tabIndex');\n this.isFocused = true;\n this.focusedProgrammatically = false;\n }\n }\n\n private onFocusOut(ev: Event): void {\n ev?.stopPropagation();\n this.isFocused = false;\n this.tabbableEl?.forEach((element: HTMLElement) => {\n element.tabIndex = -1;\n });\n\n if (this.navService?.focusedItem === this) {\n // called twice when clicking on already focused item with link (itemClick handler)\n this.setAttribute('tabindex', '0');\n }\n }\n\n private labelChange(): void {\n const firstElement = this.contentList[0];\n const tabbableSelector =\n 'a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])';\n\n this.tabbableEl = [\n ...firstElement.querySelectorAll<HTMLElement>(tabbableSelector),\n ];\n if (firstElement.matches(tabbableSelector)) {\n this.tabbableEl.splice(0, 0, firstElement);\n }\n\n if (this.tabbableEl && this.tabbableEl.length) {\n this.setAttribute('role', 'none');\n this.tabbableEl[0].setAttribute('role', 'treeitem');\n\n this.tabbableEl.forEach((element: HTMLElement) => {\n element.tabIndex = -1;\n });\n } else {\n this.setAttribute('role', 'treeitem');\n }\n }\n\n private handleChange(): void {\n this.hasChildren = !!this.directChildren.length;\n // there is no need to update nested children beacuse they're state is already up to date\n this.navService?.update_visible_cache(this, this.expanded, false);\n }\n\n /**\n * Returns a collection of child items.\n * If the parameter value is true returns all tree item's direct children,\n * otherwise - only the direct children.\n */\n @blazorSuppress()\n public getChildren(\n options: { flatten: boolean } = { flatten: false }\n ): IgcTreeItemComponent[] {\n if (options.flatten) {\n return this.allChildren;\n } else {\n return this.directChildren;\n }\n }\n\n /**\n * @private\n * Expands the tree item.\n */\n public async expandWithEvent() {\n if (this.expanded) {\n return;\n }\n const args = {\n detail: this,\n cancelable: true,\n };\n\n const allowed = this.tree?.emitEvent('igcItemExpanding', args);\n\n if (!allowed) {\n return;\n }\n\n if (this.tree?.singleBranchExpand) {\n const pathSet = new Set(this.path.splice(0, this.path.length - 1));\n this.tree.items.forEach((item: IgcTreeItemComponent) => {\n if (!pathSet.has(item)) {\n item.collapseWithEvent();\n }\n });\n }\n\n this.expanded = true;\n if (await this.toggleAnimation('open')) {\n this.tree?.emitEvent('igcItemExpanded', { detail: this });\n }\n }\n\n /**\n * @private\n * Collapses the tree item.\n */\n public async collapseWithEvent() {\n if (!this.expanded) {\n return;\n }\n const args = {\n detail: this,\n cancelable: true,\n };\n\n const allowed = this.tree?.emitEvent('igcItemCollapsing', args);\n\n if (!allowed) {\n return;\n }\n\n this.expanded = false;\n if (await this.toggleAnimation('close')) {\n this.tree?.emitEvent('igcItemCollapsed', { detail: this });\n }\n }\n\n /** Toggles tree item expansion state. */\n public toggle(): void {\n this.expanded = !this.expanded;\n }\n\n /** Expands the tree item. */\n public expand(): void {\n this.expanded = true;\n }\n\n /** Collapses the tree item. */\n public collapse(): void {\n this.expanded = false;\n }\n\n protected override render() {\n const ltr = this.tree ? isLTR(this.tree) : true;\n\n return html`\n <div id=\"wrapper\" part=\"wrapper ${partNameMap(this.parts)}\">\n <div\n style=\"width: calc(${this.level} * var(--igc-tree-indentation-size))\"\n part=\"indentation\"\n aria-hidden=\"true\"\n >\n <slot name=\"indentation\"></slot>\n </div>\n <div part=\"indicator\" aria-hidden=\"true\">\n ${this.loading\n ? html`\n <slot name=\"loading\">\n <igc-circular-progress indeterminate></igc-circular-progress>\n </slot>\n `\n : html`\n <slot\n name=\"indicator\"\n @click=${this.tree?.toggleNodeOnClick\n ? nothing\n : this.expandIndicatorClick}\n >\n ${this.hasChildren\n ? html`\n <igc-icon\n name=${this.expanded\n ? 'keyboard_arrow_down'\n : !ltr\n ? 'navigate_before'\n : 'keyboard_arrow_right'}\n collection=\"internal\"\n >\n </igc-icon>\n `\n : ''}\n </slot>\n `}\n </div>\n ${this.tree?.selection !== 'none'\n ? html`\n <div part=\"select\" aria-hidden=\"true\">\n <igc-checkbox\n @click=${this.selectorClick}\n .checked=${this.selected}\n .indeterminate=${this.indeterminate}\n .disabled=${this.disabled}\n tabindex=\"-1\"\n >\n </igc-checkbox>\n </div>\n `\n : ''}\n <div part=\"label\">\n <slot\n name=\"label\"\n @slotchange=${this.labelChange}\n @focusin=${this.onFocusIn}\n @focusout=${this.onFocusOut}\n >\n <span part=\"text\">${this.label}</span>\n </slot>\n </div>\n </div>\n <div ${ref(this.groupRef)} role=\"group\" aria-hidden=${!this.expanded}>\n <slot @slotchange=${this.handleChange}></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tree-item': IgcTreeItemComponent;\n }\n}\n"]}
@@ -4,7 +4,7 @@ import { IgcTreeEventMap } from './tree.common.js';
4
4
  import { IgcTreeNavigationService } from './tree.navigation.js';
5
5
  import { IgcTreeSelectionService } from './tree.selection.js';
6
6
  import { Constructor } from '../common/mixins/constructor.js';
7
- declare const IgcTreeComponent_base: Constructor<import("../common/mixins/sizable.js").SizableInterface> & import("../common/mixins/constructor.js").AbstractConstructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcTreeEventMap>> & Constructor<LitElement>;
7
+ declare const IgcTreeComponent_base: Constructor<import("../common/mixins/sizable.js").SizableInterface> & Constructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcTreeEventMap>> & Constructor<LitElement>;
8
8
  /**
9
9
  * The tree allows users to represent hierarchical data in a tree-view structure,
10
10
  * maintaining parent-child relationships, as well as to define static tree-view structure without a corresponding data model.
@@ -1 +1 @@
1
- {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/components/tree/tree.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { styles } from './themes/container.base.css.js';\nimport { all } from './themes/container.js';\nimport IgcTreeItemComponent from './tree-item.js';\nimport { IgcTreeEventMap } from './tree.common.js';\nimport { IgcTreeNavigationService } from './tree.navigation.js';\nimport { IgcTreeSelectionService } from './tree.selection.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { blazorSuppress } from '../common/decorators/blazorSuppress.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { SizableMixin } from '../common/mixins/sizable.js';\n\n/**\n * The tree allows users to represent hierarchical data in a tree-view structure,\n * maintaining parent-child relationships, as well as to define static tree-view structure without a corresponding data model.\n *\n * @element igc-tree\n *\n * @slot - Renders the tree items inside default slot.\n *\n * @fires igcSelection - Emitted when item selection is changing, before the selection completes.\n * @fires igcItemCollapsed - Emitted when tree item is collapsed.\n * @fires igcItemCollapsing - Emitted when tree item is about to collapse.\n * @fires igcItemExpanded - Emitted when tree item is expanded.\n * @fires igcItemExpanding - Emitted when tree item is about to expand.\n * @fires igcItemActivated - Emitted when the tree's `active` item changes.\n */\n@themes(all)\n@blazorAdditionalDependencies('IgcTreeItemComponent')\nexport default class IgcTreeComponent extends SizableMixin(\n EventEmitterMixin<IgcTreeEventMap, Constructor<LitElement>>(LitElement)\n) {\n public static readonly tagName = 'igc-tree';\n public static styles = styles;\n\n public static register() {\n registerComponent(this, IgcTreeItemComponent);\n }\n\n /** @private */\n @blazorSuppress()\n public selectionService!: IgcTreeSelectionService;\n /** @private */\n @blazorSuppress()\n public navService!: IgcTreeNavigationService;\n\n /**\n * Whether a single or multiple of a parent's child items can be expanded.\n * @attr single-branch-expand\n */\n @property({ attribute: 'single-branch-expand', reflect: true, type: Boolean })\n public singleBranchExpand = false;\n\n /**\n * Whether clicking over nodes will change their expanded state or not.\n * @attr toggle-node-on-click\n */\n @property({ attribute: 'toggle-node-on-click', reflect: true, type: Boolean })\n public toggleNodeOnClick = false;\n\n /**\n * The selection state of the tree.\n * @attr\n */\n @property({ reflect: true })\n public selection: 'none' | 'multiple' | 'cascade' = 'none';\n\n @watch('dir')\n protected onDirChange(): void {\n this.items?.forEach((item: IgcTreeItemComponent) => {\n item.requestUpdate();\n });\n }\n\n @watch('size', { waitUntilFirstUpdate: true })\n protected onSizeChange(): void {\n this.items?.forEach((item: IgcTreeItemComponent) => {\n item.requestUpdate();\n });\n this.navService.activeItem?.wrapper?.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n }\n\n @watch('selection', { waitUntilFirstUpdate: true })\n protected selectionModeChange(): void {\n this.selectionService.clearItemsSelection();\n this.items?.forEach((item: IgcTreeItemComponent) => {\n item.requestUpdate();\n });\n }\n\n @watch('singleBranchExpand')\n protected singleBranchExpandChange(): void {\n if (this.singleBranchExpand) {\n // if activeItem -> do not collapse its branch\n if (this.navService.activeItem) {\n const path = this.navService.activeItem.path;\n const remainExpanded = new Set(path.splice(0, path.length - 1));\n this.items.forEach((item) => {\n if (!remainExpanded.has(item)) {\n item.collapseWithEvent();\n }\n });\n } else {\n this.items.forEach((item) => item.collapseWithEvent());\n }\n }\n }\n\n constructor() {\n super();\n this.selectionService = new IgcTreeSelectionService(this);\n this.navService = new IgcTreeNavigationService(this, this.selectionService);\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'tree');\n this.addEventListener('keydown', this.handleKeydown);\n // set init to true for all items which are rendered along with the tree\n this.items.forEach((i: IgcTreeItemComponent) => {\n i.init = true;\n });\n const firstNotDisabledItem = this.items.find(\n (i: IgcTreeItemComponent) => !i.disabled\n );\n if (firstNotDisabledItem) {\n firstNotDisabledItem.tabIndex = 0;\n this.navService.focusItem(firstNotDisabledItem);\n }\n }\n\n /** Returns all of the tree's items. */\n @blazorSuppress()\n public get items(): Array<IgcTreeItemComponent> {\n return Array.from(this.querySelectorAll(`igc-tree-item`));\n }\n\n private handleKeydown(event: KeyboardEvent) {\n this.navService.handleKeydown(event);\n }\n\n /** @private */\n public expandToItem(item: IgcTreeItemComponent): void {\n if (item && item.parent) {\n item.path.forEach((i) => {\n if (i !== item && !i.expanded) {\n i.expanded = true;\n }\n });\n }\n }\n\n /** Select all items if the items collection is empty. Otherwise, select the items in the items collection. */\n @blazorSuppress()\n public select(\n /* alternateType: TreeItemCollection */\n items?: IgcTreeItemComponent[]\n ): void {\n if (!items) {\n items =\n this.selection === 'cascade'\n ? this.items.filter((item: IgcTreeItemComponent) => item.level === 0)\n : this.items;\n }\n this.selectionService.selectItemsWithNoEvent(items);\n }\n\n /** Deselect all items if the items collection is empty. Otherwise, deselect the items in the items collection. */\n @blazorSuppress()\n public deselect(\n /* alternateType: TreeItemCollection */\n items?: IgcTreeItemComponent[]\n ): void {\n this.selectionService.deselectItemsWithNoEvent(items);\n }\n\n /**\n * Expands all of the passed items.\n * If no items are passed, expands ALL items.\n */\n @blazorSuppress()\n public expand(\n /* alternateType: TreeItemCollection */\n items?: IgcTreeItemComponent[]\n ): void {\n items = items || this.items;\n items.forEach((item) => (item.expanded = true));\n }\n\n /**\n * Collapses all of the passed items.\n * If no items are passed, collapses ALL items.\n */\n @blazorSuppress()\n public collapse(\n /* alternateType: TreeItemCollection */\n items?: IgcTreeItemComponent[]\n ): void {\n items = items || this.items;\n items.forEach((item) => (item.expanded = false));\n }\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tree': IgcTreeComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../../src/components/tree/tree.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { styles } from './themes/container.base.css.js';\nimport { all } from './themes/container.js';\nimport IgcTreeItemComponent from './tree-item.js';\nimport { IgcTreeEventMap } from './tree.common.js';\nimport { IgcTreeNavigationService } from './tree.navigation.js';\nimport { IgcTreeSelectionService } from './tree.selection.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';\nimport { blazorSuppress } from '../common/decorators/blazorSuppress.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { SizableMixin } from '../common/mixins/sizable.js';\n\n/**\n * The tree allows users to represent hierarchical data in a tree-view structure,\n * maintaining parent-child relationships, as well as to define static tree-view structure without a corresponding data model.\n *\n * @element igc-tree\n *\n * @slot - Renders the tree items inside default slot.\n *\n * @fires igcSelection - Emitted when item selection is changing, before the selection completes.\n * @fires igcItemCollapsed - Emitted when tree item is collapsed.\n * @fires igcItemCollapsing - Emitted when tree item is about to collapse.\n * @fires igcItemExpanded - Emitted when tree item is expanded.\n * @fires igcItemExpanding - Emitted when tree item is about to expand.\n * @fires igcItemActivated - Emitted when the tree's `active` item changes.\n */\n@themes(all)\n@blazorAdditionalDependencies('IgcTreeItemComponent')\nexport default class IgcTreeComponent extends SizableMixin(\n EventEmitterMixin<IgcTreeEventMap, Constructor<LitElement>>(LitElement)\n) {\n public static readonly tagName = 'igc-tree';\n public static styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(this, IgcTreeItemComponent);\n }\n\n /** @private */\n @blazorSuppress()\n public selectionService!: IgcTreeSelectionService;\n /** @private */\n @blazorSuppress()\n public navService!: IgcTreeNavigationService;\n\n /**\n * Whether a single or multiple of a parent's child items can be expanded.\n * @attr single-branch-expand\n */\n @property({ attribute: 'single-branch-expand', reflect: true, type: Boolean })\n public singleBranchExpand = false;\n\n /**\n * Whether clicking over nodes will change their expanded state or not.\n * @attr toggle-node-on-click\n */\n @property({ attribute: 'toggle-node-on-click', reflect: true, type: Boolean })\n public toggleNodeOnClick = false;\n\n /**\n * The selection state of the tree.\n * @attr\n */\n @property({ reflect: true })\n public selection: 'none' | 'multiple' | 'cascade' = 'none';\n\n @watch('dir')\n protected onDirChange(): void {\n this.items?.forEach((item: IgcTreeItemComponent) => {\n item.requestUpdate();\n });\n }\n\n @watch('size', { waitUntilFirstUpdate: true })\n protected onSizeChange(): void {\n this.items?.forEach((item: IgcTreeItemComponent) => {\n item.requestUpdate();\n });\n this.navService.activeItem?.wrapper?.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n }\n\n @watch('selection', { waitUntilFirstUpdate: true })\n protected selectionModeChange(): void {\n this.selectionService.clearItemsSelection();\n this.items?.forEach((item: IgcTreeItemComponent) => {\n item.requestUpdate();\n });\n }\n\n @watch('singleBranchExpand')\n protected singleBranchExpandChange(): void {\n if (this.singleBranchExpand) {\n // if activeItem -> do not collapse its branch\n if (this.navService.activeItem) {\n const path = this.navService.activeItem.path;\n const remainExpanded = new Set(path.splice(0, path.length - 1));\n this.items.forEach((item) => {\n if (!remainExpanded.has(item)) {\n item.collapseWithEvent();\n }\n });\n } else {\n this.items.forEach((item) => item.collapseWithEvent());\n }\n }\n }\n\n constructor() {\n super();\n this.selectionService = new IgcTreeSelectionService(this);\n this.navService = new IgcTreeNavigationService(this, this.selectionService);\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('role', 'tree');\n this.addEventListener('keydown', this.handleKeydown);\n // set init to true for all items which are rendered along with the tree\n this.items.forEach((i: IgcTreeItemComponent) => {\n i.init = true;\n });\n const firstNotDisabledItem = this.items.find(\n (i: IgcTreeItemComponent) => !i.disabled\n );\n if (firstNotDisabledItem) {\n firstNotDisabledItem.tabIndex = 0;\n this.navService.focusItem(firstNotDisabledItem);\n }\n }\n\n /** Returns all of the tree's items. */\n @blazorSuppress()\n public get items(): Array<IgcTreeItemComponent> {\n return Array.from(this.querySelectorAll(`igc-tree-item`));\n }\n\n private handleKeydown(event: KeyboardEvent) {\n this.navService.handleKeydown(event);\n }\n\n /** @private */\n public expandToItem(item: IgcTreeItemComponent): void {\n if (item && item.parent) {\n item.path.forEach((i) => {\n if (i !== item && !i.expanded) {\n i.expanded = true;\n }\n });\n }\n }\n\n /** Select all items if the items collection is empty. Otherwise, select the items in the items collection. */\n @blazorSuppress()\n public select(\n /* alternateType: TreeItemCollection */\n items?: IgcTreeItemComponent[]\n ): void {\n if (!items) {\n items =\n this.selection === 'cascade'\n ? this.items.filter((item: IgcTreeItemComponent) => item.level === 0)\n : this.items;\n }\n this.selectionService.selectItemsWithNoEvent(items);\n }\n\n /** Deselect all items if the items collection is empty. Otherwise, deselect the items in the items collection. */\n @blazorSuppress()\n public deselect(\n /* alternateType: TreeItemCollection */\n items?: IgcTreeItemComponent[]\n ): void {\n this.selectionService.deselectItemsWithNoEvent(items);\n }\n\n /**\n * Expands all of the passed items.\n * If no items are passed, expands ALL items.\n */\n @blazorSuppress()\n public expand(\n /* alternateType: TreeItemCollection */\n items?: IgcTreeItemComponent[]\n ): void {\n items = items || this.items;\n items.forEach((item) => (item.expanded = true));\n }\n\n /**\n * Collapses all of the passed items.\n * If no items are passed, collapses ALL items.\n */\n @blazorSuppress()\n public collapse(\n /* alternateType: TreeItemCollection */\n items?: IgcTreeItemComponent[]\n ): void {\n items = items || this.items;\n items.forEach((item) => (item.expanded = false));\n }\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tree': IgcTreeComponent;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tree.navigation.js","sourceRoot":"","sources":["../../../src/components/tree/tree.navigation.ts"],"names":[],"mappings":"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","sourcesContent":["import IgcTreeItemComponent from './tree-item.js';\nimport IgcTreeComponent from './tree.js';\nimport { IgcTreeSelectionService } from './tree.selection.js';\nimport { isLTR } from '../common/util.js';\n\nexport const NAVIGATION_KEYS = new Set([\n 'down',\n 'up',\n 'left',\n 'right',\n 'arrowdown',\n 'arrowup',\n 'arrowleft',\n 'arrowright',\n 'home',\n 'end',\n 'space',\n 'spacebar',\n ' ',\n]);\n\nexport class IgcTreeNavigationService {\n private tree!: IgcTreeComponent;\n private selectionService!: IgcTreeSelectionService;\n\n private _focusedItem: IgcTreeItemComponent | null = null;\n\n private _lastFocusedItem: IgcTreeItemComponent | null = null;\n private _activeItem: IgcTreeItemComponent | null = null;\n\n private _visibleChildren: IgcTreeItemComponent[] = [];\n private _invisibleChildren: Set<IgcTreeItemComponent> = new Set();\n private _disabledChildren: Set<IgcTreeItemComponent> = new Set();\n\n constructor(\n tree: IgcTreeComponent,\n selectionService: IgcTreeSelectionService\n ) {\n this.tree = tree;\n this.selectionService = selectionService;\n }\n\n public updateVisChild(): void {\n this._visibleChildren = this.tree?.items\n ? this.tree.items.filter(\n (i: IgcTreeItemComponent) =>\n !(this._invisibleChildren.has(i) || this._disabledChildren.has(i))\n )\n : [];\n }\n\n public get focusedItem(): IgcTreeItemComponent | null {\n return this._focusedItem;\n }\n\n public focusItem(value: IgcTreeItemComponent | null, shouldFocus = true) {\n if (this._focusedItem === value) {\n return;\n }\n this._lastFocusedItem = this._focusedItem;\n if (this._lastFocusedItem) {\n this._lastFocusedItem.removeAttribute('tabindex');\n }\n this._focusedItem = value;\n if (this._focusedItem !== null && shouldFocus) {\n this._focusedItem.tabIndex = 0;\n this._focusedItem.focus({\n preventScroll: true,\n });\n this._focusedItem.wrapper?.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }\n\n public get activeItem(): IgcTreeItemComponent | null {\n return this._activeItem;\n }\n\n public setActiveItem(value: IgcTreeItemComponent | null, shouldEmit = true) {\n if (this._activeItem === value) {\n return;\n }\n if (this._activeItem && value) {\n this._activeItem.active = false;\n }\n this._activeItem = value;\n if (this._activeItem) {\n this._activeItem.active = true;\n }\n if (shouldEmit && this._activeItem) {\n this.tree.emitEvent('igcActiveItem', { detail: this._activeItem });\n }\n }\n\n public get visibleChildren(): IgcTreeItemComponent[] {\n return this._visibleChildren;\n }\n\n public update_disabled_cache(item: IgcTreeItemComponent): void {\n if (item.disabled) {\n this._disabledChildren.add(item);\n } else {\n this._disabledChildren.delete(item);\n }\n this.updateVisChild();\n }\n\n public delete_item(item: IgcTreeItemComponent) {\n if (this.activeItem === item) {\n this.setActiveItem(null);\n }\n if (this.focusedItem === item) {\n this.focusItem(null, false);\n const firstNotDisableItem = this.tree.items.find(\n (i: IgcTreeItemComponent) => !i.disabled\n );\n if (firstNotDisableItem) {\n firstNotDisableItem.tabIndex = 0;\n this.focusItem(firstNotDisableItem, false);\n }\n }\n }\n\n public update_visible_cache(\n item: IgcTreeItemComponent,\n expanded: boolean,\n shouldUpdateNestedChildren = true,\n shouldUpdate = true\n ): void {\n if (expanded && !this._invisibleChildren.has(item)) {\n item.getChildren()?.forEach((child: IgcTreeItemComponent) => {\n this._invisibleChildren.delete(child);\n if (shouldUpdateNestedChildren) {\n this.update_visible_cache(child, child.expanded, true, false);\n }\n });\n } else {\n item\n .getChildren({ flatten: true })\n ?.forEach((c: IgcTreeItemComponent) => this._invisibleChildren.add(c));\n }\n\n if (shouldUpdate) {\n this.updateVisChild();\n }\n }\n\n /**\n * Sets the item as focused (and active)\n *\n * @param item target item\n * @param isActive if true, sets the item as active\n */\n public setFocusedAndActiveItem(\n item: IgcTreeItemComponent,\n isActive = true,\n shouldFocus = true\n ): void {\n if (isActive) {\n this.setActiveItem(item);\n }\n this.focusItem(item, shouldFocus);\n }\n\n /** Handler for keydown events. Used in tree.component.ts */\n public handleKeydown(event: KeyboardEvent) {\n const key = event.key.toLowerCase();\n if (!this.focusedItem) {\n return;\n }\n if (!(NAVIGATION_KEYS.has(key) || key === '*')) {\n if (key === 'enter') {\n this.setActiveItem(this.focusedItem);\n }\n return;\n }\n event.preventDefault();\n this.handleNavigation(event);\n }\n\n private handleNavigation(event: KeyboardEvent) {\n switch (event.key.toLowerCase()) {\n case 'home':\n this.setFocusedAndActiveItem(this.visibleChildren[0]);\n break;\n case 'end':\n this.setFocusedAndActiveItem(\n this.visibleChildren[this.visibleChildren.length - 1]\n );\n break;\n case 'arrowleft':\n case 'left':\n if (!isLTR(this.tree)) {\n this.handleArrowRight();\n } else {\n this.handleArrowLeft();\n }\n break;\n case 'arrowright':\n case 'right':\n if (!isLTR(this.tree)) {\n this.handleArrowLeft();\n } else {\n this.handleArrowRight();\n }\n break;\n case 'arrowup':\n case 'up':\n this.handleUpDownArrow(true, event);\n break;\n case 'arrowdown':\n case 'down':\n this.handleUpDownArrow(false, event);\n break;\n case '*':\n this.handleAsterisk();\n break;\n case ' ':\n case 'spacebar':\n case 'space':\n this.handleSpace(event.shiftKey);\n break;\n default:\n return;\n }\n }\n\n private handleArrowLeft(): void {\n if (this.focusedItem?.expanded && this.focusedItem.getChildren()?.length) {\n this.setActiveItem(this.focusedItem);\n this.focusedItem.collapseWithEvent();\n } else {\n const parentItem = this.focusedItem?.parent;\n if (parentItem && !parentItem.disabled) {\n this.setFocusedAndActiveItem(parentItem);\n }\n }\n }\n\n private handleArrowRight(): void {\n if (this.focusedItem!.getChildren()?.length > 0) {\n if (!this.focusedItem?.expanded) {\n this.setActiveItem(this.focusedItem);\n this.focusedItem!.expandWithEvent();\n } else {\n const firstChild = this.focusedItem\n .getChildren()\n .find((item: IgcTreeItemComponent) => !item.disabled);\n if (firstChild) {\n this.setFocusedAndActiveItem(firstChild);\n }\n }\n }\n }\n\n private handleUpDownArrow(isUp: boolean, event: KeyboardEvent): void {\n const next = this.getVisibleItem(this.focusedItem!, isUp ? -1 : 1);\n if (next === this.focusedItem) {\n return;\n }\n\n if (event.ctrlKey) {\n this.setFocusedAndActiveItem(next, false);\n } else {\n this.setFocusedAndActiveItem(next);\n }\n }\n\n private handleAsterisk(): void {\n const items = this.focusedItem?.parent\n ? this.focusedItem!.parent?.getChildren()\n : this.tree.items?.filter(\n (item: IgcTreeItemComponent) => item.level === 0\n );\n items?.forEach((item: IgcTreeItemComponent) => {\n if (!item.disabled && !item.expanded && item.hasChildren) {\n item.expandWithEvent();\n }\n });\n }\n\n private handleSpace(shiftKey = false): void {\n if (this.tree.selection === 'none') {\n this.setActiveItem(this.focusedItem);\n return;\n }\n\n this.setActiveItem(this.focusedItem);\n if (shiftKey) {\n this.selectionService.selectMultipleItems(this.focusedItem!);\n return;\n }\n\n if (this.focusedItem!.selected) {\n this.selectionService.deselectItem(this.focusedItem!);\n } else {\n this.selectionService.selectItem(this.focusedItem!);\n }\n }\n\n /** Gets the next visible item in the given direction - 1 -> next, -1 -> previous */\n private getVisibleItem(\n item: IgcTreeItemComponent,\n dir: 1 | -1 = 1\n ): IgcTreeItemComponent {\n const itemIndex = this.visibleChildren.indexOf(item);\n return this.visibleChildren[itemIndex + dir] || item;\n }\n}\n"]}
1
+ {"version":3,"file":"tree.navigation.js","sourceRoot":"","sources":["../../../src/components/tree/tree.navigation.ts"],"names":[],"mappings":"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","sourcesContent":["import IgcTreeItemComponent from './tree-item.js';\nimport IgcTreeComponent from './tree.js';\nimport { IgcTreeSelectionService } from './tree.selection.js';\nimport { isLTR } from '../common/util.js';\n\nexport const NAVIGATION_KEYS = new Set([\n 'down',\n 'up',\n 'left',\n 'right',\n 'arrowdown',\n 'arrowup',\n 'arrowleft',\n 'arrowright',\n 'home',\n 'end',\n 'space',\n 'spacebar',\n ' ',\n]);\n\n/* blazorSuppress */\nexport class IgcTreeNavigationService {\n private tree!: IgcTreeComponent;\n private selectionService!: IgcTreeSelectionService;\n\n private _focusedItem: IgcTreeItemComponent | null = null;\n\n private _lastFocusedItem: IgcTreeItemComponent | null = null;\n private _activeItem: IgcTreeItemComponent | null = null;\n\n private _visibleChildren: IgcTreeItemComponent[] = [];\n private _invisibleChildren: Set<IgcTreeItemComponent> = new Set();\n private _disabledChildren: Set<IgcTreeItemComponent> = new Set();\n\n constructor(\n tree: IgcTreeComponent,\n selectionService: IgcTreeSelectionService\n ) {\n this.tree = tree;\n this.selectionService = selectionService;\n }\n\n public updateVisChild(): void {\n this._visibleChildren = this.tree?.items\n ? this.tree.items.filter(\n (i: IgcTreeItemComponent) =>\n !(this._invisibleChildren.has(i) || this._disabledChildren.has(i))\n )\n : [];\n }\n\n public get focusedItem(): IgcTreeItemComponent | null {\n return this._focusedItem;\n }\n\n public focusItem(value: IgcTreeItemComponent | null, shouldFocus = true) {\n if (this._focusedItem === value) {\n return;\n }\n this._lastFocusedItem = this._focusedItem;\n if (this._lastFocusedItem) {\n this._lastFocusedItem.removeAttribute('tabindex');\n }\n this._focusedItem = value;\n if (this._focusedItem !== null && shouldFocus) {\n this._focusedItem.tabIndex = 0;\n this._focusedItem.focus({\n preventScroll: true,\n });\n this._focusedItem.wrapper?.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest',\n inline: 'nearest',\n });\n }\n }\n\n public get activeItem(): IgcTreeItemComponent | null {\n return this._activeItem;\n }\n\n public setActiveItem(value: IgcTreeItemComponent | null, shouldEmit = true) {\n if (this._activeItem === value) {\n return;\n }\n if (this._activeItem && value) {\n this._activeItem.active = false;\n }\n this._activeItem = value;\n if (this._activeItem) {\n this._activeItem.active = true;\n }\n if (shouldEmit && this._activeItem) {\n this.tree.emitEvent('igcActiveItem', { detail: this._activeItem });\n }\n }\n\n public get visibleChildren(): IgcTreeItemComponent[] {\n return this._visibleChildren;\n }\n\n public update_disabled_cache(item: IgcTreeItemComponent): void {\n if (item.disabled) {\n this._disabledChildren.add(item);\n } else {\n this._disabledChildren.delete(item);\n }\n this.updateVisChild();\n }\n\n public delete_item(item: IgcTreeItemComponent) {\n if (this.activeItem === item) {\n this.setActiveItem(null);\n }\n if (this.focusedItem === item) {\n this.focusItem(null, false);\n const firstNotDisableItem = this.tree.items.find(\n (i: IgcTreeItemComponent) => !i.disabled\n );\n if (firstNotDisableItem) {\n firstNotDisableItem.tabIndex = 0;\n this.focusItem(firstNotDisableItem, false);\n }\n }\n }\n\n public update_visible_cache(\n item: IgcTreeItemComponent,\n expanded: boolean,\n shouldUpdateNestedChildren = true,\n shouldUpdate = true\n ): void {\n if (expanded && !this._invisibleChildren.has(item)) {\n item.getChildren()?.forEach((child: IgcTreeItemComponent) => {\n this._invisibleChildren.delete(child);\n if (shouldUpdateNestedChildren) {\n this.update_visible_cache(child, child.expanded, true, false);\n }\n });\n } else {\n item\n .getChildren({ flatten: true })\n ?.forEach((c: IgcTreeItemComponent) => this._invisibleChildren.add(c));\n }\n\n if (shouldUpdate) {\n this.updateVisChild();\n }\n }\n\n /**\n * Sets the item as focused (and active)\n *\n * @param item target item\n * @param isActive if true, sets the item as active\n */\n public setFocusedAndActiveItem(\n item: IgcTreeItemComponent,\n isActive = true,\n shouldFocus = true\n ): void {\n if (isActive) {\n this.setActiveItem(item);\n }\n this.focusItem(item, shouldFocus);\n }\n\n /** Handler for keydown events. Used in tree.component.ts */\n public handleKeydown(event: KeyboardEvent) {\n const key = event.key.toLowerCase();\n if (!this.focusedItem) {\n return;\n }\n if (!(NAVIGATION_KEYS.has(key) || key === '*')) {\n if (key === 'enter') {\n this.setActiveItem(this.focusedItem);\n }\n return;\n }\n event.preventDefault();\n this.handleNavigation(event);\n }\n\n private handleNavigation(event: KeyboardEvent) {\n switch (event.key.toLowerCase()) {\n case 'home':\n this.setFocusedAndActiveItem(this.visibleChildren[0]);\n break;\n case 'end':\n this.setFocusedAndActiveItem(\n this.visibleChildren[this.visibleChildren.length - 1]\n );\n break;\n case 'arrowleft':\n case 'left':\n if (!isLTR(this.tree)) {\n this.handleArrowRight();\n } else {\n this.handleArrowLeft();\n }\n break;\n case 'arrowright':\n case 'right':\n if (!isLTR(this.tree)) {\n this.handleArrowLeft();\n } else {\n this.handleArrowRight();\n }\n break;\n case 'arrowup':\n case 'up':\n this.handleUpDownArrow(true, event);\n break;\n case 'arrowdown':\n case 'down':\n this.handleUpDownArrow(false, event);\n break;\n case '*':\n this.handleAsterisk();\n break;\n case ' ':\n case 'spacebar':\n case 'space':\n this.handleSpace(event.shiftKey);\n break;\n default:\n return;\n }\n }\n\n private handleArrowLeft(): void {\n if (this.focusedItem?.expanded && this.focusedItem.getChildren()?.length) {\n this.setActiveItem(this.focusedItem);\n this.focusedItem.collapseWithEvent();\n } else {\n const parentItem = this.focusedItem?.parent;\n if (parentItem && !parentItem.disabled) {\n this.setFocusedAndActiveItem(parentItem);\n }\n }\n }\n\n private handleArrowRight(): void {\n if (this.focusedItem!.getChildren()?.length > 0) {\n if (!this.focusedItem?.expanded) {\n this.setActiveItem(this.focusedItem);\n this.focusedItem!.expandWithEvent();\n } else {\n const firstChild = this.focusedItem\n .getChildren()\n .find((item: IgcTreeItemComponent) => !item.disabled);\n if (firstChild) {\n this.setFocusedAndActiveItem(firstChild);\n }\n }\n }\n }\n\n private handleUpDownArrow(isUp: boolean, event: KeyboardEvent): void {\n const next = this.getVisibleItem(this.focusedItem!, isUp ? -1 : 1);\n if (next === this.focusedItem) {\n return;\n }\n\n if (event.ctrlKey) {\n this.setFocusedAndActiveItem(next, false);\n } else {\n this.setFocusedAndActiveItem(next);\n }\n }\n\n private handleAsterisk(): void {\n const items = this.focusedItem?.parent\n ? this.focusedItem!.parent?.getChildren()\n : this.tree.items?.filter(\n (item: IgcTreeItemComponent) => item.level === 0\n );\n items?.forEach((item: IgcTreeItemComponent) => {\n if (!item.disabled && !item.expanded && item.hasChildren) {\n item.expandWithEvent();\n }\n });\n }\n\n private handleSpace(shiftKey = false): void {\n if (this.tree.selection === 'none') {\n this.setActiveItem(this.focusedItem);\n return;\n }\n\n this.setActiveItem(this.focusedItem);\n if (shiftKey) {\n this.selectionService.selectMultipleItems(this.focusedItem!);\n return;\n }\n\n if (this.focusedItem!.selected) {\n this.selectionService.deselectItem(this.focusedItem!);\n } else {\n this.selectionService.selectItem(this.focusedItem!);\n }\n }\n\n /** Gets the next visible item in the given direction - 1 -> next, -1 -> previous */\n private getVisibleItem(\n item: IgcTreeItemComponent,\n dir: 1 | -1 = 1\n ): IgcTreeItemComponent {\n const itemIndex = this.visibleChildren.indexOf(item);\n return this.visibleChildren[itemIndex + dir] || item;\n }\n}\n"]}