igniteui-webcomponents 4.3.0 → 4.3.1

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 (571) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/components/accordion/themes/accordion.base.css.js +1 -4
  3. package/components/accordion/themes/accordion.base.css.js.map +1 -1
  4. package/components/avatar/themes/dark/avatar.base.bootstrap.css.js +1 -13
  5. package/components/avatar/themes/dark/avatar.base.bootstrap.css.js.map +1 -1
  6. package/components/avatar/themes/light/avatar.base.css.js +5 -20
  7. package/components/avatar/themes/light/avatar.base.css.js.map +1 -1
  8. package/components/avatar/themes/light/avatar.bootstrap.css.js +2 -15
  9. package/components/avatar/themes/light/avatar.bootstrap.css.js.map +1 -1
  10. package/components/badge/themes/light/badge.base.css.js +1 -2
  11. package/components/badge/themes/light/badge.base.css.js.map +1 -1
  12. package/components/badge/themes/light/badge.bootstrap.css.js +1 -2
  13. package/components/badge/themes/light/badge.bootstrap.css.js.map +1 -1
  14. package/components/button/themes/button/dark/button.bootstrap.css.js +1 -13
  15. package/components/button/themes/button/dark/button.bootstrap.css.js.map +1 -1
  16. package/components/button/themes/button/dark/button.fluent.css.js +1 -13
  17. package/components/button/themes/button/dark/button.fluent.css.js.map +1 -1
  18. package/components/button/themes/button/dark/button.indigo.css.js +1 -13
  19. package/components/button/themes/button/dark/button.indigo.css.js.map +1 -1
  20. package/components/button/themes/button/dark/button.material.css.js +1 -13
  21. package/components/button/themes/button/dark/button.material.css.js.map +1 -1
  22. package/components/button/themes/button/light/button.base.css.js +1 -2
  23. package/components/button/themes/button/light/button.base.css.js.map +1 -1
  24. package/components/button/themes/button/light/button.bootstrap.css.js +16 -30
  25. package/components/button/themes/button/light/button.bootstrap.css.js.map +1 -1
  26. package/components/button/themes/button/light/button.fluent.css.js +22 -32
  27. package/components/button/themes/button/light/button.fluent.css.js.map +1 -1
  28. package/components/button/themes/button/light/button.indigo.css.js +16 -33
  29. package/components/button/themes/button/light/button.indigo.css.js.map +1 -1
  30. package/components/button/themes/button/light/button.material.css.js +15 -31
  31. package/components/button/themes/button/light/button.material.css.js.map +1 -1
  32. package/components/button/themes/icon-button/dark/icon-button.fluent.css.js +1 -1
  33. package/components/button/themes/icon-button/dark/icon-button.fluent.css.js.map +1 -1
  34. package/components/button/themes/icon-button/light/icon-button.base.css.js +1 -5
  35. package/components/button/themes/icon-button/light/icon-button.base.css.js.map +1 -1
  36. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js +30 -4
  37. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js.map +1 -1
  38. package/components/button/themes/icon-button/light/icon-button.fluent.css.js +40 -21
  39. package/components/button/themes/icon-button/light/icon-button.fluent.css.js.map +1 -1
  40. package/components/button/themes/icon-button/light/icon-button.indigo.css.js +30 -3
  41. package/components/button/themes/icon-button/light/icon-button.indigo.css.js.map +1 -1
  42. package/components/button/themes/icon-button/light/icon-button.material.css.js +30 -3
  43. package/components/button/themes/icon-button/light/icon-button.material.css.js.map +1 -1
  44. package/components/calendar/calendar.d.ts +2 -5
  45. package/components/calendar/calendar.js +31 -35
  46. package/components/calendar/calendar.js.map +1 -1
  47. package/components/calendar/days-view/days-view.js +6 -6
  48. package/components/calendar/days-view/days-view.js.map +1 -1
  49. package/components/calendar/themes/bootstrap/calendar.bootstrap.css.js +60 -6
  50. package/components/calendar/themes/bootstrap/calendar.bootstrap.css.js.map +1 -1
  51. package/components/calendar/themes/bootstrap/days-view.bootstrap.css.js +53 -3
  52. package/components/calendar/themes/bootstrap/days-view.bootstrap.css.js.map +1 -1
  53. package/components/calendar/themes/bootstrap/year-month-view.bootstrap.css.js +50 -3
  54. package/components/calendar/themes/bootstrap/year-month-view.bootstrap.css.js.map +1 -1
  55. package/components/calendar/themes/calendar.base.css.js +66 -7
  56. package/components/calendar/themes/calendar.base.css.js.map +1 -1
  57. package/components/calendar/themes/days-view.base.css.js +6 -8
  58. package/components/calendar/themes/days-view.base.css.js.map +1 -1
  59. package/components/calendar/themes/fluent/calendar.fluent.css.js +123 -10
  60. package/components/calendar/themes/fluent/calendar.fluent.css.js.map +1 -1
  61. package/components/calendar/themes/fluent/days-view.fluent.css.js +2 -3
  62. package/components/calendar/themes/fluent/days-view.fluent.css.js.map +1 -1
  63. package/components/calendar/themes/fluent/year-month-view.fluent.css.js +1 -2
  64. package/components/calendar/themes/fluent/year-month-view.fluent.css.js.map +1 -1
  65. package/components/calendar/themes/indigo/calendar.indigo.css.js +67 -0
  66. package/components/calendar/themes/indigo/calendar.indigo.css.js.map +1 -0
  67. package/components/calendar/themes/year-month-view.base.css.js +1 -2
  68. package/components/calendar/themes/year-month-view.base.css.js.map +1 -1
  69. package/components/card/card.js +2 -0
  70. package/components/card/card.js.map +1 -1
  71. package/components/card/themes/light/card.actions.bootstrap.css.js +1 -2
  72. package/components/card/themes/light/card.actions.bootstrap.css.js.map +1 -1
  73. package/components/card/themes/light/card.actions.material.css.js +1 -2
  74. package/components/card/themes/light/card.actions.material.css.js.map +1 -1
  75. package/components/card/themes/light/card.bootstrap.css.js +11 -3
  76. package/components/card/themes/light/card.bootstrap.css.js.map +1 -1
  77. package/components/card/themes/light/card.content.bootstrap.css.js +1 -2
  78. package/components/card/themes/light/card.content.bootstrap.css.js.map +1 -1
  79. package/components/card/themes/light/card.content.indigo.css.js +1 -2
  80. package/components/card/themes/light/card.content.indigo.css.js.map +1 -1
  81. package/components/card/themes/light/card.content.material.css.js +1 -2
  82. package/components/card/themes/light/card.content.material.css.js.map +1 -1
  83. package/components/card/themes/light/card.fluent.css.js +11 -4
  84. package/components/card/themes/light/card.fluent.css.js.map +1 -1
  85. package/components/card/themes/light/card.header.bootstrap.css.js +1 -2
  86. package/components/card/themes/light/card.header.bootstrap.css.js.map +1 -1
  87. package/components/card/themes/light/card.header.fluent.css.js +1 -2
  88. package/components/card/themes/light/card.header.fluent.css.js.map +1 -1
  89. package/components/card/themes/light/card.header.indigo.css.js +1 -2
  90. package/components/card/themes/light/card.header.indigo.css.js.map +1 -1
  91. package/components/card/themes/light/card.header.material.css.js +1 -2
  92. package/components/card/themes/light/card.header.material.css.js.map +1 -1
  93. package/components/card/themes/light/card.indigo.css.js +14 -0
  94. package/components/card/themes/light/card.indigo.css.js.map +1 -0
  95. package/components/card/themes/light/card.material.css.js +11 -4
  96. package/components/card/themes/light/card.material.css.js.map +1 -1
  97. package/components/card/themes/light/card.media.material.css.js +1 -2
  98. package/components/card/themes/light/card.media.material.css.js.map +1 -1
  99. package/components/checkbox/themes/dark/checkbox.bootstrap.css.js +1 -13
  100. package/components/checkbox/themes/dark/checkbox.bootstrap.css.js.map +1 -1
  101. package/components/checkbox/themes/dark/checkbox.fluent.css.js +1 -13
  102. package/components/checkbox/themes/dark/checkbox.fluent.css.js.map +1 -1
  103. package/components/checkbox/themes/dark/checkbox.indigo.css.js +1 -13
  104. package/components/checkbox/themes/dark/checkbox.indigo.css.js.map +1 -1
  105. package/components/checkbox/themes/dark/checkbox.material.css.js +1 -13
  106. package/components/checkbox/themes/dark/checkbox.material.css.js.map +1 -1
  107. package/components/checkbox/themes/dark/switch.bootstrap.css.js +1 -13
  108. package/components/checkbox/themes/dark/switch.bootstrap.css.js.map +1 -1
  109. package/components/checkbox/themes/dark/switch.fluent.css.js +1 -13
  110. package/components/checkbox/themes/dark/switch.fluent.css.js.map +1 -1
  111. package/components/checkbox/themes/dark/switch.indigo.css.js +1 -13
  112. package/components/checkbox/themes/dark/switch.indigo.css.js.map +1 -1
  113. package/components/checkbox/themes/dark/switch.material.css.js +1 -13
  114. package/components/checkbox/themes/dark/switch.material.css.js.map +1 -1
  115. package/components/checkbox/themes/light/checkbox.base.css.js +1 -17
  116. package/components/checkbox/themes/light/checkbox.base.css.js.map +1 -1
  117. package/components/checkbox/themes/light/checkbox.bootstrap.css.js +7 -24
  118. package/components/checkbox/themes/light/checkbox.bootstrap.css.js.map +1 -1
  119. package/components/checkbox/themes/light/checkbox.fluent.css.js +6 -22
  120. package/components/checkbox/themes/light/checkbox.fluent.css.js.map +1 -1
  121. package/components/checkbox/themes/light/checkbox.indigo.css.js +7 -22
  122. package/components/checkbox/themes/light/checkbox.indigo.css.js.map +1 -1
  123. package/components/checkbox/themes/light/checkbox.material.css.js +7 -21
  124. package/components/checkbox/themes/light/checkbox.material.css.js.map +1 -1
  125. package/components/checkbox/themes/light/switch.base.css.js +1 -15
  126. package/components/checkbox/themes/light/switch.base.css.js.map +1 -1
  127. package/components/checkbox/themes/light/switch.bootstrap.css.js +6 -23
  128. package/components/checkbox/themes/light/switch.bootstrap.css.js.map +1 -1
  129. package/components/checkbox/themes/light/switch.fluent.css.js +6 -23
  130. package/components/checkbox/themes/light/switch.fluent.css.js.map +1 -1
  131. package/components/checkbox/themes/light/switch.indigo.css.js +7 -24
  132. package/components/checkbox/themes/light/switch.indigo.css.js.map +1 -1
  133. package/components/checkbox/themes/light/switch.material.css.js +8 -24
  134. package/components/checkbox/themes/light/switch.material.css.js.map +1 -1
  135. package/components/chip/themes/chip.base.css.js +1 -3
  136. package/components/chip/themes/chip.base.css.js.map +1 -1
  137. package/components/chip/themes/chip.bootstrap.css.js +33 -4
  138. package/components/chip/themes/chip.bootstrap.css.js.map +1 -1
  139. package/components/chip/themes/chip.fluent.css.js +33 -3
  140. package/components/chip/themes/chip.fluent.css.js.map +1 -1
  141. package/components/chip/themes/chip.indigo.css.js +33 -3
  142. package/components/chip/themes/chip.indigo.css.js.map +1 -1
  143. package/components/chip/themes/chip.material.css.js +33 -3
  144. package/components/chip/themes/chip.material.css.js.map +1 -1
  145. package/components/combo/combo-header.js +5 -3
  146. package/components/combo/combo-header.js.map +1 -1
  147. package/components/combo/combo-item.js +5 -4
  148. package/components/combo/combo-item.js.map +1 -1
  149. package/components/combo/combo.d.ts +2 -5
  150. package/components/combo/combo.js +18 -13
  151. package/components/combo/combo.js.map +1 -1
  152. package/components/combo/themes/dark/combo.indigo.css.js +1 -1
  153. package/components/combo/themes/dark/combo.indigo.css.js.map +1 -1
  154. package/components/combo/themes/dark/combo.material.css.js +1 -1
  155. package/components/combo/themes/dark/combo.material.css.js.map +1 -1
  156. package/components/combo/themes/light/combo.base.css.js +19 -33
  157. package/components/combo/themes/light/combo.base.css.js.map +1 -1
  158. package/components/combo/themes/light/combo.bootstrap.css.js +206 -88
  159. package/components/combo/themes/light/combo.bootstrap.css.js.map +1 -1
  160. package/components/combo/themes/light/combo.fluent.css.js +201 -50
  161. package/components/combo/themes/light/combo.fluent.css.js.map +1 -1
  162. package/components/combo/themes/light/combo.indigo.css.js +210 -25
  163. package/components/combo/themes/light/combo.indigo.css.js.map +1 -1
  164. package/components/combo/themes/light/combo.material.css.js +234 -90
  165. package/components/combo/themes/light/combo.material.css.js.map +1 -1
  166. package/components/combo/themes/light/header/combo-header.base.css.js +3 -7
  167. package/components/combo/themes/light/header/combo-header.base.css.js.map +1 -1
  168. package/components/combo/themes/light/item/combo-item.base.css.js +9 -28
  169. package/components/combo/themes/light/item/combo-item.base.css.js.map +1 -1
  170. package/components/common/mixins/event-emitter.js.map +1 -1
  171. package/components/dialog/themes/light/dialog.base.css.js +1 -4
  172. package/components/dialog/themes/light/dialog.base.css.js.map +1 -1
  173. package/components/dialog/themes/light/dialog.bootstrap.css.js +8 -3
  174. package/components/dialog/themes/light/dialog.bootstrap.css.js.map +1 -1
  175. package/components/dialog/themes/light/dialog.fluent.css.js +10 -1
  176. package/components/dialog/themes/light/dialog.fluent.css.js.map +1 -1
  177. package/components/dialog/themes/light/dialog.indigo.css.js +10 -1
  178. package/components/dialog/themes/light/dialog.indigo.css.js.map +1 -1
  179. package/components/dialog/themes/light/dialog.material.css.js +42 -1
  180. package/components/dialog/themes/light/dialog.material.css.js.map +1 -1
  181. package/components/dropdown/dropdown-group.js +6 -3
  182. package/components/dropdown/dropdown-group.js.map +1 -1
  183. package/components/dropdown/dropdown-header.js +6 -4
  184. package/components/dropdown/dropdown-header.js.map +1 -1
  185. package/components/dropdown/dropdown-item.js +6 -5
  186. package/components/dropdown/dropdown-item.js.map +1 -1
  187. package/components/dropdown/dropdown.js +2 -1
  188. package/components/dropdown/dropdown.js.map +1 -1
  189. package/components/dropdown/themes/dark/dropdown.bootstrap.css.js +1 -1
  190. package/components/dropdown/themes/dark/dropdown.bootstrap.css.js.map +1 -1
  191. package/components/dropdown/themes/dark/dropdown.fluent.css.js +1 -1
  192. package/components/dropdown/themes/dark/dropdown.fluent.css.js.map +1 -1
  193. package/components/dropdown/themes/dark/dropdown.indigo.css.js +1 -1
  194. package/components/dropdown/themes/dark/dropdown.indigo.css.js.map +1 -1
  195. package/components/dropdown/themes/dark/dropdown.material.css.js +3 -0
  196. package/components/dropdown/themes/dark/dropdown.material.css.js.map +1 -0
  197. package/components/dropdown/themes/light/dropdown.base.css.js +1 -7
  198. package/components/dropdown/themes/light/dropdown.base.css.js.map +1 -1
  199. package/components/dropdown/themes/light/dropdown.bootstrap.css.js +28 -4
  200. package/components/dropdown/themes/light/dropdown.bootstrap.css.js.map +1 -1
  201. package/components/dropdown/themes/light/dropdown.fluent.css.js +26 -3
  202. package/components/dropdown/themes/light/dropdown.fluent.css.js.map +1 -1
  203. package/components/dropdown/themes/light/dropdown.indigo.css.js +26 -3
  204. package/components/dropdown/themes/light/dropdown.indigo.css.js.map +1 -1
  205. package/components/dropdown/themes/light/dropdown.material.css.js +33 -0
  206. package/components/dropdown/themes/light/dropdown.material.css.js.map +1 -0
  207. package/components/dropdown/themes/light/{dropdown-group.base.css.js → group/dropdown-group.base.css.js} +4 -7
  208. package/components/dropdown/themes/light/group/dropdown-group.base.css.js.map +1 -0
  209. package/components/dropdown/themes/light/group/dropdown-group.bootstrap.css.js +28 -0
  210. package/components/dropdown/themes/light/group/dropdown-group.bootstrap.css.js.map +1 -0
  211. package/components/dropdown/themes/light/group/dropdown-group.fluent.css.js +29 -0
  212. package/components/dropdown/themes/light/group/dropdown-group.fluent.css.js.map +1 -0
  213. package/components/dropdown/themes/light/group/dropdown-group.indigo.css.js +28 -0
  214. package/components/dropdown/themes/light/group/dropdown-group.indigo.css.js.map +1 -0
  215. package/components/dropdown/themes/light/group/dropdown-group.material.css.js +28 -0
  216. package/components/dropdown/themes/light/group/dropdown-group.material.css.js.map +1 -0
  217. package/components/dropdown/themes/light/header/dropdown-header.base.css.d.ts +1 -0
  218. package/components/dropdown/themes/light/header/dropdown-header.base.css.js +56 -0
  219. package/components/dropdown/themes/light/header/dropdown-header.base.css.js.map +1 -0
  220. package/components/dropdown/themes/light/header/dropdown-header.bootstrap.css.d.ts +1 -0
  221. package/components/dropdown/themes/light/header/dropdown-header.bootstrap.css.js +28 -0
  222. package/components/dropdown/themes/light/header/dropdown-header.bootstrap.css.js.map +1 -0
  223. package/components/dropdown/themes/light/header/dropdown-header.fluent.css.d.ts +1 -0
  224. package/components/dropdown/themes/light/header/dropdown-header.fluent.css.js +27 -0
  225. package/components/dropdown/themes/light/header/dropdown-header.fluent.css.js.map +1 -0
  226. package/components/dropdown/themes/light/header/dropdown-header.indigo.css.d.ts +1 -0
  227. package/components/dropdown/themes/light/header/dropdown-header.indigo.css.js +28 -0
  228. package/components/dropdown/themes/light/header/dropdown-header.indigo.css.js.map +1 -0
  229. package/components/dropdown/themes/light/header/dropdown-header.material.css.d.ts +1 -0
  230. package/components/dropdown/themes/light/header/dropdown-header.material.css.js +28 -0
  231. package/components/dropdown/themes/light/header/dropdown-header.material.css.js.map +1 -0
  232. package/components/dropdown/themes/light/item/dropdown-item.base.css.d.ts +1 -0
  233. package/components/dropdown/themes/light/item/dropdown-item.base.css.js +105 -0
  234. package/components/dropdown/themes/light/item/dropdown-item.base.css.js.map +1 -0
  235. package/components/dropdown/themes/light/item/dropdown-item.bootstrap.css.d.ts +1 -0
  236. package/components/dropdown/themes/light/item/dropdown-item.bootstrap.css.js +54 -0
  237. package/components/dropdown/themes/light/item/dropdown-item.bootstrap.css.js.map +1 -0
  238. package/components/dropdown/themes/light/item/dropdown-item.fluent.css.d.ts +1 -0
  239. package/components/dropdown/themes/light/item/dropdown-item.fluent.css.js +55 -0
  240. package/components/dropdown/themes/light/item/dropdown-item.fluent.css.js.map +1 -0
  241. package/components/dropdown/themes/light/item/dropdown-item.indigo.css.d.ts +1 -0
  242. package/components/dropdown/themes/light/item/dropdown-item.indigo.css.js +54 -0
  243. package/components/dropdown/themes/light/item/dropdown-item.indigo.css.js.map +1 -0
  244. package/components/dropdown/themes/light/item/dropdown-item.material.css.d.ts +1 -0
  245. package/components/dropdown/themes/light/item/dropdown-item.material.css.js +54 -0
  246. package/components/dropdown/themes/light/item/dropdown-item.material.css.js.map +1 -0
  247. package/components/expansion-panel/themes/light/expansion-panel.base.css.js +13 -4
  248. package/components/expansion-panel/themes/light/expansion-panel.base.css.js.map +1 -1
  249. package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js +14 -1
  250. package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js.map +1 -1
  251. package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js +14 -1
  252. package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js.map +1 -1
  253. package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js +14 -1
  254. package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js.map +1 -1
  255. package/components/icon/dark/icon.bootstrap.css.js +1 -13
  256. package/components/icon/dark/icon.bootstrap.css.js.map +1 -1
  257. package/components/icon/dark/icon.fluent.css.js +1 -13
  258. package/components/icon/dark/icon.fluent.css.js.map +1 -1
  259. package/components/icon/dark/icon.indigo.css.js +1 -13
  260. package/components/icon/dark/icon.indigo.css.js.map +1 -1
  261. package/components/icon/dark/icon.material.css.js +1 -13
  262. package/components/icon/dark/icon.material.css.js.map +1 -1
  263. package/components/icon/icon.base.css.js +2 -3
  264. package/components/icon/icon.base.css.js.map +1 -1
  265. package/components/icon/light/icon.bootstrap.css.js +3 -19
  266. package/components/icon/light/icon.bootstrap.css.js.map +1 -1
  267. package/components/icon/light/icon.fluent.css.js +3 -19
  268. package/components/icon/light/icon.fluent.css.js.map +1 -1
  269. package/components/icon/light/icon.indigo.css.js +3 -19
  270. package/components/icon/light/icon.indigo.css.js.map +1 -1
  271. package/components/icon/light/icon.material.css.js +3 -19
  272. package/components/icon/light/icon.material.css.js.map +1 -1
  273. package/components/input/input-base.d.ts +3 -4
  274. package/components/input/input-base.js +3 -6
  275. package/components/input/input-base.js.map +1 -1
  276. package/components/input/themes/dark/input.dark.indigo.css.js +1 -1
  277. package/components/input/themes/dark/input.dark.indigo.css.js.map +1 -1
  278. package/components/input/themes/dark/input.dark.material.css.js +1 -1
  279. package/components/input/themes/dark/input.dark.material.css.js.map +1 -1
  280. package/components/input/themes/light/input.base.css.js +6 -11
  281. package/components/input/themes/light/input.base.css.js.map +1 -1
  282. package/components/input/themes/light/input.bootstrap.css.js +208 -104
  283. package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
  284. package/components/input/themes/light/input.fluent.css.js +143 -47
  285. package/components/input/themes/light/input.fluent.css.js.map +1 -1
  286. package/components/input/themes/light/input.indigo.css.js +157 -45
  287. package/components/input/themes/light/input.indigo.css.js.map +1 -1
  288. package/components/input/themes/light/input.material.css.js +356 -186
  289. package/components/input/themes/light/input.material.css.js.map +1 -1
  290. package/components/list/themes/dark/list.bootstrap.css.js +1 -1
  291. package/components/list/themes/dark/list.bootstrap.css.js.map +1 -1
  292. package/components/list/themes/dark/list.fluent.css.js +1 -1
  293. package/components/list/themes/dark/list.fluent.css.js.map +1 -1
  294. package/components/list/themes/dark/list.indigo.css.js +1 -1
  295. package/components/list/themes/dark/list.indigo.css.js.map +1 -1
  296. package/components/list/themes/light/list-header.base.css.js +1 -2
  297. package/components/list/themes/light/list-header.base.css.js.map +1 -1
  298. package/components/list/themes/light/list-header.indigo.css.js +1 -2
  299. package/components/list/themes/light/list-header.indigo.css.js.map +1 -1
  300. package/components/list/themes/light/list-item.base.css.js +27 -3
  301. package/components/list/themes/light/list-item.base.css.js.map +1 -1
  302. package/components/list/themes/light/list-item.bootstrap.css.js +27 -2
  303. package/components/list/themes/light/list-item.bootstrap.css.js.map +1 -1
  304. package/components/list/themes/light/list-item.fluent.css.js +27 -2
  305. package/components/list/themes/light/list-item.fluent.css.js.map +1 -1
  306. package/components/list/themes/light/list-item.indigo.css.js +27 -2
  307. package/components/list/themes/light/list-item.indigo.css.js.map +1 -1
  308. package/components/list/themes/light/list.base.css.js +27 -2
  309. package/components/list/themes/light/list.base.css.js.map +1 -1
  310. package/components/list/themes/light/list.bootstrap.css.js +27 -3
  311. package/components/list/themes/light/list.bootstrap.css.js.map +1 -1
  312. package/components/mask-input/mask-parser.js +1 -1
  313. package/components/mask-input/mask-parser.js.map +1 -1
  314. package/components/nav-drawer/themes/dark/nav-drawer-item.base.css.js +1 -1
  315. package/components/nav-drawer/themes/dark/nav-drawer-item.base.css.js.map +1 -1
  316. package/components/nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.js +1 -1
  317. package/components/nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.js.map +1 -1
  318. package/components/nav-drawer/themes/dark/nav-drawer-item.fluent.css.js +1 -1
  319. package/components/nav-drawer/themes/dark/nav-drawer-item.fluent.css.js.map +1 -1
  320. package/components/nav-drawer/themes/dark/nav-drawer-item.indigo.css.js +1 -1
  321. package/components/nav-drawer/themes/dark/nav-drawer-item.indigo.css.js.map +1 -1
  322. package/components/nav-drawer/themes/dark/nav-drawer.indigo.css.js +1 -1
  323. package/components/nav-drawer/themes/dark/nav-drawer.indigo.css.js.map +1 -1
  324. package/components/nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.js +1 -2
  325. package/components/nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.js.map +1 -1
  326. package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.js +1 -2
  327. package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.js.map +1 -1
  328. package/components/nav-drawer/themes/light/indigo/nav-drawer-header-item.indigo.css.js +1 -2
  329. package/components/nav-drawer/themes/light/indigo/nav-drawer-header-item.indigo.css.js.map +1 -1
  330. package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.js +17 -2
  331. package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.js.map +1 -1
  332. package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.js +17 -1
  333. package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.js.map +1 -1
  334. package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js +1 -2
  335. package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js.map +1 -1
  336. package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js +19 -5
  337. package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js.map +1 -1
  338. package/components/nav-drawer/themes/light/nav-drawer.base.css.js +16 -4
  339. package/components/nav-drawer/themes/light/nav-drawer.base.css.js.map +1 -1
  340. package/components/navbar/themes/dark/navbar.bootstrap.css.js +1 -13
  341. package/components/navbar/themes/dark/navbar.bootstrap.css.js.map +1 -1
  342. package/components/navbar/themes/dark/navbar.fluent.css.js +1 -13
  343. package/components/navbar/themes/dark/navbar.fluent.css.js.map +1 -1
  344. package/components/navbar/themes/dark/navbar.indigo.css.js +1 -13
  345. package/components/navbar/themes/dark/navbar.indigo.css.js.map +1 -1
  346. package/components/navbar/themes/dark/navbar.material.css.js +1 -13
  347. package/components/navbar/themes/dark/navbar.material.css.js.map +1 -1
  348. package/components/navbar/themes/light/navbar.bootstrap.css.js +6 -22
  349. package/components/navbar/themes/light/navbar.bootstrap.css.js.map +1 -1
  350. package/components/navbar/themes/light/navbar.fluent.css.js +5 -21
  351. package/components/navbar/themes/light/navbar.fluent.css.js.map +1 -1
  352. package/components/navbar/themes/light/navbar.indigo.css.js +5 -21
  353. package/components/navbar/themes/light/navbar.indigo.css.js.map +1 -1
  354. package/components/navbar/themes/light/navbar.material.css.js +5 -21
  355. package/components/navbar/themes/light/navbar.material.css.js.map +1 -1
  356. package/components/navbar/themes/navbar.base.css.js +1 -3
  357. package/components/navbar/themes/navbar.base.css.js.map +1 -1
  358. package/components/progress/themes/circular/circular.progress.base.css.js +1 -3
  359. package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
  360. package/components/progress/themes/circular/circular.progress.bootstrap.css.js +1 -2
  361. package/components/progress/themes/circular/circular.progress.bootstrap.css.js.map +1 -1
  362. package/components/progress/themes/circular/circular.progress.fluent.css.js +1 -2
  363. package/components/progress/themes/circular/circular.progress.fluent.css.js.map +1 -1
  364. package/components/progress/themes/linear/linear.progress.base.css.js +43 -66
  365. package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
  366. package/components/progress/themes/linear/linear.progress.bootstrap.css.js +11 -65
  367. package/components/progress/themes/linear/linear.progress.bootstrap.css.js.map +1 -1
  368. package/components/progress/themes/linear/linear.progress.fluent.css.js +11 -7
  369. package/components/progress/themes/linear/linear.progress.fluent.css.js.map +1 -1
  370. package/components/progress/themes/linear/linear.progress.indigo.css.js +16 -4
  371. package/components/progress/themes/linear/linear.progress.indigo.css.js.map +1 -1
  372. package/components/radio/themes/dark/radio.bootstrap.css.js +1 -13
  373. package/components/radio/themes/dark/radio.bootstrap.css.js.map +1 -1
  374. package/components/radio/themes/dark/radio.fluent.css.js +1 -13
  375. package/components/radio/themes/dark/radio.fluent.css.js.map +1 -1
  376. package/components/radio/themes/dark/radio.indigo.css.js +1 -13
  377. package/components/radio/themes/dark/radio.indigo.css.js.map +1 -1
  378. package/components/radio/themes/dark/radio.material.css.js +1 -13
  379. package/components/radio/themes/dark/radio.material.css.js.map +1 -1
  380. package/components/radio/themes/light/radio.base.css.js +1 -17
  381. package/components/radio/themes/light/radio.base.css.js.map +1 -1
  382. package/components/radio/themes/light/radio.bootstrap.css.js +3 -19
  383. package/components/radio/themes/light/radio.bootstrap.css.js.map +1 -1
  384. package/components/radio/themes/light/radio.fluent.css.js +3 -19
  385. package/components/radio/themes/light/radio.fluent.css.js.map +1 -1
  386. package/components/radio/themes/light/radio.indigo.css.js +3 -17
  387. package/components/radio/themes/light/radio.indigo.css.js.map +1 -1
  388. package/components/radio/themes/light/radio.material.css.js +4 -17
  389. package/components/radio/themes/light/radio.material.css.js.map +1 -1
  390. package/components/radio-group/radio-group.base.css.js +1 -2
  391. package/components/radio-group/radio-group.base.css.js.map +1 -1
  392. package/components/radio-group/radio-group.fluent.css.js +1 -2
  393. package/components/radio-group/radio-group.fluent.css.js.map +1 -1
  394. package/components/radio-group/radio-group.material.css.js +1 -2
  395. package/components/radio-group/radio-group.material.css.js.map +1 -1
  396. package/components/rating/rating-symbol.base.css.js +1 -2
  397. package/components/rating/rating-symbol.base.css.js.map +1 -1
  398. package/components/rating/rating.base.css.js +1 -2
  399. package/components/rating/rating.base.css.js.map +1 -1
  400. package/components/rating/rating.bootstrap.css.js +1 -2
  401. package/components/rating/rating.bootstrap.css.js.map +1 -1
  402. package/components/rating/rating.fluent.css.js +1 -2
  403. package/components/rating/rating.fluent.css.js.map +1 -1
  404. package/components/rating/rating.indigo.css.js +1 -2
  405. package/components/rating/rating.indigo.css.js.map +1 -1
  406. package/components/ripple/ripple.material.css.js +1 -0
  407. package/components/ripple/ripple.material.css.js.map +1 -1
  408. package/components/select/select.d.ts +2 -6
  409. package/components/select/select.js +14 -12
  410. package/components/select/select.js.map +1 -1
  411. package/components/select/themes/dark/select.fluent.css.js +1 -1
  412. package/components/select/themes/dark/select.fluent.css.js.map +1 -1
  413. package/components/select/themes/dark/select.indigo.css.js +1 -1
  414. package/components/select/themes/dark/select.indigo.css.js.map +1 -1
  415. package/components/select/themes/dark/select.material.css.js +1 -1
  416. package/components/select/themes/dark/select.material.css.js.map +1 -1
  417. package/components/select/themes/light/select.base.css.js +1 -11
  418. package/components/select/themes/light/select.base.css.js.map +1 -1
  419. package/components/select/themes/light/select.bootstrap.css.js +153 -42
  420. package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
  421. package/components/select/themes/light/select.fluent.css.js +148 -9
  422. package/components/select/themes/light/select.fluent.css.js.map +1 -1
  423. package/components/select/themes/light/select.indigo.css.js +169 -16
  424. package/components/select/themes/light/select.indigo.css.js.map +1 -1
  425. package/components/select/themes/light/select.material.css.js +187 -20
  426. package/components/select/themes/light/select.material.css.js.map +1 -1
  427. package/components/slider/themes/dark/slider.bootstrap.css.js +1 -1
  428. package/components/slider/themes/dark/slider.bootstrap.css.js.map +1 -1
  429. package/components/slider/themes/dark/slider.fluent.css.js +1 -1
  430. package/components/slider/themes/dark/slider.fluent.css.js.map +1 -1
  431. package/components/slider/themes/dark/slider.indigo.css.js +1 -1
  432. package/components/slider/themes/dark/slider.indigo.css.js.map +1 -1
  433. package/components/slider/themes/light/slider.base.css.js +4 -10
  434. package/components/slider/themes/light/slider.base.css.js.map +1 -1
  435. package/components/slider/themes/light/slider.bootstrap.css.js +1 -2
  436. package/components/slider/themes/light/slider.bootstrap.css.js.map +1 -1
  437. package/components/slider/themes/light/slider.fluent.css.js +1 -2
  438. package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
  439. package/components/slider/themes/light/slider.indigo.css.js +1 -2
  440. package/components/slider/themes/light/slider.indigo.css.js.map +1 -1
  441. package/components/slider/themes/light/slider.material.css.js +2 -4
  442. package/components/slider/themes/light/slider.material.css.js.map +1 -1
  443. package/components/snackbar/themes/dark/snackbar.indigo.css.js +1 -1
  444. package/components/snackbar/themes/dark/snackbar.indigo.css.js.map +1 -1
  445. package/components/snackbar/themes/light/snackbar.base.css.js +7 -3
  446. package/components/snackbar/themes/light/snackbar.base.css.js.map +1 -1
  447. package/components/snackbar/themes/light/snackbar.bootstrap.css.js +9 -1
  448. package/components/snackbar/themes/light/snackbar.bootstrap.css.js.map +1 -1
  449. package/components/snackbar/themes/light/snackbar.fluent.css.js +9 -2
  450. package/components/snackbar/themes/light/snackbar.fluent.css.js.map +1 -1
  451. package/components/snackbar/themes/light/snackbar.indigo.css.js +9 -2
  452. package/components/snackbar/themes/light/snackbar.indigo.css.js.map +1 -1
  453. package/components/stepper/themes/step/dark/step.bootstrap.css.js +1 -1
  454. package/components/stepper/themes/step/dark/step.bootstrap.css.js.map +1 -1
  455. package/components/stepper/themes/step/dark/step.fluent.css.js +1 -1
  456. package/components/stepper/themes/step/dark/step.fluent.css.js.map +1 -1
  457. package/components/stepper/themes/step/dark/step.indigo.css.js +1 -1
  458. package/components/stepper/themes/step/dark/step.indigo.css.js.map +1 -1
  459. package/components/stepper/themes/step/dark/step.material.css.js +1 -1
  460. package/components/stepper/themes/step/dark/step.material.css.js.map +1 -1
  461. package/components/stepper/themes/step/light/step.base.css.js +2 -9
  462. package/components/stepper/themes/step/light/step.base.css.js.map +1 -1
  463. package/components/stepper/themes/step/light/step.bootstrap.css.js +68 -2
  464. package/components/stepper/themes/step/light/step.bootstrap.css.js.map +1 -1
  465. package/components/stepper/themes/step/light/step.fluent.css.js +68 -2
  466. package/components/stepper/themes/step/light/step.fluent.css.js.map +1 -1
  467. package/components/stepper/themes/step/light/step.indigo.css.js +68 -2
  468. package/components/stepper/themes/step/light/step.indigo.css.js.map +1 -1
  469. package/components/stepper/themes/step/light/step.material.css.js +68 -2
  470. package/components/stepper/themes/step/light/step.material.css.js.map +1 -1
  471. package/components/stepper/themes/stepper/stepper.base.css.js +1 -8
  472. package/components/stepper/themes/stepper/stepper.base.css.js.map +1 -1
  473. package/components/stepper/themes/stepper/stepper.bootstrap.css.js +1 -2
  474. package/components/stepper/themes/stepper/stepper.bootstrap.css.js.map +1 -1
  475. package/components/stepper/themes/stepper/stepper.fluent.css.js +1 -2
  476. package/components/stepper/themes/stepper/stepper.fluent.css.js.map +1 -1
  477. package/components/stepper/themes/stepper/stepper.indigo.css.js +1 -2
  478. package/components/stepper/themes/stepper/stepper.indigo.css.js.map +1 -1
  479. package/components/tabs/themes/dark/tab.dark.base.css.js +1 -1
  480. package/components/tabs/themes/dark/tab.dark.base.css.js.map +1 -1
  481. package/components/tabs/themes/dark/tab.dark.bootstrap.css.js +1 -1
  482. package/components/tabs/themes/dark/tab.dark.bootstrap.css.js.map +1 -1
  483. package/components/tabs/themes/light/tab-panel.base.css.js +1 -2
  484. package/components/tabs/themes/light/tab-panel.base.css.js.map +1 -1
  485. package/components/tabs/themes/light/tab.base.css.js +24 -3
  486. package/components/tabs/themes/light/tab.base.css.js.map +1 -1
  487. package/components/tabs/themes/light/tab.bootstrap.css.js +27 -6
  488. package/components/tabs/themes/light/tab.bootstrap.css.js.map +1 -1
  489. package/components/tabs/themes/light/tab.fluent.css.js +24 -2
  490. package/components/tabs/themes/light/tab.fluent.css.js.map +1 -1
  491. package/components/tabs/themes/light/tab.indigo.css.js +24 -2
  492. package/components/tabs/themes/light/tab.indigo.css.js.map +1 -1
  493. package/components/tabs/themes/light/tabs.base.css.js +1 -3
  494. package/components/tabs/themes/light/tabs.base.css.js.map +1 -1
  495. package/components/tabs/themes/light/tabs.bootstrap.css.js +1 -2
  496. package/components/tabs/themes/light/tabs.bootstrap.css.js.map +1 -1
  497. package/components/tabs/themes/light/tabs.fluent.css.js +1 -2
  498. package/components/tabs/themes/light/tabs.fluent.css.js.map +1 -1
  499. package/components/tabs/themes/light/tabs.indigo.css.js +1 -2
  500. package/components/tabs/themes/light/tabs.indigo.css.js.map +1 -1
  501. package/components/toast/themes/toast.base.css.js +37 -2
  502. package/components/toast/themes/toast.base.css.js.map +1 -1
  503. package/components/toast/themes/toast.bootstrap.css.js +6 -3
  504. package/components/toast/themes/toast.bootstrap.css.js.map +1 -1
  505. package/components/toast/themes/toast.fluent.css.js +6 -3
  506. package/components/toast/themes/toast.fluent.css.js.map +1 -1
  507. package/components/toast/themes/toast.indigo.css.js +6 -3
  508. package/components/toast/themes/toast.indigo.css.js.map +1 -1
  509. package/components/tree/themes/dark/tree-item.bootstrap.css.js +1 -1
  510. package/components/tree/themes/dark/tree-item.bootstrap.css.js.map +1 -1
  511. package/components/tree/themes/dark/tree-item.fluent.css.js +1 -1
  512. package/components/tree/themes/dark/tree-item.fluent.css.js.map +1 -1
  513. package/components/tree/themes/dark/tree-item.indigo.css.js +1 -1
  514. package/components/tree/themes/dark/tree-item.indigo.css.js.map +1 -1
  515. package/components/tree/themes/light/tree-item.base.css.js +20 -6
  516. package/components/tree/themes/light/tree-item.base.css.js.map +1 -1
  517. package/components/tree/themes/light/tree-item.bootstrap.css.js +1 -2
  518. package/components/tree/themes/light/tree-item.bootstrap.css.js.map +1 -1
  519. package/components/tree/themes/light/tree-item.fluent.css.js +1 -2
  520. package/components/tree/themes/light/tree-item.fluent.css.js.map +1 -1
  521. package/components/tree/themes/light/tree-item.indigo.css.js +1 -2
  522. package/components/tree/themes/light/tree-item.indigo.css.js.map +1 -1
  523. package/components/tree/themes/light/tree.base.css.js +1 -2
  524. package/components/tree/themes/light/tree.base.css.js.map +1 -1
  525. package/components/tree/tree-item.d.ts +7 -2
  526. package/components/tree/tree-item.js +30 -11
  527. package/components/tree/tree-item.js.map +1 -1
  528. package/package.json +4 -4
  529. package/themes/dark/bootstrap.css +275 -99
  530. package/themes/dark/fluent.css +298 -123
  531. package/themes/dark/indigo.css +232 -95
  532. package/themes/dark/material.css +253 -92
  533. package/themes/light/bootstrap.css +0 -47
  534. package/themes/light/fluent.css +0 -47
  535. package/themes/light/indigo.css +0 -47
  536. package/themes/light/material.css +0 -47
  537. package/theming/theming-controller.d.ts +3 -2
  538. package/theming/theming-controller.js +38 -19
  539. package/theming/theming-controller.js.map +1 -1
  540. package/theming/theming-decorator.d.ts +4 -3
  541. package/theming/theming-decorator.js +3 -5
  542. package/theming/theming-decorator.js.map +1 -1
  543. package/theming/types.d.ts +1 -9
  544. package/theming/types.js.map +1 -1
  545. package/vscode-html-custom-data.json +8 -8
  546. package/components/dropdown/themes/light/dropdown-group.base.css.js.map +0 -1
  547. package/components/dropdown/themes/light/dropdown-group.fluent.css.js +0 -6
  548. package/components/dropdown/themes/light/dropdown-group.fluent.css.js.map +0 -1
  549. package/components/dropdown/themes/light/dropdown-header.base.css.js +0 -61
  550. package/components/dropdown/themes/light/dropdown-header.base.css.js.map +0 -1
  551. package/components/dropdown/themes/light/dropdown-header.bootstrap.css.js +0 -6
  552. package/components/dropdown/themes/light/dropdown-header.bootstrap.css.js.map +0 -1
  553. package/components/dropdown/themes/light/dropdown-header.fluent.css.js +0 -6
  554. package/components/dropdown/themes/light/dropdown-header.fluent.css.js.map +0 -1
  555. package/components/dropdown/themes/light/dropdown-item.base.css.js +0 -124
  556. package/components/dropdown/themes/light/dropdown-item.base.css.js.map +0 -1
  557. package/components/dropdown/themes/light/dropdown-item.bootstrap.css.js +0 -27
  558. package/components/dropdown/themes/light/dropdown-item.bootstrap.css.js.map +0 -1
  559. package/components/dropdown/themes/light/dropdown-item.fluent.css.js +0 -27
  560. package/components/dropdown/themes/light/dropdown-item.fluent.css.js.map +0 -1
  561. package/components/dropdown/themes/light/dropdown-item.indigo.css.js +0 -27
  562. package/components/dropdown/themes/light/dropdown-item.indigo.css.js.map +0 -1
  563. /package/components/{dropdown/themes/light/dropdown-group.base.css.d.ts → calendar/themes/indigo/calendar.indigo.css.d.ts} +0 -0
  564. /package/components/{dropdown/themes/light/dropdown-group.fluent.css.d.ts → card/themes/light/card.indigo.css.d.ts} +0 -0
  565. /package/components/dropdown/themes/{light/dropdown-header.base.css.d.ts → dark/dropdown.material.css.d.ts} +0 -0
  566. /package/components/dropdown/themes/light/{dropdown-header.bootstrap.css.d.ts → dropdown.material.css.d.ts} +0 -0
  567. /package/components/dropdown/themes/light/{dropdown-header.fluent.css.d.ts → group/dropdown-group.base.css.d.ts} +0 -0
  568. /package/components/dropdown/themes/light/{dropdown-item.base.css.d.ts → group/dropdown-group.bootstrap.css.d.ts} +0 -0
  569. /package/components/dropdown/themes/light/{dropdown-item.bootstrap.css.d.ts → group/dropdown-group.fluent.css.d.ts} +0 -0
  570. /package/components/dropdown/themes/light/{dropdown-item.fluent.css.d.ts → group/dropdown-group.indigo.css.d.ts} +0 -0
  571. /package/components/dropdown/themes/light/{dropdown-item.indigo.css.d.ts → group/dropdown-group.material.css.d.ts} +0 -0
