igniteui-webcomponents 4.8.2 → 4.10.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 (1002) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +2 -2
  3. package/animations/player.d.ts +1 -1
  4. package/animations/player.js +1 -1
  5. package/animations/player.js.map +1 -1
  6. package/animations/presets/slide/index.js +4 -4
  7. package/animations/presets/slide/index.js.map +1 -1
  8. package/components/accordion/accordion.js +2 -2
  9. package/components/accordion/accordion.js.map +1 -1
  10. package/components/avatar/avatar.d.ts +1 -0
  11. package/components/avatar/avatar.js +11 -7
  12. package/components/avatar/avatar.js.map +1 -1
  13. package/components/avatar/themes/themes.js.map +1 -1
  14. package/components/badge/badge.js +7 -6
  15. package/components/badge/badge.js.map +1 -1
  16. package/components/badge/themes/themes.d.ts +1 -1
  17. package/components/badge/themes/themes.js.map +1 -1
  18. package/components/banner/banner.d.ts +55 -0
  19. package/components/banner/banner.js +100 -0
  20. package/components/banner/banner.js.map +1 -0
  21. package/components/banner/themes/banner.base.css.js +3 -0
  22. package/components/banner/themes/banner.base.css.js.map +1 -0
  23. package/components/banner/themes/dark/banner.bootstrap.css.js +3 -0
  24. package/components/banner/themes/dark/banner.bootstrap.css.js.map +1 -0
  25. package/components/banner/themes/dark/banner.fluent.css.d.ts +1 -0
  26. package/components/banner/themes/dark/banner.fluent.css.js +3 -0
  27. package/components/banner/themes/dark/banner.fluent.css.js.map +1 -0
  28. package/components/banner/themes/dark/banner.indigo.css.d.ts +1 -0
  29. package/components/banner/themes/dark/banner.indigo.css.js +3 -0
  30. package/components/banner/themes/dark/banner.indigo.css.js.map +1 -0
  31. package/components/banner/themes/dark/banner.material.css.d.ts +1 -0
  32. package/components/banner/themes/dark/banner.material.css.js +3 -0
  33. package/components/banner/themes/dark/banner.material.css.js.map +1 -0
  34. package/components/banner/themes/light/banner.bootstrap.css.d.ts +1 -0
  35. package/components/banner/themes/light/banner.bootstrap.css.js +3 -0
  36. package/components/banner/themes/light/banner.bootstrap.css.js.map +1 -0
  37. package/components/banner/themes/light/banner.fluent.css.d.ts +1 -0
  38. package/components/banner/themes/light/banner.fluent.css.js +3 -0
  39. package/components/banner/themes/light/banner.fluent.css.js.map +1 -0
  40. package/components/banner/themes/light/banner.indigo.css.d.ts +1 -0
  41. package/components/banner/themes/light/banner.indigo.css.js +3 -0
  42. package/components/banner/themes/light/banner.indigo.css.js.map +1 -0
  43. package/components/banner/themes/light/banner.material.css.d.ts +1 -0
  44. package/components/banner/themes/light/banner.material.css.js +3 -0
  45. package/components/banner/themes/light/banner.material.css.js.map +1 -0
  46. package/components/banner/themes/shared/banner.bootstrap.css.d.ts +1 -0
  47. package/components/banner/themes/shared/banner.bootstrap.css.js +3 -0
  48. package/components/banner/themes/shared/banner.bootstrap.css.js.map +1 -0
  49. package/components/banner/themes/shared/banner.fluent.css.d.ts +1 -0
  50. package/components/banner/themes/shared/banner.fluent.css.js +3 -0
  51. package/components/banner/themes/shared/banner.fluent.css.js.map +1 -0
  52. package/components/banner/themes/shared/banner.indigo.css.d.ts +1 -0
  53. package/components/banner/themes/shared/banner.indigo.css.js +3 -0
  54. package/components/banner/themes/shared/banner.indigo.css.js.map +1 -0
  55. package/components/banner/themes/shared/banner.material.css.d.ts +1 -0
  56. package/components/banner/themes/shared/banner.material.css.js +3 -0
  57. package/components/banner/themes/shared/banner.material.css.js.map +1 -0
  58. package/components/banner/themes/themes.d.ts +2 -0
  59. package/components/banner/themes/themes.js +43 -0
  60. package/components/banner/themes/themes.js.map +1 -0
  61. package/components/button/button-base.d.ts +4 -2
  62. package/components/button/button-base.js +13 -4
  63. package/components/button/button-base.js.map +1 -1
  64. package/components/button/button.js +6 -5
  65. package/components/button/button.js.map +1 -1
  66. package/components/button/icon-button.js +8 -7
  67. package/components/button/icon-button.js.map +1 -1
  68. package/components/button/themes/button/button.base.css.js +1 -1
  69. package/components/button/themes/button/button.base.css.js.map +1 -1
  70. package/components/button/themes/button/dark/button.bootstrap.css.js +1 -1
  71. package/components/button/themes/button/dark/button.bootstrap.css.js.map +1 -1
  72. package/components/button/themes/button/dark/button.fluent.css.js +1 -1
  73. package/components/button/themes/button/dark/button.fluent.css.js.map +1 -1
  74. package/components/button/themes/button/dark/button.indigo.css.js +1 -1
  75. package/components/button/themes/button/dark/button.indigo.css.js.map +1 -1
  76. package/components/button/themes/button/dark/button.material.css.js +1 -1
  77. package/components/button/themes/button/dark/button.material.css.js.map +1 -1
  78. package/components/button/themes/button/light/button.bootstrap.css.js +1 -1
  79. package/components/button/themes/button/light/button.bootstrap.css.js.map +1 -1
  80. package/components/button/themes/button/light/button.fluent.css.js +1 -1
  81. package/components/button/themes/button/light/button.fluent.css.js.map +1 -1
  82. package/components/button/themes/button/light/button.indigo.css.js +1 -1
  83. package/components/button/themes/button/light/button.indigo.css.js.map +1 -1
  84. package/components/button/themes/button/light/button.material.css.js +1 -1
  85. package/components/button/themes/button/light/button.material.css.js.map +1 -1
  86. package/components/button/themes/button/light/button.shared.css.js +1 -1
  87. package/components/button/themes/button/light/button.shared.css.js.map +1 -1
  88. package/components/button/themes/button/shared/button.bootstrap.css.js +1 -1
  89. package/components/button/themes/button/shared/button.bootstrap.css.js.map +1 -1
  90. package/components/button/themes/button/shared/button.common.css.js +1 -1
  91. package/components/button/themes/button/shared/button.common.css.js.map +1 -1
  92. package/components/button/themes/button/shared/button.fluent.css.js +1 -1
  93. package/components/button/themes/button/shared/button.fluent.css.js.map +1 -1
  94. package/components/button/themes/button/shared/button.indigo.css.js +1 -1
  95. package/components/button/themes/button/shared/button.indigo.css.js.map +1 -1
  96. package/components/button/themes/button/shared/button.material.css.js +1 -1
  97. package/components/button/themes/button/shared/button.material.css.js.map +1 -1
  98. package/components/button/themes/button/themes.d.ts +1 -1
  99. package/components/button/themes/button/themes.js.map +1 -1
  100. package/components/button/themes/icon-button/dark/icon-button.bootstrap.css.js +1 -1
  101. package/components/button/themes/icon-button/dark/icon-button.bootstrap.css.js.map +1 -1
  102. package/components/button/themes/icon-button/dark/icon-button.fluent.css.js +1 -1
  103. package/components/button/themes/icon-button/dark/icon-button.fluent.css.js.map +1 -1
  104. package/components/button/themes/icon-button/dark/icon-button.indigo.css.js +1 -1
  105. package/components/button/themes/icon-button/dark/icon-button.indigo.css.js.map +1 -1
  106. package/components/button/themes/icon-button/dark/icon-button.material.css.js +1 -1
  107. package/components/button/themes/icon-button/dark/icon-button.material.css.js.map +1 -1
  108. package/components/button/themes/icon-button/icon-button.base.css.js +1 -1
  109. package/components/button/themes/icon-button/icon-button.base.css.js.map +1 -1
  110. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js +1 -1
  111. package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js.map +1 -1
  112. package/components/button/themes/icon-button/light/icon-button.fluent.css.js +1 -1
  113. package/components/button/themes/icon-button/light/icon-button.fluent.css.js.map +1 -1
  114. package/components/button/themes/icon-button/light/icon-button.indigo.css.js +1 -1
  115. package/components/button/themes/icon-button/light/icon-button.indigo.css.js.map +1 -1
  116. package/components/button/themes/icon-button/light/icon-button.material.css.js +1 -1
  117. package/components/button/themes/icon-button/light/icon-button.material.css.js.map +1 -1
  118. package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.js +1 -1
  119. package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.js.map +1 -1
  120. package/components/button/themes/icon-button/shared/icon-button.common.css.js +1 -1
  121. package/components/button/themes/icon-button/shared/icon-button.common.css.js.map +1 -1
  122. package/components/button/themes/icon-button/shared/icon-button.fluent.css.js +1 -1
  123. package/components/button/themes/icon-button/shared/icon-button.fluent.css.js.map +1 -1
  124. package/components/button/themes/icon-button/shared/icon-button.indigo.css.js +1 -1
  125. package/components/button/themes/icon-button/shared/icon-button.indigo.css.js.map +1 -1
  126. package/components/button/themes/icon-button/shared/icon-button.material.css.js +1 -1
  127. package/components/button/themes/icon-button/shared/icon-button.material.css.js.map +1 -1
  128. package/components/button/themes/icon-button/themes.d.ts +1 -1
  129. package/components/button/themes/icon-button/themes.js.map +1 -1
  130. package/components/button-group/button-group.js +27 -19
  131. package/components/button-group/button-group.js.map +1 -1
  132. package/components/button-group/themes/button.base.css.js +1 -1
  133. package/components/button-group/themes/button.base.css.js.map +1 -1
  134. package/components/button-group/themes/button.d.ts +1 -1
  135. package/components/button-group/themes/button.js +7 -0
  136. package/components/button-group/themes/button.js.map +1 -1
  137. package/components/button-group/themes/dark/button-group.bootstrap.css.js +1 -1
  138. package/components/button-group/themes/dark/button-group.bootstrap.css.js.map +1 -1
  139. package/components/button-group/themes/dark/button-group.fluent.css.js +1 -1
  140. package/components/button-group/themes/dark/button-group.fluent.css.js.map +1 -1
  141. package/components/button-group/themes/dark/button-group.indigo.css.js +1 -1
  142. package/components/button-group/themes/dark/button-group.indigo.css.js.map +1 -1
  143. package/components/button-group/themes/dark/button-group.material.css.js +1 -1
  144. package/components/button-group/themes/dark/button-group.material.css.js.map +1 -1
  145. package/components/button-group/themes/dark/button-group.shared.css.js +1 -1
  146. package/components/button-group/themes/dark/button-group.shared.css.js.map +1 -1
  147. package/components/button-group/themes/group.d.ts +1 -1
  148. package/components/button-group/themes/group.js.map +1 -1
  149. package/components/button-group/themes/light/button-group.bootstrap.css.js +1 -1
  150. package/components/button-group/themes/light/button-group.bootstrap.css.js.map +1 -1
  151. package/components/button-group/themes/light/button-group.fluent.css.js +1 -1
  152. package/components/button-group/themes/light/button-group.fluent.css.js.map +1 -1
  153. package/components/button-group/themes/light/button-group.indigo.css.js +1 -1
  154. package/components/button-group/themes/light/button-group.indigo.css.js.map +1 -1
  155. package/components/button-group/themes/light/button-group.material.css.js +1 -1
  156. package/components/button-group/themes/light/button-group.material.css.js.map +1 -1
  157. package/components/button-group/themes/light/button-group.shared.css.js +1 -1
  158. package/components/button-group/themes/light/button-group.shared.css.js.map +1 -1
  159. package/components/button-group/themes/shared/button/button.bootstrap.css.js +1 -1
  160. package/components/button-group/themes/shared/button/button.bootstrap.css.js.map +1 -1
  161. package/components/button-group/themes/shared/button/button.common.css.js +1 -1
  162. package/components/button-group/themes/shared/button/button.common.css.js.map +1 -1
  163. package/components/button-group/themes/shared/button/button.fluent.css.js +1 -1
  164. package/components/button-group/themes/shared/button/button.fluent.css.js.map +1 -1
  165. package/components/button-group/themes/shared/button/button.indigo.css.js +1 -1
  166. package/components/button-group/themes/shared/button/button.indigo.css.js.map +1 -1
  167. package/components/button-group/themes/shared/button/button.material.css.d.ts +1 -0
  168. package/components/button-group/themes/shared/button/button.material.css.js +3 -0
  169. package/components/button-group/themes/shared/button/button.material.css.js.map +1 -0
  170. package/components/button-group/themes/shared/group/group.bootstrap.css.js +1 -1
  171. package/components/button-group/themes/shared/group/group.bootstrap.css.js.map +1 -1
  172. package/components/button-group/themes/shared/group/group.common.css.js +1 -1
  173. package/components/button-group/themes/shared/group/group.common.css.js.map +1 -1
  174. package/components/button-group/themes/shared/group/group.indigo.css.js +1 -1
  175. package/components/button-group/themes/shared/group/group.indigo.css.js.map +1 -1
  176. package/components/button-group/toggle-button.d.ts +3 -1
  177. package/components/button-group/toggle-button.js +16 -7
  178. package/components/button-group/toggle-button.js.map +1 -1
  179. package/components/calendar/calendar.d.ts +4 -3
  180. package/components/calendar/calendar.js +32 -33
  181. package/components/calendar/calendar.js.map +1 -1
  182. package/components/calendar/common/calendar-base.d.ts +1 -1
  183. package/components/calendar/common/calendar-base.js +2 -2
  184. package/components/calendar/common/calendar-base.js.map +1 -1
  185. package/components/calendar/common/calendar.model.d.ts +1 -1
  186. package/components/calendar/common/calendar.model.js +12 -11
  187. package/components/calendar/common/calendar.model.js.map +1 -1
  188. package/components/calendar/common/utils.d.ts +1 -1
  189. package/components/calendar/common/utils.js +1 -1
  190. package/components/calendar/common/utils.js.map +1 -1
  191. package/components/calendar/days-view/days-view.d.ts +4 -4
  192. package/components/calendar/days-view/days-view.js +11 -14
  193. package/components/calendar/days-view/days-view.js.map +1 -1
  194. package/components/calendar/months-view/months-view.d.ts +2 -2
  195. package/components/calendar/months-view/months-view.js +4 -3
  196. package/components/calendar/months-view/months-view.js.map +1 -1
  197. package/components/calendar/themes/calendar.d.ts +1 -1
  198. package/components/calendar/themes/calendar.js.map +1 -1
  199. package/components/calendar/themes/dark/calendar.bootstrap.css.js +1 -1
  200. package/components/calendar/themes/dark/calendar.bootstrap.css.js.map +1 -1
  201. package/components/calendar/themes/dark/calendar.fluent.css.js +1 -1
  202. package/components/calendar/themes/dark/calendar.fluent.css.js.map +1 -1
  203. package/components/calendar/themes/dark/calendar.indigo.css.js +1 -1
  204. package/components/calendar/themes/dark/calendar.indigo.css.js.map +1 -1
  205. package/components/calendar/themes/dark/calendar.material.css.js +1 -1
  206. package/components/calendar/themes/dark/calendar.material.css.js.map +1 -1
  207. package/components/calendar/themes/days.d.ts +1 -1
  208. package/components/calendar/themes/days.js.map +1 -1
  209. package/components/calendar/themes/light/calendar.bootstrap.css.js +1 -1
  210. package/components/calendar/themes/light/calendar.bootstrap.css.js.map +1 -1
  211. package/components/calendar/themes/light/calendar.fluent.css.js +1 -1
  212. package/components/calendar/themes/light/calendar.fluent.css.js.map +1 -1
  213. package/components/calendar/themes/light/calendar.indigo.css.js +1 -1
  214. package/components/calendar/themes/light/calendar.indigo.css.js.map +1 -1
  215. package/components/calendar/themes/light/calendar.material.css.js +1 -1
  216. package/components/calendar/themes/light/calendar.material.css.js.map +1 -1
  217. package/components/calendar/themes/light/calendar.shared.css.js +1 -1
  218. package/components/calendar/themes/light/calendar.shared.css.js.map +1 -1
  219. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js +1 -1
  220. package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js.map +1 -1
  221. package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js +1 -1
  222. package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js.map +1 -1
  223. package/components/calendar/themes/shared/fluent/year-month-view.fluent.css.js +1 -1
  224. package/components/calendar/themes/shared/fluent/year-month-view.fluent.css.js.map +1 -1
  225. package/components/calendar/themes/shared/indigo/year-month-view.indigo.css.js +1 -1
  226. package/components/calendar/themes/shared/indigo/year-month-view.indigo.css.js.map +1 -1
  227. package/components/calendar/themes/shared/material/year-month-view.material.css.js +1 -1
  228. package/components/calendar/themes/shared/material/year-month-view.material.css.js.map +1 -1
  229. package/components/calendar/themes/year-month.d.ts +1 -1
  230. package/components/calendar/themes/year-month.js.map +1 -1
  231. package/components/calendar/years-view/years-view.d.ts +2 -2
  232. package/components/calendar/years-view/years-view.js +4 -3
  233. package/components/calendar/years-view/years-view.js.map +1 -1
  234. package/components/card/card.actions.js +6 -5
  235. package/components/card/card.actions.js.map +1 -1
  236. package/components/card/card.content.js +6 -5
  237. package/components/card/card.content.js.map +1 -1
  238. package/components/card/card.header.js +6 -5
  239. package/components/card/card.header.js.map +1 -1
  240. package/components/card/card.js +6 -5
  241. package/components/card/card.js.map +1 -1
  242. package/components/card/card.media.js +2 -2
  243. package/components/card/card.media.js.map +1 -1
  244. package/components/card/themes/actions.d.ts +1 -1
  245. package/components/card/themes/actions.js.map +1 -1
  246. package/components/card/themes/container.d.ts +1 -1
  247. package/components/card/themes/container.js.map +1 -1
  248. package/components/card/themes/content.d.ts +1 -1
  249. package/components/card/themes/content.js.map +1 -1
  250. package/components/card/themes/header.d.ts +1 -1
  251. package/components/card/themes/header.js.map +1 -1
  252. package/components/checkbox/checkbox-base.d.ts +4 -8
  253. package/components/checkbox/checkbox-base.js +19 -38
  254. package/components/checkbox/checkbox-base.js.map +1 -1
  255. package/components/checkbox/checkbox.js +7 -7
  256. package/components/checkbox/checkbox.js.map +1 -1
  257. package/components/checkbox/switch.js +7 -7
  258. package/components/checkbox/switch.js.map +1 -1
  259. package/components/checkbox/themes/checkbox-themes.d.ts +1 -1
  260. package/components/checkbox/themes/checkbox-themes.js.map +1 -1
  261. package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js +1 -1
  262. package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js.map +1 -1
  263. package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js +1 -1
  264. package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js.map +1 -1
  265. package/components/checkbox/themes/dark/checkbox/checkbox.indigo.css.js +1 -1
  266. package/components/checkbox/themes/dark/checkbox/checkbox.indigo.css.js.map +1 -1
  267. package/components/checkbox/themes/dark/checkbox/checkbox.material.css.js +1 -1
  268. package/components/checkbox/themes/dark/checkbox/checkbox.material.css.js.map +1 -1
  269. package/components/checkbox/themes/dark/switch/switch.bootstrap.css.js +1 -1
  270. package/components/checkbox/themes/dark/switch/switch.bootstrap.css.js.map +1 -1
  271. package/components/checkbox/themes/dark/switch/switch.fluent.css.js +1 -1
  272. package/components/checkbox/themes/dark/switch/switch.fluent.css.js.map +1 -1
  273. package/components/checkbox/themes/dark/switch/switch.indigo.css.js +1 -1
  274. package/components/checkbox/themes/dark/switch/switch.indigo.css.js.map +1 -1
  275. package/components/checkbox/themes/dark/switch/switch.material.css.js +1 -1
  276. package/components/checkbox/themes/dark/switch/switch.material.css.js.map +1 -1
  277. package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.js +1 -1
  278. package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.js.map +1 -1
  279. package/components/checkbox/themes/light/checkbox/checkbox.fluent.css.js +1 -1
  280. package/components/checkbox/themes/light/checkbox/checkbox.fluent.css.js.map +1 -1
  281. package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.js +1 -1
  282. package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.js.map +1 -1
  283. package/components/checkbox/themes/light/checkbox/checkbox.material.css.js +1 -1
  284. package/components/checkbox/themes/light/checkbox/checkbox.material.css.js.map +1 -1
  285. package/components/checkbox/themes/light/checkbox/checkbox.shared.css.js +1 -1
  286. package/components/checkbox/themes/light/checkbox/checkbox.shared.css.js.map +1 -1
  287. package/components/checkbox/themes/light/switch/switch.bootstrap.css.js +1 -1
  288. package/components/checkbox/themes/light/switch/switch.bootstrap.css.js.map +1 -1
  289. package/components/checkbox/themes/light/switch/switch.fluent.css.js +1 -1
  290. package/components/checkbox/themes/light/switch/switch.fluent.css.js.map +1 -1
  291. package/components/checkbox/themes/light/switch/switch.indigo.css.js +1 -1
  292. package/components/checkbox/themes/light/switch/switch.indigo.css.js.map +1 -1
  293. package/components/checkbox/themes/light/switch/switch.material.css.js +1 -1
  294. package/components/checkbox/themes/light/switch/switch.material.css.js.map +1 -1
  295. package/components/checkbox/themes/light/switch/switch.shared.css.js +1 -1
  296. package/components/checkbox/themes/light/switch/switch.shared.css.js.map +1 -1
  297. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
  298. package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
  299. package/components/checkbox/themes/shared/checkbox/checkbox.common.css.js +1 -1
  300. package/components/checkbox/themes/shared/checkbox/checkbox.common.css.js.map +1 -1
  301. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js +1 -1
  302. package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js.map +1 -1
  303. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js +1 -1
  304. package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js.map +1 -1
  305. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js +1 -1
  306. package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js.map +1 -1
  307. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js +1 -1
  308. package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js.map +1 -1
  309. package/components/checkbox/themes/shared/switch/switch.common.css.js +1 -1
  310. package/components/checkbox/themes/shared/switch/switch.common.css.js.map +1 -1
  311. package/components/checkbox/themes/shared/switch/switch.fluent.css.js +1 -1
  312. package/components/checkbox/themes/shared/switch/switch.fluent.css.js.map +1 -1
  313. package/components/checkbox/themes/shared/switch/switch.indigo.css.js +1 -1
  314. package/components/checkbox/themes/shared/switch/switch.indigo.css.js.map +1 -1
  315. package/components/checkbox/themes/shared/switch/switch.material.css.js +1 -1
  316. package/components/checkbox/themes/shared/switch/switch.material.css.js.map +1 -1
  317. package/components/checkbox/themes/switch-themes.d.ts +1 -1
  318. package/components/checkbox/themes/switch-themes.js +3 -4
  319. package/components/checkbox/themes/switch-themes.js.map +1 -1
  320. package/components/chip/chip.d.ts +1 -1
  321. package/components/chip/chip.js +7 -6
  322. package/components/chip/chip.js.map +1 -1
  323. package/components/chip/themes/chip.base.css.js +1 -1
  324. package/components/chip/themes/chip.base.css.js.map +1 -1
  325. package/components/chip/themes/dark/chip.indigo.css.js +1 -1
  326. package/components/chip/themes/dark/chip.indigo.css.js.map +1 -1
  327. package/components/chip/themes/light/chip.indigo.css.js +1 -1
  328. package/components/chip/themes/light/chip.indigo.css.js.map +1 -1
  329. package/components/chip/themes/themes.d.ts +1 -1
  330. package/components/chip/themes/themes.js.map +1 -1
  331. package/components/combo/combo-header.js +5 -4
  332. package/components/combo/combo-header.js.map +1 -1
  333. package/components/combo/combo-item.js +5 -4
  334. package/components/combo/combo-item.js.map +1 -1
  335. package/components/combo/combo-list.js +1 -1
  336. package/components/combo/combo-list.js.map +1 -1
  337. package/components/combo/combo.d.ts +7 -5
  338. package/components/combo/combo.js +33 -14
  339. package/components/combo/combo.js.map +1 -1
  340. package/components/combo/controllers/data.d.ts +2 -2
  341. package/components/combo/controllers/data.js.map +1 -1
  342. package/components/combo/controllers/navigation.d.ts +4 -3
  343. package/components/combo/controllers/navigation.js +8 -4
  344. package/components/combo/controllers/navigation.js.map +1 -1
  345. package/components/combo/controllers/selection.d.ts +2 -1
  346. package/components/combo/controllers/selection.js +9 -0
  347. package/components/combo/controllers/selection.js.map +1 -1
  348. package/components/combo/operations/filter.d.ts +2 -2
  349. package/components/combo/operations/filter.js +2 -2
  350. package/components/combo/operations/filter.js.map +1 -1
  351. package/components/combo/operations/group.d.ts +1 -1
  352. package/components/combo/operations/group.js.map +1 -1
  353. package/components/combo/themes/combo.base.css.js +1 -1
  354. package/components/combo/themes/combo.base.css.js.map +1 -1
  355. package/components/combo/themes/dark/combo.bootstrap.css.js +1 -1
  356. package/components/combo/themes/dark/combo.bootstrap.css.js.map +1 -1
  357. package/components/combo/themes/dark/combo.fluent.css.js +1 -1
  358. package/components/combo/themes/dark/combo.fluent.css.js.map +1 -1
  359. package/components/combo/themes/dark/combo.indigo.css.js +1 -1
  360. package/components/combo/themes/dark/combo.indigo.css.js.map +1 -1
  361. package/components/combo/themes/dark/combo.material.css.js +1 -1
  362. package/components/combo/themes/dark/combo.material.css.js.map +1 -1
  363. package/components/combo/themes/light/combo.bootstrap.css.js +1 -1
  364. package/components/combo/themes/light/combo.bootstrap.css.js.map +1 -1
  365. package/components/combo/themes/light/combo.fluent.css.js +1 -1
  366. package/components/combo/themes/light/combo.fluent.css.js.map +1 -1
  367. package/components/combo/themes/light/combo.indigo.css.js +1 -1
  368. package/components/combo/themes/light/combo.indigo.css.js.map +1 -1
  369. package/components/combo/themes/light/combo.material.css.js +1 -1
  370. package/components/combo/themes/light/combo.material.css.js.map +1 -1
  371. package/components/combo/themes/shared/combo.common.css.js +1 -1
  372. package/components/combo/themes/shared/combo.common.css.js.map +1 -1
  373. package/components/combo/themes/themes.d.ts +1 -1
  374. package/components/combo/themes/themes.js.map +1 -1
  375. package/components/combo/types.d.ts +2 -2
  376. package/components/combo/types.js.map +1 -1
  377. package/components/common/controllers/focus-ring.d.ts +32 -0
  378. package/components/common/controllers/focus-ring.js +31 -0
  379. package/components/common/controllers/focus-ring.js.map +1 -0
  380. package/components/common/controllers/root-click.d.ts +1 -1
  381. package/components/common/controllers/root-click.js.map +1 -1
  382. package/components/common/controllers/root-scroll.d.ts +1 -1
  383. package/components/common/controllers/root-scroll.js.map +1 -1
  384. package/components/common/decorators/blazorDeepImport.d.ts +2 -1
  385. package/components/common/decorators/blazorDeepImport.js.map +1 -1
  386. package/components/common/decorators/blazorIndirectRender.d.ts +2 -1
  387. package/components/common/decorators/blazorIndirectRender.js.map +1 -1
  388. package/components/common/decorators/blazorSuppressComponent.d.ts +2 -1
  389. package/components/common/decorators/blazorSuppressComponent.js.map +1 -1
  390. package/components/common/decorators/watch.js +2 -2
  391. package/components/common/decorators/watch.js.map +1 -1
  392. package/components/common/definitions/defineAllComponents.js +10 -4
  393. package/components/common/definitions/defineAllComponents.js.map +1 -1
  394. package/components/common/definitions/defineComponents.d.ts +1 -1
  395. package/components/common/definitions/defineComponents.js.map +1 -1
  396. package/components/common/localization/validation-en.d.ts +1 -0
  397. package/components/common/localization/validation-en.js +1 -0
  398. package/components/common/localization/validation-en.js.map +1 -1
  399. package/components/common/mixins/alert.d.ts +1 -1
  400. package/components/common/mixins/alert.js.map +1 -1
  401. package/components/common/mixins/combo-box.js.map +1 -1
  402. package/components/common/mixins/constructor.d.ts +2 -2
  403. package/components/common/mixins/constructor.js.map +1 -1
  404. package/components/common/mixins/event-emitter.d.ts +2 -2
  405. package/components/common/mixins/event-emitter.js.map +1 -1
  406. package/components/common/mixins/form-associated-required.d.ts +2 -2
  407. package/components/common/mixins/form-associated-required.js +1 -1
  408. package/components/common/mixins/form-associated-required.js.map +1 -1
  409. package/components/common/mixins/form-associated.d.ts +2 -2
  410. package/components/common/mixins/form-associated.js.map +1 -1
  411. package/components/common/mixins/option.d.ts +10 -6
  412. package/components/common/mixins/option.js +28 -23
  413. package/components/common/mixins/option.js.map +1 -1
  414. package/components/common/mixins/sizable.d.ts +2 -2
  415. package/components/common/mixins/sizable.js.map +1 -1
  416. package/components/common/util.d.ts +9 -3
  417. package/components/common/util.js +18 -19
  418. package/components/common/util.js.map +1 -1
  419. package/components/common/validators.d.ts +9 -1
  420. package/components/common/validators.js +21 -6
  421. package/components/common/validators.js.map +1 -1
  422. package/components/date-picker/date-picker.d.ts +279 -0
  423. package/components/date-picker/date-picker.js +534 -0
  424. package/components/date-picker/date-picker.js.map +1 -0
  425. package/components/date-picker/themes/dark/date-picker.bootstrap.css.d.ts +1 -0
  426. package/components/date-picker/themes/dark/date-picker.bootstrap.css.js +3 -0
  427. package/components/date-picker/themes/dark/date-picker.bootstrap.css.js.map +1 -0
  428. package/components/date-picker/themes/dark/date-picker.fluent.css.d.ts +1 -0
  429. package/components/date-picker/themes/dark/date-picker.fluent.css.js +3 -0
  430. package/components/date-picker/themes/dark/date-picker.fluent.css.js.map +1 -0
  431. package/components/date-picker/themes/dark/date-picker.indigo.css.d.ts +1 -0
  432. package/components/date-picker/themes/dark/date-picker.indigo.css.js +3 -0
  433. package/components/date-picker/themes/dark/date-picker.indigo.css.js.map +1 -0
  434. package/components/date-picker/themes/dark/date-picker.material.css.d.ts +1 -0
  435. package/components/date-picker/themes/dark/date-picker.material.css.js +3 -0
  436. package/components/date-picker/themes/dark/date-picker.material.css.js.map +1 -0
  437. package/components/date-picker/themes/date-picker.base.css.d.ts +1 -0
  438. package/components/date-picker/themes/date-picker.base.css.js +3 -0
  439. package/components/date-picker/themes/date-picker.base.css.js.map +1 -0
  440. package/components/date-picker/themes/light/date-picker.bootstrap.css.d.ts +1 -0
  441. package/components/date-picker/themes/light/date-picker.bootstrap.css.js +3 -0
  442. package/components/date-picker/themes/light/date-picker.bootstrap.css.js.map +1 -0
  443. package/components/date-picker/themes/light/date-picker.fluent.css.d.ts +1 -0
  444. package/components/date-picker/themes/light/date-picker.fluent.css.js +3 -0
  445. package/components/date-picker/themes/light/date-picker.fluent.css.js.map +1 -0
  446. package/components/date-picker/themes/light/date-picker.indigo.css.d.ts +1 -0
  447. package/components/date-picker/themes/light/date-picker.indigo.css.js +3 -0
  448. package/components/date-picker/themes/light/date-picker.indigo.css.js.map +1 -0
  449. package/components/date-picker/themes/light/date-picker.material.css.d.ts +1 -0
  450. package/components/date-picker/themes/light/date-picker.material.css.js +3 -0
  451. package/components/date-picker/themes/light/date-picker.material.css.js.map +1 -0
  452. package/components/date-picker/themes/light/date-picker.shared.css.d.ts +1 -0
  453. package/components/date-picker/themes/light/date-picker.shared.css.js +3 -0
  454. package/components/date-picker/themes/light/date-picker.shared.css.js.map +1 -0
  455. package/components/date-picker/themes/shared/date-picker.bootstrap.css.d.ts +1 -0
  456. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js +3 -0
  457. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js.map +1 -0
  458. package/components/date-picker/themes/shared/date-picker.common.css.d.ts +1 -0
  459. package/components/date-picker/themes/shared/date-picker.common.css.js +3 -0
  460. package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -0
  461. package/components/date-picker/themes/shared/date-picker.fluent.css.d.ts +1 -0
  462. package/components/date-picker/themes/shared/date-picker.fluent.css.js +3 -0
  463. package/components/date-picker/themes/shared/date-picker.fluent.css.js.map +1 -0
  464. package/components/date-picker/themes/shared/date-picker.indigo.css.d.ts +1 -0
  465. package/components/date-picker/themes/shared/date-picker.indigo.css.js +3 -0
  466. package/components/date-picker/themes/shared/date-picker.indigo.css.js.map +1 -0
  467. package/components/date-picker/themes/themes.d.ts +2 -0
  468. package/components/date-picker/themes/themes.js +49 -0
  469. package/components/date-picker/themes/themes.js.map +1 -0
  470. package/components/date-time-input/date-time-input.d.ts +7 -7
  471. package/components/date-time-input/date-time-input.js +53 -76
  472. package/components/date-time-input/date-time-input.js.map +1 -1
  473. package/components/date-time-input/date-util.d.ts +1 -1
  474. package/components/date-time-input/date-util.js +40 -32
  475. package/components/date-time-input/date-util.js.map +1 -1
  476. package/components/dialog/dialog.d.ts +2 -1
  477. package/components/dialog/dialog.js +22 -15
  478. package/components/dialog/dialog.js.map +1 -1
  479. package/components/dialog/themes/dialog.base.css.js +1 -1
  480. package/components/dialog/themes/dialog.base.css.js.map +1 -1
  481. package/components/dialog/themes/shared/dialog.indigo.css.js +1 -1
  482. package/components/dialog/themes/shared/dialog.indigo.css.js.map +1 -1
  483. package/components/dialog/themes/themes.d.ts +1 -1
  484. package/components/dialog/themes/themes.js.map +1 -1
  485. package/components/divider/divider.d.ts +40 -0
  486. package/components/divider/divider.js +58 -0
  487. package/components/divider/divider.js.map +1 -0
  488. package/components/divider/themes/dark/divider.bootstrap.css.d.ts +1 -0
  489. package/components/divider/themes/dark/divider.bootstrap.css.js +3 -0
  490. package/components/divider/themes/dark/divider.bootstrap.css.js.map +1 -0
  491. package/components/divider/themes/dark/divider.fluent.css.d.ts +1 -0
  492. package/components/divider/themes/dark/divider.fluent.css.js +3 -0
  493. package/components/divider/themes/dark/divider.fluent.css.js.map +1 -0
  494. package/components/divider/themes/dark/divider.indigo.css.d.ts +1 -0
  495. package/components/divider/themes/dark/divider.indigo.css.js +3 -0
  496. package/components/divider/themes/dark/divider.indigo.css.js.map +1 -0
  497. package/components/divider/themes/dark/divider.material.css.d.ts +1 -0
  498. package/components/divider/themes/dark/divider.material.css.js +3 -0
  499. package/components/divider/themes/dark/divider.material.css.js.map +1 -0
  500. package/components/divider/themes/divider.base.css.d.ts +1 -0
  501. package/components/divider/themes/divider.base.css.js +3 -0
  502. package/components/divider/themes/divider.base.css.js.map +1 -0
  503. package/components/divider/themes/light/divider.bootstrap.css.d.ts +1 -0
  504. package/components/divider/themes/light/divider.bootstrap.css.js +3 -0
  505. package/components/divider/themes/light/divider.bootstrap.css.js.map +1 -0
  506. package/components/divider/themes/light/divider.fluent.css.d.ts +1 -0
  507. package/components/divider/themes/light/divider.fluent.css.js +3 -0
  508. package/components/divider/themes/light/divider.fluent.css.js.map +1 -0
  509. package/components/divider/themes/light/divider.indigo.css.d.ts +1 -0
  510. package/components/divider/themes/light/divider.indigo.css.js +3 -0
  511. package/components/divider/themes/light/divider.indigo.css.js.map +1 -0
  512. package/components/divider/themes/light/divider.material.css.d.ts +1 -0
  513. package/components/divider/themes/light/divider.material.css.js +3 -0
  514. package/components/divider/themes/light/divider.material.css.js.map +1 -0
  515. package/components/divider/themes/light/divider.shared.css.d.ts +1 -0
  516. package/components/divider/themes/light/divider.shared.css.js +3 -0
  517. package/components/divider/themes/light/divider.shared.css.js.map +1 -0
  518. package/components/divider/themes/shared/divider.common.css.d.ts +1 -0
  519. package/components/divider/themes/shared/divider.common.css.js +3 -0
  520. package/components/divider/themes/shared/divider.common.css.js.map +1 -0
  521. package/components/divider/themes/shared/divider.indigo.css.d.ts +1 -0
  522. package/components/divider/themes/shared/divider.indigo.css.js +3 -0
  523. package/components/divider/themes/shared/divider.indigo.css.js.map +1 -0
  524. package/components/divider/themes/themes.d.ts +2 -0
  525. package/components/divider/themes/themes.js +47 -0
  526. package/components/divider/themes/themes.js.map +1 -0
  527. package/components/dropdown/dropdown-group.d.ts +1 -1
  528. package/components/dropdown/dropdown-group.js +7 -6
  529. package/components/dropdown/dropdown-group.js.map +1 -1
  530. package/components/dropdown/dropdown-header.js +6 -5
  531. package/components/dropdown/dropdown-header.js.map +1 -1
  532. package/components/dropdown/dropdown-item.d.ts +3 -3
  533. package/components/dropdown/dropdown-item.js +7 -6
  534. package/components/dropdown/dropdown-item.js.map +1 -1
  535. package/components/dropdown/dropdown.d.ts +6 -4
  536. package/components/dropdown/dropdown.js +11 -10
  537. package/components/dropdown/dropdown.js.map +1 -1
  538. package/components/dropdown/themes/container.d.ts +1 -1
  539. package/components/dropdown/themes/container.js.map +1 -1
  540. package/components/dropdown/themes/dark/dropdown.bootstrap.css.js +1 -1
  541. package/components/dropdown/themes/dark/dropdown.bootstrap.css.js.map +1 -1
  542. package/components/dropdown/themes/dark/dropdown.fluent.css.js +1 -1
  543. package/components/dropdown/themes/dark/dropdown.fluent.css.js.map +1 -1
  544. package/components/dropdown/themes/dark/dropdown.indigo.css.js +1 -1
  545. package/components/dropdown/themes/dark/dropdown.indigo.css.js.map +1 -1
  546. package/components/dropdown/themes/dark/dropdown.material.css.js +1 -1
  547. package/components/dropdown/themes/dark/dropdown.material.css.js.map +1 -1
  548. package/components/dropdown/themes/group.d.ts +1 -1
  549. package/components/dropdown/themes/group.js.map +1 -1
  550. package/components/dropdown/themes/header.d.ts +1 -1
  551. package/components/dropdown/themes/header.js +7 -0
  552. package/components/dropdown/themes/header.js.map +1 -1
  553. package/components/dropdown/themes/item.d.ts +1 -1
  554. package/components/dropdown/themes/item.js +7 -0
  555. package/components/dropdown/themes/item.js.map +1 -1
  556. package/components/dropdown/themes/light/dropdown.bootstrap.css.js +1 -1
  557. package/components/dropdown/themes/light/dropdown.bootstrap.css.js.map +1 -1
  558. package/components/dropdown/themes/light/dropdown.fluent.css.js +1 -1
  559. package/components/dropdown/themes/light/dropdown.fluent.css.js.map +1 -1
  560. package/components/dropdown/themes/light/dropdown.indigo.css.js +1 -1
  561. package/components/dropdown/themes/light/dropdown.indigo.css.js.map +1 -1
  562. package/components/dropdown/themes/light/dropdown.material.css.js +1 -1
  563. package/components/dropdown/themes/light/dropdown.material.css.js.map +1 -1
  564. package/components/dropdown/themes/light/dropdown.shared.css.js +1 -1
  565. package/components/dropdown/themes/light/dropdown.shared.css.js.map +1 -1
  566. package/components/dropdown/themes/shared/dropdown.common.css.js +1 -1
  567. package/components/dropdown/themes/shared/dropdown.common.css.js.map +1 -1
  568. package/components/dropdown/themes/shared/dropdown.indigo.css.js +1 -1
  569. package/components/dropdown/themes/shared/dropdown.indigo.css.js.map +1 -1
  570. package/components/dropdown/themes/shared/header/dropdown-header.indigo.css.d.ts +1 -0
  571. package/components/dropdown/themes/shared/header/dropdown-header.indigo.css.js +3 -0
  572. package/components/dropdown/themes/shared/header/dropdown-header.indigo.css.js.map +1 -0
  573. package/components/dropdown/themes/shared/item/dropdown-item.common.css.js +1 -1
  574. package/components/dropdown/themes/shared/item/dropdown-item.common.css.js.map +1 -1
  575. package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.d.ts +1 -0
  576. package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js +3 -0
  577. package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js.map +1 -0
  578. package/components/expansion-panel/expansion-panel.js +4 -4
  579. package/components/expansion-panel/expansion-panel.js.map +1 -1
  580. package/components/expansion-panel/themes/themes.d.ts +1 -1
  581. package/components/expansion-panel/themes/themes.js.map +1 -1
  582. package/components/focus-trap/focus-trap.d.ts +35 -0
  583. package/components/focus-trap/focus-trap.js +144 -0
  584. package/components/focus-trap/focus-trap.js.map +1 -0
  585. package/components/form/form.d.ts +1 -1
  586. package/components/form/form.js +2 -2
  587. package/components/form/form.js.map +1 -1
  588. package/components/icon/icon.js +8 -7
  589. package/components/icon/icon.js.map +1 -1
  590. package/components/icon/internal-icons-lib.js +6 -0
  591. package/components/icon/internal-icons-lib.js.map +1 -1
  592. package/components/icon/themes/themes.d.ts +1 -1
  593. package/components/icon/themes/themes.js.map +1 -1
  594. package/components/input/input-base.d.ts +4 -3
  595. package/components/input/input-base.js +5 -5
  596. package/components/input/input-base.js.map +1 -1
  597. package/components/input/input.d.ts +19 -3
  598. package/components/input/input.js +23 -18
  599. package/components/input/input.js.map +1 -1
  600. package/components/input/themes/themes.d.ts +1 -1
  601. package/components/input/themes/themes.js.map +1 -1
  602. package/components/list/list-header.js +6 -5
  603. package/components/list/list-header.js.map +1 -1
  604. package/components/list/list-item.js +6 -5
  605. package/components/list/list-item.js.map +1 -1
  606. package/components/list/list.js +7 -6
  607. package/components/list/list.js.map +1 -1
  608. package/components/list/themes/container.d.ts +1 -1
  609. package/components/list/themes/container.js.map +1 -1
  610. package/components/list/themes/dark/container/list.indigo.css.js +1 -1
  611. package/components/list/themes/dark/container/list.indigo.css.js.map +1 -1
  612. package/components/list/themes/dark/header/list-header.indigo.css.js +1 -1
  613. package/components/list/themes/dark/header/list-header.indigo.css.js.map +1 -1
  614. package/components/list/themes/dark/item/list-item.indigo.css.js +1 -1
  615. package/components/list/themes/dark/item/list-item.indigo.css.js.map +1 -1
  616. package/components/list/themes/header.d.ts +1 -1
  617. package/components/list/themes/header.js +3 -2
  618. package/components/list/themes/header.js.map +1 -1
  619. package/components/list/themes/item.base.css.js +1 -1
  620. package/components/list/themes/item.base.css.js.map +1 -1
  621. package/components/list/themes/item.d.ts +1 -1
  622. package/components/list/themes/item.js.map +1 -1
  623. package/components/list/themes/light/container/list.indigo.css.js +1 -1
  624. package/components/list/themes/light/container/list.indigo.css.js.map +1 -1
  625. package/components/list/themes/light/header/list-header.indigo.css.js +1 -1
  626. package/components/list/themes/light/header/list-header.indigo.css.js.map +1 -1
  627. package/components/list/themes/light/item/list-item.indigo.css.js +1 -1
  628. package/components/list/themes/light/item/list-item.indigo.css.js.map +1 -1
  629. package/components/list/themes/shared/container/list.bootstrap.css.js +1 -1
  630. package/components/list/themes/shared/container/list.bootstrap.css.js.map +1 -1
  631. package/components/list/themes/shared/container/list.fluent.css.js +1 -1
  632. package/components/list/themes/shared/container/list.fluent.css.js.map +1 -1
  633. package/components/list/themes/shared/container/list.indigo.css.js +1 -1
  634. package/components/list/themes/shared/container/list.indigo.css.js.map +1 -1
  635. package/components/list/themes/shared/container/list.material.css.js +1 -1
  636. package/components/list/themes/shared/container/list.material.css.js.map +1 -1
  637. package/components/list/themes/shared/header/list-header.indigo.css.d.ts +1 -0
  638. package/components/list/themes/shared/header/list-header.indigo.css.js +3 -0
  639. package/components/list/themes/shared/header/list-header.indigo.css.js.map +1 -0
  640. package/components/list/themes/shared/item/list-item.common.css.js +1 -1
  641. package/components/list/themes/shared/item/list-item.common.css.js.map +1 -1
  642. package/components/list/themes/shared/item/list-item.indigo.css.js +1 -1
  643. package/components/list/themes/shared/item/list-item.indigo.css.js.map +1 -1
  644. package/components/mask-input/mask-input-base.d.ts +1 -1
  645. package/components/mask-input/mask-input-base.js +1 -1
  646. package/components/mask-input/mask-input-base.js.map +1 -1
  647. package/components/mask-input/mask-input.d.ts +2 -2
  648. package/components/mask-input/mask-input.js +4 -6
  649. package/components/mask-input/mask-input.js.map +1 -1
  650. package/components/mask-input/mask-parser.d.ts +2 -2
  651. package/components/mask-input/mask-parser.js +44 -34
  652. package/components/mask-input/mask-parser.js.map +1 -1
  653. package/components/nav-drawer/nav-drawer-header-item.js +6 -5
  654. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  655. package/components/nav-drawer/nav-drawer-item.js +8 -7
  656. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  657. package/components/nav-drawer/nav-drawer.d.ts +6 -6
  658. package/components/nav-drawer/nav-drawer.js +18 -19
  659. package/components/nav-drawer/nav-drawer.js.map +1 -1
  660. package/components/nav-drawer/themes/container.base.css.js +1 -1
  661. package/components/nav-drawer/themes/container.base.css.js.map +1 -1
  662. package/components/nav-drawer/themes/container.d.ts +1 -1
  663. package/components/nav-drawer/themes/container.js +3 -2
  664. package/components/nav-drawer/themes/container.js.map +1 -1
  665. package/components/nav-drawer/themes/dark/container/nav-drawer.bootstrap.css.js +1 -1
  666. package/components/nav-drawer/themes/dark/container/nav-drawer.bootstrap.css.js.map +1 -1
  667. package/components/nav-drawer/themes/dark/container/nav-drawer.fluent.css.js +1 -1
  668. package/components/nav-drawer/themes/dark/container/nav-drawer.fluent.css.js.map +1 -1
  669. package/components/nav-drawer/themes/dark/container/nav-drawer.indigo.css.js +1 -1
  670. package/components/nav-drawer/themes/dark/container/nav-drawer.indigo.css.js.map +1 -1
  671. package/components/nav-drawer/themes/dark/container/nav-drawer.material.css.js +1 -1
  672. package/components/nav-drawer/themes/dark/container/nav-drawer.material.css.js.map +1 -1
  673. package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.js +1 -1
  674. package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.js.map +1 -1
  675. package/components/nav-drawer/themes/header-item.base.css.js +1 -1
  676. package/components/nav-drawer/themes/header-item.base.css.js.map +1 -1
  677. package/components/nav-drawer/themes/header-item.d.ts +1 -1
  678. package/components/nav-drawer/themes/header-item.js +21 -0
  679. package/components/nav-drawer/themes/header-item.js.map +1 -1
  680. package/components/nav-drawer/themes/item.base.css.js +1 -1
  681. package/components/nav-drawer/themes/item.base.css.js.map +1 -1
  682. package/components/nav-drawer/themes/item.d.ts +1 -1
  683. package/components/nav-drawer/themes/item.js +7 -0
  684. package/components/nav-drawer/themes/item.js.map +1 -1
  685. package/components/nav-drawer/themes/light/container/nav-drawer.bootstrap.css.js +1 -1
  686. package/components/nav-drawer/themes/light/container/nav-drawer.bootstrap.css.js.map +1 -1
  687. package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.js +1 -1
  688. package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.js.map +1 -1
  689. package/components/nav-drawer/themes/light/container/nav-drawer.indigo.css.js +1 -1
  690. package/components/nav-drawer/themes/light/container/nav-drawer.indigo.css.js.map +1 -1
  691. package/components/nav-drawer/themes/light/container/nav-drawer.material.css.js +1 -1
  692. package/components/nav-drawer/themes/light/container/nav-drawer.material.css.js.map +1 -1
  693. package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.js +1 -1
  694. package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.js.map +1 -1
  695. package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js +1 -1
  696. package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js.map +1 -1
  697. package/components/nav-drawer/themes/shared/container/nav-drawer.common.css.js +1 -1
  698. package/components/nav-drawer/themes/shared/container/nav-drawer.common.css.js.map +1 -1
  699. package/components/nav-drawer/themes/shared/container/nav-drawer.fluent.css.js +1 -1
  700. package/components/nav-drawer/themes/shared/container/nav-drawer.fluent.css.js.map +1 -1
  701. package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js +1 -1
  702. package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js.map +1 -1
  703. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.d.ts +1 -0
  704. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js +3 -0
  705. package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js.map +1 -0
  706. package/components/nav-drawer/themes/shared/header-item/header-item.bootstrap.css.js +1 -1
  707. package/components/nav-drawer/themes/shared/header-item/header-item.bootstrap.css.js.map +1 -1
  708. package/components/nav-drawer/themes/shared/header-item/header-item.fluent.css.d.ts +1 -0
  709. package/components/nav-drawer/themes/shared/header-item/header-item.fluent.css.js +3 -0
  710. package/components/nav-drawer/themes/shared/header-item/header-item.fluent.css.js.map +1 -0
  711. package/components/nav-drawer/themes/shared/header-item/header-item.indigo.css.d.ts +1 -0
  712. package/components/nav-drawer/themes/shared/header-item/header-item.indigo.css.js +3 -0
  713. package/components/nav-drawer/themes/shared/header-item/header-item.indigo.css.js.map +1 -0
  714. package/components/nav-drawer/themes/shared/header-item/header-item.material.css.d.ts +1 -0
  715. package/components/nav-drawer/themes/shared/header-item/header-item.material.css.js +3 -0
  716. package/components/nav-drawer/themes/shared/header-item/header-item.material.css.js.map +1 -0
  717. package/components/nav-drawer/themes/shared/item/item.bootstrap.css.js +1 -1
  718. package/components/nav-drawer/themes/shared/item/item.bootstrap.css.js.map +1 -1
  719. package/components/nav-drawer/themes/shared/item/item.common.css.js +1 -1
  720. package/components/nav-drawer/themes/shared/item/item.common.css.js.map +1 -1
  721. package/components/nav-drawer/themes/shared/item/item.fluent.css.js +1 -1
  722. package/components/nav-drawer/themes/shared/item/item.fluent.css.js.map +1 -1
  723. package/components/nav-drawer/themes/shared/item/item.indigo.css.js +1 -1
  724. package/components/nav-drawer/themes/shared/item/item.indigo.css.js.map +1 -1
  725. package/components/nav-drawer/themes/shared/item/item.material.css.d.ts +1 -0
  726. package/components/nav-drawer/themes/shared/item/item.material.css.js +3 -0
  727. package/components/nav-drawer/themes/shared/item/item.material.css.js.map +1 -0
  728. package/components/navbar/navbar.js +6 -5
  729. package/components/navbar/navbar.js.map +1 -1
  730. package/components/navbar/themes/dark/navbar.fluent.css.js +1 -1
  731. package/components/navbar/themes/dark/navbar.fluent.css.js.map +1 -1
  732. package/components/navbar/themes/light/navbar.fluent.css.js +1 -1
  733. package/components/navbar/themes/light/navbar.fluent.css.js.map +1 -1
  734. package/components/navbar/themes/light/navbar.shared.css.js +1 -1
  735. package/components/navbar/themes/light/navbar.shared.css.js.map +1 -1
  736. package/components/navbar/themes/navbar.base.css.js +1 -1
  737. package/components/navbar/themes/navbar.base.css.js.map +1 -1
  738. package/components/navbar/themes/shared/navbar.bootstrap.css.js +1 -1
  739. package/components/navbar/themes/shared/navbar.bootstrap.css.js.map +1 -1
  740. package/components/navbar/themes/shared/navbar.common.css.js +1 -1
  741. package/components/navbar/themes/shared/navbar.common.css.js.map +1 -1
  742. package/components/navbar/themes/shared/navbar.indigo.css.js +1 -1
  743. package/components/navbar/themes/shared/navbar.indigo.css.js.map +1 -1
  744. package/components/navbar/themes/themes.d.ts +1 -1
  745. package/components/navbar/themes/themes.js.map +1 -1
  746. package/components/popover/popover.d.ts +4 -4
  747. package/components/popover/popover.js +16 -18
  748. package/components/popover/popover.js.map +1 -1
  749. package/components/popover/themes/light/popover.base.css.js +1 -1
  750. package/components/popover/themes/light/popover.base.css.js.map +1 -1
  751. package/components/progress/base.d.ts +1 -1
  752. package/components/progress/base.js +14 -9
  753. package/components/progress/base.js.map +1 -1
  754. package/components/progress/circular-gradient.js +1 -1
  755. package/components/progress/circular-gradient.js.map +1 -1
  756. package/components/progress/circular-progress.d.ts +13 -13
  757. package/components/progress/circular-progress.js +5 -5
  758. package/components/progress/circular-progress.js.map +1 -1
  759. package/components/progress/linear-progress.d.ts +11 -11
  760. package/components/progress/linear-progress.js +11 -10
  761. package/components/progress/linear-progress.js.map +1 -1
  762. package/components/progress/themes/circular/circular.progress.base.css.js +1 -1
  763. package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
  764. package/components/progress/themes/circular/dark/circular.progress.indigo.css.js +1 -1
  765. package/components/progress/themes/circular/dark/circular.progress.indigo.css.js.map +1 -1
  766. package/components/progress/themes/circular/light/circular.progress.indigo.css.js +1 -1
  767. package/components/progress/themes/circular/light/circular.progress.indigo.css.js.map +1 -1
  768. package/components/progress/themes/circular/shared/circular.progress.bootstrap.css.js +1 -1
  769. package/components/progress/themes/circular/shared/circular.progress.bootstrap.css.js.map +1 -1
  770. package/components/progress/themes/circular/shared/circular.progress.common.css.js +1 -1
  771. package/components/progress/themes/circular/shared/circular.progress.common.css.js.map +1 -1
  772. package/components/progress/themes/circular/shared/circular.progress.fluent.css.js +1 -1
  773. package/components/progress/themes/circular/shared/circular.progress.fluent.css.js.map +1 -1
  774. package/components/progress/themes/circular/shared/circular.progress.indigo.css.d.ts +1 -0
  775. package/components/progress/themes/circular/shared/circular.progress.indigo.css.js +3 -0
  776. package/components/progress/themes/circular/shared/circular.progress.indigo.css.js.map +1 -0
  777. package/components/progress/themes/circular/themes.d.ts +1 -1
  778. package/components/progress/themes/circular/themes.js +3 -2
  779. package/components/progress/themes/circular/themes.js.map +1 -1
  780. package/components/progress/themes/linear/dark/linear.progress.bootstrap.css.js +1 -1
  781. package/components/progress/themes/linear/dark/linear.progress.bootstrap.css.js.map +1 -1
  782. package/components/progress/themes/linear/dark/linear.progress.indigo.css.js +1 -1
  783. package/components/progress/themes/linear/dark/linear.progress.indigo.css.js.map +1 -1
  784. package/components/progress/themes/linear/light/linear.progress.bootstrap.css.js +1 -1
  785. package/components/progress/themes/linear/light/linear.progress.bootstrap.css.js.map +1 -1
  786. package/components/progress/themes/linear/light/linear.progress.indigo.css.js +1 -1
  787. package/components/progress/themes/linear/light/linear.progress.indigo.css.js.map +1 -1
  788. package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
  789. package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
  790. package/components/progress/themes/linear/shared/linear.progress.fluent.css.js +1 -1
  791. package/components/progress/themes/linear/shared/linear.progress.fluent.css.js.map +1 -1
  792. package/components/progress/themes/linear/shared/linear.progress.indigo.css.js +1 -1
  793. package/components/progress/themes/linear/shared/linear.progress.indigo.css.js.map +1 -1
  794. package/components/progress/themes/linear/themes.d.ts +1 -1
  795. package/components/progress/themes/linear/themes.js.map +1 -1
  796. package/components/radio/radio.d.ts +15 -7
  797. package/components/radio/radio.js +56 -48
  798. package/components/radio/radio.js.map +1 -1
  799. package/components/radio/themes/dark/radio.bootstrap.css.js +1 -1
  800. package/components/radio/themes/dark/radio.bootstrap.css.js.map +1 -1
  801. package/components/radio/themes/dark/radio.fluent.css.js +1 -1
  802. package/components/radio/themes/dark/radio.fluent.css.js.map +1 -1
  803. package/components/radio/themes/dark/radio.indigo.css.js +1 -1
  804. package/components/radio/themes/dark/radio.indigo.css.js.map +1 -1
  805. package/components/radio/themes/dark/radio.material.css.js +1 -1
  806. package/components/radio/themes/dark/radio.material.css.js.map +1 -1
  807. package/components/radio/themes/light/radio.bootstrap.css.js +1 -1
  808. package/components/radio/themes/light/radio.bootstrap.css.js.map +1 -1
  809. package/components/radio/themes/light/radio.fluent.css.js +1 -1
  810. package/components/radio/themes/light/radio.fluent.css.js.map +1 -1
  811. package/components/radio/themes/light/radio.indigo.css.js +1 -1
  812. package/components/radio/themes/light/radio.indigo.css.js.map +1 -1
  813. package/components/radio/themes/light/radio.material.css.js +1 -1
  814. package/components/radio/themes/light/radio.material.css.js.map +1 -1
  815. package/components/radio/themes/light/radio.shared.css.js +1 -1
  816. package/components/radio/themes/light/radio.shared.css.js.map +1 -1
  817. package/components/radio/themes/shared/radio.bootstrap.css.js +1 -1
  818. package/components/radio/themes/shared/radio.bootstrap.css.js.map +1 -1
  819. package/components/radio/themes/shared/radio.fluent.css.js +1 -1
  820. package/components/radio/themes/shared/radio.fluent.css.js.map +1 -1
  821. package/components/radio/themes/shared/radio.material.css.js +1 -1
  822. package/components/radio/themes/shared/radio.material.css.js.map +1 -1
  823. package/components/radio/themes/themes.d.ts +1 -1
  824. package/components/radio/themes/themes.js +3 -4
  825. package/components/radio/themes/themes.js.map +1 -1
  826. package/components/radio/utils.d.ts +1 -1
  827. package/components/radio/utils.js +9 -2
  828. package/components/radio/utils.js.map +1 -1
  829. package/components/radio-group/radio-group.d.ts +20 -0
  830. package/components/radio-group/radio-group.js +59 -9
  831. package/components/radio-group/radio-group.js.map +1 -1
  832. package/components/rating/rating-symbol.js +2 -2
  833. package/components/rating/rating-symbol.js.map +1 -1
  834. package/components/rating/rating.d.ts +3 -1
  835. package/components/rating/rating.js +24 -18
  836. package/components/rating/rating.js.map +1 -1
  837. package/components/rating/themes/themes.d.ts +1 -1
  838. package/components/rating/themes/themes.js.map +1 -1
  839. package/components/ripple/ripple.js +35 -23
  840. package/components/ripple/ripple.js.map +1 -1
  841. package/components/select/select-group.js +5 -4
  842. package/components/select/select-group.js.map +1 -1
  843. package/components/select/select-header.js +4 -3
  844. package/components/select/select-header.js.map +1 -1
  845. package/components/select/select-item.d.ts +9 -4
  846. package/components/select/select-item.js +13 -11
  847. package/components/select/select-item.js.map +1 -1
  848. package/components/select/select.d.ts +12 -10
  849. package/components/select/select.js +21 -10
  850. package/components/select/select.js.map +1 -1
  851. package/components/select/themes/dark/select.bootstrap.css.js +1 -1
  852. package/components/select/themes/dark/select.bootstrap.css.js.map +1 -1
  853. package/components/select/themes/dark/select.fluent.css.js +1 -1
  854. package/components/select/themes/dark/select.fluent.css.js.map +1 -1
  855. package/components/select/themes/dark/select.indigo.css.js +1 -1
  856. package/components/select/themes/dark/select.indigo.css.js.map +1 -1
  857. package/components/select/themes/dark/select.material.css.js +1 -1
  858. package/components/select/themes/dark/select.material.css.js.map +1 -1
  859. package/components/select/themes/light/select.bootstrap.css.js +1 -1
  860. package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
  861. package/components/select/themes/light/select.fluent.css.js +1 -1
  862. package/components/select/themes/light/select.fluent.css.js.map +1 -1
  863. package/components/select/themes/light/select.indigo.css.js +1 -1
  864. package/components/select/themes/light/select.indigo.css.js.map +1 -1
  865. package/components/select/themes/light/select.material.css.js +1 -1
  866. package/components/select/themes/light/select.material.css.js.map +1 -1
  867. package/components/select/themes/shared/select.common.css.js +1 -1
  868. package/components/select/themes/shared/select.common.css.js.map +1 -1
  869. package/components/select/themes/themes.d.ts +1 -1
  870. package/components/select/themes/themes.js.map +1 -1
  871. package/components/slider/range-slider.d.ts +1 -1
  872. package/components/slider/range-slider.js +15 -13
  873. package/components/slider/range-slider.js.map +1 -1
  874. package/components/slider/slider-base.d.ts +2 -2
  875. package/components/slider/slider-base.js +8 -8
  876. package/components/slider/slider-base.js.map +1 -1
  877. package/components/slider/slider-label.js +1 -1
  878. package/components/slider/slider-label.js.map +1 -1
  879. package/components/slider/slider.d.ts +1 -1
  880. package/components/slider/slider.js +3 -3
  881. package/components/slider/slider.js.map +1 -1
  882. package/components/slider/themes/dark/slider.bootstrap.css.js +1 -1
  883. package/components/slider/themes/dark/slider.bootstrap.css.js.map +1 -1
  884. package/components/slider/themes/dark/slider.fluent.css.js +1 -1
  885. package/components/slider/themes/dark/slider.fluent.css.js.map +1 -1
  886. package/components/slider/themes/dark/slider.indigo.css.js +1 -1
  887. package/components/slider/themes/dark/slider.indigo.css.js.map +1 -1
  888. package/components/slider/themes/dark/slider.material.css.js +1 -1
  889. package/components/slider/themes/dark/slider.material.css.js.map +1 -1
  890. package/components/slider/themes/light/slider.bootstrap.css.js +1 -1
  891. package/components/slider/themes/light/slider.bootstrap.css.js.map +1 -1
  892. package/components/slider/themes/light/slider.fluent.css.js +1 -1
  893. package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
  894. package/components/slider/themes/light/slider.indigo.css.js +1 -1
  895. package/components/slider/themes/light/slider.indigo.css.js.map +1 -1
  896. package/components/slider/themes/light/slider.material.css.js +1 -1
  897. package/components/slider/themes/light/slider.material.css.js.map +1 -1
  898. package/components/slider/themes/light/slider.shared.css.js +1 -1
  899. package/components/slider/themes/light/slider.shared.css.js.map +1 -1
  900. package/components/slider/themes/shared/slider.common.css.js +1 -1
  901. package/components/slider/themes/shared/slider.common.css.js.map +1 -1
  902. package/components/slider/themes/shared/slider.indigo.css.js +1 -1
  903. package/components/slider/themes/shared/slider.indigo.css.js.map +1 -1
  904. package/components/slider/themes/slider.base.css.js +1 -1
  905. package/components/slider/themes/slider.base.css.js.map +1 -1
  906. package/components/slider/themes/themes.d.ts +1 -1
  907. package/components/slider/themes/themes.js.map +1 -1
  908. package/components/snackbar/snackbar.d.ts +1 -1
  909. package/components/snackbar/snackbar.js +7 -6
  910. package/components/snackbar/snackbar.js.map +1 -1
  911. package/components/snackbar/themes/dark/snackbar.indigo.css.js +1 -1
  912. package/components/snackbar/themes/dark/snackbar.indigo.css.js.map +1 -1
  913. package/components/snackbar/themes/light/snackbar.indigo.css.js +1 -1
  914. package/components/snackbar/themes/light/snackbar.indigo.css.js.map +1 -1
  915. package/components/snackbar/themes/themes.d.ts +1 -1
  916. package/components/snackbar/themes/themes.js.map +1 -1
  917. package/components/stepper/step.d.ts +1 -1
  918. package/components/stepper/step.js +10 -11
  919. package/components/stepper/step.js.map +1 -1
  920. package/components/stepper/stepper.d.ts +2 -2
  921. package/components/stepper/stepper.js +21 -12
  922. package/components/stepper/stepper.js.map +1 -1
  923. package/components/stepper/themes/step/themes.d.ts +1 -1
  924. package/components/stepper/themes/step/themes.js.map +1 -1
  925. package/components/tabs/tab-panel.js +2 -2
  926. package/components/tabs/tab-panel.js.map +1 -1
  927. package/components/tabs/tab.js +5 -5
  928. package/components/tabs/tab.js.map +1 -1
  929. package/components/tabs/tabs.d.ts +2 -2
  930. package/components/tabs/tabs.js +14 -10
  931. package/components/tabs/tabs.js.map +1 -1
  932. package/components/tabs/themes/tab-themes.d.ts +1 -1
  933. package/components/tabs/themes/tab-themes.js.map +1 -1
  934. package/components/tabs/themes/tabs-themes.d.ts +1 -1
  935. package/components/tabs/themes/tabs-themes.js.map +1 -1
  936. package/components/textarea/textarea.d.ts +13 -3
  937. package/components/textarea/textarea.js +23 -10
  938. package/components/textarea/textarea.js.map +1 -1
  939. package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
  940. package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
  941. package/components/textarea/themes/themes.d.ts +1 -1
  942. package/components/textarea/themes/themes.js.map +1 -1
  943. package/components/toast/themes/themes.d.ts +1 -1
  944. package/components/toast/themes/themes.js.map +1 -1
  945. package/components/toast/toast.js +7 -6
  946. package/components/toast/toast.js.map +1 -1
  947. package/components/tree/themes/container.d.ts +1 -1
  948. package/components/tree/themes/container.js.map +1 -1
  949. package/components/tree/themes/dark/container.bootstrap.css.js +1 -1
  950. package/components/tree/themes/dark/container.bootstrap.css.js.map +1 -1
  951. package/components/tree/themes/dark/container.fluent.css.js +1 -1
  952. package/components/tree/themes/dark/container.fluent.css.js.map +1 -1
  953. package/components/tree/themes/dark/container.indigo.css.js +1 -1
  954. package/components/tree/themes/dark/container.indigo.css.js.map +1 -1
  955. package/components/tree/themes/dark/container.material.css.js +1 -1
  956. package/components/tree/themes/dark/container.material.css.js.map +1 -1
  957. package/components/tree/themes/item.base.css.js +1 -1
  958. package/components/tree/themes/item.base.css.js.map +1 -1
  959. package/components/tree/themes/item.d.ts +1 -1
  960. package/components/tree/themes/item.js.map +1 -1
  961. package/components/tree/themes/light/container.indigo.css.js +1 -1
  962. package/components/tree/themes/light/container.indigo.css.js.map +1 -1
  963. package/components/tree/themes/light/container.shared.css.js +1 -1
  964. package/components/tree/themes/light/container.shared.css.js.map +1 -1
  965. package/components/tree/themes/shared/item.common.css.js +1 -1
  966. package/components/tree/themes/shared/item.common.css.js.map +1 -1
  967. package/components/tree/themes/shared/item.indigo.css.js +1 -1
  968. package/components/tree/themes/shared/item.indigo.css.js.map +1 -1
  969. package/components/tree/tree-item.js +12 -13
  970. package/components/tree/tree-item.js.map +1 -1
  971. package/components/tree/tree.d.ts +2 -2
  972. package/components/tree/tree.js +25 -19
  973. package/components/tree/tree.js.map +1 -1
  974. package/components/tree/tree.navigation.d.ts +3 -3
  975. package/components/tree/tree.navigation.js.map +1 -1
  976. package/components/tree/tree.selection.d.ts +2 -2
  977. package/components/tree/tree.selection.js +12 -10
  978. package/components/tree/tree.selection.js.map +1 -1
  979. package/custom-elements.json +3596 -718
  980. package/igniteui-webcomponents.css-data.json +929 -0
  981. package/igniteui-webcomponents.html-data.json +2700 -0
  982. package/index.d.ts +3 -0
  983. package/index.js +3 -0
  984. package/index.js.map +1 -1
  985. package/package.json +6 -2
  986. package/themes/dark/fluent.css +1 -1
  987. package/themes/dark/indigo.css +1 -1
  988. package/themes/light/indigo.css +1 -1
  989. package/theming/config.js +4 -4
  990. package/theming/config.js.map +1 -1
  991. package/theming/theming-controller.d.ts +1 -1
  992. package/theming/theming-controller.js.map +1 -1
  993. package/theming/theming-decorator.js.map +1 -1
  994. package/theming/types.d.ts +1 -1
  995. package/theming/types.js.map +1 -1
  996. package/web-types.json +7623 -0
  997. package/components/checkbox/themes/dark/switch/switch.shared.css.js +0 -3
  998. package/components/checkbox/themes/dark/switch/switch.shared.css.js.map +0 -1
  999. package/components/radio/themes/dark/radio.shared.css.js +0 -3
  1000. package/components/radio/themes/dark/radio.shared.css.js.map +0 -1
  1001. /package/components/{checkbox/themes/dark/switch/switch.shared.css.d.ts → banner/themes/banner.base.css.d.ts} +0 -0
  1002. /package/components/{radio/themes/dark/radio.shared.css.d.ts → banner/themes/dark/banner.bootstrap.css.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sourceRoot":"","sources":["../../../../src/components/tree/themes/item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAGnE,MAAM,KAAK,GAAG;IACZ,QAAQ,EAAE,GAAG,CAAA;MACT,QAAQ;GACX;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,QAAQ,EAAE,GAAG,CAAA;MACT,QAAQ;GACX;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\n// Share Styles\nimport { styles as indigo } from './shared/item.indigo.css.js';\nimport { styles as material } from './shared/item.material.css.js';\nimport { Themes } from '../../../theming/types.js';\n\nconst light = {\n material: css`\n ${material}\n `,\n indigo: css`\n ${indigo}\n `,\n};\n\nconst dark = {\n material: css`\n ${material}\n `,\n indigo: css`\n ${indigo}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
1
+ {"version":3,"file":"item.js","sourceRoot":"","sources":["../../../../src/components/tree/themes/item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAEnE,MAAM,KAAK,GAAG;IACZ,QAAQ,EAAE,GAAG,CAAA;MACT,QAAQ;GACX;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,QAAQ,EAAE,GAAG,CAAA;MACT,QAAQ;GACX;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\nimport type { Themes } from '../../../theming/types.js';\n// Share Styles\nimport { styles as indigo } from './shared/item.indigo.css.js';\nimport { styles as material } from './shared/item.material.css.js';\n\nconst light = {\n material: css`\n ${material}\n `,\n indigo: css`\n ${indigo}\n `,\n};\n\nconst dark = {\n material: css`\n ${material}\n `,\n indigo: css`\n ${indigo}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--background-active: var(--ig-tree-background-active, hsla(var(--ig-surface-500), var(--ig-surface-a)));--foreground-active: var(--ig-tree-foreground-active, hsla(var(--ig-primary-500), var(--ig-primary-a)));--hover-color: var(--ig-tree-hover-color, hsla(var(--ig-primary-100), var(--ig-primary-a)));--hover-selected-color: var(--ig-tree-hover-selected-color, hsla(var(--ig-primary-100), var(--ig-primary-a)));--foreground-selected: var(--ig-tree-foreground-selected, color-mix(in oklch, var(--ig-primary-500-contrast) 100%, transparent));--background-active-selected: var(--ig-tree-background-active-selected, hsla(var(--ig-primary-400), var(--ig-primary-a)));--foreground-active-selected: var(--ig-tree-foreground-active-selected, color-mix(in oklch, var(--ig-primary-400-contrast) 100%, transparent));--border-color: var(--ig-tree-border-color, hsla(var(--ig-primary-300), var(--ig-primary-a)))}`;
2
+ export const styles = css `:host{--background: var(--ig-tree-background, transparent);--foreground: var(--ig-tree-foreground, hsla(var(--ig-gray-800), var(--ig-gray-a)));--icon-color: var(--ig-tree-icon-color, hsla(var(--ig-gray-600), var(--ig-gray-a)));--background-selected: var(--ig-tree-background-selected, transparent);--background-active: var(--ig-tree-background-active, hsla(var(--ig-primary-300), 0.3));--foreground-active: var(--ig-tree-foreground-active, hsla(var(--ig-gray-900), var(--ig-gray-a)));--background-disabled: var(--ig-tree-background-disabled, transparent);--foreground-disabled: var(--ig-tree-foreground-disabled, hsla(var(--ig-gray-900), 0.2));--hover-color: var(--ig-tree-hover-color, hsla(var(--ig-gray-900), 0.05));--hover-selected-color: var(--ig-tree-hover-selected-color, hsla(var(--ig-primary-300), 0.5));--size: var(--ig-tree-size, max(var(--is-large, 1) * max(2rem, -1 * 2rem), var(--is-medium, 1) * max(1.75rem, -1 * 1.75rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--foreground-selected: var(--ig-tree-foreground-selected, hsla(var(--ig-gray-800), var(--ig-gray-a)));--background-active-selected: var(--ig-tree-background-active-selected, hsla(var(--ig-primary-300), 0.3));--foreground-active-selected: var(--ig-tree-foreground-active-selected, hsla(var(--ig-gray-900), var(--ig-gray-a)));--border-color: var(--ig-tree-border-color, hsla(var(--ig-primary-400), var(--ig-primary-a)))}`;
3
3
  //# sourceMappingURL=container.indigo.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"container.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/tree/themes/light/container.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,04BAA04B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--background-active: var(--ig-tree-background-active, hsla(var(--ig-surface-500), var(--ig-surface-a)));--foreground-active: var(--ig-tree-foreground-active, hsla(var(--ig-primary-500), var(--ig-primary-a)));--hover-color: var(--ig-tree-hover-color, hsla(var(--ig-primary-100), var(--ig-primary-a)));--hover-selected-color: var(--ig-tree-hover-selected-color, hsla(var(--ig-primary-100), var(--ig-primary-a)));--foreground-selected: var(--ig-tree-foreground-selected, color-mix(in oklch, var(--ig-primary-500-contrast) 100%, transparent));--background-active-selected: var(--ig-tree-background-active-selected, hsla(var(--ig-primary-400), var(--ig-primary-a)));--foreground-active-selected: var(--ig-tree-foreground-active-selected, color-mix(in oklch, var(--ig-primary-400-contrast) 100%, transparent));--border-color: var(--ig-tree-border-color, hsla(var(--ig-primary-300), var(--ig-primary-a)))}`;\n"]}
1
+ {"version":3,"file":"container.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/tree/themes/light/container.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,63CAA63C,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--background: var(--ig-tree-background, transparent);--foreground: var(--ig-tree-foreground, hsla(var(--ig-gray-800), var(--ig-gray-a)));--icon-color: var(--ig-tree-icon-color, hsla(var(--ig-gray-600), var(--ig-gray-a)));--background-selected: var(--ig-tree-background-selected, transparent);--background-active: var(--ig-tree-background-active, hsla(var(--ig-primary-300), 0.3));--foreground-active: var(--ig-tree-foreground-active, hsla(var(--ig-gray-900), var(--ig-gray-a)));--background-disabled: var(--ig-tree-background-disabled, transparent);--foreground-disabled: var(--ig-tree-foreground-disabled, hsla(var(--ig-gray-900), 0.2));--hover-color: var(--ig-tree-hover-color, hsla(var(--ig-gray-900), 0.05));--hover-selected-color: var(--ig-tree-hover-selected-color, hsla(var(--ig-primary-300), 0.5));--size: var(--ig-tree-size, max(var(--is-large, 1) * max(2rem, -1 * 2rem), var(--is-medium, 1) * max(1.75rem, -1 * 1.75rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--foreground-selected: var(--ig-tree-foreground-selected, hsla(var(--ig-gray-800), var(--ig-gray-a)));--background-active-selected: var(--ig-tree-background-active-selected, hsla(var(--ig-primary-300), 0.3));--foreground-active-selected: var(--ig-tree-foreground-active-selected, hsla(var(--ig-gray-900), var(--ig-gray-a)));--border-color: var(--ig-tree-border-color, hsla(var(--ig-primary-400), var(--ig-primary-a)))}`;\n"]}
@@ -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, 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)}`;
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));--icon-color: var(--ig-tree-icon-color, 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
3
  //# sourceMappingURL=container.shared.css.js.map
@@ -1 +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"]}
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,o0CAAo0C,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));--icon-color: var(--ig-tree-icon-color, 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"]}
@@ -1,3 +1,3 @@
1
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)}`;
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]) [part~=wrapper]{background:var(--background-active);color:var(--foreground-active)}:host(:not([disabled])[selected]) [part~=wrapper]{background:var(--background-selected);color:var(--foreground-selected)}:host(:not([disabled])[selected][active]) [part~=wrapper]{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
3
  //# sourceMappingURL=item.common.css.js.map
@@ -1 +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
+ {"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,mmCAAmmC,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]) [part~=wrapper]{background:var(--background-active);color:var(--foreground-active)}:host(:not([disabled])[selected]) [part~=wrapper]{background:var(--background-selected);color:var(--foreground-selected)}:host(:not([disabled])[selected][active]) [part~=wrapper]{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 `[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)}`;
2
+ export const styles = css `:host{--igc-tree-indentation-size: max(var(--is-large, 1) * max(1.5rem, -1 * 1.5rem), var(--is-medium, 1) * max(1.5rem, -1 * 1.5rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem))}[part~=indicator]{--ig-size: 1;min-width:.875rem;color:var(--icon-color)}[part~=wrapper]{border-radius:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;padding:0 max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(12px, -1 * 12px)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(8px, -1 * 8px)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}[part~=wrapper]::after{border-radius:.25rem}[part~=wrapper]:hover{color:var(--foreground-active)}:host(:not([disabled])[selected]) [part~=wrapper]{background:var(--background)}:host(:not([disabled])[selected]) [part~=wrapper]:hover{color:var(--foreground-active)}:host(:not([disabled])[selected]) [part~=wrapper]:hover::after{background:var(--hover-color)}:host(:not([disabled])[active]) [part~=wrapper]:hover,:host(:not([disabled])[active][selected]) [part~=wrapper]:hover{background:var(--hover-selected-color)}:host(:not([disabled])[active]) [part~=wrapper]:hover::after,:host(:not([disabled])[active][selected]) [part~=wrapper]:hover::after{background:rgba(0,0,0,0)}[part~=focused]{-webkit-box-shadow:inset 0 0 0 2px var(--border-color);box-shadow:inset 0 0 0 2px var(--border-color)}:host([disabled]) [part~=indicator] igc-icon{color:var(--foreground-disabled)}`;
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,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
+ {"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,6+CAA6+C,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--igc-tree-indentation-size: max(var(--is-large, 1) * max(1.5rem, -1 * 1.5rem), var(--is-medium, 1) * max(1.5rem, -1 * 1.5rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem))}[part~=indicator]{--ig-size: 1;min-width:.875rem;color:var(--icon-color)}[part~=wrapper]{border-radius:.25rem;-webkit-margin-after:.25rem;margin-block-end:.25rem;padding:0 max(var(--is-large, 1)*max(16px, -1 * 16px)*var(--ig-spacing-large, var(--ig-spacing, --ig-spacing)),var(--is-medium, 1)*max(12px, -1 * 12px)*var(--ig-spacing-medium, var(--ig-spacing, --ig-spacing)),var(--is-small, 1)*max(8px, -1 * 8px)*var(--ig-spacing-small, var(--ig-spacing, --ig-spacing)))}[part~=wrapper]::after{border-radius:.25rem}[part~=wrapper]:hover{color:var(--foreground-active)}:host(:not([disabled])[selected]) [part~=wrapper]{background:var(--background)}:host(:not([disabled])[selected]) [part~=wrapper]:hover{color:var(--foreground-active)}:host(:not([disabled])[selected]) [part~=wrapper]:hover::after{background:var(--hover-color)}:host(:not([disabled])[active]) [part~=wrapper]:hover,:host(:not([disabled])[active][selected]) [part~=wrapper]:hover{background:var(--hover-selected-color)}:host(:not([disabled])[active]) [part~=wrapper]:hover::after,:host(:not([disabled])[active][selected]) [part~=wrapper]:hover::after{background:rgba(0,0,0,0)}[part~=focused]{-webkit-box-shadow:inset 0 0 0 2px var(--border-color);box-shadow:inset 0 0 0 2px var(--border-color)}:host([disabled]) [part~=indicator] igc-icon{color:var(--foreground-disabled)}`;\n"]}
@@ -4,12 +4,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ var IgcTreeItemComponent_1;
7
8
  import { LitElement, html, nothing } from 'lit';
8
9
  import { property, query, queryAssignedElements, state, } from 'lit/decorators.js';
9
10
  import { createRef, ref } from 'lit/directives/ref.js';
10
- import { styles } from './themes/item.base.css.js';
11
- import { all } from './themes/item.js';
12
- import { styles as shared } from './themes/shared/item.common.css.js';
13
11
  import { addAnimationController } from '../../animations/player.js';
14
12
  import { growVerIn, growVerOut } from '../../animations/presets/grow/index.js';
15
13
  import { themes } from '../../theming/theming-decorator.js';
@@ -20,7 +18,10 @@ import { registerComponent } from '../common/definitions/register.js';
20
18
  import { findElementFromEventPath, isLTR, partNameMap, } from '../common/util.js';
21
19
  import IgcIconComponent from '../icon/icon.js';
22
20
  import IgcCircularProgressComponent from '../progress/circular-progress.js';
23
- let IgcTreeItemComponent = class IgcTreeItemComponent extends LitElement {
21
+ import { styles } from './themes/item.base.css.js';
22
+ import { all } from './themes/item.js';
23
+ import { styles as shared } from './themes/shared/item.common.css.js';
24
+ let IgcTreeItemComponent = IgcTreeItemComponent_1 = class IgcTreeItemComponent extends LitElement {
24
25
  constructor() {
25
26
  super(...arguments);
26
27
  this.focusedProgrammatically = false;
@@ -41,7 +42,7 @@ let IgcTreeItemComponent = class IgcTreeItemComponent extends LitElement {
41
42
  this.value = undefined;
42
43
  }
43
44
  static register() {
44
- registerComponent(this, IgcIconComponent, IgcCheckboxComponent, IgcCircularProgressComponent);
45
+ registerComponent(IgcTreeItemComponent_1, IgcIconComponent, IgcCheckboxComponent, IgcCircularProgressComponent);
45
46
  }
46
47
  async toggleAnimation(dir) {
47
48
  const animation = dir === 'open' ? growVerIn : growVerOut;
@@ -141,7 +142,7 @@ let IgcTreeItemComponent = class IgcTreeItemComponent extends LitElement {
141
142
  return this.allChildren.filter((x) => (x.parent ?? x.parentElement?.closest('igc-tree-item')) === this);
142
143
  }
143
144
  get allChildren() {
144
- return Array.from(this.querySelectorAll(`igc-tree-item`));
145
+ return Array.from(this.querySelectorAll('igc-tree-item'));
145
146
  }
146
147
  get path() {
147
148
  return this.parent?.path ? [...this.parent.path, this] : [this];
@@ -201,7 +202,7 @@ let IgcTreeItemComponent = class IgcTreeItemComponent extends LitElement {
201
202
  inline: 'nearest',
202
203
  });
203
204
  }
204
- if (this.tabbableEl && this.tabbableEl.length) {
205
+ if (this.tabbableEl?.length) {
205
206
  this.tabbableEl.forEach((element) => {
206
207
  element.tabIndex = 0;
207
208
  });
@@ -246,7 +247,7 @@ let IgcTreeItemComponent = class IgcTreeItemComponent extends LitElement {
246
247
  if (firstElement.matches(tabbableSelector)) {
247
248
  this.tabbableEl.splice(0, 0, firstElement);
248
249
  }
249
- if (this.tabbableEl && this.tabbableEl.length) {
250
+ if (this.tabbableEl?.length) {
250
251
  this.setAttribute('role', 'none');
251
252
  this.tabbableEl[0].setAttribute('role', 'treeitem');
252
253
  this.tabbableEl.forEach((element) => {
@@ -265,9 +266,7 @@ let IgcTreeItemComponent = class IgcTreeItemComponent extends LitElement {
265
266
  if (options.flatten) {
266
267
  return this.allChildren;
267
268
  }
268
- else {
269
- return this.directChildren;
270
- }
269
+ return this.directChildren;
271
270
  }
272
271
  async expandWithEvent() {
273
272
  if (this.expanded) {
@@ -461,8 +460,8 @@ __decorate([
461
460
  __decorate([
462
461
  blazorSuppress()
463
462
  ], IgcTreeItemComponent.prototype, "getChildren", null);
464
- IgcTreeItemComponent = __decorate([
465
- themes(all, true)
463
+ IgcTreeItemComponent = IgcTreeItemComponent_1 = __decorate([
464
+ themes(all)
466
465
  ], IgcTreeItemComponent);
467
466
  export default IgcTreeItemComponent;
468
467
  //# sourceMappingURL=tree-item.js.map
@@ -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';\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 {\n findElementFromEventPath,\n isLTR,\n partNameMap,\n} 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(\n (x) => (x.parent ?? x.parentElement?.closest('igc-tree-item')) === 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 (\n this.disabled ||\n this !== findElementFromEventPath(this.tagName, event)\n ) {\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, true);\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"]}
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';\nimport { type Ref, createRef, ref } from 'lit/directives/ref.js';\n\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 {\n findElementFromEventPath,\n isLTR,\n partNameMap,\n} from '../common/util.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport IgcCircularProgressComponent from '../progress/circular-progress.js';\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 type { IgcTreeNavigationService } from './tree.navigation.js';\nimport type { IgcTreeSelectionService } from './tree.selection.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)\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 IgcTreeItemComponent,\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(\n (x) => (x.parent ?? x.parentElement?.closest('igc-tree-item')) === 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 (\n this.disabled ||\n this !== findElementFromEventPath(this.tagName, event)\n ) {\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, true);\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?.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?.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 }\n return this.directChildren;\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"]}
@@ -1,9 +1,9 @@
1
1
  import { LitElement } from 'lit';
2
+ import type { Constructor } from '../common/mixins/constructor.js';
2
3
  import IgcTreeItemComponent from './tree-item.js';
3
- import { IgcTreeEventMap } from './tree.common.js';
4
+ import type { IgcTreeEventMap } from './tree.common.js';
4
5
  import { IgcTreeNavigationService } from './tree.navigation.js';
5
6
  import { IgcTreeSelectionService } from './tree.selection.js';
6
- import { Constructor } from '../common/mixins/constructor.js';
7
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,
@@ -4,13 +4,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ var IgcTreeComponent_1;
7
8
  import { LitElement, html } from 'lit';
8
9
  import { property } from 'lit/decorators.js';
9
- import { styles } from './themes/container.base.css.js';
10
- import { all } from './themes/container.js';
11
- import IgcTreeItemComponent from './tree-item.js';
12
- import { IgcTreeNavigationService } from './tree.navigation.js';
13
- import { IgcTreeSelectionService } from './tree.selection.js';
14
10
  import { themes } from '../../theming/theming-decorator.js';
15
11
  import { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';
16
12
  import { blazorSuppress } from '../common/decorators/blazorSuppress.js';
@@ -18,9 +14,14 @@ import { watch } from '../common/decorators/watch.js';
18
14
  import { registerComponent } from '../common/definitions/register.js';
19
15
  import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
20
16
  import { SizableMixin } from '../common/mixins/sizable.js';
21
- let IgcTreeComponent = class IgcTreeComponent extends SizableMixin(EventEmitterMixin(LitElement)) {
17
+ import { styles } from './themes/container.base.css.js';
18
+ import { all } from './themes/container.js';
19
+ import IgcTreeItemComponent from './tree-item.js';
20
+ import { IgcTreeNavigationService } from './tree.navigation.js';
21
+ import { IgcTreeSelectionService } from './tree.selection.js';
22
+ let IgcTreeComponent = IgcTreeComponent_1 = class IgcTreeComponent extends SizableMixin(EventEmitterMixin(LitElement)) {
22
23
  static register() {
23
- registerComponent(this, IgcTreeItemComponent);
24
+ registerComponent(IgcTreeComponent_1, IgcTreeItemComponent);
24
25
  }
25
26
  onDirChange() {
26
27
  this.items?.forEach((item) => {
@@ -81,13 +82,13 @@ let IgcTreeComponent = class IgcTreeComponent extends SizableMixin(EventEmitterM
81
82
  }
82
83
  }
83
84
  get items() {
84
- return Array.from(this.querySelectorAll(`igc-tree-item`));
85
+ return Array.from(this.querySelectorAll('igc-tree-item'));
85
86
  }
86
87
  handleKeydown(event) {
87
88
  this.navService.handleKeydown(event);
88
89
  }
89
90
  expandToItem(item) {
90
- if (item && item.parent) {
91
+ if (item?.parent) {
91
92
  item.path.forEach((i) => {
92
93
  if (i !== item && !i.expanded) {
93
94
  i.expanded = true;
@@ -97,23 +98,28 @@ let IgcTreeComponent = class IgcTreeComponent extends SizableMixin(EventEmitterM
97
98
  }
98
99
  select(items) {
99
100
  if (!items) {
100
- items =
101
- this.selection === 'cascade'
102
- ? this.items.filter((item) => item.level === 0)
103
- : this.items;
101
+ this.selectionService.selectItemsWithNoEvent(this.selection === 'cascade'
102
+ ? this.items.filter((item) => item.level === 0)
103
+ : this.items);
104
+ }
105
+ else {
106
+ this.selectionService.selectItemsWithNoEvent(items);
104
107
  }
105
- this.selectionService.selectItemsWithNoEvent(items);
106
108
  }
107
109
  deselect(items) {
108
110
  this.selectionService.deselectItemsWithNoEvent(items);
109
111
  }
110
112
  expand(items) {
111
- items = items || this.items;
112
- items.forEach((item) => (item.expanded = true));
113
+ const _items = items || this.items;
114
+ _items.forEach((item) => {
115
+ item.expanded = true;
116
+ });
113
117
  }
114
118
  collapse(items) {
115
- items = items || this.items;
116
- items.forEach((item) => (item.expanded = false));
119
+ const _items = items || this.items;
120
+ _items.forEach((item) => {
121
+ item.expanded = false;
122
+ });
117
123
  }
118
124
  render() {
119
125
  return html `<slot></slot>`;
@@ -163,7 +169,7 @@ __decorate([
163
169
  __decorate([
164
170
  blazorSuppress()
165
171
  ], IgcTreeComponent.prototype, "collapse", null);
166
- IgcTreeComponent = __decorate([
172
+ IgcTreeComponent = IgcTreeComponent_1 = __decorate([
167
173
  themes(all),
168
174
  blazorAdditionalDependencies('IgcTreeItemComponent')
169
175
  ], IgcTreeComponent);
@@ -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 /* 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
+ {"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 { 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 type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { SizableMixin } from '../common/mixins/sizable.js';\nimport { styles } from './themes/container.base.css.js';\nimport { all } from './themes/container.js';\nimport IgcTreeItemComponent from './tree-item.js';\nimport type { IgcTreeEventMap } from './tree.common.js';\nimport { IgcTreeNavigationService } from './tree.navigation.js';\nimport { IgcTreeSelectionService } from './tree.selection.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(IgcTreeComponent, 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?.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 this.selectionService.selectItemsWithNoEvent(\n this.selection === 'cascade'\n ? this.items.filter((item) => item.level === 0)\n : this.items\n );\n } else {\n this.selectionService.selectItemsWithNoEvent(items);\n }\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 const _items = items || this.items;\n _items.forEach((item) => {\n item.expanded = true;\n });\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 const _items = items || this.items;\n _items.forEach((item) => {\n item.expanded = false;\n });\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,6 +1,6 @@
1
- import IgcTreeItemComponent from './tree-item.js';
2
- import IgcTreeComponent from './tree.js';
3
- import { IgcTreeSelectionService } from './tree.selection.js';
1
+ import type IgcTreeItemComponent from './tree-item.js';
2
+ import type IgcTreeComponent from './tree.js';
3
+ import type { IgcTreeSelectionService } from './tree.selection.js';
4
4
  export declare const NAVIGATION_KEYS: Set<string>;
5
5
  export declare class IgcTreeNavigationService {
6
6
  private tree;
@@ -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\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"]}
1
+ {"version":3,"file":"tree.navigation.js","sourceRoot":"","sources":["../../../src/components/tree/tree.navigation.ts"],"names":[],"mappings":"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","sourcesContent":["import { isLTR } from '../common/util.js';\nimport type IgcTreeItemComponent from './tree-item.js';\nimport type IgcTreeComponent from './tree.js';\nimport type { IgcTreeSelectionService } from './tree.selection.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"]}