@@ -14,6 +14,7 @@ import { styles as indigo } from './themes/light/tree-item.indigo.css.js';
14
14
  import { watch } from '../common/decorators/watch.js';
15
15
  import { themes } from '../../theming/theming-decorator.js';
16
16
  import { blazorSuppress } from '../common/decorators/blazorSuppress.js';
17
+ import { AnimationPlayer, growVerIn, growVerOut, } from '../../animations/index.js';
17
18
  import { defineComponents } from '../common/definitions/defineComponents.js';
18
19
  import IgcIconComponent from '../icon/icon.js';
19
20
  import IgcCheckboxComponent from '../checkbox/checkbox.js';
@@ -42,6 +43,17 @@ let IgcTreeItemComponent = class IgcTreeItemComponent extends LitElement {
42
43
  this.loading = false;
43
44
  this.value = undefined;
44
45
  }
46
+ firstUpdated() {
47
+ this.animationPlayer = new AnimationPlayer(this.group);
48
+ }
49
+ async toggleAnimation(dir) {
50
+ const animation = dir === 'open' ? growVerIn : growVerOut;
51
+ const [_, event] = await Promise.all([
52
+ this.animationPlayer.stopAll(),
53
+ this.animationPlayer.play(animation),
54
+ ]);
55
+ return event.type === 'finish';
56
+ }
45
57
  bothChange() {
46
58
  if (this.hasChildren) {
47
59
  this.setAttribute('aria-expanded', this.expanded.toString());
@@ -102,10 +114,7 @@ let IgcTreeItemComponent = class IgcTreeItemComponent extends LitElement {
102
114
  var _a, _b;
103
115
  super.connectedCallback();
104
116
  this.tree = this.closest('igc-tree');
105
- this.parent =
106
- ((_a = this.parentElement) === null || _a === void 0 ? void 0 : _a.tagName.toLowerCase()) === 'igc-tree-item'
107
- ? this.parentElement
108
- : null;
117
+ this.parent = (_a = this.parentElement) === null || _a === void 0 ? void 0 : _a.closest('igc-tree-item');
109
118
  this.level = this.parent ? this.parent.level + 1 : 0;
110
119
  this.setAttribute('role', 'treeitem');
111
120
  this.addEventListener('blur', this.onBlur);
@@ -142,7 +151,10 @@ let IgcTreeItemComponent = class IgcTreeItemComponent extends LitElement {
142
151
  };
143
152
  }
144
153
  get directChildren() {
145
- return Array.from(this.children).filter((x) => x.tagName.toLowerCase() === 'igc-tree-item');
154
+ return this.allChildren.filter((x) => {
155
+ var _a, _b, _c;
156
+ return (_c = ((_a = x.parent) !== null && _a !== void 0 ? _a : (_b = x.parentElement) === null || _b === void 0 ? void 0 : _b.closest('igc-tree-item'))) === null || _c === void 0 ? void 0 : _c.isSameNode(this);
157
+ });
146
158
  }
147
159
  get allChildren() {
148
160
  return Array.from(this.querySelectorAll(`igc-tree-item`));
@@ -269,7 +281,7 @@ let IgcTreeItemComponent = class IgcTreeItemComponent extends LitElement {
269
281
  return this.directChildren;
270
282
  }
271
283
  }
272
- expandWithEvent() {
284
+ async expandWithEvent() {
273
285
  var _a, _b, _c;
274
286
  if (this.expanded) {
275
287
  return;
@@ -291,9 +303,11 @@ let IgcTreeItemComponent = class IgcTreeItemComponent extends LitElement {
291
303
  });
292
304
  }
293
305
  this.expanded = true;
294
- (_c = this.tree) === null || _c === void 0 ? void 0 : _c.emitEvent('igcItemExpanded', { detail: this });
306
+ if (await this.toggleAnimation('open')) {
307
+ (_c = this.tree) === null || _c === void 0 ? void 0 : _c.emitEvent('igcItemExpanded', { detail: this });
308
+ }
295
309
  }
296
- collapseWithEvent() {
310
+ async collapseWithEvent() {
297
311
  var _a, _b;
298
312
  if (!this.expanded) {
299
313
  return;
@@ -307,7 +321,9 @@ let IgcTreeItemComponent = class IgcTreeItemComponent extends LitElement {
307
321
  return;
308
322
  }
309
323
  this.expanded = false;
310
- (_b = this.tree) === null || _b === void 0 ? void 0 : _b.emitEvent('igcItemCollapsed', { detail: this });
324
+ if (await this.toggleAnimation('close')) {
325
+ (_b = this.tree) === null || _b === void 0 ? void 0 : _b.emitEvent('igcItemCollapsed', { detail: this });
326
+ }
311
327
  }
312
328
  toggle() {
313
329
  this.expanded = !this.expanded;
@@ -383,8 +399,8 @@ let IgcTreeItemComponent = class IgcTreeItemComponent extends LitElement {
383
399
  </slot>
384
400
  </div>
385
401
  </div>
386
- <div role="group">
387
- <slot @slotchange=${this.handleChange} ?hidden=${!this.expanded}></slot>
402
+ <div role="group" aria-hidden=${!this.expanded}>
403
+ <slot @slotchange=${this.handleChange}></slot>
388
404
  </div>
389
405
  `;
390
406
  }
@@ -404,6 +420,9 @@ __decorate([
404
420
  query('#wrapper'),
405
421
  blazorSuppress()
406
422
  ], IgcTreeItemComponent.prototype, "wrapper", void 0);
423
+ __decorate([
424
+ query('[role="group"]', true)
425
+ ], IgcTreeItemComponent.prototype, "group", void 0);
407
426
  __decorate([
408
427
  state()
409
428
  ], 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 {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { html, LitElement } from 'lit';\nimport { partNameMap } from '../common/util.js';\nimport { styles } from './themes/light/tree-item.base.css.js';\nimport { styles as bootstrap } from './themes/light/tree-item.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/tree-item.fluent.css.js';\nimport { styles as indigo } from './themes/light/tree-item.indigo.css.js';\nimport type IgcTreeComponent from './tree.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { IgcTreeSelectionService } from './tree.selection.js';\nimport { IgcTreeNavigationService } from './tree.navigation.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { blazorSuppress } from '../common/decorators/blazorSuppress.js';\n\nimport { defineComponents } from '../common/definitions/defineComponents.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport IgcCheckboxComponent from '../checkbox/checkbox.js';\nimport IgcCircularProgressComponent from '../progress/circular-progress.js';\n\ndefineComponents(\n IgcIconComponent,\n IgcCheckboxComponent,\n IgcCircularProgressComponent\n);\n\nconst sizeMultiplier: Record<'small' | 'medium' | 'large', number> = {\n small: 1 / 2,\n medium: 2 / 3,\n large: 1,\n};\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({ bootstrap, fluent, indigo })\nexport default class IgcTreeItemComponent extends LitElement {\n /** @private */\n public static readonly tagName = 'igc-tree-item';\n /** @private */\n public static override styles = styles;\n\n private tabbableEl?: HTMLElement[];\n private focusedProgrammatically = false;\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 @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 =\n this.parentElement?.tagName.toLowerCase() === 'igc-tree-item'\n ? (this.parentElement as IgcTreeItemComponent)\n : 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('pointerdown', this.pointerDown);\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 Array.from(this.children).filter(\n (x) => x.tagName.toLowerCase() === 'igc-tree-item'\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 pointerDown(event: MouseEvent): void {\n event.stopPropagation();\n if (this.disabled) {\n return;\n }\n this.tabIndex = 0;\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 (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 (pointerDown 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 expandWithEvent(): void {\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 this.tree?.emitEvent('igcItemExpanded', { detail: this });\n }\n\n /**\n * @private\n * Collapses the tree item.\n */\n public collapseWithEvent(): void {\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 this.expanded = false;\n this.tree?.emitEvent('igcItemCollapsed', { detail: this });\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 size = this.level * (this.tree ? sizeMultiplier[this.tree!.size] : 1);\n\n return html`\n <div\n id=\"wrapper\"\n part=\"wrapper ${this.tree?.size} ${partNameMap(this.parts)}\"\n >\n <div\n style=\"width: calc(${size} * 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 name=\"indicator\" @click=${this.expandIndicatorClick}>\n ${this.hasChildren\n ? html`\n <igc-icon\n name=${this.expanded\n ? 'keyboard_arrow_down'\n : this.tree?.dir === 'rtl'\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\">\n <slot @slotchange=${this.handleChange} ?hidden=${!this.expanded}></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":"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","sourcesContent":["import {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { html, LitElement } from 'lit';\nimport { partNameMap } from '../common/util.js';\nimport { styles } from './themes/light/tree-item.base.css.js';\nimport { styles as bootstrap } from './themes/light/tree-item.bootstrap.css.js';\nimport { styles as fluent } from './themes/light/tree-item.fluent.css.js';\nimport { styles as indigo } from './themes/light/tree-item.indigo.css.js';\nimport type IgcTreeComponent from './tree.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { IgcTreeSelectionService } from './tree.selection.js';\nimport { IgcTreeNavigationService } from './tree.navigation.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { blazorSuppress } from '../common/decorators/blazorSuppress.js';\nimport {\n AnimationPlayer,\n growVerIn,\n growVerOut,\n} from '../../animations/index.js';\n\nimport { defineComponents } from '../common/definitions/defineComponents.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport IgcCheckboxComponent from '../checkbox/checkbox.js';\nimport IgcCircularProgressComponent from '../progress/circular-progress.js';\n\ndefineComponents(\n IgcIconComponent,\n IgcCheckboxComponent,\n IgcCircularProgressComponent\n);\n\nconst sizeMultiplier: Record<'small' | 'medium' | 'large', number> = {\n small: 1 / 2,\n medium: 2 / 3,\n large: 1,\n};\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({ bootstrap, fluent, indigo })\nexport default class IgcTreeItemComponent extends LitElement {\n /** @private */\n public static readonly tagName = 'igc-tree-item';\n /** @private */\n public static override styles = styles;\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('pointerdown', this.pointerDown);\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 pointerDown(event: MouseEvent): void {\n event.stopPropagation();\n if (this.disabled) {\n return;\n }\n this.tabIndex = 0;\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 (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 (pointerDown 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 size = this.level * (this.tree ? sizeMultiplier[this.tree!.size] : 1);\n\n return html`\n <div\n id=\"wrapper\"\n part=\"wrapper ${this.tree?.size} ${partNameMap(this.parts)}\"\n >\n <div\n style=\"width: calc(${size} * 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 name=\"indicator\" @click=${this.expandIndicatorClick}>\n ${this.hasChildren\n ? html`\n <igc-icon\n name=${this.expanded\n ? 'keyboard_arrow_down'\n : this.tree?.dir === 'rtl'\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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "igniteui-webcomponents",
3
- "version": "4.3.0",
3
+ "version": "4.3.1",
4
4
  "description": "Ignite UI for Web Components is a complete library of UI components, giving you the ability to build modern web applications using encapsulation and the concept of reusable components in a dependency-free approach.",
5
5
  "author": "Infragistics",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -59,8 +59,8 @@
59
59
  "tree"
60
60
  ],
61
61
  "dependencies": {
62
- "@floating-ui/dom": "^1.4.1",
63
- "@lit-labs/virtualizer": "^2.0.3",
64
- "lit": "^2.7.5"
62
+ "@floating-ui/dom": "^1.5.1",
63
+ "@lit-labs/virtualizer": "^2.0.4",
64
+ "lit": "^2.7.6"
65
65
  }
66
66
  }